الأحد، 22 أغسطس 2010

خدمات الاتصال بالأعمال BCS ضمن الشيربوينت 2010 - الجزء الثالث والأخير

الجزء الاول - الجزء الثاني - الجزء الثالث

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

أما الآن فقد آن الأوان لنتحدث عن "نوع المحتوى الخارجي" أو "External Content Type" والذي هو المحور الأساس لخدمة BCS, والذي هو ببساطة عبارة عن بيانات وصفية تعمل على خلق العلاقة بين الشيربوينت ومصادر البيانات الخارجية. تحتوي البيانات الوصفية على معلومات مثل بيانات الاتصال وتعريف البيانات المطلوبة وكذلك العمليات التي نرغب بتطبيقها على بيانات الأعمال. "نوع المحتوى الخارجي" يتيح لنا فرصة إدارة وإعادة استخدام هذه البيانات الوصفية والعمليات المصاحبة لها من مكان مركزي.

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

الآن يمكن إنشاء "نوع محتوى خارجي" وإعداده ليكون قادرا على قراءة البيانات من مصدر البيانات الخارجي (على سبيل المثال SAP او Peoplesoft), ومن ثم ربط جداول مصدر البيانات الخارجي مع outlook. مع هذه الإعدادات يمكن استعراض البيانات كقائمة خارجية وبنفس الوقت يمكن استعراضها من داخل Outlook بدون وجود اتصال مع مصدر البيانات offline.
"نوع المحتوى الخارجي" يوفر للمطورين بعض الفوائد الرائعة والتي نذكر منها:

1- إمكانية إعادة استخدام أنواع المحتوى الخارجية عبر مواقع الشيربوينت وأنظمة الأوفيس.
2- يمكن البرمجة ضمن BCS APIs لإنشاء تطبيقات متقدمة.
3- ضمان الوصول الآمن ضمن الصلاحيات المحددة على جميع عمليات الـ BCS.
4- إمكانية البحث داخل أنظمة LOB ومشاهدة النتائج ضمن صفحة نتائج البحث الخاصة بالشيربوينت
5- تسهيل إدارة مصادر البيانات الخارجية عبر استخدام أنواع المحتويات الخارجية.

في الإصدار 2007 من الشيربوينت كان هناك ملف يسمى ADF وهذا الملف هو المسئول عن إعدادات الاتصال مع أي مصدر خارجي, في الإصدار الحالي 2010 يعتبر "نوع المحتوى الخارجي" هو الإصدار المطور من ملف ADF, حيث تم تطوير ملف ADF ليحتوي على عمليات أكثر والتي يمكن تعريفها بأنظمة البيانات الخارجية وكذلك من التطويرات على هذا الملف إمكانية استخدام "نوع المحتوى الخارجي" مع "القائمة الخارجية" وكذلك مع تطبيقات الأوفيس.

الشكل بالأسفل يمثل نظرة عامة حول العناصر الأساسية لنمذجة البيانات الوصفية لأنواع المحتويات الخارجية, والعناصر الأساسية هي كالتالي:


1- LobSystem : وهو ما يمثل مصدر البيانات الخارجية أو خدمة الويب, أو النظام المراد الاتصال به.
2- LobSystem Instance : وهو ما يمثل المحتوى والبناء لـ LobSystem.
3- Entity : يوضح الـ Entity هيكل الكائن حيث تحتوي على واحدة أو أكثر من Methods, بالإضافة للحقول (TypeDescriptors) وكذلك المعرف المميز Unique Identifier.
4- Method: هنا يتم وصف الـ Method المسئولة عن تنفيذ عمليات معينة ومن الممكن أن تحتوي على filters أو عمليات لتصفية النتائج ويتم تعريفها من خلال FilterDescriptor.
5- Parameter: يمكن تعريف المتغيرات عبر استخدام TypeDescriptor و DefaultValues.
6- AssociationGroup: وهنا يمكن تعريف العلاقات بين الأنظمة الخلفية المستخدمة.
الكود التالي يوضح شكل البيانات الوصفية لنوع محتوى خارجي:

نلاحظ بالكود بالأعلى وجود نظام LOB وحيد تم تعريفه, والذي تم تسميته BusinessDataCatalog1LobSystem1. كما يمكن استنتاج أن نوع المحتوى الخارجي بالأعلى تم إنشاءه باستخدام VS 2010 حيث يظهر النوع هو DotNetAssembly. كذلك يمكن ملاحظة وجود Entity واحدة والتي هي Product.

عنصر هام أخر تم تعريفه في الكود بالأعلى وهو Method والتي تدعى FindAllEntities والتي تعد المكافئة لعبارة SELET * المستخدمة ضمن SQL, وبذلك إذا أنشئنا قائمة خارجية ضمن الشيربوينت فإن هذه القائمة ستحتوي على جميع السجلات ضمن مصدر البيانات الخارجي.

الأمر الأخير الذي يجب التنويه عنه ضمن الكود بالأعلى هو أن كل سجل معين ضمن مصدر البيانات الخارجية تم تعريفه هنا على أساس انه TypeDescriptor وبالتدقيق داخل هذا القسم من نوع المحتوى الخارجي سنلاحظ وجود 3 حقول والتي هي ID و Manufacturer و Name.

يتحتم على مطور البرمجيات المسئول عن التطوير على "نوع المحتوى الخارجي" أن يفهم البيانات الوصفية الواردة في الكود بالأعلى, حيث تتطلب بعض الظروف معالجة هذا الكود بشكل يدوي لحل بعض المشكلات.

أخيرا البداية الجيدة في هذا المجال يمكن أن تكون من خلال الشيربوينت ديزاينر 2010 حيث يمكن إنشاء "نوع محتوى خارجي" ببساطة, حيث يعمل الشيربوينت ديزاينر 2010 على تبسيط العديد من الأمور حول بيانات ملف XML الخاص بنوه المحتوى الخارجي.

ليست هناك تعليقات: