ما المقصود بناقل خدمة المؤسسة (ESB)؟
ناقل خدمة المؤسسة (ESB) هو نمط بنيوي برمجي يتيح تبادل البيانات في الوقت الفعلي بين التطبيقات المختلفة. تمتلك المؤسسات الكبيرة تطبيقاتٍ متعددةً تؤدي وظائف متنوعة باستخدام نماذج بيانات وبروتوكولات وقيود أمان متنوعة. يعمل ناقل خدمة المؤسسة (ESB) على تسهيل تكامل التطبيقات من خلال إجراء عمليات مثل تحويل البيانات وتحويل البروتوكول وتوجيه الرسائل. تمرّر التطبيقات البيانات ذات الصلة إلى ناقل خدمة المؤسسة (ESB)، وتحوّل البيانات وتعيد توجيهها إلى التطبيقات الأخرى التي تحتاج إليها.
ما مزايا ناقل خدمة المؤسسة؟
يمكن لمفهوم ناقل خدمة المؤسسة (ESB) توحيد وتبسيط الاتصال والمراسلة والتكامل بين الخدمات عبر المؤسسة. بعد ذلك، نقدم بعض المزايا المتعلقة بعمليات تنفيذ بنية ESB صغيرة الحجم.
تحسين تكامل التطبيقات
يوفر ESB منصةً مركزيةً لتكامل تطبيقات المؤسسة. يمكن للمؤسسات دمج جميع أنواع الأنظمة والتطبيقات بسلاسة، بصرف النظر عن التقنيات أو البروتوكولات الأساسية. وهذا ييسّر على المؤسسات صيانة تطبيقاتها وإدارتها وتوسعة نطاقها.
زيادة كفاءة المطورين
يقوم المطورون ببناء التطبيقات بشكل أسرع باستخدام خدمات الاتصالات مسبقة الإنشاء التي توفرها ESB. تشترك الفرق في تكاليف البنية التحتية وتوفير الخوادم للاستخدام المشترك. إنها تقلل النفقات العامة والتكاليف التشغيلية وفي الوقت نفسه تعمل على تحسين الكفاءة العامة. يمكن أن يؤدي ESB أيضًا إلى تسريع الطرح بالأسواق وخفض تكاليف التطوير.
تحسين إمكانية الرؤية والتحكم
مع ESB، يمكن للمؤسسات مراقبة تدفق البيانات والخدمات عبر التطبيقات المختلفة، وتحديد أي مشكلات قد تنشأ وحلها بسرعة. وهذا يساعد المؤسسات في ضمان توفر تطبيقاتها وموثوقيتها وأمانها.
كيف يعمل ناقل خدمة المؤسسة؟
يعمل ناقل خدمة المؤسسة (ESB) على مبادئ الهندسة الموجهة نحو الخدمة (SOA).
الهندسة الموجهة نحو الخدمة (SOA) هي إحدى طرق تطوير البرمجيات التي تستخدم مكوناتٍ برمجيةً تسمى الخدمات لإنشاء تطبيقات أعمال. توفر كل خدمة إمكانية أعمال، ويمكن أيضًا لعدة خدمات التواصل مع بعضها عبر المنصات واللغات.
توفر منصة ESB خدمات الاتصالات التي تستخدمها التطبيقات في التفاعل مع بعضها. ومن أمثلة ذلك تحويل الرسائل، وتحويل البروتوكول، والتوجيه، والمصادقة.
بعد ذلك، نناقش المكونات الرئيسية الموجودة في بنية ESB.
نقاط النهاية
في بنية ESB، يمكن اعتبار نقاط النهاية كنقاط دخول أو نقاط خروج إلى ESB.
عادةً يكون لكل نقطة نهاية عنوان فريد أو معرف فريد. يمكنك تنفيذ نقاط النهاية باستخدام تقنيات متنوعة، مثل واجهة خدمة الويب، أو قوائم انتظار الرسائل، أو خوادم FTP. يُمكن لنقاط النهاية أيضًا معالجة أنواع مختلفة من الرسائل، مثل XML أو JSON أو البيانات الثنائية.
إن مرونة بنية نقطة النهاية تتيح لـ ESB التكامل مع مجموعة واسعة من الأنظمة والتطبيقات.
المحول
يقوم مكوّن المحول في أدوات ESB بترجمة الرسائل بين التنسيقات والبروتوكولات المختلفة. وهذا يعني أنه يمكن استهلاكها بشكل صحيح من قبل التطبيقات البرمجية للمستلم. قد يوفر أيضًا ميزات مثل تسجيل الرسائل، والمراقبة، والمصادقة، ومعالجة الأخطاء.
الناقل
الناقل هو مكون ESB الأساسي الخاص بتبادل الرسائل بين نقاط النهاية. يستخدم مجموعةً من القواعد أو السياسات استنادًا إلى معايير مختلفة مثل نوع الرسالة، أو المحتوى، أو الوجهة لتوجيه الرسائل.
يمكنك تحديد السياسات في تكوين ESB لتلبية متطلبات عمليات الأعمال المعقدة. يستخدم الناقل مجموعةً متنوعةً من بروتوكولات الاتصال مثل HTTP وJMS وFTP للتواصل مع نقاط النهاية.
يعمل الناقل على هذا النحو:
- يستقبل الناقل رسالةً عند نقطة نهاية واحدة
- وهي تحدد عنوان نقاط نهاية الوجهة عن طريق التحقق من قواعد سياسة الأعمال
- يقوم بمعالجة الرسالة وإرسالها إلى نقطة نهاية الوجهة
على سبيل المثال، لنفترض أن الناقل يستقبل ملف XML من تطبيق متصل بنقطة النهاية A. فهو يحدد أنه يجب إرسال الملف XML إلى نقطتي النهاية B وC. تتطلب نقطة النهاية B بيانات JSON بينما تتطلب نقطة النهاية C الوظيفة Put في HTTP. يقوم المحول بتحويل الملف XML إلى JSON ويرسله الناقل إلى نقطة النهاية B. يقوم الناقل بتنفيذ طلب HTTP باستخدام XML على نقطة النهاية C.
ما قيود ناقل خدمة المؤسسة؟
يتم نقل بنية المؤسسة بعيدًا عن ناقل خدمة المؤسسة (ESB) بسبب القيود التالية.
التعقيد
يتطلب الأمر معرفةً تقنيةً متخصصةً لتنفيذ ESB وصيانته، ما يجعله معقدًا ومكلفًا. تؤدي عمليات "التقيّد ببائع معيّن" إلى صعوبة التبديل إلى حل ESB آخر، وتحد من خيارات تكامل البيانات. تواجه الفرق أوقات انتظار طويلة حيث إن فريق الإدارة المركزية في ESB هو فقط الذي يمكنه دمج تطبيقات مؤسسة جديدة.
قابلية التوسع
ينتج عن برامج ESB زمن استجابة إضافي في الاتصال بسبب الطبقات المضافة المتعلقة بالتجريد والمعالجة. ومع زيادة عدد نقاط النهاية وتعيين خدمات الاتصالات، يصبح ESB عقبةً ويؤثر على الأداء. تزداد أيضًا تكلفة تنفيذ التوافر العالي والتعافي من الكوارث لخوادم ESB.
صعوبة الترقية
إن إجراء تحسينات على تكامل ESB قد يؤدي إلى عدم الاستقرار في المكونات المتصلة الأخرى ويتطلب اختبارات مهمة قبل التحديثات. إن تمويل ترقيات مشروع ESB يتطلب تعاونًا بين الفرق، الأمر الذي قد يمثل تحديًا.
ما التقنيات التي تحل محل ناقلات خدمة المؤسسة؟
اليوم، يقتصر استخدام ناقلات خدمة المؤسسة (ESB) بشكل أساسي على الأنظمة القديمة التي تتطلب عمليات تكامل معقدة. تم استبدال نمط ESB البنيوي وإحلال بنية الخدمات المصغرة محله، من بين تقنيات أخرى.
تتكون بنية الخدمات المصغرة من مكونات برمجية صغيرة جدًا ومستقلة تمامًا بجانب بروتوكولات اتصال خاصة بها يتم كشفها من خلال واجهات برمجة تطبيقات خفيفة الوزن. تتمثل مهمة المستهلكين في الأساس في استخدام الخدمة المصغرة من خلال واجهة برمجة التطبيقات (API)، وبالتالي لا تكون هناك حاجة إلى ناقل ESB مركزي.
لمزيد من المعلومات، يمكنك القراءة حول الخدمات المصغرة وكذلك القراءة حول واجهات برمجة التطبيقات.
أدى ظهور الحوسبة السحابية وبنية الخدمات المصغّرة إلى ظهور تقنيات جديدة غالبًا ما يُنظر إليها على أنها بدائل لناقلات ESB. نناقش بعضها بعد ذلك.
بوابات واجهات برمجة التطبيقات
بوابات واجهات برمجة التطبيقات هي مكونات خفيفة الوزن توفر نقطة دخول واحدةً للعملاء للوصول إلى خدمات متعددة. غالبًا ما يتم استخدام هذه البوابات في إدارة واجهات برمجة التطبيقات، وفرض الأمان، ومعالجة حركة المرور.
شبكة الخدمة
شبكة الخدمة هي طبقة بنية أساسية مخصصة تختص بإدارة الاتصالات من خدمة إلى خدمة ضمن بنية الخدمات المصغرة. توفر شبكة الخدمة ميزات مثل اكتشاف الخدمة، وموازنة التحميل، وإدارة حركة المرور.
البنية المستندة إلى الأحداث
في البنية القائمة على الأحداث، تتواصل الخدمات من خلال معالجة الأحداث غير المتزامنة وليس من خلال الطلبات المتزامنة. الحدث هو تغير في الحالة، أو تحديث، مثل عنصر يوضع في عربة تسوق على أحد مواقع الويب للتجارة الإلكترونية. الأحداث إما أن تحمل الحالة (العنصر الذي تم شراؤه وسعره وعنوان التسليم)، أو أن تكون عبارة عن معرّفات (إشعار يفيد شحن الطلب).
ما المقصود بناقل الأحداث؟
انتقلت العديد من المؤسسات من ناقلات خدمة المؤسسة (ESB) إلى ناقلات الأحداث. ناقل الأحداث هو مسار يستقبل الأحداث. إنه يربط مكونات التطبيق معًا استنادًا إلى الأحداث، ما يسهل عليك إنشاء تطبيقات قابلة للتوسّع تعتمد على الأحداث.
تعمل القواعد المرتبطة بناقل الأحداث على تقييم الأحداث فور وصولها. تتحقق كل قاعدة مما إذا كان الحدث يطابق معايير القاعدة. تقوم بربط قاعدة بناقل أحداث معين، ولذلك تنطبق القاعدة فقط على الأحداث التي يستقبلها ناقل الأحداث هذا.
يقوم منتج بنشر حدث في ناقل الأحداث. يقوم ناقل الأحداث بتصفية الأحداث وتقييمها فور وصولها استنادًا إلى القواعد مسبقة التكوين، ثم ترسل الأحداث إلى المستهلكين. يتم الفصل بين خدمات المنتجين وخدمات المستهلك، ما يسمح بتوسيع نطاقها وتحديثها ونشرها بشكل مستقل.
كيف تساعدك AWS في تلبية متطلبات تكامل التطبيقات؟
تقدم Amazon Web Services (AWS) مجموعةً من خدمات تكامل التطبيقات. تُمكّن هذه الخدمات الاتصال بين المكونات المنفصلة داخل الخدمات المصغرة، والأنظمة الموزعة، والتطبيقات بلا خوادم. إذا كنت مهتمًا، اقرأ المزيد في تكامل التطبيقات على AWS.
على سبيل المثال، يُمكنك استخدام الخدمات التالية في تلبية متطلباتك:
- Amazon API Gateway لإنشاء واجهات برمجة التطبيقات ونشرها وصيانتها ومراقبتها وتأمينها على أي مستوى لأعباء العمل بلا خوادم وتطبيقات الويب
- Amazon EventBridge لإنشاء ناقل أحداث يربط بيانات التطبيقات من تطبيقاتك والبرمجيات كخدمة (SaaS) وخدمات AWS
- خدمة قوائم الانتظار في Amazon (Amazon SQS) لإنشاء قائمة انتظار رسائل ترسل الرسائل من أي حجم وتخزنها وتستقبلها بين مكونات التطبيق
ابدأ تكامل التطبيقات على AWS من خلال إنشاء حساب اليوم.