ربط بيانات 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.05.1.1، 29 أغسطس 2022 ( 2022-08-29 )   نعممجهول
الخروعجافاأباتشي 2.01.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جافارخصة BSD1.2.6، 1 يناير 2015 ( 2015-01-01 )   نعمنعمربط الفئات بمخططات XML عبر معالجة رمز البايت
رابط بيانات Liquid XMLC++، 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.02.7.1، 9 فبراير 2017 ( 2017-02-09 )   لانعم
System.Xml.Serializationسي شارب؟نعملاجزء من إطار عمل .NET، يحتوي على فئات ربط بيانات XML؛ ويتضمن xsd.exeأداة لإنشاء فئات من مخطط XSD
xmlbeansxxلغة سي++أباتشي 2.00.9.1، 1 أبريل 2008 ( 2008-04-01 )   مجهولمجهولنسخة C++ من Apache XMLBeans
إكس ستريمجافارخصة على نمط BSD1 يناير 2004 ( 2004-01-01 )  1.4.10، 23 مايو 2017 ( 2017-05-23 )   مجهولمجهولكما أنه قادر على التحويل إلى JSON
تمت أرشفة زيوس في 28 يناير 2019 على موقع Wayback Machine.جافا؟3.5 بيتا، 16 أغسطس 2002 ( 2002-08-16 )   مجهولمجهول

انظر أيضاً

مراجع

  1. "ما هو ربط بيانات XML - برنامج تعليمي" شركة ليكويد تكنولوجيز. تم الاطلاع عليه بتاريخ 24-07-2024.
  2. "ما هو ربط XML؟" IBM. تم الاطلاع عليه بتاريخ 16-04-2024.