الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تكامل المعلومات Information Integration

بدأه أبو خالد السوري في 27 مايو 2008 · 32 رد · 19,996 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

إخواني الأعزاء ,

في هذا الموضوع سأتحدث لكم عن تكامل المعلومات Information Integration و هو من أهم مجالات البحث العلمي الحديثة في نظم المعلومات و قواعد البيانات ..

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

الحافز غير المباشر لكتابتي لهذا الموضوع كان شعوري بالأهمية العلمية لهذا الفرع من العلوم .. و ضرورة تعريف إخواني العرب عليه .. و كوني من المطلعين عليه بشكل جيد نظراً لطبيعة دراستي المتعلقة بهذا المجال بشكل أو بآخر ..

أما الحافز المباشر فكان طرح الأخت بنت اليمن موضوع كيفية ربط قواعد البيانات المختلفة النوع

و عند التفكير بالإجابة عن تساؤلها .. خطر ببالي توسيع الرد ليصبح موضوعاً قائماً بحد ذاته .. عسى أن تعم الفائدة منه على الجميع

بسم الله نبدأ

أبو خالد السوري

#2

بسم الله الرحمن الرحيم

من أهم مجالات البحث العلمي الحديثة في نظم المعلومات و قواعد البيانات هو موضوع تكامل المعلومات Information Integration أو ما يعرف باسم قابلية التشغيل المشتركة Interoperability .. و يقصد بها الوصول إلى المعلومات و تشاركها و تبادلها بين عدة مصادر للمعلومات (نموذجياً : قواعد بيانات) موزعة و غير مستقرة و متباينة.

موزعة (distributed) : أي أنها تتواجد في مواقع مختلفة فيزيائياً / جغرافياً . و بالتالي للحصول على معلومة ما ينبغي استعلام عدة مصادر و تجميع الإجابات الجزئية .

غير مستقرة (instable): أي أنه من الممكن أن تظهر مصادر جديدة للمعلومات (تنضم إلى التشارك) أو تختفي مصادر موجودة (تنسحب من التشارك) في أي وقت.

متباينة (heterogeneous) : (و هنا بيت القصيد) أي أن مصادر المعلومات ذات طبيعة مختلفة .. و هناك عدة مستويات للتباين :

1) مستوى النظام (System level) :

و يتضمن الاختلافات في العتاد (hardware) و برمجيات النظام (مثل نظام التشغيل) و نظم الاتصالات .

2) المستوى النحوي (Syntactic level) :

و يتضمن الاختلافات في النواحي المتعلقة بتمثيل البيانات , أي اختيار نماذج تمثيل البيانات , فقد يتم تعريف نفس البيانات باستخدام مصطلحات مختلفة, أي أن المفاهيم المتطابقة قد تتم تسميتها بأسماء مختلفة .

3) المستوى البنيوي (Structural level) :

و يتضمن الاختلافات في طريقة نمذجة البيانات (هيكلتها) :

* الهيكلية قد تكون منبسطة كما في قواعد البيانات العلائقية أو شجرية كما في ملفات XML,

* قد يحوي تمثيل البيانات على تكرارات أو لا ...

* طريقة الوصول (استعلام) للبيانات مختلفة : التحليل الصرفي (parsing) لصفحات HTML , لغة SQL لقواعد البيانات العلائقية , و لغة OQL لقواعد البيانات غرضية التوجه ..

4) المستوى الدلالي (Semantic level) :

و يتضمن الاختلافات في معاني المصطلحات المستخدمة في بناء مصادر المعلومات .. هذه الاختلافات في المعاني (و تسمى النزاعات الدلالية semantic conflicts) تحدث عندما يختلف تفسير المعلومات باختلاف السياق. في مقالته (1) قام Goh بتحديد ثلاث أسباب رئيسية للنزاعات الدلالية :

نزاعات التشويش (Confounding conflicts) : تحدث عندما تبدو المعلومات و كأن لها نفس المعنى في حين أنها مختلفة في الواقع (بسبب سياق مرحلي مختلف).

نزاعات القياس (Scaling conflicts) : تحدث عند استخدام وحدات قياس مختلفة (العملة مثلاً : دولار أو يورو).

نزاعات التسمية (Naming conflicts) : تحدث مثلاً عند استخدام نفس المصطلح للإشارة إلى مفاهيم مختلفة (homonyms) أو عند استخدام مصطلحات مختلفة للإشارة إلى نفس المفهوم (synonyms).

يمكن الرجوع إلى (2) للمزيد حول النزاعات الدلالية.

المصادر :

[1] Cheng Hian Goh. Representing and Reasoning about Semantic Conflicts in Heterogeneous Information Sources. Phd, MIT, 1997.
[2] P.R.S. Visser, D.M. Jones, T.J.M. Bench-Capon and M.J.R. Shave. Assessing Heterogeneity by Classifying Ontology Mismatches. Proceedings International Conference on Formal Ontology in Information Systems - FOIS'98, IOS Press.
[3] A.P. Sheth. Changing Focus on Interoperability in Information Systems: From System, Syntax, Structure to Semantics. M. F. Goodchild, M. J. Egenhofer, R. Fegeas, and C. A. Kottman (eds.) Interoperating Geographic Information Systems, Kluwer.

