جافا ويب ستارت

في مجال الحوسبة ، يُعدّ Java Web Start (المعروف أيضًا باسم JavaWS أو javaws أو JAWS ) إطار عمل قديمًا طوّرته شركة Sun Microsystems (التي أصبحت الآن Oracle )، ويتيح للمستخدمين تشغيل برامج التطبيقات لمنصة Java مباشرةً من الإنترنت باستخدام متصفح الويب . تُمكّن هذه التقنية من تحديث الإصدارات بسلاسة للتطبيقات الموزعة عالميًا، بالإضافة إلى تحكم أكبر في تخصيص الذاكرة لآلة Java الافتراضية .

تم توزيع Java Web Start كجزء من منصة Java حتى إزالته في Java SE 11، بعد إيقاف دعمه في Java SE 9. لم تُصدر Oracle شفرة Java Web Start كجزء من OpenJDK ، وبالتالي لم يدعمها OpenJDK في البداية. يوفر IcedTea-Web تطبيقًا مستقلًا مفتوح المصدر لـ Java Web Start، يتم تطويره حاليًا بواسطة مجتمع AdoptOpenJDK و RedHat و Karakun AG ، وهو مُضمّن في بعض مُثبّتات OpenJDK. [ 1 ] بالإضافة إلى ذلك، يوفر OpenWebStart تطبيقًا مفتوح المصدر مبنيًا على IcedTea-Web، ولكنه يُقدّم ميزات أكثر وخيارات دعم تجارية.

الوظائف

على عكس تطبيقات جافا المصغّرة ، لا تعمل تطبيقات Web Start داخل المتصفح. فهي تعمل افتراضيًا في نفس بيئة الحماية الخاصة بالتطبيقات المصغّرة، مع بعض الإضافات البسيطة مثل السماح بتحميل وحفظ الملف الذي يختاره المستخدم صراحةً من خلال مربع حوار اختيار الملف. ولا يمكن تهيئة سوى التطبيقات الموقّعة للحصول على أذونات إضافية. [ 2 ]

تتميز تقنية Web Start عن التطبيقات المصغّرة (Applets) بتغلبها على العديد من مشاكل التوافق مع إضافات Java للمتصفحات وإصدارات JVM المختلفة . لم تعد برامج Web Start جزءًا لا يتجزأ من صفحة الويب، بل أصبحت تطبيقات مستقلة تعمل ضمن إطار منفصل.

يمكن لـ Web Start أيضًا تشغيل التطبيقات المصغّرة غير المعدّلة الموجودة داخل ملفات .jar، وذلك بكتابة ملف JNLP المناسب. ويمكن لهذا الملف أيضًا تمرير معلمات التطبيق المصغّر. وتعمل هذه التطبيقات المصغّرة في إطار منفصل. قد لا يدعم مُشغّل التطبيقات المصغّرة بعض الحالات الخاصة، مثل تحميل فئة كمورد.

مثل التطبيقات المصغرة، فإن Java Web Start متعدد المنصات .

الاستهلاك

مع إصدار JDK9 ، قامت أوراكل بإيقاف دعم العديد من تقنيات النشر، بما في ذلك التطبيقات المصغرة و Java Web Start. [ 3 ] [ 4 ]

في مارس 2018، أعلنت أوراكل أنها لن تُضمّن Java Web Start في Java SE 11 (18.9 LTS) والإصدارات اللاحقة. سيحتاج المطورون إلى الانتقال إلى تقنيات نشر أخرى. [ 5 ] وقد ظهرت منذ ذلك الحين بعض البدائل المستقلة .

تطبيق

تضمنت الإصدارات الأولى من Java Web Start مدير تطبيقات حيث يمكن تشغيل تطبيقات تجريبية من شركة Sun على سبيل المثال

يقوم المطور بإعداد ملف XML خاص بامتداد JNLP. يصف هذا الملف متطلبات التطبيق، وموقع الكود، والمعلمات، والأذونات الإضافية (إن وجدت). يقوم المتصفح بتنزيل هذا الملف كأي ملف آخر، ويفتحه باستخدام أداة Web Start (وفقًا لنوع MIME الخاص به ) .application/x-java-jnlp-file تقوم أداة Web Start بتنزيل جميع الموارد اللازمة وتشغيل التطبيق.

توفر مكتبة Java Web Start مجموعة من الفئات في حزمة javax.jnlp التي تقدم خدمات متنوعة للتطبيق. صممت شركة Sun معظم هذه الخدمات بهدف السماح بالوصول المُتحكم به بدقة إلى الموارد (مثل الملفات وحافظة النظام) مع حصر التطبيق بالعمليات المصرح بها.

