رسائل جاكرتا
خدمة جاكرتا للمراسلة (المعروفة سابقًا باسم خدمة رسائل جافا أو JMS ) هي واجهة برمجة تطبيقات جافا (API) للبرمجيات الوسيطة الموجهة نحو الرسائل . توفر نماذج مراسلة عامة، قادرة على معالجة مشكلة المنتج والمستهلك ، والتي يمكن استخدامها لتسهيل إرسال واستقبال الرسائل بين أنظمة البرمجيات . [ 1 ] تُعد خدمة جاكرتا للمراسلة جزءًا من جاكرتا EE ، وقد تم تعريفها في الأصل بواسطة مواصفات طُوّرت في شركة صن مايكروسيستمز قبل أن تخضع لتوجيهات عملية مجتمع جافا . [ 2 ]
الفكرة العامة للرسائل
المراسلة شكل من أشكال الاتصال الموزع غير المترابط ، حيث يُفهم مصطلح "الاتصال" في هذا السياق على أنه تبادل الرسائل بين مكونات البرمجيات. تسعى التقنيات الموجهة نحو الرسائل إلى تخفيف قيود الاتصال المترابط بإحكام (مثل مقابس شبكة TCP ، وCORBA، و RMI ) من خلال إدخال مكون وسيط. يتيح هذا النهج لمكونات البرمجيات التواصل فيما بينها بشكل غير مباشر. ومن مزايا ذلك عدم حاجة مُرسلي الرسائل إلى معرفة دقيقة بمُستقبليها.
تشمل مزايا المراسلة القدرة على دمج المنصات غير المتجانسة، وتقليل اختناقات النظام، وزيادة قابلية التوسع، والاستجابة بشكل أسرع للتغيير. [ 3 ]
سجل الإصدارات
- JMS 1.0 [ 4 ]
- JMS 1.0.1 (5 أكتوبر 1998) [ 4 ]
- JMS 1.0.1a (30 أكتوبر 1998) [ 5 ] [ 6 ]
- JMS 1.0.2 (17 ديسمبر 1999) [ 7 ]
- JMS 1.0.2a (23 ديسمبر 1999) [ 8 ]
- JMS 1.0.2b (27 أغسطس 2001) [ 9 ]
- JMS 1.1 (12 أبريل 2002) [ 10 ]
- JMS 2.0 (21 مايو 2013). [ 11 ] [ 12 ] تمت صيانته بموجب عملية مجتمع جافا تحت مسمى JSR 343. [ 13 ]
- JMS 2.0a (16 مارس 2015) [ 14 ] [ 15 ]
- Jakarta Messaging 2.0.2 هو الإصدار الأول تحت مظلة مؤسسة Eclipse و Jakarta EE [ 16 ]
- يعد Jakarta Messaging 3.0.0 جزءًا من Jakarta EE 9 [ 17 ]
- يعد Jakarta Messaging 3.1.0 جزءًا من Jakarta EE 10 [ 18 ]
عناصر
فيما يلي عناصر JMS: [ 19 ]
- موفر JMS
- تطبيق لواجهة JMS للبرمجيات الوسيطة الموجهة نحو الرسائل (MOM). يتم تنفيذ الموفرين إما كتطبيق Java JMS أو كمحول إلى MOM غير Java.
- عميل JMS
- تطبيق أو عملية تقوم بإنتاج و/أو استقبال الرسائل.
- منتج/ناشر JMS
- عميل JMS يقوم بإنشاء الرسائل وإرسالها.
- مستهلك/مشترك JMS
- عميل JMS يستقبل الرسائل.
- رسالة JMS
- كائن يحتوي على البيانات التي يتم نقلها بين عملاء JMS.
- قائمة انتظار JMS
- منطقة تخزين مؤقتة تحتوي على الرسائل المرسلة والمنتظرة للقراءة (من قِبل مستهلك واحد فقط). وكما يوحي اسم "طابور"، تُسلّم الرسائل بالترتيب الذي أُرسلت به. يضمن طابور JMS معالجة كل رسالة مرة واحدة فقط.
- موضوع JMS
- آلية توزيع لنشر الرسائل التي يتم تسليمها إلى عدة مشتركين.
نماذج
تدعم واجهة برمجة تطبيقات JMS نموذجين متميزين:
- نقطة إلى نقطة
- النشر والاشتراك
نموذج نقطة إلى نقطة
في نظام المراسلة من نقطة إلى نقطة ، تُوجَّه الرسائل إلى مستهلكين فرديين يحتفظون بقوائم انتظار للرسائل الواردة. يعتمد هذا النوع من المراسلة على مفهوم قوائم انتظار الرسائل ، والمرسلين، والمستقبلين. تُوجَّه كل رسالة إلى قائمة انتظار محددة، ويستخرج العملاء المستقبلون الرسائل من قوائم الانتظار المُخصصة لها. مع أن أي عدد من المنتجين يُمكنه إرسال رسائل إلى قائمة الانتظار، إلا أن كل رسالة مضمونة الوصول إلى مستهلك واحد واستهلاكها. تحتفظ قوائم الانتظار بجميع الرسائل المُرسلة إليها حتى يتم استهلاكها أو حتى تنتهي صلاحيتها. إذا لم يكن هناك مستهلكون مسجلون لاستهلاك الرسائل، فإن قائمة الانتظار تحتفظ بها حتى يُسجِّل مستهلكٌ ما لاستهلاكها.
نموذج النشر والاشتراك
يدعم نموذج النشر والاشتراك نشر الرسائل ضمن "موضوع" محدد. ويمكن للمشتركين تسجيل اهتمامهم بتلقي الرسائل المنشورة حول هذا الموضوع. في هذا النموذج، لا يعرف الناشر ولا المشترك شيئًا عن الآخر. ويمكن تشبيه ذلك بلوحة إعلانات مجهولة المصدر.
- سيتلقى الرسالة صفر أو أكثر من المستهلكين.
- توجد علاقة توقيتية بين الناشرين والمشتركين. يتعين على الناشر إنشاء موضوع رسائل ليتمكن العملاء من الاشتراك فيه. يجب أن يظل المشترك نشطًا باستمرار لتلقي الرسائل، إلا إذا كان قد أنشأ اشتراكًا دائمًا. في هذه الحالة، ستُعاد توزيع الرسائل المنشورة أثناء عدم اتصال المشترك عند إعادة اتصاله.
توفر خدمة JMS طريقةً لفصل التطبيق عن طبقة نقل البيانات. يمكن استخدام نفس فئات Java للتواصل مع مختلف مزودي JMS باستخدام معلومات واجهة تسمية ودليل Java (JNDI) الخاصة بالمزود المطلوب. تستخدم هذه الفئات أولًا مصنع اتصال للاتصال بقائمة الانتظار أو الموضوع، ثم تقوم بتعبئة البيانات وإرسال الرسائل أو نشرها. أما في جانب الاستقبال، فيستقبل العملاء الرسائل أو يشتركون فيها.
مخطط URI
يحدد RFC 6167 jms:مخطط URI لخدمة رسائل جافا.
تطبيقات الموفر
لاستخدام JMS، يجب توفر موفر JMS قادر على إدارة الجلسات وقوائم الانتظار والمواضيع. بدءًا من إصدار Java EE 1.4، يجب أن يتضمن كل خادم تطبيقات Java EE موفر JMS. ويمكن تحقيق ذلك باستخدام إدارة تدفق الرسائل الواردة في بنية موصل Java EE ، والتي أُتيحت لأول مرة في ذلك الإصدار.
فيما يلي قائمة بمزودي خدمة JMS الشائعين:
- مكتبة مراسلة جافا الخاصة بخدمة Amazon SQS
- أباتشي أكتيف إم كيو كلاسيك
- أباتشي أكتيف إم كيو أرتيميس
- أباتشي كيوبيد ، باستخدام بروتوكول AMQP [ 20 ]
- IBM MQ (كانت تُعرف سابقًا باسم MQSeries، ثم WebSphere MQ)
- ناقل تكامل الخدمة (SIBus) الخاص بخادم تطبيقات IBM WebSphere [ 21 ]
- JBoss Messaging و HornetQ من JBoss
- جورام من اتحاد OW2
- فتح قائمة الرسائل من مؤسسة إكليبس
- OpenJMS من مجموعة OpenJMS
- خادم Oracle WebLogic و Oracle AQ
- خدمة PubSub+ من Solace
- RabbitMQ من شركة Pivotal Software
- خدمة رسائل المؤسسات من TIBCO [ 22 ]
انظر أيضاً
- مكونات الرسائل
- قائمة انتظار الرسائل - المفهوم الأساسي لنظام JMS
- بنية موجهة نحو الخدمات
- تشمل تقنيات المراسلة التي لا تطبق واجهة برمجة تطبيقات JMS ما يلي:
- بروتوكول AMQP ( بروتوكول قوائم انتظار الرسائل المتقدمة ) - بروتوكول قياسي لقوائم انتظار الرسائل مع تطبيقات مستقلة متعددة
- خدمة توزيع البيانات (DDS) - نظام مراسلة فوري موحد من قبل مجموعة إدارة الكائنات (OMG) مع أكثر من عشرة تطبيقات أثبتت قابلية التشغيل البيني بين الناشرين والمشتركين
- نظام مايكروسوفت لقوائم الرسائل - تقنية مماثلة، تم تطبيقها على إطار عمل .NET
مراجع
- ↑ كاري، إدوارد. 2004. "البرمجيات الوسيطة الموجهة نحو الرسائل" . في: البرمجيات الوسيطة للاتصالات، تحرير قصي ح. محمود، 1-28. تشيتشستر، إنجلترا: جون وايلي وأولاده. doi : 10.1002/0470862084.ch1 . ISBN 978-0-470-86206-3
- ↑ "JSR 914: واجهة برمجة تطبيقات خدمة رسائل جافا (JMS)" . برنامج عملية مجتمع جافا . تم الاسترجاع في 31 يوليو 2018 .
- ^ ريتشاردز وآخرون، الصفحات 3-5.
- 1 2 "خدمة رسائل جافا" (ملف PDF) . شركة صن مايكروسيستمز . 5 أكتوبر 1998. مؤرشف (ملف PDF) من الأصل بتاريخ 24 فبراير 1999. تم الاطلاع عليه بتاريخ 31 يوليو 2018 .
- ↑ "وثائق خدمة رسائل جافا" . صن مايكروسيستمز. 30 أكتوبر 1998. مؤرشف من الأصل في 24 فبراير 1999. تم الاطلاع عليه في 31 يوليو 2018 .
- ↑ "مصدر خدمة رسائل جافا - الإصدار 1.0.1a" . صن مايكروسيستمز. 29 أكتوبر 1998. مؤرشف من الأصل (ملف مضغوط) في 16 أغسطس 2000. تم الاطلاع عليه في 31 يوليو 2018 .
- ↑ "خدمة رسائل جافا" (ملف PDF) . شركة صن مايكروسيستمز (نُشر في 17 ديسمبر 1999). 9 نوفمبر 1999. مؤرشف (ملف PDF) من الأصل في 23 أغسطس 2000. تم الاطلاع عليه في 31 يوليو 2018 .
- ↑ "وثائق خدمة رسائل جافا" . صن مايكروسيستمز. 23 ديسمبر 1999. مؤرشف من الأصل في 29 فبراير 2000. تم الاطلاع عليه في 31 يوليو 2018 .
- ↑ "خدمة رسائل جافا" (ملف PDF) . شركة صن مايكروسيستمز. 27 أغسطس 2001. مؤرشف (ملف PDF) من الأصل بتاريخ 9 أكتوبر 2022. تم الاطلاع عليه بتاريخ 31 يوليو 2018 .
- ↑ "خدمة رسائل جافا" (ملف PDF) . شركة صن مايكروسيستمز. 12 أبريل 2002. مؤرشف (ملف PDF) من الأصل بتاريخ 9 أكتوبر 2022. تم الاطلاع عليه بتاريخ 31 يوليو 2018 .
- ↑ "خدمة رسائل جافا" (ملف PDF) . أوراكل . 20 مارس 2013. مؤرشف (ملف PDF) من الأصل بتاريخ 9 أكتوبر 2022. تم الاطلاع عليه بتاريخ 31 يوليو 2018 .
- ↑ "الإصدار النهائي من JMS 2.0" . مواصفات خدمة رسائل جافا . 9 يونيو 2017. تم الاطلاع عليه في 31 يوليو 2018 .
- ↑ "JSR 343: خدمة رسائل جافا 2.0" . برنامج عملية مجتمع جافا . تم الاطلاع عليه في 31 يوليو 2018 .
- ↑ "خدمة رسائل جافا" (ملف PDF) . أوراكل. 10 مارس 2015. مؤرشف (ملف PDF) من الأصل بتاريخ 9 أكتوبر 2022. تم الاطلاع عليه بتاريخ 31 يوليو 2018 .
- ↑ "إصدار تصحيحات JMS 2.0 (المراجعة أ)" . مواصفات خدمة رسائل جافا . 5 يوليو 2017. تم الاطلاع عليه في 31 يوليو 2018 .
- ↑ "مواصفات JMS 2.0" . docs.tibco.com . تم الاطلاع عليه بتاريخ 29-08-2025 .
- ↑ مونسون-هايفل، ريتشارد (6 ديسمبر 2018). "JMS 3.0: شارك!" . توميترايب . تم الاطلاع عليه في 17 يوليو 2020 .
- ↑ "Jakarta Messaging 3.1 | Jakarta EE | The Eclipse Foundation" . Jakarta® EE: الموطن الجديد لـ Java السحابية الأصلية . تم الاطلاع عليه بتاريخ 29 أغسطس 2025 .
- ↑ خدمة رسائل جافا (JMS)
- ↑ "Apache Qpid™: مراسلة AMQP مفتوحة المصدر" .
- ↑ واليس، غراهام. "اختيار نظام المراسلة: WebSphere MQ مقابل WebSphere Application Server Service Integration Bus" . IBM developerWorks .
- ↑ "وثائق منتجات TIBCO - خدمة رسائل المؤسسات TIBCO" .
للمزيد من القراءة
- ريتشاردز، مارك؛ ريتشارد مونسون-هايفل؛ ديفيد أ. تشابيل (2009). خدمة رسائل جافا، الطبعة الثانية . أورايلي. ISBN 978-0-596-52204-9.
روابط خارجية
- منصة جافا للمؤسسات
- طلبات مواصفات جافا
- برمجيات وسيطة موجهة نحو الرسائل
- هندسة البرمجيات
