تغليف مُحسَّن ثنائي XML

تُعدّ XML-binary Optimized Packaging (XOP) آلية مُعرّفة لتسلسل مجموعات معلومات XML ( infosets ) التي تحتوي على بيانات ثنائية ، بالإضافة إلى إلغاء التسلسل مرة أخرى إلى مجموعة معلومات XML.

فوائد

تتيح XOP إمكانية تحويل البيانات الثنائية في XML Infoset إلى سلسلة نصية دون الحاجة إلى استخدام مُسلسل XML. تعتمد عملية تحويل XML إلى سلسلة نصية على ترميز base64 ، لذا يتطلب الأمر ترميز أي بيانات ثنائية باستخدام هذه الطريقة . تتجنب XOP هذه المشكلة باستخراج البيانات الثنائية من XML Infoset، مما يجعل XML Infoset خاليًا من البيانات الثنائية، وبالتالي يمكن تحويل البيانات الثنائية إلى سلسلة نصية بطريقة مختلفة.

لذا، يُمكن لتقنية XOP تقليل حجم عملية التسلسل (حيث أن ترميز base64 يُضيف حوالي 33% من الحجم)، وقد تُحسّن كفاءة المعالجة (بحسب طريقة التنفيذ). وتؤدي هذه الزيادة في الحجم إلى الحاجة لموارد إضافية لنقل البيانات أو تخزينها.

التكاليف

يُضيف XOP مستوىً آخر من المعالجة، وبالتالي يُضيف تعقيداً إضافياً وتكاليف معالجة إضافية.

يُضيف تمثيل حزم XOP بعض العبء الإضافي. يكون هذا العبء ضئيلاً عندما تكون البيانات الثنائية كبيرة، ولكنه قد يكون كبيرًا إذا كانت البيانات الثنائية صغيرة.

عملية

يعمل XOP على مجموعة معلومات XML واحدة.

تُستخرج الأجزاء الثنائية من مجموعة بيانات XML الأصلية، ليتبقى "مجموعة بيانات XOP" (وهي في الأساس مجموعة بيانات XML الأصلية مع استبدال الأجزاء الثنائية بمراجع خارجية). تُمثَّل المراجع في مجموعة بيانات XOP باستخدام العنصر "xop:Include". يمكن تحويل مجموعة بيانات XOP بالإضافة إلى المحتوى المستخرج إلى تمثيل يُسمى "حزمة XOP". يمكن إرسال حزمة XOP أو تخزينها.

لإعادة تكوين مجموعة معلومات XML، يتم إلغاء تسلسل حزمة XOP إلى مجموعة معلومات XOP بالإضافة إلى المحتوى المستخرج، ثم يتم وضع المحتوى المستخرج مرة أخرى في مجموعة معلومات XML.

حزم XOP

يمكن استخدام XOP مع عدد من آليات التغليف المختلفة. تحدد آلية التغليف كيفية تمثيل مجموعة معلومات XOP والأجزاء الثنائية.

تحدد مواصفات XOP كيفية استخدام MIME كآلية تغليف. عند استخدامها مع MIME، يتم تمثيل مجموعة معلومات XOP بصيغة XML في الجزء الرئيسي من MIME، بينما يتم تمثيل الأجزاء الثنائية في الأجزاء الأخرى من MIME. يمكن تحويل هذه الأجزاء الأخرى من MIME إلى بيانات ثنائية، مما يغني عن الحاجة إلى ترميزها باستخدام Base64 إذا كانت موجودة داخل مجموعة معلومات XML.

لا يشترط بروتوكول XOP استخدام آلية تغليف MIME، لذا يمكن استخدام آليات تغليف أخرى.

الاستخدام في خدمات الويب SOAP

تُعد آلية تغليف MIME هي الأكثر استخدامًا على نطاق واسع، حيث يتم استخدام XOP عادةً لتمثيل رسائل SOAP باستخدام MTOM .

على سبيل المثال:

إصدار MIME: 1.0 نوع المحتوى: Multipart/Related ؛ الحد = MIME_boundary ؛ ... --MIME_boundary نوع المحتوى: application / xop +xml ؛ 
...
<soap:Envelope> ... <soap:Body> ... <m:photo xmlmime:contentType= "image/png" > <xop:Include xmlns:xop= "http://www.w3.org/2004/08/xop/include" href= "cid:http://example.org/me.png" /></m:photo>
...
--MIME_boundary Content-Type: image / png Content-Transfer-Encoding: binary Content-ID: <http:// example.org / me.png > 
// وحدات ثنائية للصور بصيغة PNG

انظر أيضاً

  • آلية تحسين نقل الرسائل ( MTOM )

مراجع