یک سوال سرنوشت ساز، مقایسه J2EE و دات نت!
با عرض سلام و خسته نباشید خدمت همه برو بچه های سایت.
راستش رو بخواهید من تو یک شرایطی قرار گرفتم که میخواهم یکی از دو تکنولوژی زیر رو انتخاب کنم خیلی هم تحقیق کردم ولی واقعا به نتیجه ای نرسیدم.چون خیلی ها با این سوال تعصبی برخورد میکنند. از دو تکنولوژی زیر کدام را انتخاب میکنید چرا؟
1-j2ee
2-dot net
لطفا جنبه های مختلف برنامه نویسی مثل application,web base,server side,database و غیره رو بررسی کنید.
متاسفانه به علت کمبود وقت در فرصت بعدی توضیحات بیشتری را میدهم.
موفق باشید.
دات نت و j2ee قابل مقایسه هستند
من مطلب مفصلی که Inprise عزیز نوشته بود را مطالعه کردم. در واقع این صدمین باری است که مقایسه ای از این نوع را مطالعه می کنم. به نظر من این مقایسه هم مانند مقایسه های دیگر متمایل به یکی از دو جناح بود! صادقانه بگویم منطق بکار رفته در مطلب ایشان منطق طرفداران جاوا است. گفتن این حرف که J2EE یک استاندارد است و دات نت یک نرم افزار یک نظر جانبدارانه است. اصلا استاندارد بودن یک چیز را چه کسی تعیین می کند که بخواهیم صحبت از استاندارد بودن آن بکنیم؟ جاوا را تاحدود زیادی شرکت سان مشخص می کند و دات نت را هم مایکروسافت. اگر هم بخواهیم بحث استاندارد بودن را مطرح کنیم باید توجه داشته باشیم که خیلی از عناصر هر دوپلاتفرم در سازمان های بین الملی استاندارد ثبت شده اند.
من تقریبا نظر این دوست خوبم را (که البته فرد مطلع و باسوادی است ) رد می کنم. چون با همان ظرافت همیشگی منطق طرفداران جاوا میخواهد بگوید فیل را که با فنجان مقایسه نمی کنند؟ جاوا فیل است و ... این نوع مقایسه ها کمکی به مشتری نمی کند. این شکل مقایسه من را یاد نظرات طرفداران پرسپولیس و استقلال می اندازد که این یکی می گوید قرمز تو خون همه انسانهاست و آن دیگری می گوید آبی رنگ آسمونه و مافوق همه است ! ببینید دوستان عزیز ، شما قبل از اینکه بخواهید این دو پلاتفرم را مقایسه کنید باید با مدل نرم افزاری این دو آشنا باشید. در مدل جاوایی منطق این چیزی که دوست عزیزمان از آن به عنوان Application Server یاد کرد اینست که یک سرور همه کاری بتواند انجام دهد. در منطق مایکروسافت اینطور نیست. تمام عناصر و اجزایی که در یک App Server جاوایی هست در پلاتفرم دات نت هم هست منتها در دنیای مایکروسافتی این عناصر جدا جدا هستند و جداگانه به فروش می رسند. وقتی شما یک App Server اوراکل می خرید درست است که خیلی کارها برایتان انجام می دهد یعنی هم وب سرور است هم ایمیل سرور است هم دیتا بیس دارد و ... ولی در مدل مایکروسافت هرکدام از اینها یک سرور و یک محصول جداگانه است. این خیلی هنر نیست که شما یک سرور همه کاره داشته باشید. گاهی اوقات شما فقط یک کار مشخص را از سرور انتظار دارید. در عمل خیلی اوقات Feature های مختلف یک App Server بلا استفاده می ماند. به همین دلیل است که خیلی وقتها خریدن اوراکل گران تمام میشود. البته این مساله نه دلیل برای خوب بودن و نه دلیل برای بد بودن آن است . مدل نرم افزاری متفاوت است.
بنابراین از نظر من هردو پلاتفرم در یک حد هستند و هر کاری که یکی انجام میدهد دیگری نیز می تواند (بدون هیچ شک وشبهه ای) انجام دهد. منتها طبیعتا در راندمان انجام کارهای مختلف روی پلاتفرمهای مختلف بحث وجود دارد. اینکه دات نت را تا سطح یک نرم افزار نزول دهیم و جاوا را به مین فریم و دات نت را به نوت بوک تشبیه کنیم ، از آن حرفهاست و به نظر من جانبدارانه است.
نکته دیگری هم هست و آن اینکه دات نت یک پلاتفرم جدید و نوپاست و طبیعتا به پختگی و کارآزمودگی جاوا نیست و واقعیت اینست که هنوز برخی عناصر پلاتفرم دات نت در حوزه سرورها به معنی واقعی دات نتی نشده اند یعنی زیربنایشان چاچوب دات نت نیست و فقط در سطح لایه فوقانی سیستم از دات نت فریم ورک پشتیبانی می کنند ولی بدیهی است که در آینده نزدیک تمام سرورهای مایکروسافت از بیخ و بن دات نتی خواهند بود.
در مجموع می خواهم بگویم دات نت و j2ee قابل مقایسه هستند و گفتن این حرف که این دوتا قابل مقایسه نیستند خودش یک حرف نادرست است. هرکدام از این دو معایب و مزایایی دارند که قابل بحث و بررسی است. در پاسخ به این پرسش که کدام یکی از این دو بهترند و کدام را باید استفاده کرد باید دید که موضوع پروژه چیست و قرار است چه کاری انجام شود در آنصورت می توان پاسخ داد که آیا دات نت یا جاوا کدامیک برای آن کار خوبند.
من سعی می کنم در آینده نزدیک این بحث را از نظر فنی در اینجا یا در سایت خودم باز کنم.
نقل قول: یک سوال سرنوشت ساز، مقایسه J2EE و دات نت!
مقايسه J2EE و.Net
J2EE
مخفف Java 2 Enterprise Editionاست . يك استاندارد است كه مشخص مي كند كه براي پاسخ دادن به یک نیاز نرم افزاری "سازمان مقیاس" چگونه باید با اجزاء نرم افزار رفتار کرد و برای مدیریت طول عمر نرم افزار Application LifeCycle Managementچكار بايد انجام داد.
J2EE با ايجاد يك محيط مستقل از سيستم عامل، باعث مي شود برنامه هاي كاربردي نهايي، انعطاف پذیر، متحرک و قابل استفاده مجدد در پیاده سازی های مختلف عرضه کننده هستند.
قابلیت های J2EE :
- استقلال از سیستم عامل و سخت افزار
- پیوستگی با طراحی شی گرا ومتدوولوژی مولفه
- انعطاف پذیری، قابلیت جابجایی و قابلیت عملیات متقابل
- یکپارچه سازی سیستم های اطلاعاتی گسترده
- پذیرش معماری های سرویسگرا درJ2EE
.Net
یک بستر برای ایجاد نرم افزار از شرکت مایکروسافت.
تمام دات نت یک framework است و یک محیط تولید نرم افزار + مستنداتی جهت ایجاد ابزارهای متفرقه تولید نرم افزار
قابلیت های .Net
- با استفاده از ویژگی CLR امکان استفاده از زبان برنمه نویس مورد علاقه جهت پیاده سازی برنامه ها را می دهد.
- بوسیله XMLامکان استفاده برای ایجاد سیستم های توزیع شده را فراهم می کند.
- امکان طراحی و پیاده سازی برنامه های مبتنی بر اینترنت و محیط های Desktopرا داراست.
مقایسه بسترهای .Net و J2EE
- کتابخانه کلاس
- زمان اجرا
- اتصالات
- ارتباط با داده
- امنیت (حفاظت از متن کد، ارتباطات ، خود بستر و مانایی)
- انتقال
- تولید محتوای وب
1) کتابخانه کلاس
دات نت وJDK هر دو کتابخانه های قدرتمندی هستند که اغلب نیازهای پایه برای تولید نرم افزار را حمایت می کنند.
کاربری .Net راحت تر پیچیدگی آن کمتر و یادگیری .Net نسبت بهJ2EEسریعتر است.
2)زمان اجرا
سرعت اجرای "برنامه " های دات نت اگر ازJIT استفاده نکند از برنامه های جاوا کندتر است.
3)اتصالات
دات نت از ریموتینگ ، وب سرویس و کام پلاس حمايت مي كند(بصورت داخلي) جاوا به جاي ریموتینگ ابزاری بنام ریموت متد اینووکیشن دارد وب سرویس و CORBA را حمایت می کند.
4) ارتباط با داده
دات نت چیزی بنام ADO.NET ارائه کرده که راه حلی منحصر به فرد دارد.
جاوا JDBC را دارد که چه در connection Pooling و چه درobject pooling بخوبی ADO.NET کار می کند اما ADO.NET فوق العاده امکانات زیادی دارد.
5) امنیت
- حفاظت از متن کد در هر دو محیط ضعیف هستند.
- حفاظت از ارتباطات در هر دو محیط با open standardها کار می کنند.
- حفاظت از خودبستر و حفظ مانائی در حوزه امنیت هر دو محیط چندان متفاوت نیستند.
6) انتقال
در این زمینه هیچ رقابتی وجود ندارد و جاوا پانزده سال جلوتر است.
7)تولید محتوای وب
دات نت ASP.NET و جاوا JSP را ارائه نموده است. سرعت پاسخگوئی دات نت در کاربردهای معمولی بالاتر می باشد .
نتیجه:
تمام امکانات و توانایی های . NET مشابهش در بستر جاوا موجود است در برخی موارد دات نت و در برخی دیگر جاوا برتر است مگر اینکه اگر کاربر خیلی بزرگ باشد یا برنامه خاصی برای انتقال بستر وجود داشته باشد یا احتمال وجودش قوی باشد ، در هر حال " تنها گزینه موجود" جاوا است در غیر اینصورت باید بررسی کرد.
منبع :http://www.daneshju.ir