أبو خالد السوري

#3

لمحة عن حلول تكامل المعلومات :

فيما يلي سأقدم لمحة عن الحلول الموجودة لمشكلة قابلية التشغيل المشتركة , أي الطرائق المتبعة لتحقيق تكامل المعلومات, مع مراعاة الترتيب الزمني لظهور هذه الحلول.

في البداية سأوضح بعض المصطلحات التي سأستخدمها في الحديث عن هذه الحلول :

* مصدر معلومات : أي شيء يمكن الحصول منه على معلومات : قاعدة بيانات علائقية أو ملف XML أو صفحة HTML.

* مصادر معلومات متباينة : مجموعة من مصادر المعلومات المختلفة نحوياً أو بنيوياً أو دلالياً (أو جميعها).

* نظام التكامل (التعاون) أو البيئة التكاملية (التعاونية) : هو النظام الذي يعمل على حل مشكلة تكامل المعلومات بين مصادر معلومات متباينة .. و كل من الحلول المقدمة أدناه هي عبارة عن الآلية التي سيعمل عليها نظام التكامل المقترح.

* مكونات نظام التكامل : مصادر المعلومات المتباينة التي ترغب في تشارك المعلومات فيما بينها من خلال نظام التكامل.

حلول تكامل المعلومات :

1) ترجمة قواعد البيانات (Database-Translation)

2) التقييس (Standardization)

3) القواعد المتعددة المعتمدة على اللغة (Language based Multi-Base)

4) التآلف (Federation)

5) التوسيط (Mediation)

6) الأونتولوجيا (Ontology)

7) خدمات الويب (Web Services)

تم تعديل هذه المشاركة بواسطة أبو خالد السوري في 28 مايو 2008 في 00:05

أبو خالد السوري

#4

1) ترجمة قواعد البيانات (Database-Translation) :

هذه الطريقة تستخدم المقابلة المباشرة للبيانات (data mapping) بين زوج من قواعد البيانات. و هي طريقة مناسبة في بيئة تحوي على عدد محدود من قواعد البيانات. و لكن في الحالات التي تتطلب التكامل بين عدد كبير من قواعد البيانات تصبح هذه الطريقة غير مجدية .. لأن عدد المترجمات المطلوبة يتناسب مع مربع عدد قواعد البيانات.

يبين الشكل التالي أن مجموعة جزئية من بيانات نظام المعلومات IS1 قد تُرجمت إلى مجموعة جزئية من بيانات نظام المعلومات IS2 , و بالعكس.

post-152370-1211922223_thumb.png

مرجع :

Yan L.L., Ling T.W. (1992). 
Translating Relational Schema With Constraints Into OODB Schema. 
In Proceedings of the IFIP WG2.6 Database Semantic Conference on Interoperable Database Systems (DS-5), Lorne, Victoria, Australia, pp 69-85, 16-20.

تم تعديل هذه المشاركة بواسطة أبو خالد السوري في 28 مايو 2008 في 00:17

أبو خالد السوري

#5

فتح الله عليك اخي ابو خالد ... يا دوب بدأت القراءة و لي عودة إن شاء الله

تم تعديل هذه المشاركة بواسطة بنت اليمن في 28 مايو 2008 في 00:42

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#6

2) التقييس (Standardization) :

هذه الطريقة تتطلب أن تستخدم جميع مكونات نظام التكامل (مصادر المعلومات) نفس النموذج أو المعيار (standard) لتمثيل البيانات و نفس طريقة الوصول (نفس لغة الاستعلام) ..

يجب أن يكون نموذج التمثيل القياسي مفهوماً و قادراً على مكاملة متطلبات نماذج المكونات المختلفة. إن استخدام نموذج قياسي يؤدي إلى تقليل عدد المترجمات المطلوبة لحل الاختلافات الدلالية بين المكونات بحيث يصبح متناسباً خطياً مع عدد المكونات , لكن يبقى بناء نموذج قياسي قابل للفهم أمراً صعباً و يتطلب لغات معالجة بيانات معقدة. في الشكل التالي المخطط الشامل المركزي هو عبارة عن تركيب البيانات الموجودة في نظامي المعلومات IS1 و IS2 .

post-152370-1211922902_thumb.png

مرجع :

P. Atzeni and R. Torlone. 
MDM: a multiple-data model tool for the management of heterogeneous database schemes. 
In Proceedings of ACM SIGMOD, Exhibition Section, pages 528--531, 1997. 73

أبو خالد السوري

#7

3) القواعد المتعددة المعتمدة على اللغة (Language based Multi-Base) :

يتألف نظام قواعد البيانات المتعددة المعتمدة على اللغة من تجمع ذو ارتباط ضعيف لقواعد بيانات .. تستخدم فيه لغة استعلام مشتركة للوصول إلى محتويات قواعد البيانات المساهمة. في هذه الطريقة و على عكس النظم الموزعة و المتآلفة , يقع عبء إنشاء مخطط متآلف على عاتق المستخدمين الذين يجب عليهم استكشاف و فهم دلالات قواعد البيانات البعيدة.

