"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ما مدى استجابة جاكرتا EE لاحتياجات المطورين؟

ما مدى استجابة جاكرتا EE لاحتياجات المطورين؟

تم النشر بتاريخ 2024-10-31
تصفح:355

How well did Jakarta EE respond to the needs of developers?

منشورات متبادلة على مدونة إد بيرنز.

ملخص تنفيذي

قامت اللجنة التوجيهية في جاكرتا بتأسيس مشروع منصة جاكرتا بهدف دمج تعليقات المطورين في تطوير EE 11. يستعرض منشور المدونة هذا أداء مشروع المنصة ويمنح معدل تراكمي قدره 3.43 على مقياس من 4 نقاط لتحقيق ذلك هدف.

مقدمة

يسعدني ويشرفني أن أجد نفسي في وضع يسمح لي بالمساعدة في تقديم الإصدار التالي من Jakarta EE. لقد شغلت العديد من الأدوار في J2EE/Java EE/Jakarta EE على مر العقود: المنفذ، وقائد المواصفات، والمؤيد، والمؤلف، والمختبر، والمزيد. دوري الحالي، مع ذلك، هو دور جديد بالنسبة لي كمنسق مشارك للإصدار.

في هذا الدور، شاركت (جنبًا إلى جنب مع Arjan Tijms) في قيادة مشروع منصة جاكرتا، وهو المسؤول عن تقديم مواصفات جاكرتا EE النهائية (ومواصفات المكونات)، وTCK المقابلة، وعلى الأقل التصديق على التنفيذ المتوافق لـ جميع المواصفات. الأهم من ذلك، ليس من الضروري أن يكون هناك تطبيق واحد متجانس يلبي جميع مكونات TCK في نفس الوقت، ولكن يجب أن يكون هناك تطبيق واحد متجانس يمرر منصة TCK.

بروح الشفافية التي كنت محظوظًا بما يكفي للبدء بها منذ أكثر من عقدين من الزمن، تتناول هذه التدوينة مدى نجاح مشروع منصة جاكرتا خلال EE 11 في تحقيق أحد الأهداف التي حددتها اللجنة التوجيهية لمشروع المنصة: دمج تعليقات المطورين.

التقليل من الوعود والإفراط في التسليم

الذاكرة المؤسسية هي الطريقة التي يتعلم بها مجموعات البشر من الأخطاء ويتجنبون تكرارها. وبهذا التعريف، آمل أن نتمكن جميعاً من الاتفاق على أن الذاكرة المؤسسية مهمة وتستحق الحفاظ عليها. نظرًا لأن البرنامج عبارة عن معرفة قابلة للتنفيذ، فإن مشروع البرنامج مفتوح المصدر طويل الأمد يعد نوعًا خاصًا من الذاكرة المؤسسية. إن المشروع الذي يعد نظامًا بيئيًا طويل الأمد للمشاريع مفتوحة المصدر طويلة الأمد هو إلى حد كبير قمة المشاريع الخاصة. مع أخذ كل هذا التخصص في الاعتبار، ماذا يعني دمج تعليقات المطورين؟

من الأسهل بكثير إظهار الاستجابة لتعليقات المطورين عندما تكون التكاليف المحتملة لارتكاب خطأ موجودة في مشروع واحد. في ضوء التكاليف المرتفعة المحتملة، كان مشروع منصة Jakarta EE 11 متواضعًا عن عمد مع أهدافنا المتمثلة في دمج تعليقات المطورين. هذا هو تنفيذنا للاستراتيجية المجربة والحقيقية المتمثلة في "التقليل من الوعود والإفراط في التسليم".

في الفترة التي سبقت جاكرتا EE 11، أجرينا مناقشة مجتمعية مفتوحة حول متطلبات جاكرتا EE 11 وقمنا بإدراجها في وثيقة مناقشة جاكرتا EE 11 هذه. دعونا نراجع مدخلات المجتمع التي تلقيناها، والتي كانت موجهة بشكل أساسي للمطورين، ونرى كيف فعلنا في EE11.

