سؤال

فريقي هو تطوير خدمة جديدة موجهة المنتج مع الشبكة الأمامية.في المناقشات حول ما التكنولوجيات سوف نستخدم نحن قد استقر على تشغيل جبوس ملقم التطبيق ، فليكس الواجهة (مع إمكانية توزيع سطح المكتب باستخدام برنامج Adobe AIR) و خدمات الويب إلى واجهة العميل والخادم.

لقد وصلت إلى طريق مسدود عندما يأتي إلى أي ملقم لاستخدام التكنولوجيا لدينا منطق الأعمال.حجة كبيرة بين EJB3 والربيع ، مع أكبر المخاوف التي قابلية التوسع والأداء ، وأيضا الصيانة رمز قاعدة.

هنا هي بلدي الأسئلة:

  1. ما هي الحجج لصالح أو ضد EJB3 vs الربيع ؟
    • ما المزالق التي يمكن أن نتوقع مع كل ؟
    • أين يمكنني العثور على جيد القياسي المعلومات ؟
هل كانت مفيدة؟

المحلول

لن يكون هناك فرق كبير بين EJB3 والربيع على أساس الأداء.اخترنا الربيع للأسباب التالية (غير المذكورة في السؤال):

  • الربيع محركات العمارة في اتجاه أكثر سهولة يدعم وحدة اختبار.على سبيل المثال, حقن نموذج كائن DAO إلى وحدة اختبار طبقة رجال الأعمال ، أو الاستفادة من الربيع MockHttpRequest كائن إلى وحدة اختبار بريمج.ونحن الحفاظ على فصل الربيع config وحدة الاختبارات التي تسمح لنا أن نعزل الاختبارات إلى طبقات محددة.
  • تجاوز السائق كان التوافق.إذا كنت بحاجة إلى دعم أكثر من خادم التطبيق (أو تريد في نهاية المطاف خيار الانتقال من جبوس إلى Glassfish ، الخ) ، سوف تكون أساسا تحمل الحاويات الخاصة بك (الربيع) معك بدلا من الاعتماد على التوافق بين تطبيقات مختلفة من EJB3 المواصفات.
  • الربيع يسمح الخيارات التقنية استمرار كائن الاتصال عن بعد ، وما إلى ذلك.على سبيل المثال, ونحن أيضا استخدام فليكس الأمامية, و تستخدم هسه بروتوكول الاتصالات بين فليكس و الربيع.

نصائح أخرى

الفجوة بين EJB3 والربيع هو أصغر بكثير مما كان عليه بوضوح.وقال أحد سلبيات EJB3 الآن هو أنه يمكنك فقط ضخ في الفول ، حتى تتمكن في نهاية المطاف تحول المكونات في الفاصوليا التي لا تحتاج إلى أن تكون.

الجدل حول وحدة اختبار ذي صلة إلى حد ما الآن - EJB3 يهدف بوضوح إلى أن تكون أكثر سهولة وحدة قابلة للاختبار.

التوافق حجة أعلاه هو أيضا نوع من الموضوع:إذا كنت تستخدم EJB3 أو الربيع, كنت لا تزال تعتمد على الطرف 3-توفير تطبيقات المعاملات مديري الدائرة ، وما إلى ذلك.

ماذا كان البديل بالنسبة لي, ومع ذلك, هو الدعم من قبل المجتمع.تعمل على EJB3 المشروع في العام الماضي, لم يكن هناك الكثير من الناس هناك استخدامه والحديث عن مشاكلهم.الربيع, صوابا أو خطأ ، للغاية انتشارا ، particularlty في المؤسسة ، و هذا يجعل من السهل العثور على شخص لديه نفس المشكلة التي تحاول حلها.

ما هي الحجج لصالح أو ضد EJB3 vs الربيع ؟ الربيع هو دائما ابتكار وتسلم العالم الحقيقي القيود.الربيع عرضت البساطة و الأناقة جافا 1.4 خوادم التطبيقات لا تتطلب نسخة من J2EE المواصفات أن لا أحد كان الوصول إلى في عام 2004 - 2006.في هذه المرحلة يكاد الدينية المناقشة التي يمكنك الحصول على امتص في الربيع + استخراج + المصدر المفتوح مقابل Java Enterprise Edition (Java EE) 5.0 المواصفات.

أعتقد الربيع يكمل أكثر من يتنافس مع Java EE المواصفات.مثل الميزات التي كانت فريدة من نوعها الربيع الاستمرار في الحصول على دخلت مواصفات العديد من يجادل بأن EJB 3 'جيدة بما فيه الكفاية' مجموعة ميزة بالنسبة لمعظم الداخلية تطبيقات الأعمال.

ما المزالق التي يمكن أن نتوقع مع كل ؟ إذا كان علاج هذا استمرار المسألة (الربيع+JPA) مقابل EJB3 الخاص بك حقا لا يجعل كبيرة من الخيارات.

أين يمكنني العثور على جيد القياسي المعلومات ؟ لم يتبع specj نتائج المؤشر لبعض الوقت, ولكن كانت شعبية لفترة من الوقت.يبدو أن كل بائع (IBM ، جبوس, Oracle, و الشمس) الحصول على أقل وأقل ترغب في وجود متوافقة مع الخادم.قوائم الحصول على أقصر وأقصر من الباعة المعتمدين كما تذهب من 1.3, 1.4.1.5 Java Enterprise Edition.أعتقد أيام عملاق ملقم متوافق تماما مع جميع المواصفات أكثر.

أود أن أوصي بالتأكيد EJB3 على الربيع.نجد أنه أكثر تنظيما, أجمل مدونة في أفضل معتمدة.لدي في الماضي تستخدم الربيع ووجدت أن تكون مربكة جدا ، وليس كذلك توثيق EJB3 (أو JPA أعتقد في نهاية اليوم)

  1. كما من EJB3 لم يعد لديك للتعامل مع التكوين الخارجي الملفات ، هناك واحد فقط POJO التي علق في جدول قاعدة البيانات.هذا POJO يمكن أن تنتقل إلى الويب الخاص بك المستوى دون أي مشاكل.ايديس مثل Netbeans حتى يمكن لصناعة السيارات في توليد هذه POJOs بالنسبة لك.لقد استخدمنا EJB3 الآن كما يعود في نهاية لعدد غير قليل من نطاق واسع من التطبيقات, و لم ألاحظ أي مشاكل في الأداء.جلسة العمل الخاصة بك الفاصوليا يمكن أن يكون بسهولة كما يتعرض الخدمات على شبكة الإنترنت التي يمكن أن تعرض إلى فليكس الواجهة.الدورة الفول من السهل أن تغلق في أي وسيلة أو على مستوى الصف إلى تعيين الأدوار و أشياء من هذا القبيل إذا كنت بحاجة إلى.

لا أستطيع التحدث كثيرا عن الربيع ، أنا فقط حاولت ذلك لبضعة أسابيع.لكن الانطباع العام كان ضعيفا جدا.هذا لا يعني انها سيئة الإطار ، ولكن فريقنا هنا وجدت EJB3 أن يكون أفضل لاستمرار/طبقة رجال الأعمال.

أنا أميل إلى تفضيل الربيع على EJB3 لكن التوصية أيهما تسلكه ، في محاولة لعصا الكتابة POJOs و استخدام معيار الشروح حيثما أمكن ، مثل JSR الشروح مثل @PostConstruct, @PreDestroy و @الموارد التي تعمل مع كل EJB3 أو الربيع حيث يمكنك اختيار أيهما إطار تفضل.

على سبيل المثاليمكنك أن تقرر على بعض المشاريع إلى استخدام Guice بدلا عن اللجنة الأولمبية الدولية.

إذا كنت ترغب في استخدام ما قبل طلب الحقن مثل في تطبيق ويب قد تجد Guice جدا أسرع قليلا من أجل حقن التبعية من الربيع.

الدورة الفاصوليا تغلي في الغالب إلى حقن التبعية و المعاملات ؛ حتى EJB3 والربيع هي نوع مماثل حقا عن ذلك.حيث الربيع حافة على أفضل حقن التبعية و أجمل تجريدات لأشياء مثل الدائرة

لقد استخدمت جدا بنية مماثلة في الماضي.الربيع + جافا 1.5 + أكشن 2/3 عندما جنبا إلى جنب مع فليكس خدمات البيانات جعلت كل شيء من السهل جدا (و متعة!) إلى رمز.على الرغم فليكس الأمامية يعني أنك بحاجة كاف قوية الأجهزة العميلة.

بخصوص سؤالك:

ما هي الحجج لصالح أو ضد EJB3 vs الربيع ؟

أقترح قراءة الرد من الخبراء: رد على:EJB 3 ربيع تحليل مقارن مارك فيشر.قراءة التعليقات على العثور على رضا الرحمن تصريحات (EJB 3.0).

شيء آخر في صالح الربيع هو أن معظم أدوات أخرى / أطر هناك أفضل دعم التكامل مع الربيع, معظمهم من استخدام الربيع داخليا (مثلا ، شكرا, الجمل, CXF الخ).

بل هو أيضا أكثر نضجا و هناك الكثير من الموارد (كتب ، مقالات ، أفضل الممارسات الخ) & المطورين ذوي الخبرة المتاحة من أجل EJB3.

أعتقد EJB جيد عنصر التكنولوجيا ولكن ليس إطارا جيدا.الربيع هو أفضل إطار متاحة اعتبارا من اليوم.لذا يجب أن تنظر في الربيع أفضل تنفيذ جي في معنى إطار توصيتي هي أن استخدام الربيع في كل المشاريع التي تتيح لنا المرونة في الاندماج مع أي عنصر التكنولوجيا بسهولة .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top