في الشكل التالي يتم الوصول إلى نظامي المعلومات SI1 و SI2 من خلال لغة استعلام مشتركة Q . هذه الطريقة ملائمة جداً لنظم المعلومات المعتمدة على نفس العائلة من نماذج البيانات, و لا تتطلب مترجمات معقدة للاستعلامات.

post-152370-1211924721_thumb.png

مرجع :

Keim D.A., Kriegel H.P., Miethsam A. (1994). 
Query Translation Supporting the Migration of Legacy Database into Cooperative Information Systems. 
In Proceedings of the 2nd International Conference on Cooperative Information Systems, p203-214

أبو خالد السوري

#8

و عليكم السلام

أخت Leavetrace أهلاً بك

لم أفهم سؤالك بشكل جيد ..

على كل حال : في السياق التي أتحدث فيه سيتم التركيز على إشكالية تباين المعلومات ..

على اعتبار أن إشكالية التوزع يمكن حلها من خلال موضوع الشبكات و الويب و البرمجيات الوسيطة Middleware

http://en.wikipedia.org/wiki/Middleware

و أن إشكالية عدم الاستقرار تتم دراستها من خلال موضوع الشبكات اللامركزية Peer-to-Peer

http://en.wikipedia.org/wiki/Peer-to-peer

أما إذا كنت تقصدين التنقيب في البيانات الموزعة (Distributed Data Mining)

فليس عندي فكرة عن هذا الموضوع , و لكن في هذا الرابط تجدين الكثير من المقالات عنه :

http://www.cs.umbc.edu/~hillol/DDMBIB/

أبو خالد السوري

#9

موضوع فى غاية الروعة ، ارجو ان تكمله ...

sigpic13832_4.gif

The best way to be ready for the future is to invent it

#10

4) التآلف (Federation) :

هذه الطريقة موجهة لمكاملة بنى البيانات (data structures) , إما على شكل مخطط تآلفي (ارتباط قوي) أو على شكل مجموعة من المناظير (views) التي تؤالف (reconcile) عدة نظم معلومات (ارتباط ضعيف) ..

يتألف النظام المتآلف من مجموعة من قواعد البيانات المتباينة و التي يصل فيها المستخدمون المتآلفون إلى البيانات و يعالجونها بشكل شفاف بدون معرفة مواقع البيانات. كل قاعدة بيانات تآلفية تضم مخطط متآلف يجمع المعطيات المُصدّرة من كل نظم المعلومات المساهمة أو من مجموعة جزئية منها.

post-152370-1212322857_thumb.png

أبو خالد السوري

#11

تسعى الطريقة التآلفية إلى تحويل الهيكلية التقليدية لقواعد البيانات المكون من ثلاث طبقات (داخلية, منطقية/مفاهيمية , خارجية) ..

http://en.wikipedia.org/wiki/ANSI-SPARC_Architecture

إلى هيكلية من خمس طبقات للسماح بالوصول إلى بيانات نظم معلومات متباينة و موزعة.

الطبقة الأولى (طبقة المخططات المحلية) (local schema) : تتضمن المخططات المحلية لكل نظام معلومات مساهم , كل مخطط محلي يكون ممثلاَ باستخدام نموذجه المحلي.

الطبقة الثانية (طبقة المخططات المكونة) (component schema) : في هذه الطبقة يتم التعبير عن كل مخطط محلي باستخدام النموذج المشترك للتآلف , باستخدام معالجات تحويل ملائمة لإنشاء المقابلات (mappings) اللازمة .

الطبقة الثالثة (طبقة مخططات التصدير) (export schema) : مجموعة من مخططات التصدير التي تقوم بتقديم المعلومات بصيغ مختلفة. كل مخطط تصدير هو مجموعة جزئية من المخطط المكون و التي يرغب نظام المعلومات بمشاركاتها مع الآخرين.

الطبقة الرابعة (طبقة المخططات التآلفية) (federated schema) : مجموعة من المخططات التآلفية الناتجة عن مكاملة مخططات التصدير مع بعضها و كل منها يكون موافقاً لمجال تطبيق ما.

الطبقة الخامسة (طبقة المخططات الخارجية) (external schema) : مجموعة من المناظير (views) فوق المخطط التآلفي من أجل تهذيبه بما يلائم فئات معينة من المستخدمين و/أو التطبيقات.

post-152370-1212325020_thumb.png

تعرف هذه الهيكلية ذات الطبقات الخمس باسم صاحبها Sheth (انظر المرجع [1] أدناه)

مراجع :

[1] Sheth A. and J. Larson. 
Federated Database Systems for Managing Distributed, Heterogeneous, and Autonomous Databases. 
ACM Computing Surveys, Vol. 22, No. 3, pages 183--236, 1990.

[2] http://en.wikipedia.org/wiki/Federated_database

تم تعديل هذه المشاركة بواسطة أبو خالد السوري في 1 يونيو 2008 في 16:01

أبو خالد السوري

#12

تركز طريقة التآلف على مشاكل تكامل المخططات التي تمر عبر حل نزاعات البيانات. النزاعات البنيوية تكون صريحة في مخططات التصدير المختلفة بينما تبقى النزاعات الدلالية ضمنية و ينبغي أخذها بالحسبان عند التكامل.

هناك نوعان من التآلف :

التآلف ذو الارتباط القوي (المحكم) ( tightly coupled federation) :