أصدرت شركة صن الإصدار 1.0 من Web Start في مارس 2001، [ 6 ] بينما أُضيفت ميزة دعم أنظمة ويندوز 64 بت فقط في Java 6 [ 7 ] (بعد توفر Java 64 بت لأول مرة). وبما أن J2SE 1.4 Web Start يأتي كجزء أساسي من بيئة تشغيل جافا (JRE) javaws، لم يعد على مسؤولي النظام تثبيته بشكل منفصل.

بروتوكول إطلاق شبكة جافا (JNLP)

كثيرًا ما يستخدم المبرمجون مصطلح " بروتوكول تشغيل شبكة جافا " ( JNLP ) كمرادف لمصطلح "تشغيل الويب". يحدد بروتوكول JNLP، المُعرَّف بمخطط XML ، كيفية تشغيل تطبيقات جافا ويب ستارت. يتألف JNLP من مجموعة من القواعد التي تُحدد بدقة كيفية تنفيذ آلية التشغيل. تتضمن ملفات JNLP معلومات مثل موقع ملف حزمة JAR واسم الفئة الرئيسية للتطبيق، بالإضافة إلى أي معلمات أخرى للبرنامج. يقوم متصفح مُهيأ بشكل صحيح بتمرير ملفات JNLP إلى بيئة تشغيل جافا (JRE)، والتي بدورها تقوم بتنزيل التطبيق على جهاز المستخدم وبدء تشغيله. تم تطوير JNLP ضمن عملية مجتمع جافا (JSR 56). ويشمل الإصدار الأصلي 1.0، والإصدار اللاحق 1.5، واعتبارًا من عام 2006 ، الإصدار 6.0 المُنتظر.

تتضمن الميزات المهمة لـ Web Start إمكانية تنزيل وتثبيت بيئة تشغيل جافا (JRE) تلقائيًا في حال عدم تثبيت جافا لدى المستخدم، بالإضافة إلى إمكانية تحديد إصدار JRE المطلوب لتشغيل أي برنامج. لا يحتاج المستخدم إلى اتصال دائم بالإنترنت لتشغيل البرامج التي تم تنزيلها، لأنها تُشغَّل من ذاكرة تخزين مؤقتة محلية . يتم تنزيل تحديثات البرنامج من الإنترنت وتصبح متاحة عند اتصال المستخدم بالإنترنت، مما يُسهِّل عملية النشر.

يمكن لأي مستخدم حاسوب استخدام JNLP ببساطة عن طريق تثبيت برنامج عميل JNLP (غالباً Java Web Start). ويمكن أن يتم التثبيت تلقائياً بحيث يرى المستخدم برنامج تشغيل العميل وهو يقوم بتنزيل وتثبيت تطبيق Java عند تشغيله لأول مرة.

يعمل بروتوكول JNLP بطريقة مشابهة لكيفية عمل بروتوكول HTTP/HTML على الويب. لعرض صفحة ويب HTML ، بعد أن ينقر المستخدم على رابط، يرسل المتصفح عنوان URL إلى خادم الويب ، الذي يرد بملف HTML. ثم يطلب المتصفح الموارد المشار إليها في هذا الملف (الصور، ملفات CSS )، وأخيرًا يعرض الصفحة بمجرد حصوله على المعلومات الكافية. يبدأ عرض الصفحة عادةً قبل تحميل جميع الموارد؛ ويمكن تحميل بعض الموارد غير الأساسية لتصميم الصفحة (مثل الصور) لاحقًا.

تُحاكي JNLP هذه العملية؛ فكما يعرض متصفح الويب صفحة ويب، يقوم عميل JNLP بعرض تطبيق جافا . بعد أن ينقر المستخدم على رابط ويب، يُرسل المتصفح عنوان URL إلى خادم الويب، الذي يرد بملف JNLP (بدلاً من ملف HTML) خاص بالتطبيق. يقوم عميل JNLP بتحليل هذا الملف، ويطلب الموارد المحددة (ملفات JAR)، وينتظر استرجاع جميع الموارد المطلوبة، ثم يُشغّل التطبيق. يمكن لملف JNLP أن يُدرج الموارد على أنها "كسول"، مما يُعلم عميل JNLP أن التطبيق لا يحتاج إلى هذه الموارد للبدء، ولكنه يستطيع استرجاعها لاحقًا عند طلبها.

مثال

يُقدّم المثال أدناه ملف JNLP بسيطًا لتشغيل التطبيق المصغر، مع تحديد قاعدة التعليمات البرمجية، والمصدر، والفئة الرئيسية، وحجم النافذة. يحتوي هذا الملف على جميع المراجع اللازمة، وهو كافٍ لتشغيل التطبيق. ولأنه لا يتطلب أي أذونات، سيتم تشغيل التعليمات البرمجية في بيئة معزولة. كما يُشير ملف JNLP إلى إمكانية تشغيل هذا التطبيق دون اتصال بالإنترنت (إذا كان مُخزّنًا مؤقتًا)، ويجب تحديثه كعملية في الخلفية.

<?xml version="1.0" encoding="UTF-8"?> <jnlp spec= "1.0+" codebase= "http://ultrastudio.org/upload" href= "" > <information> <title> تشغيل التطبيق المصغر باستخدام Web Start </title> <vendor> Foo Bar Inc. </vendor> <offline-allowed/> </information> <resources> <j2se version= "1.5+" href= "http://java.sun.com/products/autodl/j2se" /> <jar href= "Ray-2.3-4ca60e46-0956-3f22-983c-e3ed986dfd03.jar" main= "true" /> </resources> <applet-desc name= "Ray diagram applet" main-class= "raydiagramsapplet.Main" width= "300"> <update check="background" /> </jnlp> height= "200" > </applet-desc> <update check= "background" /> </jnlp>

ضغط Pack200

لتقليل حجم تطبيق Java Web Start، قدمت شركة Sun Microsystems نظام ضغط يسمى Pack200 في Java 1.5.0. يمكنه ضغط ملف jar كبير إلى تسع حجمه الأصلي إذا كان يحتوي فقط على فئات Java. [ 8 ]

يدعم Java Web Start ميزة Pack200 منذ ظهورها الأول، ولكن في البداية، كانت هذه الميزة تتطلب تعاونًا من جانب الخادم وخبرة معينة لإعدادها. مع إصدار Sun لـ Java SE 6u10، أصبح دعم Pack200 متاحًا دون الحاجة إلى دعم خاص من الخادم. يمكن لمصممي التطبيقات تفعيل هذه الميزة أو تعطيلها ضمن ملفات JNLP.

يوفر Pack200 تحسينًا في الأداء عند استخدام اتصالات بطيئة، وذلك من خلال تقليل وقت بدء تشغيل التطبيقات ووقت التنزيل.

تطبيقات Web Start الموقعة

بشكل افتراضي، تعمل تطبيقات Java Web Start "بقيود"، مما يعني أنها لا تملك صلاحية الوصول إلى بعض موارد النظام مثل الملفات المحلية. ولكن يمكن للناشرين إزالة هذه القيود عن طريق توقيع تطبيقات Web Start الخاصة بهم باستخدام jarsignerالأداة المرفقة مع JDK .

البدائل

يوفر مشروع IcedTea مفتوح المصدر تطبيقًا بديلًا لـ JNLP في IcedTea-Web . ابتداءً من الإصدار 1.7.2، يعمل أيضًا على الإصدارات الأحدث التي لا تدعم JWS رسميًا. [ 9 ]

لتشغيل التطبيقات المبنية على Java Web Start بعد إصدار Java 11، أطلقت شركة Karakun AG أداة OpenWebStart مفتوحة المصدر ، والمبنية على IcedTea-Web. [ 10 ] تتضمن الأداة جميع وظائف IcedTea-Web، بالإضافة إلى ميزات إضافية، مثل برامج تثبيت أصلية لأنظمة Mac OS وWindows وLinux. تم تطوير IcedTea-Web بدعم من RedHat و AdoptOpenJDK . [ 11 ]

تطبيقات بارزة

انظر أيضاً

مراجع

  1. ojdkbuild - WebStart ، 29-04-2019 ، تم الاطلاع عليه بتاريخ 31-05-2019
  2. "الوثيقة الرسمية لأوراكل" .
  3. ملاحظات إصدار JDK9
  4. ^ توبيتش ، داليبور (27 يناير 2016). "الانتقال إلى شبكة ويب خالية من المكونات الإضافية" .
  5. تحديث خارطة طريق عميل جافا (ملف PDF) . مارس 2018. لن تُضمّن أوراكل جافا ويب ستارت في جافا SE 11 (18.9 LTS) والإصدارات الأحدث. ستبدأ أوراكل بتشجيع مطوري التطبيقات والمستخدمين على الانتقال من جافا ويب ستارت، كما ستشجع المستخدمين غير التجاريين على إزالة أي تثبيتات غير مستخدمة أو غير مدعومة من بيئة تشغيل جافا من أوراكل من أجهزة سطح المكتب الخاصة بهم.
  6. بيان صحفي حول Java Web Start 1.0
  7. رقم الخطأ 4802695، دعم إضافة جافا 64 بت وجافا ويب ستارت على نظامي التشغيل ويندوز/لينكس على معالجات AMD64
  8. حزمة 200 والضغط لنشر الشبكة
  9. icedtea-web . تطبيق مفتوح المصدر لـ Web Start
  10. "OpenWebStart" . OpenWebStart . تم الاسترجاع في 2020-07-20 .
  11. هندريك (10 ديسمبر 2019). "كيف أنقذت البرمجيات مفتوحة المصدر WebStart" . GuiGarage . تم الاطلاع عليه بتاريخ 20 يوليو 2020 .