۶ سرور کاربردی متن باز برتر JavaEE

در این مطلب بررسی اجمالی روی سرورهای کاربردی فعال Java EE که به صورت متن باز قابل دسترس بوده و همینطورServlet Container(web containers) l جهت اطلاعرسانی به جامعه جاواکار، برای شناخت Containerهای فعال و وضعیت هر یک از آنها صورت گرفته است. این مقاله به عنوان یک مقاله آغازین جهت انتخاب یکی از اینها برای توسعه آتی یا محصولات می تواند استفاده شود.
سرورهای کاربردی متن باز Java EE
Resin محصولی متن باز شناخته شده از Caucho که در مدت زمانی طولانی گسترشهای کوچک و بزرگ زیادی داشته است که به سیستمهای کوچک و بزرگ زیادی مانند Dzone سرویس میدهند.
نسخه پایدار فعلی Resin 5.3.0 می باشد که به صورت کامل از Java EE 6 پشتیبانی می نماید. مجوز استفاده از Resin با دیگر سرورها اندکی متفاوت میباشد. آنها یک نسخه مبتنی بر GPL برای توزیع کنندگان متن باز و ارزیابیکنندگان ارائه نمودهاند و استفاده تجاری نیازمند پرداخت هزینه به ازای هر پردازنده یا هر سال می باشد. نسخههای متفاوتی از Resin با ویژگیها و امکانات متفاوتی در دسترس می باشد که هر کدام دارای الگوی قیمتی متفاوت هستند. جهت مشاهده لیست قیمتها میتوانید از طریق این لینک اقدام نمائید.
Resin از ویژگیهایی مانند خوشه بندی، پشتیبانی بسیار عالی و مزایایی از سیستم ذخیره مجتمع شده بهره میبرد. همانند GlassFish، سرور کاربردی Resin نیز امکان پشتیبانی از برنامه های کاربردی PHP را دارا میباشد.
برای مدیریت و راهبری، Resin مسیری متفاوت در پیش گرفته و با ارائه برنامهی نظارت و مانیتورینگ سبک، امکان مشاهده وضعیت سرویسهای مختلف در سرور کاربردی را به توسعهدهندگان و مدیران سیستم میدهد. به علاوه مدیران سیستم امکان مدیریت و پیکربندی کارها را از طریق فایلهای پیکربندی خواهند داشت.
زمانی که بحث ابزار توسعه به میان می آید شما میتوانید NetBeans، Eclipse و Intellij را همراه با Ant، Maven و Ivy داشته باشید.
لینک دانلود:http://caucho.com/products/resin/download
جهت شروع به کار: به آدرس install_dir/bin رفته و با توجه به سیستم عامل خود اقدام به اجرای resin.sh یا resin.exe نمائید.
رابط نظارت: آدرس: http://127.0.0.1:8080/resin-admin/ برای این منظور لازم است نام کاربری و رمز عبور ایجاد کنید. و برای این کار کافی است مراحل را با توجه به رابط کاربری دنبال نمایید.
Geronimo: یک سرور Java EE از شرکت Apache که تحت لایسنس ASF ارائه می شود. Geronimo در مقابل GlassFish زمانی که بحث در مورد پیادهسازی مشخصات Java EE با کمبود مواجه میشود اما در مورد رابط مدیریتی در مقایسه با JBoss دارای قدرت بیشتری است. خوشهبندی توسط محصولات شرکتهای دیگر همانند Terracotta قابل ارائه میباشد ولی فاقد پشتیبانی حاضر و آماده و در دسترس پذیری بالا میباشد.
Geronimo امکان مجتمعسازی با محصولات دیگر Apache همانند ServiceMX و ActiveMA را دارد. نسخه فعلی Geronimo، نسخه ۳٫۰٫۱ می باشد و از مشخصههای Java EE 6 به صورت کامل پشتیبانی مینماید.
پشتیبانی تجاری برای Geronimo با استفاده از IBM WebSphere نسخه رایگان در دسترس میباشد. دو توزیع مختلف Geronimo در دسترس میباشد، یکی با Jetty و دیگری با Tomcat به عنوان web container. تمامی محیطهای توسعه اصلی از Geronimo پشتیبانی مینمایند.
لینک دانلود:http://geronimo.apache.org/downloads.html
نحوه شروع: به install_dir/bin رفته و با توجه به سیستم عامل خود ./geronim.sh یا Geronimo.exe را اجرا نمائید.
رابط مدیریتی: http://localhost:8080/console/ با استفاده از system/manager
GlassFish: به طور کامل توسط Sun توسعه یافت و از معماری ماژول بندی شده و قابل توسعه بهره میبرد. GlassFish به عنوان پرچمدار پشتیبانی از پیادهسازی مشخصههای Java EE مشهور میباشد. در زمان یکسان امکاناتی همچون: کانال مدیریتی حرفهای، خوشه بندی و دسترس پذیری بالا خارج از سیستم، استقرار در زمان اجرا OSGi و … را برای کاربران فراهم می آورد. استفاده از GlassFish به معنی امضای قرار داد با Sun و دریافت پشتیبانی از Sun بدون نیاز به تغییری جزئی در سیستم میباشد. نسخه پایدار کنونی GlassFish، نسخه ۲٫۱٫۱ میباشد که به صورت کامل با Java EE 6 سازگار بوده و یک سرور کاربردی مبتنی بر OSGi میباشد. نسخه متن باز GLassFIsh طبق لایسنس CDDL و GPL ارائه میشود.
GlassFish از یکپارچهسازی با محصولات Sun همانند محیط یکپارچهسازی Netbeans بهره میبرد. GlassFish ESB، Open Portal، Open SSO و OpenMQ برخی از پروژهای قابل اشاره میباشند که GlassFish به صورت مناسبی با آنها یکپارچه میشود.
نقطه قوت دیگر GlassFish یکپارچهسازی آن با Sun HADB میباشد که زیرساخت قابل دسترس بدون هزینه کردن مبلغی و نیاز به لایسنس خاصی را فراهم میآورد. بیشتر محیطهای توسعه از GlassFish پشتیبانی مینمایند و این به معنی آغاز توسعه Java EE با استفاده از GlassFish ساده خواهد بود.
لینک دانلود: https://glassfish.java.net/download.html
نحوه شروع به کار: به install_dir/bin رفته و asadmin start-domain را اجرا نمائید.
رابط مدیریتی: http://localhost:4848 و اطلاعات پیش فرض admin/adminadmin می باشد.
JBoss: پیش از مابقی پروژهها در انجمن متن بازها ارائه شده است و از پشتیبانی Red Hat بهره میبرد. سرور JBoss خوشهبندی و دسترسپذیری بالا را خارج از محیط ارائه مینماید ولی رابط مدیریتی که از نسخه ۵٫۱ به بعد ارائه شد به اندازه کافی پیشرفته نمیباشد تا امکان مدیریت تمامی بخشهای منابع سرور برنامه را فراهم آورد. رابط مدیریتی و راهبری ارائه شده نسخه نهفته Jopr می باشد(http://rhq-project.github.io/rhq/) . این محیط به عنوان یک نقطه جهت مدیریت و راهبری برای تمامی تکنولوژیها همانند ESB،cache ارائه میشود. نسخه فعلی JBoss AS 7.1.0 می اشد. JBoss تحت لایسنس LGPL ارائه می شود و در صورتی که فردی تمایل داشته باشد امکان دریافت پشتیبانی از Red Hat را خواهد داشت. توزیع عمومی JBoss و توزیع شرکتی دو بسته متفاوت می باشند که نصب توزیع شرکتی با نام JBoss Enterprise Middleware خواهد بود.
سرور JBoss از یکپارچهسازی با محصولات متفاوتی بهره میبرد. این محصولات شامل caching، (طراحی و مدیریت فرآیندهای سازمانی)BPM، ESB، Portal و غیره میباشد. در محیط توسعه، از محیط توسعه ای مبتنی بر Eclipse با نام JBoss Developer Studio بهره میبرد که ابزارهای گوناگونی را توسط JBoss ارائه مینماید.
تمامی محیطهای یکپارچه کنونی از JBoss پشتیبانی مینمایند و این به معنی امکان توسعه ساده برنامه کاربردی در این محیط ها با استفاده از JBoss میباشد.
لینک دانلود: http://www.jboss.org/jbossas/downloads/
در حال حاضر JBoss Application Server توسط شرکت Red Hat پشتیبانی نمیشود و پروژه مربوطه به JBoss EAP تغییر یافته است و برای دانلود این پروژه لطفا از طریق لینک زیر اقدام نمائید.
لینک دانلود JBoss EAP: http://www.jboss.org/downloads
نحوه شروع: به install_dir/bin رفته و با توجه به سیستم عامل خود برای اجرای تک سکویی از standalone.exe یا ./standalone.sh و اجرای چندسکویی از ./domain.sh یا domain.exe را اجرا نمائید.
JOnAS: یکی از پروژه های قابل توجه گروه OW2 میباشد و در مقایسه دارای کمترین اعلام در خبرها و وبلاگها را دارد و معماری ماژولار مبتنی بر OSGi بهره میبرد. رابط مدیریتی JOnAS به درستی طراحی شده است و از رابطه کاربری مناسب بهره میبرد. JOnAS از یکپارچهسازی با JASMINe برای طراحی، استقرار و محیط خوشهبندی مدیریتی بهره میبرد.
نسخه فعلی JOnAS، نسخه ۵٫۱ می باشد که به صورت کامل Java EE 5 را پشتیبانی مینماید. بیشتر محیط های یکپارچه همانند Eclipse و Netbeans از JOnAS به عنوان سرور پشتیبانی می نمایند. JOnAS از لایسنس LGPL توزیع می شود.
لینک دانلود: https://jonas.ow2.org/bin/view/Main/Downloads
نحوه شروع: به install_dir/bin رفته و با توجه به سیستم عامل خود ./Jonas start یا Jonas.bat start را اجرا نمائید.
رابط مدیریتی: http://localhost:9000/jonasAdmin و اطلاعات admin/admin
Servlet Containers:
Jetty: این پروژه به عنوان جایگزینی برای برخی از سطوح Tomcat میباشد. به دلیل تفاوتها بین معماری این containerها هر کدام از آنها دارای کاربر پایه میباشد. Jetty سبکتر، سادهتر و به شدت ماژولار در نظر گرفته میشود در صورتی که Tomcat دارای ویژگیهای قوی تری میباشد. هر دو پروژه دارای کارایی خوب تحت بار کاری سنگین میباشند ولی این موضوع میتواند با توجه به نسخهها و موارد استفاده متفاوت باشد. خوشهای از نمونههای jetty میتواند با استفاده از هر Gigaspaces، SADI، Terracotta و غیره تنظیم شود. Jetty دارای محیط مدیریتی نیست و همه چیز میبایستی توسط فایل تنظیمات با اضافه نمودن تغییرات مورد نیاز به این فایل صورت پذیرد. مقایسه ای جامع میان Tomcat و Jetty در لینک زیر ارائه شده است.
لینک دانلود: http://download.eclipse.org/jetty/stable-9/dist
نحوه شروع: به install_dir/bin رفته و با توجه به سیستم عامل خودstart ./jetty.sh یا jetty.bat start را اجرا نمائید.
رابط کاربری: عدم وجود رابط کاربری
نکته: قبل از اقدام به اجرای jetty خط زیر را در install_dir/bin/jetty.sh یا jetty.bat با توجه به سیستم عامل خود اضافه نمائید.
برای ویندوز
set JETTY_HOME=path/to/jetty/install/dir
برای لینوکس
export JETTY_HOME=path/to/jetty/install/dir
Tomcat: Apache Tomcat حدودا ۱۰ سال است که وجود دارد و به عنوان یکی از پرکاربردترین Servlet containerها میباشد. بیشتر ارائهدهندگان میزبانی اشتراکی از Tomcat پشتیبانی مینمایند این در صورتی میباشد که پشتیبانی از GlassFish، Geronimo، JBoss و JOnAS به ندرت صورت میپذیرد.
Apache Tomcat تحت لایسنس ASF ارائه میشود که در حال حاضر از Servlet نسخه ۲٫۵ و JSP نسخه ۲٫۱ پشتیبانی مینماید. Apache Tomcat با مجموعه مدیریتی کاملی که امکان اعمال تنظیمات کمی را فراهم میآورد ارائه میشود. بیشتر تنظیمات میبایستی با تغییر در فایل تنظیمات صورت پذیرد. Tomcat توسط بیشتر محیطهای توسعه یکپارچه و ابزار توسعه/ساخت ارائه میشود. Tomcat همراه با خوشهبندی داخلی و پشتیبانی از ارتباط اضافی ارائه میشود.
لینک دانلود: http://tomcat.apache.org/download-90.cgi
نحوه شروع: به install_dir/bin رفته و با توجه به سیستم عامل خود ./startup.sh یا startup.bat را اجرا نمائید.
محیط رابط مدیریتی: http://127.0.0.1:8080/manager/html
نکته: قبل از اجرا Tomcat خط زیر را به install_dir/conf/tomcat-users.xml داخل tomcat-users اضافه نمائید:
1 | <user username="tomcat" password="tomcat" roles="manager"/> |
نتیجهگیری: هیچ کدام یک از پروژههای موجود امکان رفع نیازمندیهای توسعه و استقرار را ندارد. هر کدام از آنها دارای نقاط قوت و ضعف خود را دارند. با توجه به نیازمندیها میبایستی تمامی آنها مورد ارزیابی قرار گیرد تا با توجه به نیازمندیهای پروژه یکی از آنها انتخاب گردد.
منبع: