بدء تشغيل ويب جافا
في الحوسبة ، Java Web Start (المعروف أيضًا باسم JavaWS أو javaws أو JAWS ) هو إطار عمل قديم طورته شركة Sun Microsystems (الآن Oracle ) والذي يسمح للمستخدمين ببدء تشغيل برامج التطبيقات لمنصة Java مباشرةً من الإنترنت باستخدام متصفح الويب . تتيح التكنولوجيا تحديث الإصدارات بسلاسة للتطبيقات الموزعة عالميًا والتحكم بشكل أكبر في تخصيص الذاكرة للآلة الافتراضية Java .
تم توزيع Java Web Start كجزء من Java Platform حتى تمت إزالته في Java SE 11، بعد إهماله في Java SE 9. لم يتم إصدار كود Java Web Start بواسطة Oracle كجزء من OpenJDK ، وبالتالي لم يدعمه OpenJDK في الأصل. يوفر IcedTea-Web تنفيذًا مفتوح المصدر مستقلًا لـ Java Web Start الذي تم تطويره حاليًا بواسطة مجتمع AdoptOpenJDK و RedHat وKarakun AG، والذي تم تضمينه في بعض مثبتات OpenJDK. [1] بجانب هذا، يوفر OpenWebStart تنفيذًا مفتوح المصدر يعتمد على IcedTea-Web ولكنه يوفر المزيد من الميزات وخيارات الدعم التجاري.
الوظيفة
على عكس تطبيقات Java ، لا تعمل تطبيقات Web Start داخل المتصفح. بشكل افتراضي، يتم تشغيلها في نفس بيئة الحماية التي تعمل بها التطبيقات، مع العديد من الامتدادات البسيطة مثل السماح بتحميل وحفظ الملف الذي يختاره المستخدم صراحةً من خلال مربع حوار اختيار الملف. يمكن تكوين التطبيقات الموقعة فقط للحصول على أذونات إضافية.
يتمتع Web Start بميزة على التطبيقات الصغيرة حيث يتغلب على العديد من مشكلات التوافق مع مكونات Java الإضافية للمتصفحات وإصدارات JVM المختلفة . لم تعد برامج Web Start جزءًا متكاملًا من صفحة الويب، بل هي تطبيقات مستقلة تعمل في إطار منفصل.
يمكن لبرنامج Web Start أيضًا تشغيل وحدات صغيرة غير معدلة يتم تعبئتها داخل ملفات .jar، وذلك عن طريق كتابة ملف JNLP المناسب. يمكن لهذا الملف أيضًا تمرير معلمات وحدات صغيرة. تعمل مثل هذه الوحدات الصغيرة أيضًا في إطار منفصل. قد لا يدعم مشغل وحدات صغيرة بعض الحالات المحددة مثل تحميل الفئة كمورد.
مثل التطبيقات الصغيرة، فإن Java Web Start يعمل على أنظمة متعددة .
الإهمال
مع JDK9 ، تم إيقاف العديد من تقنيات النشر بما في ذلك التطبيقات الصغيرة وJava Web Start بواسطة Oracle. [2] [3]
في مارس 2018، أعلنت شركة Oracle أنها لن تدرج Java Web Start في Java SE 11 (18.9 LTS) والإصدارات الأحدث. سيحتاج المطورون إلى الانتقال إلى تقنيات نشر أخرى. [4] وقد ظهرت منذ ذلك الحين بعض البدائل المستقلة.
تطبيق

يقوم المطور بإعداد ملف XML خاص بامتداد JNLP. يصف هذا الملف متطلبات التطبيق وموقع الكود والمعلمات والأذونات الإضافية (إن وجدت). يقوم المتصفح بتنزيل هذا الملف مثل أي ملف آخر (وفقًا لنوع MIME الخاص به ) application/x-java-jnlp-fileويفتحه باستخدام أداة Web Start. تقوم أداة Web Start بتنزيل جميع الموارد الضرورية وتشغيل التطبيق.
يوفر Java Web Start سلسلة من الفئات في حزمة javax.jnlp والتي توفر خدمات متنوعة للتطبيق. صممت Sun معظم هذه الخدمات بهدف السماح بالوصول المتحكم فيه بعناية إلى الموارد (مثل الملفات وحافظة النظام) مع تقييد التطبيق بالعمليات المسموح بها.
قدمت شركة Sun الإصدار 1.0 من Web Start في مارس 2001، [5] بينما تمت إضافة دعم Windows 64 بت فقط في Java 6 [6] (بعد توفر Java 64 بت لأول مرة). نظرًا لأن J2SE 1.4 Web Start يأتي كجزء افتراضي من بيئة تشغيل Java (JRE) تسمى javaws، لم يعد يتعين على مسؤولي الكمبيوتر تثبيته بشكل منفصل.
بروتوكول إطلاق الشبكة في جافا (JNLP)
غالبًا ما يتحدث المبرمجون عن بروتوكول تشغيل شبكة Java ( JNLP ) بالتبادل مع مصطلح "Web Start". يحدد بروتوكول JNLP، المحدد بمخطط XML ، كيفية تشغيل تطبيقات Java Web Start. يتكون JNLP من مجموعة من القواعد التي تحدد كيفية تنفيذ آلية التشغيل بالضبط. تتضمن ملفات JNLP معلومات مثل موقع ملف حزمة jar واسم الفئة الرئيسية للتطبيق، بالإضافة إلى أي معلمات أخرى للبرنامج. يقوم المتصفح المُهيأ بشكل صحيح بتمرير ملفات JNLP إلى بيئة تشغيل Java (JRE) والتي بدورها تقوم بتنزيل التطبيق على جهاز المستخدم وتبدأ في تنفيذه. تم تطوير JNLP بموجب عملية مجتمع Java باسم JSR 56. يتضمن الإصدار الأصلي 1.0 وإصدار الصيانة اللاحق 1.5 واعتبارًا من عام 2006 [تحديث]، إصدار الصيانة المعلق 6.0. [ توضيح ]
تتضمن ميزات Web Start المهمة القدرة على تنزيل وتثبيت JRE تلقائيًا في حالة عدم تثبيت Java على المستخدم، وتمكين المبرمجين من تحديد إصدار JRE الذي يحتاجه برنامج معين لتنفيذه. لا يتعين على المستخدم البقاء متصلاً بالإنترنت لتنفيذ البرامج التي تم تنزيلها، لأنها تنفذ من ذاكرة تخزين مؤقتة محلية الصيانة . يتم تنزيل تحديثات البرنامج من الويب وتصبح متاحة عندما يكون لدى المستخدم اتصال بالإنترنت، وبالتالي تخفيف عبء النشر.
يمكن لأي مستخدم كمبيوتر استخدام JNLP ببساطة عن طريق تثبيت عميل JNLP (عادةً Java Web Start). يمكن أن يحدث التثبيت تلقائيًا بحيث يرى المستخدم النهائي مشغل العميل يقوم بتنزيل وتثبيت تطبيق Java عند تنفيذه لأول مرة.
تعمل JNLP بطريقة مماثلة لكيفية عمل HTTP/HTML للويب. لعرض صفحة ويب HTML ، بعد أن ينقر المستخدم على رابط ويب، يرسل المتصفح عنوان URL إلى خادم الويب ، والذي يرد بملف HTML. ثم يطلب المتصفح الموارد التي يشير إليها هذا الملف (الصور، css )، وأخيرًا يعرض الصفحة بمجرد تلقيه معلومات كافية. عادةً ما يبدأ عرض الصفحة قبل تنزيل جميع الموارد؛ يمكن أن تتبع بعض الموارد غير المهمة لتخطيط الصفحة (مثل الصور) بعد ذلك.
تعكس JNLP هذه العملية؛ بنفس الطريقة التي يعرض بها متصفح الويب صفحة ويب، "يعرض" عميل JNLP تطبيق Java . بعد أن ينقر المستخدم على رابط ويب، يرسل المتصفح عنوان URL إلى خادم الويب، الذي يرد بملف JNLP (بدلاً من ملف HTML) للتطبيق. يقوم عميل JNLP بتحليل هذا الملف، ويطلب الموارد المحددة (ملفات jar)، وينتظر استرداد جميع الموارد المطلوبة، ثم يقوم بتشغيل التطبيق. يمكن لملف JNLP سرد الموارد على أنها "كسولة"، مما يخبر عميل JNLP أن التطبيق لا يحتاج إلى هذه الموارد للبدء، ولكن يمكنه استردادها لاحقًا عندما/إذا طلبها التطبيق.
مثال
من المحتمل أن يحتوي هذا القسم على أبحاث أصلية . ( سبتمبر 2020 ) |
يقدم المثال أدناه ملف 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" الارتفاع= "200" > </applet-desc> <update check= "background" /> </jnlp>
ضغط Pack200
لتقليل حجم تطبيق Java Web Start، قدمت شركة Sun Microsystems نظام ضغط يسمى Pack200 في Java 1.5.0. يمكنه ضغط ملف jar كبير إلى تسعة من حجمه الأصلي إذا كان يحتوي فقط على فئات Java. [7]
لقد دعم 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 الرسمي. [8]
لتشغيل التطبيقات المستندة إلى Java Web Start بعد إصدار Java 11، أصدرت شركة Karakun AG أداة مفتوحة المصدر OpenWebStart، استنادًا إلى IcedTea-Web. [9] تتضمن الأداة جميع وظائف IcedTea-Web وتضيف ميزات موسعة، مثل المثبتات الأصلية لنظام التشغيل Mac OS وWindows وLinux. تم إنشاء IcedTea-Web بدعم من RedHat و AdoptOpenJDK . [10]
التطبيقات البارزة
لا يستشهد هذا القسم بأي مصادر . ( أكتوبر 2018 ) |
- ArgoUML – تطبيق رسم مخطط UML .
- CrossFTP – عميل وخادم FTP.
- Elluminate Live – برنامج مؤتمرات الويب / الفصول الدراسية الافتراضية.
- Ganymede – نظام إدارة الدليل الشبكي المرخص بموجب GPL
- Genie Workbench – مجموعة من أدوات أتمتة إنتاج الأفلام.
- Genevestigator ، محرك الوصول إلى قاعدة البيانات المعلوماتية الحيوية المنظمة.
- Jake2 – منفذ Java لـ Quake 2.
- JOSM – محرر Java OpenStreetMap .
- muCommander مدير ملفات ونسخة طبق الأصل من Norton Commander مع ميزات SSH وftp
- PoxNora – لعبة بطاقات قابلة للتجميع ، من منظور 3/4 ، تعتمد على استراتيجية الأدوار .
- Wurm Online – لعبة محاكاة خيالية ثلاثية الأبعاد متعددة اللاعبين عبر الإنترنت.
- yEd – محرر الرسوم البيانية والمخططات.
انظر أيضا
مراجع
- ^ ojdkbuild - WebStart، 2019-04-29 ، تم الاسترجاع 2019-05-31
- ^ ملاحظات إصدار JDK9
- ^ توبيتش ، داليبور (27 يناير 2016). “الانتقال إلى شبكة ويب خالية من المكونات الإضافية”.
- ^ "تحديث خريطة طريق عميل Java" (PDF) . مارس 2018.
لن تقوم Oracle بتضمين Java Web Start في Java SE 11 (18.9 LTS) والإصدارات الأحدث. ستبدأ Oracle في تشجيع مطوري التطبيقات والمستخدمين على الانتقال بعيدًا عن Java Web Start وتشجيع المستهلكين غير التجاريين على إزالة أي تثبيتات Oracle JRE غير مستخدمة أو غير مدعومة من أجهزة سطح المكتب الخاصة بهم.
- ^ بيان صحفي حول Java Web Start 1.0
- ^ معرف الخلل 4802695، دعم المكون الإضافي Java 64 بت وJava webstart على Windows/Linux على AMD64
- ^ Pack200 والضغط لنشر الشبكة
- ^ icedtea-web. تنفيذ مفتوح المصدر لـ web start
- ^ "OpenWebStart". OpenWebStart . تم الاسترجاع في 2020-07-20 .
- ^ hendrik (2019-12-10). "كيف أنقذت المصادر المفتوحة WebStart". GuiGarage . تم الاسترجاع في 2020-07-20 .
روابط خارجية
- صفحة منتج Java Web Start
