ربط بيانات XML
يشير ربط بيانات XML إلى وسيلة لتمثيل المعلومات في مستند XML ككائن أعمال في ذاكرة الحاسوب. يتيح ذلك للتطبيقات الوصول إلى البيانات في XML من الكائن، بدلاً من استخدام DOM أو SAX لاسترداد البيانات من تمثيل مباشر لملف XML نفسه.
يُتيح ذلك قراءة وكتابة بيانات XML باستخدام مكتبة فئات لغة برمجة (مثل C++ ، C# ، Java )، مُصممة خصيصًا لتنسيق بيانات XML مُحدد. [ 1 ] مع أنه من الممكن كتابة برنامج حاسوبي يدويًا لتحقيق ذلك، إلا أن أدوات ربط بيانات XML تُولّد الشفرة المصدرية اللازمة لأداء هذه المهام.
وصف
يقوم رابط بيانات XML بذلك عن طريق إنشاء خريطة تلقائية بين عناصر مخطط XML للمستند الذي نرغب في ربطه وأعضاء فئة يتم تمثيلها في الذاكرة.
عند تطبيق هذه العملية لتحويل مستند XML إلى كائن، تُسمى عملية فك التسلسل (أو إلغاء التسلسل). أما العملية العكسية، أي تحويل الكائن إلى XML، فتُسمى عملية التسلسل .
يمكن تمييز أساليب ربط البيانات على النحو التالي:
- يعتمد على مخطط XML: يتم إنشاء الفئات التي تتوافق مع المخطط بناءً على مخطط XML موجود.
- يعتمد على الفئات: بناءً على مجموعة من الفئات المراد تسلسلها، يتم إنشاء مخطط XML مطابق.
- قائم على التعيين: يصف وصف التعيين، والذي عادة ما يكون مستند XML، كيفية تعيين مخطط XML موجود لمجموعة من الفئات، والعكس صحيح.
الصعوبات
بما أن XML تنسيقٌ مُوجَّه نحو المستندات، بينما الكائنات (عادةً) ليست كذلك، فقد تتجاهل عمليات ربط بيانات XML البسيطة بعض المعلومات الهيكلية المُضمَّنة في مستند XML. تحديدًا، قد لا تُحفظ معلومات مثل التعليقات ، ومراجع كيانات XML، وترتيب العناصر المتجاورة في تمثيل الكائن الذي يُنشئه تطبيق الربط. مع ذلك، ليس هذا هو الحال دائمًا؛ إذ إن أدوات ربط بيانات XML القوية بما يكفي قادرة على حفظ جميع المعلومات المُخزَّنة في مستند XML.
وبالمثل، بما أن الكائنات الموجودة في ذاكرة الحاسوب لا تُخزَّن بطبيعتها بشكل تسلسلي، وقد تتضمن روابط لكائنات أخرى (بما في ذلك الروابط المرجعية الذاتية)، فقد لا تتمكن عمليات ربط البيانات البسيطة في XML من الحفاظ على جميع المعلومات المتعلقة بالكائن عند تحويله إلى XML. ومع ذلك، تُجري أدوات ربط البيانات القوية تحليلًا لبنية الرسم البياني على الكائنات الموجودة في الذاكرة لتحويل هياكل الرسم البياني للكائنات (الدورية) إلى XML باستخدام سمات مرجعية XML القياسية.
البدائل
يعتمد نهج بديل لربط البيانات التلقائي على تعابير XPath المصممة يدويًا لاستخراج البيانات من XML. يتميز هذا النهج ببعض المزايا، ولكنه ينطوي أيضًا على بعض العيوب. أولًا، لا يتطلب هذا النهج سوى معرفة تقريبية (مثل بنية الشجرة، وأسماء الوسوم، وما إلى ذلك) لهيكل شجرة XML، والتي يمكن للمطورين تحديدها بمجرد النظر إلى بيانات XML. علاوة على ذلك، يسمح XPath للتطبيق بربط عناصر البيانات ذات الصلة وتصفية ما عداها، متجنبًا بذلك المعالجة غير الضرورية اللازمة لفك تشفير مستند XML بالكامل. أما عيب هذا النهج فيكمن في غياب الأتمتة في تنفيذ نموذج الكائنات وتعابير XPath. فبدلًا من ذلك، يتعين على مطوري التطبيق إنشاء هذه العناصر يدويًا، وهو أمر يستغرق وقتًا طويلًا، وعرضة للأخطاء، ويعيق صيانة التطبيق عند تحديث مخططات XML ونماذج محتوى XML. ومن العيوب الأخرى غياب التحقق من مخطط XML، والذي عادةً ما يتم تطبيقه تلقائيًا أثناء فك التشفير. ويُعد التحقق من صحة المخطط شرطًا أساسيًا في التطبيقات الآمنة.
ربط البيانات بشكل عام
إحدى نقاط قوة ربط بيانات XML هي القدرة على فك تسلسل الكائنات عبر البرامج واللغات والمنصات. [ 2 ] يمكنك استخراج سلسلة زمنية من الكائنات المهيكلة من مسجل بيانات مكتوب بلغة C (لغة برمجة) على معالج مضمن، ونقلها عبر الشبكة لمعالجتها في لغة Perl ، ثم عرضها في برنامج Octave . يظل الهيكل والبيانات متسقين ومتماسكين طوال العملية، دون الحاجة إلى تنسيقات أو تحليل مخصص. هذه الميزة ليست حكرًا على XML، فـ YAML ، على سبيل المثال، تبرز كبديل قوي لربط بيانات XML. أما JSON (الذي يمكن اعتباره مجموعة فرعية من YAML) فهو مناسب غالبًا للتطبيقات الخفيفة أو ذات الإمكانيات المحدودة.
أطر ربط بيانات XML
| اسم | لغة البرمجة | رخصة | الإصدار الأول | آخر إصدار مستقر | توليد الكود من XSD | رسم الخرائط المخصصة | ملحوظة |
|---|---|---|---|---|---|---|---|
| أباتشي كومنز بين | جافا | أباتشي | 28 يناير 2003 ( 2003-01-28 ) | 0.8 | مجهول | مجهول | خامل. يقوم بتحويل الكائنات إلى XML دون الحاجة إلى تعريف مخطط XML |
| أباتشي XMLBeans | جافا | رخصة أباتشي 2.0 | 5.1.1، 29 أغسطس 2022 ( 2022-08-29 ) | نعم | مجهول | ||
| الخروع | جافا | أباتشي 2.0 | 1.4.1، 15 مايو 2016 ( 2016-05-15 ) | مجهول | مجهول | كانت الإصدارات السابقة تدعم أيضًا تخزين البيانات من جافا إلى SQL، ولكن تم فصل هذه الميزة لاحقًا إلى مشروع منفصل. | |
| كود توليف XSD | لغة سي++ | رخصة جنو العمومية العامة وحقوق الملكية الفكرية | 4.0.0، 22 يوليو 2014 ( 2014-07-22 ) | مجهول | مجهول | باستخدام SAX أو التعيين الشبيه بالشجرة إلى فئات C++ | |
| gSOAP | لغة C ولغة C++ | رخصة جنو العمومية العامة وحقوق الملكية الفكرية | 8 ديسمبر 2000 ( 2000-12-08 ) | 2.8.131، 23 سبتمبر 2023 ( 2023-09-23 ) | نعم | نعم | يدعم مخطط XML وWSDL وSOAP؛ ولا يُشترط استخدام مخططات XML لتحويل بيانات C/C++ إلى XML؛ كما يوفر إمكانية تعيين أنواع مخططات XML إلى أنواع C/C++ عبر ملف تعيين الأنواع، ومن أنواع C/C++ إلى أنواع مخططات XML المتوافقة عن طريق إضافة تعليقات توضيحية إلى شفرة المصدر. |
| بنية جافا لربط XML (JAXB) | جافا | ؟ | نعم | نعم | |||
| JiBX | جافا | رخصة BSD | 1.2.6، 1 يناير 2015 ( 2015-01-01 ) | نعم | نعم | ربط الفئات بمخططات XML عبر معالجة رمز البايت | |
| رابط بيانات Liquid XML | C++، C#، Java، Visual Basic.Net، Visual Basic 6 (COM) | البرامج المجانية والبرامج الاحتكارية | 1 يونيو 2001 ( 2001-06-01 ) | 18 يونيو 2024 ( 2024-06-18 ) | نعم | نعم | يدعم مخطط XML (XSD) و DTD و XDR و WSDL. يقوم بتحويل XML إلى JSON و JSON إلى XML. |
| كائنات Liquid XML | لغة C# و Visual Basic .Net (تدعم XSD 1.1) | البرامج المجانية والبرامج الاحتكارية | 3 مارس 2019 ( 2019-03-03 ) | 18 يونيو 2024 ( 2024-06-18 ) | نعم | نعم | بديل مباشر لـ XSD.exe. مُدمج ضمن Microsoft Visual Studio . يدعم مخطط XML (XSD 1.0 و XSD 1.1)، و DTD، و WSDL. يُحوّل XML إلى JSON و JSON إلى XML. |
| بسيط | جافا | أباتشي 2.0 | 2.7.1، 9 فبراير 2017 ( 2017-02-09 ) | لا | نعم | ||
| System.Xml.Serialization | سي شارب | ؟ | نعم | لا | جزء من إطار عمل .NET، يحتوي على فئات ربط بيانات XML؛ ويتضمن xsd.exeأداة لإنشاء فئات من مخطط XSD | ||
| xmlbeansxx | لغة سي++ | أباتشي 2.0 | 0.9.1، 1 أبريل 2008 ( 2008-04-01 ) | مجهول | مجهول | نسخة C++ من Apache XMLBeans | |
| إكس ستريم | جافا | رخصة على نمط BSD | 1 يناير 2004 ( 2004-01-01 ) | 1.4.10، 23 مايو 2017 ( 2017-05-23 ) | مجهول | مجهول | كما أنه قادر على التحويل إلى JSON |
| تمت أرشفة زيوس في 28 يناير 2019 على موقع Wayback Machine. | جافا | ؟ | 3.5 بيتا، 16 أغسطس 2002 ( 2002-08-16 ) | مجهول | مجهول |
انظر أيضاً
مراجع
- ↑ "ما هو ربط بيانات XML - برنامج تعليمي" شركة ليكويد تكنولوجيز. تم الاطلاع عليه بتاريخ 24-07-2024.
- ↑ "ما هو ربط XML؟" IBM. تم الاطلاع عليه بتاريخ 16-04-2024.
روابط خارجية
- موارد ربط بيانات XML ، بقلم رونالد بوريه
- مجموعة عمل أنماط مخطط XML لربط البيانات
- بنى البرمجة
- XML
