JavaRush /مدونة جافا /Random-AR /ما الذي سيؤدي إليه الإصدار المتكرر للإصدارات الجديدة من J...

ما الذي سيؤدي إليه الإصدار المتكرر للإصدارات الجديدة من JDK؟

نشرت في المجموعة
إنه عصر التغيير بالنسبة لجافا. سيتم الآن إصدار إصدارات JDK وفقًا لجدول زمني بدلاً من توفر وظائف جديدة. هذا النهج له إيجابيات وسلبيات، ولكن كيف ستؤثر هذه التغييرات على JDK 8؟ يشرح سايمون ريتر، مبشر Java الشهير وبطل Java والمدير التنفيذي للتكنولوجيا المساعد في Azul Systems، لماذا يعد "Java الجديد في الموعد المحدد" بمثابة مقايضة بين الاستقرار والأمان والتكلفة.
ما الذي سيؤدي إليه الإصدار المتكرر للإصدارات الجديدة من JDK - 1
في عام 2018، تنتظر تغييرات كبيرة عالم جافا. كما أعلنا في العام الماضي، فإننا نتجه نحو إصدار إصدارات JDK على أساس مجدول، بدلاً من إصدار الإصدارات عندما تتوفر وظائف جديدة. هذه أخبار رائعة لأنه سيتم الآن تضمين ميزات جديدة في الإصدارات عندما تكون جاهزة، وسيتمكن المطورون من الوصول إليها بشكل أسرع بكثير. من المقرر إصدار JDK 10 في شهر مارس، وقد دخلنا بالفعل المرحلة الثانية من إصلاحات الأخطاء، لذا فإن كل شيء يسير وفقًا للخطة. إن طلب مواصفات Java (JSR) قيد التطوير النشط بالفعل وهو متاح للتعليق العام. حتى أن هناك مقترحات لتحسين JDK (JEPs) تستهدف بالفعل JDK 11 . يبدو أن Java تقوم بعمل رائع.

تغير الزمن

ومع ذلك، هناك العديد من التغييرات الأخرى المرتبطة بجدول الإصدار هذا والتي ستظهر هذا العام، وقد لا تكون ممتعة. على مدى 22 عامًا ونصف، تمكنا من التعود على حقيقة أن Java، كمنصة، لديها ثلاث خصائص أساسية تتعلق مباشرة بطريقة دعمها.
  1. استقرار . في السابق، كانت الميزات المضافة مع الإصدار الجديد من JDK، على الرغم من اختبارها بدقة، تتطلب اختبارًا في الإنتاج. وقد ساعد ذلك في تحديد أوجه القصور التي تحتاج إلى تصحيح. للتأكد من أن المستخدمين يمكنهم الاستمرار في العمل مع الإصدارات المستقرة أثناء اختبار إصدار جديد، كانت التحديثات دائمًا متداخلة جزئيًا مع الوقت.

    إذا نظرنا إلى الإصدارات القليلة الماضية بدءًا من JDK 6، نرى أن تحديثات JDK 5 استمرت في الإصدار لمدة 3 سنوات أخرى تقريبًا (سنتان و11 شهرًا على وجه الدقة). مع تقديم JDK 7، تم إصدار التحديثات العامة لـ JDK 6 لمدة عام و9 أشهر. وتم إصدار تحديثات JDK 7 خلال 13 شهرًا من إصدار JDK 8.


  2. أمان . إن فرق تطوير ودعم OpenJDK، وOracle، ومن قبلهم Sun Microsystems (الشركة التي أنشأت Java، ملاحظة المحرر) تضع دائمًا أمان النظام الأساسي في المقدمة. كما تتذكر، كانت Java مخصصة في الأصل للأجهزة المحمولة (على وجه الخصوص، أجهزة المساعد الرقمي الشخصي Star7).



    كان أحد أهداف التطوير الرئيسية هو ضمان إمكانية نقل التعليمات البرمجية عبر الشبكة وتنفيذها بشكل آمن. يتم نشر التحديثات بانتظام لـ JDK، والتي تتضمن تصحيحات لمشكلات الأمان المكتشفة. إذا قمت بتثبيت هذه التحديثات مباشرة بعد إصدارها، فستكون آمنًا تمامًا.


  3. تكلفة صفر . أحد الأشياء الرائعة في Java هو أنها كانت دائمًا منصة مجانية، حتى قبل إصدارها كبرنامج مفتوح المصدر في عام 2006. كانت هناك قيود معينة على الأماكن التي يمكن فيها استخدام Java بدون حقوق ملكية، ولكن هذا ينطبق دائمًا على تطبيقات الهاتف المحمول والتطبيقات المدمجة؛ بالنسبة لعملاء سطح المكتب وخوادم المؤسسات، كان الإصدار الحالي من Java مجانيًا دائمًا. أحد التغييرات الجارية بالفعل على JDK هو إصدار ملفات OpenJDK التنفيذية بموجب ترخيص GPLv2 مع استثناء "Classpath". لا يفرض هذا الترخيص أي قيود على كيفية نشر Java Runtime Environment.