الذي يعتمد على مخطط تآلفي شامل يضم كل المخططات المساهمة , و الذي يبنى و يصان من قبل مدير التآلف.

التآلف ذو الارتباط الضعيف ( loosely coupled federation) :

يعتمد على مخطط تآلفي واحد أو أكثر يتم إنشاؤه(ـها) من قبل المستخدمين المحليين أو مدراء قواعد البيانات المحلية لغايات محددة. يستخدم هذا النوع من التآلف لغة لعدة قواعد (multi-base language) لمكاملة و تجميع المعلومات الموجودة في مخططات التصدير.

أبو خالد السوري

#13

التآلف ذو الارتباط القوي :

الغاية هي بناء مخطط تآلفي يكامل مختلف مخططات التصدير لنظم المعلومات . يقوم المستخدمون بتحديث هذا المخطط التآلفي و توجيه استعلاماتهم إليه. بشكل عام تتبع هذه الطريقة بنية الطبقات الخمسة (Sheth). يحل المخطط التآلفي جميع النزاعات النحوية و البنيوية : نموذج واحد و تمثيل واحد للمعلومات الرابطة للبيانات الموزعة و المتباينة .. و يحل أيضاً بشكل ضمني النزاعات الدلالية : المخطط التآلفي يمثل تنظيم المعلومات من أجل مجال تطبيق معين.

الخطوات اللازمة لإنشاء المخطط التآلفي هي :

1) اختيار المخططات التي ستتم مكاملتها و الترتيب الذي ستتم مكاملتها فيه

2) مقارنة دلالات و بنية هذه المخططات

3) حل نزاعات البيانات التي يتم الكشف عنها

4) دمج المخططات مع أخذ النزاعات بعين الاعتبار

5) إعادة هيكلة مخطط التكامل بما يناسب الاحتياجات التي يحددها المستخدمين

يقتضي التكامل أيضاً توليد معلومات المقابلة (mapping) بين كائنات المخطط التكامل و بين كائنات مخططات المصادر المختلفة. إذاً تكامل المخططات هو خطوة ثقيلة جداً و تتطلب معرفة دقيقة بمعلومات النظم التي ستتم مكاملتها. إن المخطط التآلفي يكون عادة موجهاً لمجال معين و بالتالي طريقة بناءه الستاتيكية قد تقتضي إعادة بناء المخطط عند إضافة مصدر جديد.

كمثال عن النظم المعتمدة على التآلف ذو الارتباط القوي : النظام MIND

METU INteroperable DBMS

[1] Asuman Dogac, Cevdet Dengi, Ebru Kilic, Gökhan Özhan, Fatma Ozcan, Sena Nural, Cem Evrendilek, Ugur Halici, Ismailcem Budak Arpinar, Pinar Koksal, Sema Mancuhan.
A Multidatabase System Implementation on CORBA. 
RIDE-NDS 1996: 2-11

[2] Asuman Dogac, Ugur Halici, Ebru Kilic, Gökhan Özhan, Fatma Ozcan, Sena Nural, Cevdet Dengi, Sema Mancuhan, Ismailcem Budak Arpinar, Pinar Koksal, Cem Evrendilek.
METU Interoperable Database System. 
SIGMOD Conference 1996: 552

أبو خالد السوري

#14

التآلف ذو الارتباط الضعيف :

الغاية منه مكاملة معلومات النظم المختلفة وفقاً للظروف و بحسب الاحتياجات. و يعتمد على لغة لعدة قواعد (multi-base language) التي تسمح إما باستعلام عدة نظم في نفس الوقت, أو بتعريف مناظير (views) على عدة نظم. المنظور يوفر واجهة وصول تقوم بتقنيع (masking) مجموعة معارف ( على شكل قواعد مقابلة (mapping rules) و قواعد استنتاج deductive rules و استعلامات) بهدف إنشاء روابط بين المفاهيم الموصوفة في المنظور و بين بيانات المصادر المختلفة. تمتلك هذه اللغة متعددة القواعد مجموعة من المصطلحات الأساسية (primitives) التقليدية لمعالجة البيانات مرتبطة بمصطلحات أساسية موجهة للطابع الموزع و المتباين للمعلومات . هذه المصطلحات الأساسية الخاصة تسمح بـ :

1) تحديد مواضع المعلومات بدقة

2) تطبيق دوال لتحويل البيانات

3) تركيب بيانات قادمة من وجهات مختلفة

إن إضافة أو حذف مصادر معلومات يتطلب تحديث قواعد البناء هذه , و هذه العملية بشكل عام أسلس من مكاملة المخططات. لكن طـُـواعية (Scalability) هكذا طريقة ضعيفة نوعاً ما , إذ أن عدد قواعد البناء يزداد بازدياد عدد المخططات قيد المكاملة.

كمثال عن النظم المعتمدة على التآلف ذو الارتباط الضعيف :

النظام Garlic

http://www.almaden.ibm.com/cs/garlic/homepage.html

IBM Almaden Research Center

 [1] Michael J. Carey, Laura M. Haas, Peter M. Schwarz, Manish Arya, William F. Cody, Ronald Fagin, Myron Flickner, Allen W. Luniewski, Wayne Niblack, Dragutin Petkovic, John Thomas, John H. Williams and Edward L. Wimmers 