الوعد

  • بيانات جاكرتا

  • جاكرتا NoSQL

  • اعتماد Java SE 11، 17، 21 ميزات جديدة وتغييرات جذرية

  • المواضيع الافتراضية

  • إعادة هيكلة TCK

  • مركز CDI

    • CDI تحل محل الفاصوليا المُدارة
    • CDI يحل محل EJB
  • حل مكدسات HTTP الزائدة عن الحاجة: Servlet وREST

  • الملف الشخصي الصغير ومحاذاة جاكرتا

  • دعم CORS

  • تكوين جاكرتا

  • تسهيل عملية الانتقال من بائع إلى آخر

تسليم مختلط

سأقوم بتجميع التسليم في أربع مجموعات: تم التسليم الزائد، تم التسليم، تم التسليم إلى حد ما، لم يتم التسليم.

الإفراط في تسليمها

  • Jakarta Persistence - التكوين البرمجي بدلاً من Persistence.xml والمزيد من منشورات مدونة Gavin King
  • أمان جاكرتا - اختر ديناميكيًا آلية المصادقة Security-311

تم التوصيل

  • بيانات جاكرتا

    • نعم، هذه المواصفات الجديدة موجودة في المنصة.
  • اعتماد Java SE 11، 17، 21 ميزات جديدة وتغييرات جذرية.

    • نعم، هناك العديد من المواصفات التي تستفيد من ميزات اللغة الجديدة من 11 إلى 21.
  • إعادة بيع ديون TCK (سنقوم بتسليم هذا. نحن نحتفظ بالإصدار الخاص به).

    • تعد منصة Jakarta EE Platform TCK مكونًا برمجيًا حيويًا لتقديم عرض القيمة لاستقرار الاستثمار في تكنولوجيا المعلومات على نطاق عقود. تراكمت الديون الفنية على برنامج TCK بسبب نقص الاستثمار في الصيانة. في جاكرتا EE 11، نقوم بتحديث TCK بأحدث أدوات الاختبار. سيمكن هذا الاستثمار من إجراء اختبار توافق أفضل وتقليل الحاجز أمام إضافة المزيد من الاختبارات مع تطور منصة Jakarta EE.
  • مرونة واجهة برمجة التطبيقات، أي لا مزيد من ملفات JAR الشاملة.

    • لا توجد أسئلة أخرى مثل "هل يجب علي الانتظار حتى Jakarta EE xx" للحصول على هذه الميزة؟
    • أصبحت واجهات برمجة تطبيقات منصة Jakarta EE الآن مجرد مجموعة من واجهات برمجة التطبيقات الافتراضية.
    • يمكن للمستخدمين استبعاد المواصفات الفردية أو ترقيتها حسب رغبتهم،
    • يمكن إضافة مواصفات جديدة أيضًا.
    • وهذا يجعل منصة Jakarta EE مرنة مثل Spring Boot، ولكن دون وجود أمتعة التنفيذ في تطبيقك، فهي الأفضل في كلا العالمين!

