نظام خدمة جاڤا

إيمان سعد الدين
ساهم بشكل رئيسي في تحرير هذا المقال

نظام خدمة جاڤا Java Message Service، (JMS)، خدمة التراسل اعتمادا على QUeue :(التعامل مع الرسائل التي تصل إلى Queue)

يزود هذا البحث نظرة عامة عن خدمة رسائل java ويعرف بالأساسيات للبرامج النامية التي تستعمل هذه الخدمة.

خدمة رسائل java طورت في sun microsystem لتزويد برامج جافا بطريق أمن وسلس لدخول نظام التراسل (MOM)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

MEssage oriented middleware

وهي عبارة عن آلية تقوم بمكاملة التطبيقات وهو أسلوب مرن وفعال للغاية يؤمن وسيلة آمنة ولا متزامنة لنقل الرسائل (وتسليمها)بين التطبيقات المختلفة .

تتمثل الفكرة الأساسية في أن التطبيقات لا تتصل مع بعضها البعض بشكل مباشر لما في ذلك من مشاكل جمة .

ولكن بدلا من ذلك تتصل بالوسيط الذي يقوم بدوره بتأمين ذلك الاتصال إضافة إلى أنه يقوم بتوفير مزايا آخرى هامة .

(MOM) المهمة الأساسية له تسليم آمن للرسائل وبالتالي إزاحة عبء ثقيل عن كاهل مبرمجي التطبيقات حيث لا يضطر المبرمج إلى معرفة بعض التفاصيل مثل إجراء الاتصالات البعيدة والتعامل مع البروتوكولات .............الخ

مرونة الإرسال

إن أي تطبيق يتصل بتطبيق آخر (من خلال إرسال رسالة ما )عن طريق middleware يعالج اتصالات الشبكة حيث يتسلم الرسالة من المرسل ويقوم بإرسالها وتسليمها إلى المستقبل .

حيث إن لم يكن الاتصال متوفر يقوم بتخزين الرسالة حتى يصبح الاتصال متوفر وبعدها يرسل الرسالة إلى التطبيق المطلوب .


ماهي JMS

-- JMS هي آلية تؤمن طريق نقل قياسي لبرامج جافا لإرسال واستقبال رسائل عن طريق الوسيط MOM

-- حيث أن البرامج المكتوبة مع JMS ستكون قادرة على العمل مع أي MOM التي تدعم معيار

JMS

-- JMS يعرف مجموعة وصلات مشتركة تسمح للبرامج المكتوبة بلغة جافا بالاتصال مع تطبيقات أخرى

-- JMS كذلك تقوم بتقليل مجموعة المفاهيم التي يجب على المبرمج أن يتعلمها لاستخدام منتجات تراسل .

نظرة عامة

كما ذكرنا من قبل أن التراسل يؤمن وسيلة للاتصال بين مكونات التطبيقات أوالبرامج ولكن المرسل والمستقبل ليس من الضروري أن يكونا متوفرين في نفس الوقت لكي يتصلا, في الحقيقة المرسل لا يحتاج معرفة شيء عن المستقبل وكذلك المستقبل لا يحتاج لذلك .

حاجة المرسل والمستقبل هي معرفة صيغة الإرسال وأي اتجاه يستعمل .

-يختلف JMS في هذه النقطة مع RMI الذي يتطلب معرفة طريق الإرسال

-كذلك يختلف الإرسال هنا عن البريد الالكتروني الذي هو عبارة عن طريق للإرسال بين الناس أو التطبيقات أو مكونات هذه التطبيقات .

الخدمات التي تؤمنها JMS للتطبيقات

-إنشاء(خلق)

-إرسال

-استلام

-قراءة رسائل باستخدام اتصال موثوق

مكونات أي تطبيق JMS

- JMS PROVIDE:وهو عبارة عن نظام تراسل يقوم بتأمين الاتصال ويوفر ميزات سيطرة وفعالية إدارية

-JMS CLIENTS:عبارة عن البرنامج أو المكونات التي تستهلك أو تنتج الرسائل

-MESSAGES:وهو عبارة عن الجسم الذي يوصل المعلومات بين (jms clients)وسف نعرج عليها بعد قليل لتوضيح أكثر

-administrated objects :تقوم بإدارة الobject وهي :