ومع ذلك، فإن التغييرات في طريقة تطوير JDK وإصدارها تتطلب دراسة متأنية لخطط ترحيل التطبيقات إلى الإصدارات الجديدة من Java. مع جدول الإصدار الجديد هذا، قد لا تكون الجهود المبذولة لضمان توفر التحديثات لإصدارات سابقة متعددة ممكنة. لتلبية احتياجات مجموعتين متباينتين من المستخدمين (أولئك الذين يطلبون ميزات جديدة بسرعة وأولئك الذين يقدرون الاستقرار على المدى الطويل)، قررت Oracle الانتقال إلى نموذج الدعم طويل الأجل (LTS). سيتم اعتبار الإصدارات المحددة من JDK بمثابة إصدارات LTS، مما يعني أنها ستتلقى تحديثات لمدة ثلاث سنوات. تسمى جميع الإصدارات المتوسطة الأخرى بإصدارات الميزات وتتلقى التحديثات لمدة 6 أشهر فقط. للبقاء متزامنًا مع هذا النظام الجديد، تم تصنيف JDK 8 كإصدار LTS. سيكون الإصدار التالي هو JDK 11، المقرر إصداره في سبتمبر 2018. أكبر تغيير يجلبه هذا النموذج الجديد هو أن التحديثات بين الإصدارات لن تتداخل بمرور الوقت . لقد وضعته على وجه التحديد بخط مائل غامق لأن هذا كان واضحًا تمامًا. فيما يلي رسم يوضح مدى توفر التحديثات لإصدارات JDK حتى JDK 19.
ما الذي سيؤدي إليه الإصدار المتكرر للإصدارات الجديدة من JDK - 2؟
في الشكل: دورة حياة Java SE - جدول زمني يزيد عن 5 سنوات. التحديثات العامة خالية من التداخل ("دعم Cliff") دعم Oracle التجاري دعم Oracle التجاري الموسع
دورة حياة Java SE - جدول زمني يزيد عن 5 سنوات، تحديثات عامة، تداخل زمني صفر، ملفات تنفيذية عامة من Oracle (بدون دعم) دعم Oracle التجاري، دعم Oracle التجاري الموسع
كنتيجة مباشرة لهذه التغييرات، لا تزال منصة Java مستقرة وآمنة ومجانية، ولكن عليك الآن اختيار اثنتين من هذه الميزات الثلاث. في عمليات نشر Java المستقبلية، لن تكون الخصائص الثلاثة متاحة في نفس الوقت.

اسمحوا لي أن أشرح أكثر قليلا

لنفترض أنك قلق بشأن الأمان (كما ينبغي أن تكون)، ولكنك لا تريد إنفاق المال. في هذه الحالة، تحتاج إلى الانتقال إلى إصدارات JDK الجديدة بمجرد إصدارها. في الحالات التي لا يتداخل فيها الدعم مع الوقت (إصدارات الميزات وLTS)، سيتعين عليك القيام بذلك لتلقي إصلاحات الأمان الجديدة. لسوء الحظ، بدون تداخل الوقت، سيتعين عليك الانتقال فورًا إلى إصدارات JDK التي لم يتم اختبارها بعد في الإنتاج، لذلك ستفقد الاستقرار السابق. خيار آخر هو اختيار الاستقرار دون تكلفة. مرة أخرى، هذا ممكن: كل ما عليك فعله هو الاستمرار في استخدام إصدار LTS السابق بعد إصدار الإصدار الجديد. ستحصل على الاستقرار الذي اعتدت عليه، ولن يتعين عليك دفع أي شيء، ولكنك لن تحصل على أي تصحيحات أمنية لأنها لم تعد متوفرة لهذا الإصدار. وأخيرا، إذا كنت تريد الاستقرار والأمن، عليك أن تدفع. يمكنك الاستمرار في استخدام إصدار LTS السابق، ولكن الوصول إلى الأمان وإصلاحات الأخطاء لن يكون متاحًا إلا من خلال عقد دعم تجاري.

وكتلة إعلانية صغيرة من المؤلف :)

