دوست عزیز:
1-در مورد مقایسه امکانات موجود در EE6 مثلا EJB3 و امکانات Spring با استناد به جملات خودتون متاسفانه یا جانب انصاف رو رعایت نکردین یا بر اساس اطلاعات نادرست قضاوت کردین:
*)هیچ فرقی بین Spring و EJB3 در استفاده از به اصطلاح Plain Old Java Object یا POJO نیست.اگر کمی با Spring آشنایی داشتید میدونستید که پترن DI یا به عبارت قدیمی ترش Inversion Of Control یا IOC خیلی قبلتر از EJB3 در همین Spring شروع به کار کرد!و همچنان هم Spring همین POJO ها با همین DI کار میکنه.پس مطمئن باشید EJB3 اگه نگیم کاملا تا حد خیلی زیادی وامدار و مدیون Spring هست.
اصولا فلسفه Spring هم ایجاد یه جاگزین سبکتر از EJB بوده که بدون نگرانی از بابت امکانات نرم افزاری و سخت افزاری که برای EJB ها لازمه بشه با مثلا چیزی مثل Tomcat هم امکانات EJB ها رو داشت.همونطور که EJB ها چه Entiti ها و چه Session ها کامپوننت هایی هستند که توسط کانتینر EJB کنترل میشن (Life Cyle Mangment-Trancication-persistence)در Spring هم همه این فرایند ها ممکنه(Applicatin Contex).و تازه به نظر من AOP بیس بودن تراکنش های Spring خیلی رهیافت نوین تری هست و خیلی به اصطلاح declarative تر!و همون سختی هایی که در ورژن های قبلی EJB بوده در تمام امکانات EE بوده(JDBC-JPA-JAAS-RPC-WEB Service-JMS و....)Spring برای تمام Stack جاوا EE جایگزین های ساده تری داشته.در واقع spring یه Full Stack EE Frameworkr که نه تنها شامل امکانات EJB ها بلکه تمامی لایه های EE میشه.و بنده درک نمی کنم چطور شما Struts رو میارید و به جای EJB میذارید!؟به نظر شما MVC همون Service layer هست؟همون Component Managmet هست!اما با توجه به اینکه فرمودین تو ایران اینطوریه چندان هم دور از انتظار نیست که Controler و View های Struts کلا کار EJB ها رو انجام بدن!
پس همون شعار هایی که الان EJB 3 با کلی تاخیر (با تشکر از گوش بزنگی سان !)میده خیلی وقته که Spring داره میده و خوبم از پسش بر اومده و با هزینه های کمتر (Scale-Team Training-Licence-mature)!(راستی این Pattern ی که به عنوان POJO مطرح فرمودین بنده در کل Course های EE Pattern خودم ندیدم!).
2-در مورد بحث Annonation و Metadate ووو ربطی با موظوع نمی بینم.با این حال همونطور که عرض کردم برای یه توسعه دهنده فرقی نمی کنه که از چی استفاده کنه (همش از نظر من حمالیه حد اقل تا الان در قرن بیست و یکم و بقول Ajaxian :بعد از مدها ما هنوز با دستامون کد مینویسیم!).دو پارادایم Tons Of XML و یا XLL Hell و Tons Of Annonation یا Annonation Hell راحتی واقعی کار با EE رو به چالش کشیدن(هر دو مزایا و معایب خودشون رو دارند و اونقدر ها هم راحت نیستند به هر حال کسی برای ee و سازمان ها برنامه مینویسه قرار نیست که زندگی SS..EE..XX ای داشته باشه!).اگه قبلا در EJB باید کلی کلاس و انترفیس می نوشتید و بعد با XML به کانتینر معرفیش میکردین این مشکل در Spring حل شد!بعد ها دیر تر در EJB به زبان دیگه ای حل شد.(حجم کار در هر دو یه اندازس :در Spring بین ها رو تعریف میکنیدو در هم به اصطلاح Inject میکنید در EJB , EJB ها رو با Annonation به کانتینر معرفی میکنید و با Annonation هم Resourcr ها رو به سایر اجزاء سیستم معرفی میکنید!).پس بهتره به جای جانبداری روی اینکه کدوم بهتره توجهمون رو روی چیزی معطوف کنیم که اوضاع رو از این هم ساده تر کنه!
3-لایه های مدیریت پرژه در EE مثل یه چاقوی دو لبه عمل میکنه برای تیم های با بودجه بالا و قوی (Match) خوبه ولی برای تیم هایی که قدرت کمتری دارند مشکل زاست.
در دنیای امروز پول حرف نهایی و میزنه!سری به اینتر نت بزنید و ببینید که چطور جایگزین های EE مثل دات نت رابی Php وغیره به چه نسبت برای توسعه نیاز به تیم های کوچکتری برای پروژه هایی با یک سایز دارند!قضاوت رو به خودتون میسپارم(Petstore دات نت و EE.یا Document managmet های EE با نمونه PHP!)!برای بقاء در این همه آلترناتیو EE باید سعی بیشتری کنه!به نظر شما چه کار هایی؟
4-و در آخر چند کلمه ای در مورد دات نت و ویندوز !
بهتره اول به این مسئله نگاه کنیم که پردازش اطلاعات در سطوح سازمانی چه برنامه هایی رو در بر میگیره!همه تجارت ها و خدماتی که از شرکت ها برای مطرح کردن خودشون در شبکه دارند جزئی از پردازش سازمانیه!از سایت های تجارت الکترونیک تا پرتال ها تا بانکها تا شبکه های اجتماعی همگی به نحوی با این پردازش درگیرن!
با نظر شما اینها ایت های کوچکی هستند؟
Dell (
www.Dell.com), MySpace (
www.MySpace.com),
Microsoft (
www.Microsoft.com).Google(www.goog;e.com) .فقط همین دل به شما قول میدم سایز و میزان تراکنش هاش از کل شبکه بانکی ایران وخیلی اسیایی ها بیشتره!بله از دات نت استفاده میکنه!و گوگل هم!همه اینه ها حتی مایکروسافت هم علاوه بر ویندوز از لینوکس هم استفاده میکنه!و گوگل از ویندوز و لینوکس و سولاریس!و دل و یاهو. از Php!و IBM سری MQ خودش رو برای دات نت هم آماده کرده و سان کتاب منتشر میکنه که چطور بین دات نت و EE رابطه برقرار میشه کرد و ناول پروژه دات نت رو روی Linux با Mono ادامه میده و اتفاقا به مزاج لینوکسی ها هم خوش میاد و کلی اجتماعات براش درست میکنند و ویرچوالیزشن داره با رشد دامنگیر خودش همه چیز های خوبی که در پلت فرم های مختلف از لینوکس گرفته تا وینوز تا مین فریم ها و همزییستی برنامه های سپ با اراکل و دات نت و ee محقق میکنه پس اصلا بعید نیست روی لینوکس دات نت که هیچ کل ویندوز اجرا بشه! ووو این حکایت بده بستونی که میگه هر چیز به جای خویش نیکوست!
و اما در بعضی جاها هم اشخاصی هستند که اعتقادات خودشون رو دارند!
در همین ایران نقل همکارای واقعی خودم:یکی iPhon میخره میگه Symbian و Winmobile آشغاله!امنیت نداره!همش ویروسی میشه!فرداش میبینمش که میگه :خودش خراب شد!چیزش هم روش نریختم!
یکی لینوکس کار میکنه :امر بش مشتبه میشه که فنی ترین آدم روی زمینه که داره OS کار میکنه.و میدونه لینوکس خیلی امنه(شرکت هایی هم که وقتشون رو برای تهیه راه کار های امنیتی لینوکس مثل Macafee ,panda ,symantec ووو صرف میکنن وقتشون رو تلف می کنن چون لینوکس خیلی امنه یا شرکتی با سایز اوراکل سان ادبی سپ ووو و همینطور مصرف کنند گانشون هیچ درکی از امنیت ندارند!ولا وقتو پولشون رو برای تهیه و خرید محصولاتی به این مهمی برای سیستم عامل مبتذلی مثل ویندوز نمی کردند.بعد پیش خودشون به این نتیجه میرسند که ای بابا ان مایکروسافت عجب شرکت نامردی ها!هر چی پوله معلوم نیست در میاره از کجا و ویندوزش هم که آشغاله و تمام محصولاتش که برای ویندوزند هم چون محیط امنی ندارند وقت طلف کردن هستند و لابد میکروسافت با خوردن حق لینوکس و بقیه بزرگترین شرکت نرم افزاری دنیاست!)پس زنده باد لینوکس!
یکی iMac میگیره میگه...به امید روزی که بتونبم در کنار هم جدا از تعصب ها و با درکی بدون آمیختگی با هر گونه تعصب زندگی کنیم.
موفق باشی.