Ahmed Aljaberi
Ahmed Aljaberi

@ahmed_aljabri

10 تغريدة 3 قراءة Jan 20, 2023
سأبدأ بالمرجع الأساسي و هو كتاب اُلف في بداية الالفينيات اسمه Enterprise Integration Patterns احصى مؤلفيه 65 نمط تصميم و قسموها إلى 9 مجموعات. اغلب ادوات الIntegration تكون متضمنة لأغلب تلك الPatterns و تظهرها كأنها Features للمنتج مما يجعلك لا تهتم لها.
مؤلفي الكتاب تأثروا بكتاب Martin Fowler Patterns of Enterprise Application Architecture و شجعهم على تأليف كتابهم. و كتاب Fowler أساس للApplication Architectures.
التعامل المباشرة مع أدوات الIntegration بدون فهم للأساسيات بعيداً عن الأدوات, اشبه بمن يعمل على برنامج محاسبة و هو ليس بمحاسب اصلاً. هل سيعمل؟ ممكن. لكن يكون واعياً بالطريقة الصحيحة او المثلى لمعالجة العمليات الحسابية.
نفس الشيء مع ادوات الIntegration فالجزء النظري العام مهم و يساعدك في اختيار الأداة المناسبة التي تتلائم مع عملك دون الحاجة إلى ان تأخذ افضل ما في السوق كالذي تصطفيه Gartner او Forrester و غيرها. ستختار ما يناسب عملك و ميزانيتك.
الأنظمة الكبيرة و الضخمة لا تختلف في اكوادها عن الانظمة الصغيرة, لكن التضخم يكون في الArchitecture و كيف تتخاطب تلك الانظمة الصغيرة مع بعضها و كيف يمكننا تضمين المزيد و المزيد من تلك الأنظمة الصغيرة بداخل تلك الArchitecture بسهولة.
الحاجة لوجود Integration platform سببها التعقيد المصاحب لتكامل الأنظمة و الحاجة للتحكم به و مراقبته. ايضاً هناك الكثير من الصيّغ و المعايير المختلفة لشكل البيانات و لا يوجد حل سحري آني لتلك المشاكل بل تحتاج المؤسسات لبناء و تطوير خطتها الاستراتيجية للتكامل مع يتوافق مع اهدافها.
اذا اردت تعلم اساسيات الIntegration و الIntegration Patterns ابدأ بتعلم شيء مثل الBPM و تعلم الـ BPMN فهي ما ترتب أفكارك و تفيدك في مناحي الحياة العملية و هندسة الأجراءات حتى بعيداً عن الIT. كثير من الأدوات الخاصة بالIntegration تستخدم نفس رموز BPMN كما في جزئية الOrchestration.
كوظيفة قد يكون المسمى Integration Engineer و هو الشخص المسؤول في المؤسسة عن تصميم و تنظيم حركة مرور كل البيانات من نظام إلى اخر و طريقة انسيابها و تخاطبها مع بعضها بصورة سليمة بالإضافة إلى الاختبار و التحكم و المراقبة لتخرج منها بInsights كثيرة مهمة لتطوير العمل.
بالنسبة للمبرمجين وجود Integration Engineer معهم يساعدهم كثيراً في تطوير انفسهم و برامجهم , يجهز لهم ما يحتاجونه للعمل مع معماريات مثل الSOA او الMicroservices
يساعدهم في تطبيق الEvent Driven Architecture و التعامل مع الِAPIs الخارجية المختلفة عبر نقطة و صيغة واحدة من خلال الESB.
بالسنبة للأدوات ابدأ باستخدام اداة Open Source مثل Apache Camel و هو ما بنت عليه RedHat منتجها الخاص بالAPI Management المسمى 3scale. فحتى لو كانت اداة المستقبل لم تبنى على Apache Camel فستجد انها اصبحت مألوفة لديك.
كانت هذه سلسلة تثقيفية قد تتبعها اخرى و أعتذر على الإطالة.

جاري تحميل الاقتراحات...