Towards Heterogeneous Multimedia Information Systems: The Garlic Approach 
In Proceedings of the Fifth International Workshop on Research Issues in Data Engineering(RIDE): Distributed Object Management. 1995

[2] W.F. Cody, L.M. Haas, W. Niblack, M. Arya, M.J. Carey, R. Fagin, D. Lee, D. Petkovic, P.M. Schwarz, J. Thomas, M. Tork Roth, J.H. Williams and E.L. Wimmers 
Querying Multimedia Data from Multiple Repositories by Content: The Garlic Project.
IFIP 2.6 Third Working Conference on Visual Database Systems (VDB-3), March, 1995 Lausanne, Switzerland.

تم تعديل هذه المشاركة بواسطة أبو خالد السوري في 2 يونيو 2008 في 15:54

أبو خالد السوري

#15

السلام عليكم ..

حياك الله اخي ابو خالد ... موضوع جميل ...

لكن ما زالت بعض النقاط غامضة عليّ في الموضوع بشكل عام ... ارجوا ان تعذر اسألتي فانا جديده على الموضوع .. :)

كبداية ... و حتى افهم موضوع فائدة تكامل المعلومات بشكل واضح ... لدي هذا التسائل ...

لنفترض ان لدي منتديين .. منتدى الفريق العربي (هذا نظام المعلومات A) و منتدى اخر (و هذا نظام المعلومات B) ..

و انا اعرف ان هناك العديد من الاشخاص المشتركين في كلى المنتدين (النظامين ) ..

هل استطيع تطوير نظام واحد يربط المنتدين (integration) بحيث ان المشترك يدخل كلمة مرورة مرة واحده .. و يقوم النظام بإعادة بياناته من كلى المنتدين A and B

الى هذا النظام ؟ و كيف ؟

هذا كبداية و اتمنى ان يطول النقاش حتى يتم اثراء الموضوع ..

و جزاك الله كل الخير اخي ابو خالد

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#16

أهلاً بك مجدداً أخت بنت اليمن ..

و شكراً لك على طرح السؤال ..

اقتباس
هذا كبداية و اتمنى ان يطول النقاش حتى يتم اثراء الموضوع ..

بالفعل , أتمنى من جميع قارئي هذا الموضوع طرح أي أسئلة أو استفسارات تخطر ببالكم عن هذا الموضوع ..

فكما هو واضح الأسلوب السردي الذي أتبعه جاف و ممل .. و بالتالي الأسئلة تؤدي إلى نقاش و النقاش يؤدي إلى إثراء الموضوع و إغنائه بوجهات النظر المختلفة ..

أبو خالد السوري

#17
بنت اليمن كتب:
هل استطيع تطوير نظام واحد يربط المنتدين (integration) بحيث ان المشترك يدخل كلمة مرورة مرة واحده .. و يقوم النظام بإعادة بياناته من كلى المنتدين A and B

الى هذا النظام ؟ و كيف ؟

تماماً هذه هي الغاية من تكامل المعلومات .. إيجاد نظام متكامل للوصول إلى بيانات موزعة و متباينة ..

في الشكل التالي يقوم المستخدم باستعلام نظامين مختلفين :

كل نظام معلومات يتكون بشكل رئيسي من مكونين أساسيين : المكون الوظيفي : التطبيق , و مكون المعلومات : قاعدة بيانات ( في هذا المثال : النظام الأول يتكون من التطبيق ArabTeam و قاعدة البيانات DB A و النظام الثاني يتكون من التطبيق XYZ و قاعدة البيانات DB B )

في هذه الحالة يقوم المستخدم باستعلام كل من النظامين على حدا و بطريقة مختلفة

إذاً أولاً ليس هناك أي ارتباط بين النتائج التي يحصل عليها من كلا النظامين ..

و ثانياً قد يتوجب عليه استخدام لغات استعلام مختلفة : مثلاً SQL لقواعد البيانات العلائقية و XQuery لملفات XML.

حتى لو كان كلا النظامين يستخدمان قواعد بيانات علائقية و لكن بنظم إدارة قواعد بيانات مختلفة (Oracle و MySQL مثلاً) فسيتوجب على المستخدم استخدام نسخ مختلفة من نفس اللغة (ٍِSQL في Oracle تختلف نحوياً (syntax) عن SQL في MySQL ) ..

post-152370-1212706678_thumb.png

أما في الشكل التالي , فقد تمت الإستعاضة عن التطبيقين ArabTeam و XYZ بنظام تكاملي جديد يتيح للمستخدم استعلام كلا قاعدتي البيانات DB A و DB B بشكل موحد : تطبيق واحد و لغة استعلام واحدة ..

إذ أن النظام التكاملي يحوي على مخطط واحد ينتج عن مكاملة / دمج مخططي قاعدتي البيانات .. و بالتالي يقوم المستخدم بكتابة استعلاماته بالاعتماد على هذا المخطط (باستخدام لغة استعلام متفق عليها) ..

