آپاچی استراتس. آپاچی استراتس یک چارچوب نرم افزاری تحت وب متن باز برای توسعهٔ برنامه های وب تحت J2EE است. استراتس از API جاوا سرولت برای تشویق برنامه نویسان برای استفاده کردن از معماری مدل - نما - کنترل گر استفاده می کند. استراتس توسط Craig McClanahan ساخته شده است و در مهٔ سال ۲۰۰۰ میلادی به بنیاد آپاچی بخشیده شد. استراتس قبلاً تحت پروژهٔ آپاچی جاکارتا و با نام Jakarta Struts شناخته می شد ولی در سال ۲۰۰۵ یک پروژهٔ سطح بالای آپاچی شد. [ ۱]
وقتی که برای اولین بار جاوا سرولت اختراع شد، خیلی از برنامه نویسان بسرعت آن را به عنوان یک انتخاب خوب شناختند. آن ها بسیار سریعتر و قوی تر از استانداردهای CGI، قابل حمل به عنوان نرم افزار و غیره استفاده کنند.
اما نوشتن Html و ارسال آن به مرورگرها در جاوا سرولت به عبارت ( ) Println ختم می شد و این خسته کننده و مشکل آفرین شده بود راه حل این مشکل صفحات جاوا سرور ( Java Server page ) یا در اصطلاح فایل های JSP بود که پس از طراحی، پیاده سازی و کامپایل تبدیل به سرولت می شدند.
حالا برنامه نویسان به آسانی می توانستند عبارتهای Html را با کدهای جاوا ترکیب کرده و تولید سرولت های سود مندی نمایند. رفته رفته نرم افزارهای تحت وب بسرعت به مرکزیت JSP تبدیل گردید. این در نهایت برای خودش چیز بدی نبود اما کم کم جریان کنترل برنامه و مشکلات عمومی ناشی از کنترل آن به تمام نرم افزارهای تحت وب سرایت کرد. واضح است که بایستی فکری کرد.
تعدادی از برنامه نویسان باهوش متوجه شدند که صفحات جاوا سرور ( JSP ) و سرولتها می توانند در پیاده سازی نرم افزارهای تحت وب به طور متقابل از همدیگر استفاده کنند. بعضی از سرولتها می توانند به جریان سرور کمک کنند و JSPها می توانند متمرکز شوند روی برنامه نویسی که با کدهای Html نوشته می شود.
نتیجه این تفکر که استفاده ترکیبی از JSP و Servlet بود باعث شد که مدل دومی شناخته شود.
( استفاده از JSP به تنهایی مدل اول طراحی تلقی شده است )
البته این موضوع جدیدی برای شرکت سان نبود بلکه نکاتی وجود داشت که خارج از مدل JSP مدل دوم بوده و طراحان از الگوی طراحی Model - view - Controller و کنترل کننده هایی را با طراحی در چارچوب کاری Smalltalk Mvc بکار گرفته شده استفاده کرده بودند.
پیاده کنندگان وب تحت جاوا حالا متوجه شده بودند که می توانند بین مدل دوم JSP و MVC تبادل ایجاد کنند. با این راهنمایی از تفکرات طراحی MVC برای تشریح معماری چارچوب کاری نرم افزار سود جسته و دوره جدیدی از طراحی به عنوان مدل 2/Mvc آغاز شد.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفوقتی که برای اولین بار جاوا سرولت اختراع شد، خیلی از برنامه نویسان بسرعت آن را به عنوان یک انتخاب خوب شناختند. آن ها بسیار سریعتر و قوی تر از استانداردهای CGI، قابل حمل به عنوان نرم افزار و غیره استفاده کنند.
اما نوشتن Html و ارسال آن به مرورگرها در جاوا سرولت به عبارت ( ) Println ختم می شد و این خسته کننده و مشکل آفرین شده بود راه حل این مشکل صفحات جاوا سرور ( Java Server page ) یا در اصطلاح فایل های JSP بود که پس از طراحی، پیاده سازی و کامپایل تبدیل به سرولت می شدند.
حالا برنامه نویسان به آسانی می توانستند عبارتهای Html را با کدهای جاوا ترکیب کرده و تولید سرولت های سود مندی نمایند. رفته رفته نرم افزارهای تحت وب بسرعت به مرکزیت JSP تبدیل گردید. این در نهایت برای خودش چیز بدی نبود اما کم کم جریان کنترل برنامه و مشکلات عمومی ناشی از کنترل آن به تمام نرم افزارهای تحت وب سرایت کرد. واضح است که بایستی فکری کرد.
تعدادی از برنامه نویسان باهوش متوجه شدند که صفحات جاوا سرور ( JSP ) و سرولتها می توانند در پیاده سازی نرم افزارهای تحت وب به طور متقابل از همدیگر استفاده کنند. بعضی از سرولتها می توانند به جریان سرور کمک کنند و JSPها می توانند متمرکز شوند روی برنامه نویسی که با کدهای Html نوشته می شود.
نتیجه این تفکر که استفاده ترکیبی از JSP و Servlet بود باعث شد که مدل دومی شناخته شود.
( استفاده از JSP به تنهایی مدل اول طراحی تلقی شده است )
البته این موضوع جدیدی برای شرکت سان نبود بلکه نکاتی وجود داشت که خارج از مدل JSP مدل دوم بوده و طراحان از الگوی طراحی Model - view - Controller و کنترل کننده هایی را با طراحی در چارچوب کاری Smalltalk Mvc بکار گرفته شده استفاده کرده بودند.
پیاده کنندگان وب تحت جاوا حالا متوجه شده بودند که می توانند بین مدل دوم JSP و MVC تبادل ایجاد کنند. با این راهنمایی از تفکرات طراحی MVC برای تشریح معماری چارچوب کاری نرم افزار سود جسته و دوره جدیدی از طراحی به عنوان مدل 2/Mvc آغاز شد.
wiki: آپاچی استراتس