واجهة برمجة تطبيقات جافا للمراسلة عبر XML
تُمكّن واجهة برمجة تطبيقات جافا للمراسلة عبر XML (JAXM) تطبيقات البرامج الموزعة من التواصل باستخدام XML (و SOAP ). تدعم JAXM المراسلة المتزامنة وغير المتزامنة.
JAXM هي إحدى واجهات برمجة تطبيقات Java XML
ملخص
تُمكّن واجهة برمجة تطبيقات جافا للمراسلة عبر XML (JAXM) المطورين من استخدام المراسلة عبر XML باستخدام منصة جافا. ويمكن للمطورين إنشاء رسائل XML وإرسالها عبر الإنترنت باستخدام واجهة برمجة تطبيقات JAXM. [ 1 ]

كما أن واجهة برمجة تطبيقات جافا للمراسلة عبر XML تتمتع بالعديد من المزايا مقارنة باستدعاء الإجراءات عن بعد، مثل ما يلي:
- المراسلة أحادية الاتجاه (غير المتزامنة)
- توجيه رسالة إلى أكثر من طرف
- خدمة مراسلة موثوقة مع ميزات مثل ضمان التسليم
تأتي واجهة برمجة تطبيقات JAXM الكاملة مع حزمتين: [ 2 ]
- javax.xml.soap: تحتوي هذه الحزمة على واجهة برمجة التطبيقات لإنشاء رسالة SOAP وتعبئتها.
- javax.xml.messaging: تتيح هذه الحزمة إرسال رسائل أحادية الاتجاه عبر موفر خدمة المراسلة.
رسائل
الرسائل في JAXM هي رسائل XML تتبع تنسيق ومعايير SOAP المحددة. يوجد نوعان رئيسيان من رسائل SOAP: رسائل تحتوي على مرفقات ورسائل لا تحتوي عليها. على سبيل المثال، إذا كنت ترغب في أن تحتوي رسالتك على صورة، فيجب عليك إرسال مرفق معها. توفر واجهة برمجة تطبيقات SAAJ فئة AttachmentPart للمرفقات في رسائل SOAP. [ 3 ]
الاتصالات
يلزم وجود اتصال لإرسال واستقبال جميع رسائل SOAP. يمكن أن يكون الاتصال مع مزود خدمة الرسائل أو وجهة محددة. [ 4 ] توفر واجهة برمجة تطبيقات JAXM الفئة والواجهة لتمثيل نوعين من الاتصالات:
- javax.xml.soap.SOAPConnection— اتصال من المرسل مباشرة إلى المتلقي (اتصال من نقطة إلى نقطة)
- javax.xml.messaging.ProviderConnection رابط مهمل ، مؤرشف بتاريخ 13 أبريل 2013 على archive.today — اتصال بمزود خدمة الرسائل
اتصالات SOAP
اتصال SOAP هو اتصال مباشر بين طرفين لإرسال الرسائل مباشرةً إلى طرف بعيد. [ 5 ] يُعدّ إنشاء كائن SOAPConnection، الذي يُمثّل اتصالًا مباشرًا بين طرفين، واستخدامه أمرًا بسيطًا. لا يتطلب استخدام كائن SOAPConnection أي إعدادات، لأنه لا يحتاج إلى التشغيل في حاوية servlet (مثل Tomcat) أو في خادم J2EE. وهو الطريقة الوحيدة التي تُمكّن العميل من إنشاء اتصال دون الحاجة إلى مزوّد خدمة. [ 6 ]
اتصال المزوّد
يمثل كائن ProviderConnection اتصالاً بمزود خدمة المراسلة. (يشرح القسم التالي المزيد عن مزودي خدمة المراسلة). عند إرسال رسالة عبر كائن ProviderConnection، تُرسل الرسالة إلى مزود خدمة المراسلة. يقوم مزود خدمة المراسلة بإعادة توجيه الرسالة، وفقًا لتعليمات التوجيه الخاصة بها، حتى تصل إلى مزود خدمة المراسلة الخاص بالمستلم النهائي، والذي بدوره يعيد توجيهها إلى المستلم النهائي. [ 7 ]
مزودو خدمات المراسلة
يقوم مزود خدمة المراسلة بتتبع الرسائل وتوجيهها إلى الوجهة أو الوجهات الصحيحة. وهي خدمة تتولى نقل الرسائل وتوجيهها. [ 8 ]
متى يجب استخدام مزود خدمة الرسائل
قد يستخدم عميل JAXM موفر خدمة مراسلة أو لا يستخدمه. عمومًا، لا تحتاج إلى موفر خدمة مراسلة إذا كنت ترغب فقط في استخدام خدمات الويب. فيما يلي بعض القيود المترتبة على عدم استخدام موفر خدمة مراسلة:
لا يمكن للعميل إرسال سوى رسائل الطلب والاستجابة. ولا يمكن للعميل التصرف إلا في دور العميل.
من مزايا عدم استخدام مزود خدمة المراسلة ما يلي:
- يمكن كتابة التطبيق باستخدام منصة J2SE
- لا يشترط نشر التطبيق في حاوية سيرفلت أو حاوية J2EE
- لا يتطلب الأمر أي تهيئة [ 9 ]
مراجع
- ↑ "واجهة برمجة تطبيقات جافا للمراسلة عبر XML" .
- ↑ "واجهة برمجة تطبيقات جافا للمراسلة عبر XML" .
- ↑ "حزمة جافا XML" . مؤرشفة من الأصل بتاريخ 10-05-2017 . تم الاطلاع عليها بتاريخ 05-02-2013 .
- ↑ "حزمة جافا XML" . مؤرشفة من الأصل بتاريخ 10-05-2017 . تم الاطلاع عليها بتاريخ 05-02-2013 .
- ↑ "SOAPConnection (Java EE 5 SDK)" .
- ↑ "نظرة عامة على JAXM" .
- ↑ "نظرة عامة على JAXM" .
- ↑ "حزمة جافا XML" . مؤرشفة من الأصل بتاريخ 10-05-2017 . تم الاطلاع عليها بتاريخ 05-02-2013 .
- ↑ "نظرة عامة على JAXM" .
انظر أيضاً
- JSR 67: واجهات برمجة تطبيقات Java™ لمراسلة XML
- مواصفات واجهة برمجة تطبيقات جافا لمراسلة XML (JAXM) 1.1
- مواصفات واجهة برمجة تطبيقات SOAP مع المرفقات للغة Java (SAAJ) 1.3
- تمت أرشفة ملف javax.xml.messaging بتاريخ 4 مارس 2016 على موقع Wayback Machine - تم تحديد هذه الحزمة في مواصفات JAXM 1.1
- javax.xml.soap - تم تحديد هذه الحزمة في مواصفات SAAJ 1.3
- نظرة عامة على JAXM ( مؤرشفة بتاريخ 10 مايو 2017 على موقع Wayback Machine)
- مثال "مرحباً بالعالم" لـ JAXM
- واجهة برمجة تطبيقات جافا لـ XML