و من ثم تقع على عاتق النظام التكاملي مهام : (1) تفكيك هذا الاستعلام إلى استعلامين جزئيين (كل واحد يتعلق بقاعدة بيانات) و (2) ترجمة كل منهما إلى لغة الاستعلام المحلية الخاصة بقاعدة البيانات المتعلق بها .. و من ثم (3) تركيب النتائج للحصول على إجابة موحدة يعيدها للمستخدم ..

post-152370-1212706684_thumb.png

إذاً كما هو ملاحظ من السياق : ما نتكلم عنه هو تكامل نظم المعلومات على مستوى المعلومات (البيانات) و ليس على مستوى الوظائف (العمليات / التطبيق) .. و لهذا كان عنوان الموضوع تكامل المعلومات و ليس تكامل نظم المعلومات (الذي يتضمن تكامل التطبيقات) ..

أبو خالد السوري

#18

أما بخصوص كيفية تطوير نظام التكامل فيتم من خلال تطبيق إحدى طرائق التكامل السبعة التي كنت أتحدث عنها (و سأتابع إن شاء الله) :

1) ترجمة قواعد البيانات (Database-Translation)

2) التقييس (Standardization)

3) القواعد المتعددة المعتمدة على اللغة (Language based Multi-Base)

4) التآلف (Federation)

5) التوسيط (Mediation)

6) الأونتولوجيا (Ontology)

7) خدمات الويب (Web Services)

لنأخذ مثلاً طريقة التآلف ذو الارتباط القوي, فكما ذكرت يتم بناء المخطط التكاملي من خلال خمس خطوات :

1) اختيار المخططات التي ستتم مكاملتها و الترتيب الذي ستتم مكاملتها فيه

2) مقارنة دلالات و بنية هذه المخططات

3) حل نزاعات البيانات التي يتم الكشف عنها

4) دمج المخططات مع أخذ النزاعات بعين الاعتبار

5) إعادة هيكلة مخطط التكامل بما يناسب الاحتياجات التي يحددها المستخدمين

الشكل التالي يبين هذه الخطوات :

post-152370-1212708513_thumb.png

إذاً حجر الأساس في تطوير نظام تكامل هو بناء المخطط التكاملي (و هي الخطوة الأصعب و الأهم) ..

أما ما تبقى فهو تطوير الوظائف الخاصة بتفكيك الاستعلامات و ترجمتها و تركيب النتائج ..

هذه الوظائف تعتمد على معلومات المقابلة (mapping) بين كائنات المخطط التكاملي و بين كائنات مخططات المصادر المختلفة .. هذه المقابلات يتم تسجيلها أثناء بناء المخطط التكاملي ..

في المقالة التالية هناك مثال عملي عن كل ما ذكرته :

S. Nural, P. Koksal, F. Ozcan, A. Dogac
Query Decomposition and Processing in Multidatabase Systems
in proc. of the Intl. Conf. on Eng. Systems Design & Analysis, Montpellier, July 1996.

nural96.rar

الشكل التالي يبين مخططات قواعد البيانات الثلاث المختلفة (Oracle و Sybase و AdabasD) المستخدمة في المثال بالإضافة إلى المخطط التكاملي الناتج عن دمجها :

post-152370-1212708645_thumb.png

أبو خالد السوري

#19

ما شاء الله اخي ابوخالد ... فتح الله عليك ..

شرح و لا اروع (من اجمل ما قرأت)...

الموضوع (كيفية الاستعلام من المصادر المختلفة) هو بالضبط ما ابحث عنه منذ فترة ..

جاري القراءة و التجربة ... ثم العودة إن شاء الله ...

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#20

حياك الله اخي الخبير ..

الآن لدي تساؤل ... ما هي علاقة الـ Portals (اقصد Enterprise Information Portal ) بتكامل البيانات ؟؟

هل تعتبر الواجهة التي نبنيها (لإسترجاع البيانات من مصادر مختلفة) عبارة عن Portal ؟؟

تم تعديل هذه المشاركة بواسطة بنت اليمن في 6 يونيو 2008 في 23:11

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#21

السلام عليكم :

بصراحة أول مرة اسمع عن الـ Enterprise Informatoin Portal و ليس عندي أي فكرة مسبقة عنه ..

بالعودة إلى wikipedia يبدو لي أنها إحدى الحلول الجاهزة لمشكلة تكامل المعلومات (و التطبيقات) ..

http://en.wikipedia.org/wiki/Enterprise_information_portal

و لكن من غير الواضح ما هي الطريقة التي تتبعها من أجل مكاملة المعلومات ..

و على الأغلب أنها الطريقة التآلفية .. و ذلك بالعودة إلى كتاب The IBM Enterprise Information Portal, A Practical Approach

http://www.redbooks.ibm.com/redbooks/pdfs/sg246101.pdf

الصفحة 7

اقتباس
هل تعتبر الواجهة التي نبنيها (لإسترجاع البيانات من مصادر مختلفة) عبارة عن Portal ؟؟

بالأحرى الـ Portal هو الواجهة المبنية لإسترجاع البيانات من مصادر مختلفة ..

هذه الواجهة قد تكون أي تطبيق مناسب , و ليس من الضروري أن تكون EIP ..

ملاحظة أخرى : نظم الـ EIP و الـ ERP موجهة لمكاملة المعلومات داخل نطاق المؤسسة Enterprise