سلمت إلى حد ما

  • المواضيع الافتراضية

    • حددت مواصفات التزامن بدقة سمة التعليق التوضيحي التي تتطلب تطبيقات للاستفادة من سلاسل الرسائل الافتراضية إذا كانت متوفرة في وقت التشغيل. إذا كنت تعمل على Java 21 أو أعلى، فستحصل على سلاسل رسائل افتراضية عند استخدام سمة التعليق التوضيحي. إذا كنت ستترشح في عمر 17، فلن تفعل ذلك.
  • مركز CDI

    • CDI تحل محل الفاصوليا المُدارة.

      • لقد فعلنا ذلك
        • إزالة التعليق التوضيحي @ManagedBean.
        • انقل أجزاء "التكامل" لـ CDI من مواصفات CDI إلى مواصفات النظام الأساسي.
        • تضيف Jakarta Concurrency الجدولة إلى التعليق التوضيحيAsynchronous لاستبدال التعليق التوضيحيScheduled على التزامن EJBs-271
        • حقن موارد التزامن في وحدات CDI بدلاً من استخدام @Resource في EJB concurrency-348.
        • تمت إزالة دعم الفاصوليا المُدارة في Jakarta REST.
        • مؤهلات وحدات الثبات في الثبات - تسمح بإدخال سياق الثبات بطريقة CDI الاصطلاحية.
  • ميزات جافا الجديدة

    • يتم التسجيل كعناصر قابلة للتضمين ومعرفات في Jakarta Persistence.
    • السجلات في لغة التعبير.
    • السجلات في التحقق من الصحة (التحقق من صحة الفول سابقًا) التحقق من الصحة-275.
    • واجهة برمجة تطبيقات التدفق في التزامن المتزامن-368.
  • الملف الشخصي الصغير ومحاذاة جاكرتا

    • لقد فعلنا ذلك
      • إنشاء مواصفات جسر الأمان MicroProfile لـ Jakarta Security.

لم يسلم

  • جاكرتا NoSQL

    • لم يتم اجتياز هذا الاقتراع في بداية دورة تطوير EE 11. في رأيي، كانت الأسباب غير فنية، وبالتالي يمكن حلها بالنسبة لـ EE 12.
  • حل مكدسات HTTP الزائدة عن الحاجة: Servlet وREST

    • هذا أمر كبير جدًا. في رأيي، سيتطلب الأمر بائعًا رئيسيًا يقف وراء هذه الفكرة ويخصص موارد كبيرة لتحقيق ذلك، على الأرجح من خلال التبرع بالعمل للمنافسين حتى يتمكنوا أيضًا من فعل الشيء نفسه.
  • دعم CORS

    • هذا لم يظهر حتى على رادارتي.
  • تكوين جاكرتا

    • يبدو أن هذا عالق في "تكوين الملف الشخصي الصغير جيد بما فيه الكفاية"، وبالتالي يقع بين الشقوق. أعتقد أنه يتعين علينا إقناع مشروع MicroProfile بالسماح لهذا بالانتقال من MicroProfile إلى مواصفات الملف الشخصي الأساسية لـ Jakarta EE.
  • تسهيل عملية الانتقال من بائع إلى آخر

    • يتناقض هذا مع المصالح التجارية لكل بائع، لذلك لا أرى أن هذا يحظى بالكثير من الاهتمام.

ملخص

دعونا نحصل على الكمية. لكل عنصر في قائمة الوعود الناقص، سأمنحنا درجة حرفية. A للتسليم الزائد أو التسليم، B للتسليم إلى حد ما، D لعدم التسليم.

ملاحظات ليتم دمجها درجة
بيانات جاكرتا أ
جاكرتا NoSQL د
اعتماد ميزات Java SE 11 و17 و21 الجديدة وتغييرات جذرية أ
المواضيع الافتراضية أ
إعادة هيكلة TCK أ
مركز CDI أ
حل مكدسات HTTP الزائدة عن الحاجة: Servlet وREST د
الملف الشخصي الصغير ومحاذاة جاكرتا ب
دعم CORS د
تكوين جاكرتا د
تسهيل عملية الانتقال من بائع إلى آخر د

مع هذه القائمة، حصلنا على معدل 2.54 GPA فقط. ليست رائعة. إذا حذفنا من القائمة طلبات تعليقات المطورين التي أرى أنها غير واقعية لتضمينها (CORS، مكدسات HTTP المتكررة، تكوين جاكرتا، تسهيل الترحيل من بائع إلى آخر)، فسنحصل على درجة أفضل: 3.43. ليس سيئًا، ولكن لدينا مجال للنمو.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/edburns/how-well-did-jakarta-ee-11-respond-to-the-needs-of-developers-1824?1 إذا كان هناك أي انتهاك، يرجى اتصل بـ [email protected]
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3