1- procedure object

2- consumer object

messages

تعتبر قلب نظام التراسل حيث أن الرسالة تنقسم إلى ثلاثة أجزاء رئيسية :

1- header

2- properties

3- body

header: العنوان الرأسي الذي يضم مجموعة قياسية من الحقول التي يستعملها كلا من المرسل والمستقبل

properties:مجموعة من الخصائص :

1-تحدد هوية المستقبل

2-تحدد هوية التطبيق الذي يرسل الرسالة

3- عدد مرات تسليم الرسالة

4-تحديد إلى من تعود الرسالة من بين مجموعة الرسائل

5-عدد مرات تكرار رسالة ضمن مجموعة الرسائل

6-المدة القصوى كي تصل الرسالة

7-إضافة إلى خصائص أخرى body:يحوي المعلومات الهامة التي يجب نقلها أي يضم محتوى الرسالة وله خمسة أشكال:

1-stream message

2-map message

3-text message

4-object message

5-bytes message


كتابة تطبيق JMS بسيط

يبين هذا القسم كيفية كتابة تطبيق زبائن JMS بسيط

هؤلاء الزبائن يدخلون j2ee server يعرض الزبائن المهام الأساسية التي يجب على التطبيق أن يوفرها :

- خلق اتصال وجلسة

- خلق المنتجين ومستهلكي الرسالة

- إرسال وتلقي الرسائل

تشغيل تطبيقات jms على غدة أنظمة

تخيل أنك تريد تشغيل برنامج simple producer على أنظمة الأرض وتشغيل برنامج simple synch consumer على نظام كوكب jupiter لتحقيق ذلك نحتاج لأداء هذه المهام :

- إنشاء اتصالين جديدين

- تحرير النص الأصلي للزبون

- تجديد ملفات الزبون jar files

- تشغيل كل من مخدمي التطبيقات في الأرض وكوكب jupiter

لتشغيل هذا البرنامج يجب أن نقوم بإجراء اتصالين الأول على الأرض ( النظام الأول) واثاني على jupiterوتحديد الوجهة التي سوف تتلقى الرسائل لكل منها

JMS and XML

XML يعتبر الوسيلة الأكثر شعبية لتمثيل محتوى الرسائل هذا الأمر أدركه مصمموا JMS لذلك عملوا اقتران بين JMS وبين آلية تمثيل محتوى الرسائل XML لتوفير آلية قوية في مكاملة التطبيقات وفي آلية نقل البيانات

JMS AND J2EE

تعتبر JMS أداة هامة يستخدمها مطوري التطبيقات باستخدام J2EE

نماذج مجالات نظام التراسل messaging domains

- Point to point (منتج- تطبيق)

يبنى هذا التطبيق على مفهوم الطوابير (مرسلون مستقبلون)حيث كل رسالة هنا معنونة إلى طابور معين حيث تحتفظ الطوابير بكل الرسائل التي تصلها حتى تستهلك كل تلك الرسائل

- مبدأعمل هذا التطبيق : كل رسالة لها مستقبل وحيد فقط

–اتجاه الرسالة يسمى طابور

-مستوى الأولويات الداخل أولا يخرج أولا

–مستلمون الرسائل يقومون بانتزاع الرسائل من الطابور (الرتل)

–مرسل أو مستقبل الرسالة ليس له وقت محدد للإرسال ولكن المستلم يمكن أن يجلب الرسالة سواء أكان في حالة running أم لا عند إرسال المرسل للرسالة .

يستخدم هذا التطبيق عندما نريد أن يكون لكل رسالة مستقبل وحيد .

pup/sub interface

يعتني النظام هنا بتوزيع الرسائل من ناشر في موضوع محدد إلى عدة مشتركين في هذا الموضوع

- أية رسالة ترسل إلى عدد من المستقبلين (المستهلكين )أو قد لا تصل لأحد

- الرسائل ترسل إلى topic موضوع محدد وليس إلى رتل محدد

- ينشر المنتجون في الموضوع

- يشترك المستهلكون في الموضوع لكي تصلهم الرسائل

نستعمل هذا التطبيق عندما نريد إرسال رسالة إلى عدة مستقبلين

المصادر

وصلات خارجية


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

انظر أيضا

Messaging technologies that do not implement the JMS API include: