Web Services و تطبيقها على الحكومة الإلكترونية

24 نوفمبر 2007. كتبه في قسم انترنت | الردود: 29

[في هذه التدوينة سأشرح ماهي الـ Web Services أو خدمات الويب، و كيف لها أن تبسط عملية معقدة كبناء الحكومة الإلكترونية]

ماهي الـ Web Services؟
ببساطة هي نوع من تطبيقات الويب تقدم خدمات إلكترونية للمستخدمين (Clients) سواء بشر كانوا أم تطبيقات Ùˆ برامج آخرى. يقوم المستخدم بالاتصال Ùˆ طلب الخدمة (Service Request) من الويب سيرفسس عبر واجهته “البرمجية” (Ùˆ ليست رسومية (GUI) كالأزرار Ùˆ الأسهم الخ) وهي ما تعرف بالـ Application Programming Interface – APIs ØŒ Ùˆ من ثم يرسل الويب السيرفسس نتيجة الطلب للمستخدم مرة آخرى على هيئة ملف XML. Ùˆ تعتبر الويب سيرفسس أحد مظاهر الويب 2.0.

و تستخدم الويب سيرفسس ثلاث تقنيات:
- SOAP وهو برتوكول لتبادل رسائل الـ XML ، وهو مبني على بروتوكلي HTTPS/HTTP المعروفين.
- WDSL أو Web Services Description Language و هي لغة على هيئة XML لوصف الويب السيرفسس و التعريف بخدماته و الـ end-points الخاصة به لتبادل الرسائل. تجد هنا أمثلة لـ wdsl بالبحث في جوجل و مثال لـ wdsl لخدمة بحث جوجل نفسها.
- UDDI أو Universal Description, Discovery and Integration و هو دليل على الانترنت لسرد الويب سيرفسس و يتيح لها التعرف على بعضها، أي أنه كدليل الهاتف.

[مثال] استخدام Google APIs
من أشهر الويب سيرفسس هي التي تقدمها جوجل، على سبيل المثال تستطيع أن تستخدم خدمات بحث جوجل في أي برنامج تبرمجه، ما عليك إلا تحميل الـ APIs الخاصة بخدمات البحث ، و هي متوفرة تحت Google Data API. قم بتحميل مكتبة الـ API الخاصة بلغة البرمجة التي تناسبك. و هذا مثال كيف تستخدمها بلغة الـ C#NET. [أو حمل البرنامج النهائي من هنا]. مكتبة APIs جوجل لا تنحصر فقط على محرك البحث بل تشمل كل خدمات جوجل كـ YouTube، FeedBurner، Android و غيرها الكثير.

[تطبيق] الحكومة الإلكترونية eGovernment
كنت قد أخذت قبل أسبوعين دورة عن استخدام مكتبة Oracle ADF في برنامج JDevelpor، و شاركنا محاضر الدورة وهو أردني كيف يمكن للويب سيرفسس أن تساعد كثيرا في بناء الحكومة الإلكترونية حيث أنه يعمل في هذا المجال حاليا. بداية، من خدمات الحكومة الإلكترونية هو إنجاز إجراءت طلبات المواطنين إلكترونيا، و لنفرض أن لدينا هذه الحالة التالية:

لدى للأحوال المدنية قاعدة بيانات من نوع IBM DB2 بأسماء المواطنين و أرقام هوياتهم و معلوماتهم ، و الجوزات لديها قاعدة بيانات نوعها Oracle، و وزارة العمل لديها قاعدة بيانات Microsoft Access، و مصلحة الزكاة ليس لديها إلا ملف Excel بمعلومات الزكاة للمواطنين. نريد الآن ربط هذه الدوائر مع بعضها الكترونيا لإتمام إجراءات المواطنين، على سبيل المثال عندما تحتاج مصلحة الزكاة لمعلومات عن المواطن يجب أن تستطيع الحصول عليها الكترونيا من الأحوال المدنية ، و هكذا.

هناك طريقة تقليدية لدمج البيانات بين هذه الدوائر، وهي دمج جميع قواعد بيانات الدوائر في قاعدة بيانات كبيرة رئيسة مشتركة. لكن المشكلة هي صعوبة دمج أنواع مختلفة من قواعد البيانات المستخدمة (Oracle ،DB2 ،Access) أو عدم وجود قاعدة بيانات في الأساس كما في مثال مصلحة الزكاة. و لنفرض أنه تم الدمج ، فإن عملية تحديث قاعدة البيانات الجديدة بالمعلومات المتغيرة عملية ليست سهلة بالبتة. مثلت الحالة الأولى بالرسمة التالية ، أنقر لتكبيرها.

الحل الأمثل لهذه المشكلة هو باستخدام الـ Web Services. لتقوم كل دائرة ببرمجة الويب سيرفسس الخاصة بها باستعانة فريق برمجة إنشاء الحكومة الإلكتورنية، ومن ثم يمكن للدوائر الإتصال فيما بينها عن طريق ويب سيرفسساتها (أتحداك تنطقها :mrgreen: ) أو عن طريق دائرة مركزية تربط بين الدوائر و تضمن حماية الاتصالات الإلكترونية بين الويب سيرفسس، أو يمكن جمعها في موقع بورتال واحد Portal. انقر على الصورة للتوضيح.

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

مصادر
[W3Schools] Web Services Intro
[Webopedia] What is Web Services?
[Wikipedia] Web Service

لم أجد موضوعا حول الويب سيرفيسس في الويكيبيديا العربية، لذا جاري تعديل التدوينة لإضافتها هناك ;)

شارك الموضوع على