آپاچی استراتس

آپاچی استراتس یک چارچوب نرم‌افزاری تحت وب متن‌باز برای توسعهٔ برنامه‌های وب تحت 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 آغاز شد.

پروژ ه‌هایی که توسط Struts Apache از سال ۲۰۰۰ توسط مک لانهان پیاده‌سازی شد بر اساس چارچوب MVC قرار گرفت و از ژوئیه سال ۲۰۰۱ نسخه اول آن صادر شد.

کلیات 
در Struts هر درخواست (از سمت کاربر/Browser) بوسیله یک Object جاوا بنام Action گرفته و پردازش می‌شود. در کلاس Action تمامی امکانات برای پاسخگویی به درخواست‌ها وجود دارد. پس از اینکه Action درخواست را دریافت کرد، آن را به صورت آبجکتی از ActionForm مربوط به خود درمی‌آورد و پردازش‌هایی تنظیم شده توسط برنامه‌نویس را انجام می‌دهد. سپس کاربر را به صفحات جواب که می‌توانند صفحاتی از نوع JSP باشند، هدایت می‌کند.

منابع 

بستر جاوای سازمانی
بنیاد نرم‌افزار آپاچی
چارچوب‌های نرم‌افزاری تحت وب
نرم‌افزارهای آزاد چندسکویی
نرم‌افزارهای آزاد نوشته‌شده با جاوا
نرم‌افزارهایی که از پروانه آپاچی استفاده می‌کنند
نرم‌افزارهای ۲۰۰۰ (میلادی)