في حين أن الطرق التي أتحدث عنها أكثر عمومية و لا تتقيد بتكنولوجيا محددة و تصلح لمكاملة المعلومات بين المؤسسات المختلفة ..

و الله أعلم ..

على كل حال أرجو ممن لديه معرفة جيدة بنظم الـ Enterprise Informatoin Portal أن يحدثنا عنها ..

عسى أن نستفيد جميعاً و نثري الموضوع ..

أبو خالد السوري

#22

اشكرك جزيل الشكر اخي ابوخالد على اهتمامك ... يبدو اني شغلت من وقتك الكثير ، فجزاك الله عني خير الجزاء :)

موضوع الـ Portal مر ببالي بسبب مادة اخذتها مؤخراً في الماجستيرفي اساسيات نظم المعلومات ...

و الموضوع مر ببالي لاني اريد ان اعرف خطوات ربط الانظمة المختلفة ..

التصور الذي لدي هو :

1- لابد ان يكون لدي حق الوصول الى هذه الانظمة (كلمة مرور و صلاحيات)

2- المعرفة بهيكلة و نوع فواعد البيانات المستخدمة Schema

3- وضع خطة لنوع البيانات المطلوب ارجاعها

4- اخيراً ، عرض هذه البيانات في Portal

ارجوا ان تصوبني ان كنت على الخطأ في ترتيب الخطوات السابقة ...

و سأحاول إن شاء الله العودة لاحقاً بمعلومات جميلة حول EIP

سلامي

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#23

في البداية و لكي تتوضح الصورة تماماً , ما نقصده هنا من ربط الأنظمة المختلفة هو إمكانية الحصول على معلومات مركبة من هذه الأنظمة ..

أي عندما أعطي استعلام لنظام متكامل أتوقع الحصول على نتيجة مركبة من بيانات النظم المختلفة و ليس عدة نتائج من كل نظام على حدا ..

هذه العملية تشبه إلى حد بعيد عملية الربط (join) بين عدة جداول في قاعدة بيانات .. حيث البيانات الناتجة تكون مركبة من بيانات الجداول المرتبطة ..

إلا أننا في تكامل المعلومات نتحدث عن ربط (join) لبيانات قادمة من عدة قواعد بيانات ..

الآن بالنسبة للتصور الذي وضعتيه .. فقد نسيتِ أهم نقطة و هي عملية تركيب البيانات و بالتالي الحاجة إلى مخطط تكاملي (Integrated Schema) ..

لذا اقترح مبدئياً التعديل التالي على خطوات بناء نظام متكامل (قابلة للتعديل فيما بعد) :

1- لابد ان يكون لدي حق الوصول الى هذه الانظمة (كلمة مرور و صلاحيات)

2- المعرفة بهيكلة و نوع قواعد البيانات المستخدمة Schema

3- بناء مخطط (schema) يكامل المخططات المحلية من خلال حل النزاعات بينها ..

4- إنشاء المقابلات (mappings) اللازمة بين المخطط التكاملي و المخططات المحلية ..

5- تطوير برامج خاصة للمهام التالية :

- تفكيك الاستعلام العام إلى استعلامات جزئية كل منها سيتم توجيهه إلى نظام محلي .. (هذا البرنامج سيكون جزءاً من النظام التكاملي)

- ترجمة كل استعلام جزئي من النموذج (التمثيل) التكاملي إلى النموذج (التمثيل) المحلي .. (هذا البرنامج سيكون جزءاً من النظام المحلي)

- تركيب نتائج الاستعلامات الجزئية للحصول على نتيجة واحدة متناسقة .. (هذا البرنامج سيكون جزءاً من النظام التكاملي)

هذه البرامج تعتمد بشكل رئيسي على المقابلات بين المخطط التكاملي و المخططات المحلية ..

-----------------------

لنتذكر الخطوات التي قمنا بها المرة الماضية (المشاركة رقم 20) لبناء المخطط التكاملي ..

و لنرى الآن ماذا يجري بعد ذلك بالنسبة للاستعلامات ..

يقوم المستخدم بطرح استعلامه إلى النظام التكاملي بدلالة المخطط التكاملي ..

يقوم النظام التكاملي بتفكيك الاستعلام إلى مجموعة من الاستعلامات الجزئية , كل منها مصاغ بدلالة المخطط التكاملي , ثم يقوم بتوجيه كل منها إلى النظام المحلي الخاص بها .. عملية التفكيك هذه تتم بمعونة معلومات المقابلات (mapping information) المخزنة في النظام التكاملي و الناتجة أصلاً عن بناء المخطط التكاملي ..

post-152370-1212877753_thumb.png

عندما يستقبل النظام المحلي الاستعلام الخاص به يقوم أولاً بترجمته إلى استعلام مصاغ بدلالة المخطط المحلي باستخدام المقابلات الفعلية المخزنة في النظام المحلي ..

ثم يقوم بالإجابة عن هذا الاستعلام الأخير في مصدر المعلومات المحلي (نموذجياً قاعدة بيانات .. و لكن بشكل عام قد يكون أي مصدر آخر مثل ملفات XML)

الإجابة الناتجة يتم إرجاعها إلى النظام التكاملي الذي يقوم بتركيبها مع الإجابات الأخرى القادمة من مختلف النظم المحلية الأخرى ..