قامت Azul (شركتي) بإنشاء مجموعة من ملفات OpenJDK التنفيذية تحت العلامة التجارية Zulu Enterprise، والتي تم إنشاؤها من المصدر، واختبارها باستخدام معايير TCK/JCK، وحتى تحليلها باستخدام الأدوات المساعدة التي قمنا بتطويرها لضمان عدم وجود تلف في التعليمات البرمجية مفتوحة المصدر بسبب ملفات الرأس السيئة. . نحن نقدم الفرصة لتنزيل الإصدار الحالي مجانًا، بالإضافة إلى الدعم التجاري للمهتمين. لقد بدأنا مؤخرًا تقديم مجموعة جديدة من خيارات الدعم لـ Zulu، بهدف تزويد العملاء بأقصى قدر من المرونة. نريد أن نوفر للمستخدمين القدرة على الانتقال إلى إصدار جديد من JDK الذي يناسب احتياجات أعمالهم وعملائهم. ولهذا، نقدم ثلاثة خيارات للدعم:
  1. الدعم قصير المدى (STS). يمنح STS المستخدمين الوصول الأسرع إلى ميزات Java الجديدة، مع دعم كافٍ للانتقال السلس إلى إصدارات JDK الأحدث. توفر Zulu Enterprise لإصدارات STS إمكانية الوصول إلى إصلاحات الأخطاء وتحديثات الأمان والإصلاحات الأخرى حسب الحاجة ("دعم الإنتاج") لمدة 12 شهرًا، بالإضافة إلى 6 أشهر من الدعم الإضافي الذي يركز على استشارة الدعم ومساعدة المستخدمين على الانتقال إلى إصدار أحدث من JDK ("الدعم الموسع"). وهذا يعادل دورة حياة مدتها 18 شهرًا.

  2. دعم متوسط ​​المدى (MTS). تتيح لك إصدارات MTS استخدام الميزات الجديدة المتوفرة في إصدارات الميزات في الإنتاج دون الحاجة إلى انتظار إصدار LTS جديد. تخطط Azul لإصدار MTS واحد سنويًا بين إصدارات LTS وتوفر دعم الإنتاج لمدة 18 شهرًا بعد تاريخ إصدار LTS العام التالي. وهذا يضمن تداخل الوقت والانتقال "السلس" أثناء نشر الإنتاج. بعد انتهاء دعم الإنتاج، يتم توفير 12 شهرًا إضافيًا من الدعم الممتد.

  3. الدعم طويل الأمد (LTS). يتم توفيره للإصدارات التي يعتبرها مجتمع OpenJDK بمثابة LTS وتوفر 8 سنوات من دعم الإنتاج مع عامين إضافيين من الدعم الممتد.
وهنا رسم آخر لجعله أكثر وضوحا.
ما الذي سيؤدي إليه الإصدار المتكرر للإصدارات الجديدة من JDK - 3؟
في الشكل: دورة حياة Java SE - جدول زمني يزيد عن 5 سنوات برامج Oracle الثنائية المتاحة للعامة (غير مدعومة) دعم Oracle التجاري دعم Oracle التجاري الموسع إنتاج Azul Zulu الدعم التجاري Azul Zulu الدعم التجاري الممتد (السلبي)
دورة حياة Java SE - جدول زمني يزيد عن 5 سنوات من الملفات التنفيذية العامة من Oracle (بدون دعم) دعم Oracle التجاري دعم Oracle التجاري الممتد دعم الإنتاج التجاري من Azul Zulu الدعم التجاري الممتد (السلبي) من Azul Zulu
إذا كنت تستخدم JDK 8 حاليًا دون عقد دعم تجاري وتحافظ على استقرار نظامك وأمانه من خلال التحديثات العامة، فقد ترغب في التفكير فيما ستفعله بدءًا من شهر سبتمبر. تلتزم Azul بمساعدتك في هذا الأمر، لذا لا تتردد في الاتصال بنا إذا كنت بحاجة إلى الدعم.

الاستنتاجات

ستتغير العديد من جوانب منصة Java هذا العام، ومعظمها نحو الأفضل. وصول أسرع إلى الميزات الجديدة، وإصدار مفتوح للأدوات المساعدة مثل Flight Recorder وMission Control، وإصدار ملفات OpenJDK التنفيذية بموجب ترخيص GPLv2 مع استثناء "Classpath". لكن الحقيقة المحزنة هي أن الدعم المجاني السخي المعتاد لمنصة Java أصبح شيئًا من الماضي. لا تزال Java مستقرة وآمنة ومجانية. أي اثنتين من هذه الصفات الثلاث هي الأكثر أهمية بالنسبة لك ولمستخدميك؟
ما الذي سيؤدي إليه الإصدار المتكرر للإصدارات الجديدة من JDK - 4؟

عن المؤلف

سيمون ريتر هو نائب المدير الفني في Azul Systems. يعمل سايمون في مجال تكنولوجيا المعلومات منذ عام 1984 ويحمل درجة البكالوريوس في الفيزياء من جامعة برونيل في المملكة المتحدة.

انضم سايمون إلى شركة Sun Microsystems في عام 1996 وقضى بعض الوقت في تطوير Java والاستشارات. منذ عام 1999، قام بعرض تقنيات Java للمطورين، مع التركيز على كل من منصة Java الأساسية وتطبيقات العميل والتطبيقات المضمنة. والآن في Azul Systems، يواصل مساعدة الأشخاص على فهم منتجات Java وAzul's JVM بشكل أفضل. يمكنك متابعته على تويتر: @speakjava .

تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION