في بداية يناير 2010، أعلن SpringSource أن خادم dm سيدخل في مشروع Eclipse، ليفتح الفصل الأول من العام الجديد لنموذجية Java. يستمر OSGi في الازدهار خلال الشهر الماضي، مما يشير إلى أن عام 2010 سيكون عام وحدات Java.
أخبار من InfoQ: آخر التقدم في نموذجية Java في يناير 2010. (العنوان الأصلي: "Bundle.update: عام من النمطية" http://www.infoq.com/cn/news/2010/01/year-of-modularity )
توصية محرر 51CTO: البدء مع OSGi
تم ترحيل خادم dm إلى Eclipse
أكبر الأخبار هو بلا شك اقتراح مشروع Eclipse Virgo (انظر التقارير ذات الصلة بـ 51CTO هنا). إصدار خادم dm الحالي هو 2.0.0، مما يعني أنه سيتم تطوير الإصدار 2.1 التالي وإصداره ضمن Eclipse.
أحد الاختلافات المهمة بين المشروع الحالي والاقتراح الجديد هو البروتوكول. وهذا يعني أن خادم dm سيعتمد على EPL في المستقبل بدلاً من EPL الحالية وهي اتفاقية أكثر ملاءمة للممارسات التجارية. الهدف هو تعزيز مساهمات المجتمع مع تشجيع هذا النهج في تطوير البرمجيات.
لقد أثار نظام OSGi وdm Server الحالي للمؤسسة اهتمام العديد من الأشخاص، ولم يتوقف الابتكار من حولهم أبدًا. هذا الاهتمام مرتفع بشكل خاص بين المستخدمين الأوائل والمشاريع التي تتطلب الامتثال لميزات الوحدة الديناميكية لمنصة خدمة OSGi. ولكن بالنسبة لفرق التطوير السائدة (الذين يريدون فقط بناء تطبيقات المؤسسات في أسرع وقت ممكن وبمشاكل أقل فأقل)، فإن التكلفة الحالية لاعتماد OSGi للمؤسسات قد تتجاوز فوائدها على المدى القصير. يجب أخذ هذه المشكلة في الاعتبار قبل أن يصبح OSGi للمؤسسة هو المعيار الفعلي لأساليب تطوير تطبيقات المؤسسات السائدة.
تم نشر كتاب جديد يقدم تعريف OSGi وEquinox
تم نشر كتاب جديد يقدم OSGi وEquinox هذا الأسبوع، وهو أيضًا الكتاب الأول في سلسلة Eclipse RunTime. يقدم هذا الكتاب كيفية إنشاء تطبيقات Java معيارية من خلال OSGi. على الرغم من أن الأمثلة الموجودة في الكتاب تعتمد على Equinox، إلا أن الكتاب ذو قيمة أيضًا للمطورين الذين يرغبون في التطوير على منصات OSGi الأخرى.
ينفذ الكتاب أيضًا نموذج مشروع Toast من البداية إلى النهاية، بهدف تمهيد الطريق للكتب اللاحقة في السلسلة من خلال نموذج كود محدد (حتى يتمكن المطورون الذين قرأوا هذا الكتاب من بدء كتب أخرى بسرعة). ينقسم هذا الكتاب إلى أربعة أجزاء: الأول عبارة عن نظرة عامة على OSGi، يليها دليل لبناء مثال Toast، أما الجزء الثالث فيستكشف تفاصيل OSGi بعمق، وأخيرًا الببليوغرافيا.
تم الانتهاء من تطوير خدمات ECF عن بعد
في الآونة الأخيرة، قام مشروع Eclipse Communications Framework بتنفيذ مواصفات OSGi Remote Services، والتي يمكنها توصيل خدمات OSGi عبر الأجهزة الافتراضية من خلال مجموعة متنوعة من البروتوكولات غير المتجانسة، بما في ذلك REST وWS-* وJMS وXMPP وSkype وتنفيذ ECF Generic.
ليس هذا فحسب، بل هناك مجموعة متنوعة من آليات الكشف المختلفة، مثل ZeroConf وSLP والكشف الثابت القائم على الملفات.
تم أيضًا إصدار تطبيق Apache Felix لخدمات OSGi Remote Services (Apache CXF)، وهو أيضًا التطبيق المرجعي لـ OSGi. لكن هذا التنفيذ يركز على الوصول من خلال طبقة النقل WS-*، في حين أن ECF مستقل عن طبقة النقل. بغض النظر عن التنفيذ، فإن واجهة برمجة التطبيقات (API) المستخدمة من قبل المستخدمين النهائيين والمطورين هي نفسها. يتيح ذلك للمستخدمين استبدال التنفيذ في وقت التشغيل.
أعمال مجموعة خبراء المؤسسة على وشك الانتهاء
أعلن Peter Kriens مؤخرًا أن OSGi Enterprise Expert Group على وشك الانتهاء، كما تم إصدار مسودة Enterprise Expert Group 4 منذ وقت ليس ببعيد، والتي توفر عددًا كبيرًا من ميزات Java EE. لدينا سبب لنتوقع أن الإصدار النهائي سيتم إصداره في شهر مارس من هذا العام، وهو التاريخ الذي يتم فيه عقد OSGi DevCon وEclipseCon.
ستوفر EEG آليات استعلام جديدة لعمليات البحث على نمط JNDI من خلال OSGi، واستخدام JMX لإدارة وقت تشغيل OSGi، والوصول إلى قاعدة البيانات من خلال JTA، وJPA، وDataSources، كما ستوفر إدارة الخدمات عن بعد وهندسة مكونات الخدمة. بالإضافة إلى ذلك، سيتم إصدار حزمة نشر جديدة: WAB، بحيث يمكن تثبيت حزم تطبيقات الويب في حاويات مثل WAR. ستوفر InfoQ تغطية متعمقة لنتائج تخطيط أمواج الدماغ فور صدورها.
WebSphere تطلق نسخة ألفا
لقد تم تطوير IBM WebSphere على أساس OSGi لبعض الوقت، وقام مؤخرًا بإصدار نسخة Alpha من تطبيقات OSGi. يعتمد التطبيق على Apache Aries ويتضمن حاوية OSGi Blueprint (على غرار Eclipse Gemini الذي اقترحته SpringSource). تأمل جميع هذه المشاريع في حل بعض المشكلات التي تواجهها JNDI وJTA، والتي تعد أيضًا محور اهتمام مجموعة Enterprise Expert Group.
تعمل هذه الحاويات على توسيع حدود وقت تشغيل OSGi لاستيعاب تطبيقات متعددة. في المستقبل، سيتم تقسيم التطبيقات من خلال OSGi Nested Frameworks (على غرار كيفية تقسيم خوادم تطبيقات الويب لـ WAR). ولكن على عكس خوادم تطبيقات الويب (WAR منفصلة تمامًا ولا يمكنها مشاركة التعليمات البرمجية)، يمكن لـ WAB دمج وقت تشغيل OSGi، ومن ثم يمكنك مشاركة التعليمات البرمجية والخدمات بنفس سهولة استخدام الحزم والخدمات الخاصة.
يقوم Tycho ببناء OSGi باستخدام Maven
مؤخرًا، أصدرت Sonatype Tycho 0.6.0، باستخدام الإصدار الجديد من Maven 3. Tycho عبارة عن مجموعة من منشئي Maven الذين يمكنهم استنتاج التبعيات بناءً على OSGi Manifest.MF بدلاً من افتراض وجود التبعيات في Maven POM. يتيح لك هذا إنشاء حزم OSGi إما POM-first (عندما يتم إنشاء البيان تلقائيًا) أو Manifest-first.
على الرغم من أن معظم مطوري OSGi الذين يستخدمون Maven (مثل المطورين تحت Apache Felix) معتادون أكثر على طريقة التطوير POM-first، إلا أن طريقة التطوير Manifest-first هي مكملة لهذا ويمكن أن تكون أكثر تقدمًا من خلال Eclipse PDE (تطوير المكونات الإضافية) البيئة). تطوير حزم OSGi بشكل ملائم.
من بين العديد من مشاريع Eclipse، تم إنشاء EGit ومشروع الحضانة Tigerstripe باستخدام Maven بدلاً من Ant.
يتجه مشروع Maven نحو Maven 3، الذي خضع لعملية إعادة بناء واسعة النطاق ويستخدم Google Guice. بالإضافة إلى ذلك، يثبت نجاح مستودع Maven (الذي تديره Sonatype) أيضًا أن تطوير Java بتبعيات متعددة ليس بالأمر الصعب. هناك أيضًا المزيد والمزيد من الأشخاص الذين يستخدمون مستودعات حزمة OSGi (مثل مستودعات OBR وSpringSource)، ويمكن توزيعها عبر موفري خدمات مختلفين. تجري حاليًا دراسة استكشافية حول موضوع توفير مجموعة موحدة من مستودعات OSGi (التي يستخدمها Tycho بمساعدة Nexus). توجد المستودعات التجريبية في Bundles.sonatype.org وosgi.sonatype.org. الهدف المستقبلي هو توفير الوصول إلى تنسيقات متعددة (OBR، P2، وما إلى ذلك) بحيث يكون استخدام حزم OSGi سهلاً مثل Maven JARs.
ذكيا وفاخرة
إذا كنت تحصل على حزم OSGi للتو، فسيكون استخدام محلل حزمة OSGi خيارًا أفضل. مؤخرًا، أصدرت Paremus Nimble، وهو محلل للحصول على حزم OSGi وتنزيلها.
يقوم Paremus بربط POSH (Paremus OSGi Shell) بالمحلل اللغوي Nimble. بهذه الطريقة، يمكنك استخدام نفس مجموعة الأوامر لتهيئة إطار عمل OSGi العام وإدارته (سيؤدي ذلك إلى تبسيط اختبار Felix وEquinox وKnopflerfish)، وبمساعدة Nimble، يمكنك بدء وقت تشغيل OSGi بسرعة، كما يقول Dave. قال سافاج رواية. يمكنك تثبيت وتشغيل تطبيقات الويب OSGi المستندة إلى Spring من خلال سطري الأوامر التاليين:
posh -kc "repos -l Springdm;add org.springframework.osgi.samples.simplewebapp@active " افتح http://localhost:8080/simple-web-app/ يمكن للقراء المهتمين معرفة المزيد عن Nimble على DZone مزيد من المعلومات.
مجموعة مستخدمي OSGi UK وOSGi DevCon لندن
تزدهر مجموعة مستخدمي OSGi UK وتضم أكثر من 100 عضو. وأحدث محاضرة ألقاها مارسيل أوفيرمان (من شركة Luminis) وجراهام تشارترز (من شركة IBM). وسيتم نشر مقاطع الفيديو والمواد المتعلقة بالمحاضرة على موقعها الإلكتروني خلال أيام قليلة.
الجزء الأول من المحاضرة كان عبارة عن مقدمة لمشروع حضانة Apache ACE، والذي يهدف إلى تبسيط استخدام OSGi على أجهزة متعددة، بما في ذلك عن بعد.
في عملية تجميع البرامج من مكونات قابلة لإعادة الاستخدام، فإن المشكلة الأكثر صعوبة في حلها هي كيفية نشر البرنامج على العدد المتزايد من الأجهزة المتصلة. ويزداد الوضع سوءًا إذا كانت حزمة البرامج الموجودة على الجهاز غير متجانسة، وتتطلب مكونات مختلفة في نفس الوقت. تعرفنا هذه المحاضرة على كيفية توزيع مكونات البرامج على أنواع مختلفة من الأجهزة استنادًا إلى Apache ACE (حل مفتوح المصدر قائم على OSGi)، يغطي كل شيء بدءًا من الهواتف المحمولة وحتى العقد الموجودة في السحابة.
يعتمد مشروع Apache Ace على البرنامج الذي تبرعت به شركة Luminis في أوائل العام الماضي. وقد تم تطبيق البرنامج على العديد من المشاريع الحقيقية، مثل أنظمة الرادار على متن السفن، ومعدات الأشعة السينية الميدانية، وتحديث برامج CMS وإدارة البروتوكول، ومعالجة أمتعة المطار. أنظمة.
قدمت المحاضرة الثانية خدمات OSGi Remote Services (المضمنة بالفعل في OSGi 4.2) وكيفية تفاعلها مع هندسة مكونات الخدمة (SCA)، باستخدام Apache Tuscany كمثال.
مفاهيم نمطية جافا وملخص للوضع الحالي
ملخص شامل لأمثلة تطبيق OSGi وWebSphere
توقف JSR 294 الخاص بشركة Sun نظرًا لرهان خوادم التطبيقات على OSGi
نظرة عامة على مزايا ومبادئ تنفيذ البرمجة المعيارية للإجابة على الأسئلة: JSR 294، الرؤية وسهولة الاستخدام.
تعمل OASIS على تطوير مواصفات بنية مكونات الخدمة (SCA). توفر SCA نموذج برمجة SOA غير متجانس يغطي العديد من تقنيات التنفيذ (EJB، BPEL، C++، COBOL، إلخ.)، والروابط (خدمات الويب، JMS، IIOP، إلخ.) والسياسات (WS-Policy، إلخ.).
قدمت المحاضرة مقدمة موجزة عن خدمات OSGi عن بعد وتقنيات هندسة مكونات الخدمة، ثم تحدثت عن كيفية دمج الاثنين بحيث تتمكن تطبيقات OSGi من الوصول إلى تقنيات تنفيذ SCA المتعددة والارتباطات وأطر السياسة من خلال الخدمات عن بعد.
تم الإعلان عن جداول مؤتمرات OSGi DevCon London وJAX London القادمة. ينتهي العرض اليوم، ولكن يمكن لأعضاء مجموعة مستخدمي OSGi UK الحصول على خصومات إضافية.
تلخيص
من الواضح أن المزيد والمزيد من أنظمة الخوادم الكبيرة ستعتمد OSGi، وفي نفس الوقت سيبدأ OSGi أيضًا في دخول الأنظمة الصغيرة والمتوسطة الحجم. مع استمرار تطور أدوات البناء، يمكن للمطورين تطوير حزم OSGi في مجموعة متنوعة من بيئات التطوير المتكاملة (IDEs)؛ وفي الوقت نفسه، تظهر أيضًا مستودعات جديدة لمشاركة حزم OSGi، وسيصبح تطوير تطبيقات Java المعيارية أمرًا سهلاً بشكل متزايد. وبناءً على ذلك، يؤكد كيرك كنويرنشايلد: أن عام 2010 سيكون عام وحدات Java.