ثم تتم صياغة النتيجة المركبة بدلالة المخطط التكاملي .. و من ثم إعادتها للمستخدم .. (و الحمد لله على وصولها بالسلامة :) ) ..

post-152370-1212877761_thumb.png

تم تعديل هذه المشاركة بواسطة أبو خالد السوري في 8 يونيو 2008 في 01:53

أبو خالد السوري

#24

قبل ورود سؤال جديد, سأغتنم الفرصة لمتابعة الحديث عن طرق التكامل و قد وصلنا إلى الطريقة الخامسة ..

5) التوسيط (Mediation) :

طريقة التوسيط هي امتداد للطرق التآلفية من أجل الحصول على شفافية أفضل و بحيث تكون ملائمة لبيئة ديناميكية :

عدد كبير من نظم المعلومات

تعديل متكرر في نظم المعلومات

إضافة و حذف ديناميكيين لنظم المعلومات.

تهدف طريقة التوسيط لإضفاء على نظم تكامل المعلومات شفافية طريقة التآلف ذو الارتباط القوي و مرونة طريقة التآلف ذو الارتباط الضعيف.

يعتمد التوسيط على مكونين أساسيين :

الموسّط ( mediator ) :

و يستخدم لإنشاء و دعم عرض متكامل للبيانات من مصادر متعددة و بالتالي فهو المسؤول عن تحديد مواقع نظم المعلومات و ما هي المعلومات المناسبة المطلوب مكاملتها . يقوم الموسط بحل نزاعات البيانات بشكل شفاف من خلال دعم وظائف وصف و تبسيط و اختصار و تركيب البيانات الموزعة.

يقوم الموسط أيضاً بتوفير عدة خدمات لدعم عملية الاستعلام, و يمكن أن يتعاون مع موسطات أخرى لتفكيك الاستعلام إلى استعلامات جزئية , و لذا فهو بحاجة لمجموعة من المعارف (قاعدة معارف knowledge base) تسمح له بتوليد خطة تنفيذ لمعالجة الاستعلام بمساعدة لغة توسيط. خطة التنفيذ تعتمد عادة على مواقع مصادر المعلومات المساهمة في التعاون.

يؤدي الموسط دور واجهة بين مستخدمي التعاون و بين المعلومات المتشاركة.

المغلّف (wrapper) :

و هو أداة تسمح لموسط أو أكثر بالوصول إلى محتوى مصدر معلومات, و بالتالي هو المسؤول عن توفير الوظائف الأساسية للوصول إلى البيانات. يتركز دوره على حل النزاعات النحوية . يربط المغلف بين التمثيل المحلي للمعلومات (قواعد البيانات المحلية) و بين تمثيلها في نموذج التوسيط (نموذج بيانات تآلفي مشترك).

post-152370-1212881057_thumb.png

هيكلية الموسط / المغلف النموذجية مبينة في الشكل التالي, و هي هيكلية مكونة من ثلاث طبقات :

الطبقة الأولى تتعلق بنظم المعلومات المحلية

الطبقة الثانية تضم كل الأدوات و المعارف اللازمة لتفسير المصادر

الطبقة الثالثة تتعلق بالتطبيقات

post-152370-1212881067_thumb.png

اقترح Buneman في[3] لغة توسيط قياسية تتجلى فيها ضرورة تمثيل البيانات المركبة و شبه المهيكلة و تبادل المعلومات بمعونة عدة أنواع من القواعد (rules) ( قيود , استعلامات , ترجمة , مقابلة , تكامل , ...) و تبادل المعلومات الفائقة (meta-information) من أجل تحسين عملية التوسيط.

مراجع

 
[1] G. Wiederhold, 
Mediators in the architecture of future information systems
IEEE Comput., March 1992.
[2] G. Wiederhold, 
Interoperation, Mediation and Ontologies
presented at International Symposium on Fifth Generation Computer Systems (FGCS94), Tokyo, Japan, 1994. 
[3] P. Buneman, L. Raschid, and J. Ullman, 
Mediator Languages:A Proposal for a Standard
SIGMOD Record, vol. 26, no. 7, July 1997, pp. 39--44.

تم تعديل هذه المشاركة بواسطة أبو خالد السوري في 8 يونيو 2008 في 02:35

أبو خالد السوري

#25

السلام عليكم

اخي ابو خالد ... اريد ان اسألك اذا مر معاك مواضيع ذات صلة بتكامل المعلومات تصلح كمشاريع تخرج ..

حالياً احضر لمشروع تخرجي .. و كنت ناوية اعمل ربط لبرنامجين LMS - Learning Management Systems بين جامعتين

منفصلتين ... لكن مع الوقت طلعت عندي عقبات كثيرة جداً .. مثل صلاحية المرور و معرفة هيكلة قواعد البيانات .. الخ

الآن افكر في البحث عن موضوع اخر .. ما ادري ..

اخيراً اعتقد ان الموضوع يجب ان يكون ضمن المواضيع المميزة التي تمر في اعلى الصفحة في الشريط الاحمر ..

يندر ان نجد موضوعاً كهذا في منتدياتنا .. :)

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

مواضيع مشابهة