البرمجيات الوسيطة هي البرمجيات التي تتيح نوعًا أو أكثر من الاتصال أو الاتصال بين التطبيقات أو العناصر في شبكة موزعة، مما يؤدي بشكل أساسي إلى إنشاء "غراء برمجي" يربط الأنظمة المختلفة معًا.
يعمل Middleware على تبسيط تطوير التطبيقات وتسريع وقت طرحها في السوق من خلال وظائف ذكية تسهل الاتصالات بين المنصات التي لم تكن مصممة في البداية للاتصال.
تشمل الأنواع المختلفة من البرامج الوسيطة ما يلي:
النشرة الإخبارية الخاصة بالمجال
ابقَ على اطلاع دومًا بأهم—اتجاهات المجال وأكثرها إثارة للفضول—بشأن الذكاء الاصطناعي والأتمتة والبيانات وغيرها الكثير مع نشرة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
سيتم تسليم اشتراكك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك هنا. راجع بيان خصوصية IBM لمزيد من المعلومات.
تم تقديم مصطلح البرامج الوسيطة لأول مرة في أواخر الستينيات. وقد تمت صياغته لأن الإصدار الأوَّلي كان يعمل عادةً كوسيط بين الواجهة الأمامية للتطبيق (العميل) والموارد الخلفية. قد يكون هذا المورد قاعدة بيانات أو تطبيق كمبيوتر مركزي أو جهازًا متخصصًا يمكن للعميل طلب البيانات منه. استجابةً لزيادة استخدام الحوسبة الموزعة في الثمانينيات، ازداد استخدام البرامج الوسيطة كوسيلة لربط التطبيقات الحديثة بالأنظمة التقليدية القديمة.
لكن البرامج الوسيطة اليوم تعمل خارج هذا النطاق. على سبيل المثال، تشمل البرامج الوسيطة للبوابة الواجهة الأمامية للتطبيق بالإضافة إلى أدوات الاتصال الخلفي. تتضمن البرامج الوسيطة لقاعدة البيانات عادةً مخزن البيانات الخاص بها.
تطورت البرمجيات الوسيطة لتؤدي دورًا أساسيًا في تطوير التطبيقات السحابية الأصلية الحديثة. يستخدم تقنية الحاويات ، والتي تسمح ل DevOps والفرق الأخرى بالاتصال بالموارد الموزعة عبر البيئات متعددة الأوساط السحابية . ويدعم هذا التكامل المستمر (CI) والتسليم المستمر (CD)-CI / CD- ومن ثمَّ تبسيط عملية ترميز التطبيق واختباره ونشره من أجل التوسع السريع ونمو الأعمال.
تتجه الشركات بشكل متزايد إلى الاستفادة من البرامج الوسيطة كخدمة قائمة على السحابة للتواصل بين الأنظمة وأداة لإدارة البيانات. توقعت دراسة من Technavio أن ينمو السوق العالمي للبرامج الوسيطة كخدمة (MWaaS) بمقدار 45.44 مليار دولار أمريكي، بمعدل نمو سنوي مركب (CAGR) قدره 17.73% خلال الفترة من 2023 إلى 2028. تعزو الدراسة هذا النمو إلى الانتشار الواسع للحوسبة السحابية وزيادة استخدام الحوسبة دون خوادم والخدمات المصغَّرة.1
تمكن البرامج الوسيطة المطورين من إنشاء تطبيقات دون إنشاء تكامل مخصص كلما احتاجوا إلى الاتصال بمكونات التطبيق (الخدمات أو الخدمات المصغرة) أو مصادر البيانات أو موارد الحوسبة أو الأجهزة.
تسهِّل البرامج الوسيطة التواصل بين التطبيقات والخدمات المختلفة من خلال توفير خدمات أساسية. ويحقق هذا التواصل من خلال أطر عمل شائعة للمراسلة، مثل JavaScript Object Notation (JSON)، وRepresentational State Transfer (REST)، وExtensible Markup Language (XML)، وSimple Object Access Protocol (SOAP)، أو خدمات الويب.عادةً ما توفر البرامج الوسيطة أيضًا خدمات تمكِّن العناصر المكتوبة بلغات متعددة -مثل Java و++C وPHP وPython- من التفاعل مع بعضها.
تتضمن المكونات المعمارية القياسية للبرامج الوسيطة ما يلي:
بالإضافة إلى توفير إمكانية التشغيل البيني الموفرة للعمل ، تساعد خدمات البرامج الوسيطة مطوري البرامج بالطرق التالية.
استنادًا إلى معلومات الطلب من العميل أو تطبيق الواجهة الأمامية، يمكن للبرامج الوسيطة تخصيص استجابة التطبيق الخلفي أو الخدمة. في تطبيق التجارة الإلكترونية الخاص بتاجر التجزئة، يمكن للبرامج الوسيطة ترتيب نتائج البحث عن المنتجات من قاعدة بيانات المخزون الخلفية حسب أقرب موقع للمتجر. يتم هذا الفرز استنادًا إلى عنوان IP أو معلومات الموقع الواردة في ترويسة طلب HTTP.
عادةً ما تُنشئ البرامج الوسيطة اتصالًا آمنًا بين تطبيق الواجهة الأمامية ومصادر البيانات الخلفية التي تستخدم بروتوكول أمن طبقة النقل (TLS) أو أي بروتوكول أمني شبكي آخر. يمكنها توفير قدرات المصادقة، حيث تطلب من تطبيق الواجهة الأمامية تقديم بيانات الاعتماد مثل اسم المستخدم وكلمة المرور أو الشهادات الرقمية.
عندما ترتفع حركة مرور التطبيقات، يمكن للبرامج الوسيطة للمؤسسات التوسع لتوزيع طلبات العملاء عبر خوادم متعددة - في أماكن العمل أو في السحابة. يمكن لإمكانيات المعالجة المتزامنة منع المشاكل عندما يحاول العديد من العملاء الوصول إلى نفس مصدر البيانات الخلفية في وقت واحد.
تساعد البرامج الوسيطة المطورين على تنفيذ تحديث التطبيقات، وتحويل التطبيقات القديمة الأحادية إلى تطبيقات سحابية مبنية على بنية الخدمات المصغَّرة.
تساعد أتمتة البرامج الوسيطة المطورين على تبسيط إدارة مهام تكنولوجيا المعلومات المعقدة وأتمتتها لتحسين الكفاءة الإجمالية.
تدعم البرامج الوسيطة منهجيات DevSecOps (التي تعني التطوير والأمن والعمليات) من خلال مساعدة الفِرَق على إنشاء التطبيقات بشكل أسرع مع التخفيف من مخاطر الأمان أيضًا.
هناك العديد من أنواع البرامج الوسيطة المختلفة. يركِّز البعض على أنواع محددة من الاتصال، بينما يركِّز البعض الآخر على تطبيقات وعناصر تطبيق وأجهزة معينة. يجمع البعض بين قدرات البرامج الوسيطة لمهمة تطوير برامج محددة. فيما يلي بعض أنواع البرامج الوسيطة الأكثر شهرة والأكثر استخدامًا:
تُتيح البرامج الوسيطة القائمة على الرسائل (MOM) عناصر التطبيق التي تستخدم بروتوكولات مراسلة مختلفة للتواصل وتبادل الرسائل. بالإضافة إلى ترجمة أو تحويل الرسائل بين التطبيقات، يُدير نظام MOM توجيه الرسائل لضمان وصولها إلى العناصر الصحيحة بالترتيب المناسب. من الأمثلة على MOM قوائم انتظار الرسائل ووسطاء الرسائل.
تُتيح البرامج الوسيطة لاستدعاء الإجراءات عن بُعد (RPC) لتطبيق واحد تشغيل إجراء في تطبيق آخر، سواء على نفس الكمبيوتر أم على جهاز أو شبكة مختلفة. تجعل هذه العملية كِلا التطبيقين يعملان كما لو كانا جزءًا من التطبيق نفسه على الكمبيوتر نفسه.
تعمل البرامج الوسيطة للبيانات أو قواعد البيانات على تبسيط الوصول إلى قواعد البيانات الخلفية والتفاعل معها. عادةً ما تكون البرامج الوسيطة لقواعد البيانات شكلًا من أشكال خادم قاعدة بيانات SQL.
توفر البرامج الوسيطة لواجهة برمجة التطبيقات (API) أدوات يمكن للمطورين استخدامها لإنشاء واجهات برمجة التطبيقات وعرضها وإدارتها لتطبيقاتهم حتى يتمكن المطورون الآخرون من الاتصال بها.
تتضمن بعض البرامج الوسيطة لواجهة برمجة التطبيقات أدوات لتحقيق الدخل من واجهات برمجة التطبيقات ، مما يمكن المؤسسات المختلفة من استخدامها بسعر التكلفة. تتضمن أمثلة البرامج الوسيطة لواجهة برمجة التطبيقات الأنظمة الأساسية لإدارة واجهة برمجة التطبيقات وبوابات API Gateway وبوابات مطوري واجهة برمجة التطبيقات.
تعمل البرامج الوسيطة من نوع وسيط طلب الكائنات (ORB) كوسيط بين طلب من كائن أو عنصر في تطبيق معين وتنفيذه من قِبَل كائن أو عنصر آخر. تحدث هذه العملية داخل الشبكة الموزعة، ما يضمن الاتصال السلس والتفاعل بين العناصر.
يعمل وسطاء طلب الكائنات (ORBs) وفقًا لبنية وسيط طلب الكائنات العامة (CORBA)، والتي تُتيح لعنصر برمجي تقديم طلب إلى عنصر آخر دون الحاجة إلى معرفة مكان استضافته أو شكل واجهة المستخدم الخاصة به. تُدير آلية "الوساطة" هذه المعلومات أثناء عملية التبادل.
توفِّر البرامج الوسيطة للمعاملات خدمات لدعم تنفيذ معاملات البيانات عبر الشبكة الموزعة. أشهر البرامج الوسيطة للمعاملات هي شاشات معالجة المعاملات (TPMs)، والتي تقود المعاملات خطوة بعد أخرى. وهي تعمل على إدارة تبادل البيانات عن طريق إضافة البيانات أو تغييرها أو حذفها حسب الحاجة حتى تكتمل المعاملة.
تقوم البرامج الوسيطة لتدفق البيانات غير المتزامن بنسخ دفق البيانات في مخزن وسيط، مما يتيح مشاركة البيانات بين تطبيقات متعددة. يعد Apache Kafka أحد أشهر الأمثلة على منصات البرامج الوسيطة مفتوحة المصدر لبث الأحداث في الوقت الفعلي.
توفر البرامج الوسيطة للأجهزة مجموعة مركزة من إمكانات التكامل والاتصال لتطوير التطبيقات لنظام تشغيل محمول معين (OS).
توفر البرامج الوسيطة للبوابة أدوات وموارد لدمج المحتوى والقدرات من مختلف التطبيقات ذات الصلة "على الزجاج" أو على شاشة واحدة لإنشاء تطبيق مركب واحد.
تعمل البرامج الوسيطة للروبوتات على تبسيط تكامل الأجهزة والبرامج الثابتة والبرامج الروبوتية من العديد من الشركات المصنعة والمواقع.
هناك فئتان أساسيتان من البرامج الوسيطة: البرامج الوسيطة لتطبيقات المؤسسات والبرامج الوسيطة للنظام الأساسي.
تُتيح برامج الوسيطة لتكامل تطبيقات المؤسسات للمؤسسة إنشاء محور تكامل مؤسسي. يوفر هذا النظام طريقة موحَّدة لربط جميع التطبيقات، وعناصر التطبيقات، وعمليات الأعمال، ومصادر البيانات الخلفية عبر المؤسسة الموسَّعة.
حتى نحو عقد من الزمن، كانت أكثر البرامج الوسيطة لتكامل تطبيقات المؤسسات شيوعًا هي ناقل خدمة المؤسسات (ESB)، الذي كان يعمل كمركز تكامل ضمن البنية الموجَّهة للخدمة (SOA).
اليوم، تُتيح منصة التكامل كخدمة (iPaaS) للمؤسسة ربط التطبيقات والبيانات والعمليات والخدمات عبر السحابة الهجينة، وهي مزيج من البيئات المحلية والسحابة الخاصة والعامة. تساعد هذه الحلول المؤسسات على تجنُّب عناء وتكاليف شراء البرامج الوسيطة للتكامل (والأجهزة التي تعمل عليها) وتثبيتها وإدارتها وصيانتها داخل مركز البيانات الخاص بها.
جميع مزوِّدي الخدمات السحابية الرئيسيين، مثل Microsoft Azure أو Google Cloud أو Amazon Web Services (AWS) أو IBM Cloud، يقدِّمون حلول iPaaS.
تدعم البرامج الوسيطة للمنصات (أو البرامج الوسيطة لمنصات التطبيقات) تطوير التطبيقات. كما تعمل على تسريع تسليم التطبيقات من خلال توفير بيئة استضافة وقت التشغيل، مثل بيئة تشغيل Java (Java RE) أو الحاويات أو كلتيهما، لتشغيل منطق التطبيقات أو الأعمال. يمكن أن تشمل البرامج الوسيطة للمنصات أو تجمع بين خوادم تطبيقات المؤسسات، وخوادم الويب، وأنظمة إدارة المحتوى (CMSs) وأنواع البرامج الوسيطة الأخرى التي تم ذكرها سابقًا.
منصة التكامل كخدمة (iPaaS) iPaaS ومنصة التكامل كخدمة (PaaS) عبارة عن حلول حوسبة تعتمد على السحابة وتخدم أغراضًا مختلفة. بينما يركز iPaaS على تمكين تكامل التطبيقات والأجهزة والنظام ، توفر PaaS للمؤسسات نظاما أساسيا لبناء التطبيقات وتشغيلها وإدارتها.
تُعَد منصة PaaS خيارًا مناسبًا للشركات الصغيرة والمشاريع الناشئة ذات الميزانيات المحدودة لتكنولوجيا المعلومات، لأنها تمكِّن الفرق من تطوير التطبيقات بطريقة أكثر كفاءة من حيث التكلفة مقارنةً ببناء منصات تطوير داخلية. وتُعَد منصة iPaaS خيارًا أفضل للمؤسسات الكبيرة والشركات التي تُدير بنى تحتية معقدة وديناميكية.
مع ذلك، غالبًا ما تتكامل خدمات iPaaS مع خدمات السحابة الأخرى، بما في ذلك PaaS والبرمجيات كخدمة (SaaS). على سبيل المثال، قد تُدمج المؤسسات منصة iPaaS مع حلول تطوير PaaS مثل Cloud Foundry وRed Hat OpenShift، أو مع حلول SaaS مثل GitHub.
تُعَد الحوسبة السحابية الأصلية نهجًا لتطوير التطبيقات يعتمد على تقنيات الحوسبة السحابية الأساسية لتوفير تطوير وتشغيل وإدارة متسقة عبر البيئات السحابية الهجينة.
يتم بناء تطبيقات السحابة الأصلية اليوم من الخدمات المصغَّرة ويتم نشرها في حاويات تستخدم Kubernetes، وهي منصة شائعة الاستخدام لتنسيق الحاويات.
الخدمات المصغرة عبارة عن مكونات تطبيق مقترنة بشكل فضفاض تشمل مكدسها الخاص ويمكن نشرها وتحديثها بشكل مستقل عن بعضها البعض. يتواصلون باستخدام مجموعة من واجهات برمجة التطبيقات REST ووسطاء الرسائل وevent streams.
الحاويات عبارة عن مهام تنفيذ خفيفة الوزن تعمل على تجميع كود التطبيق، مثل الخدمات المصغرة، مع مكتبات نظام التشغيل والتبعيات اللازمة لتشغيل هذا الكود على أي سحابة أو بنية تحتية لتكنولوجيا المعلومات التقليدية.
تعمل هذه التقنيات والتقنيات ذات الصلة معا على إنشاء منصة قوية يتم تطويرها مرة واحدة في أي مكان لتقديم تطبيقات سحابية هجينة جديدة وتحديث الأنظمة القديمة التقليدية للاستخدام في السحابة. ومع ذلك ، فإنها تؤدي أيضا إلى بيئة تطوير معقدة تجمع بين المزيد من تطبيقات البرامج ومصادر البيانات ولغات البرمجة والأدوات والأنظمة الموزعة.
يمكن للبرامج الوسيطة حل بعض هذا التعقيد. ومع ذلك، فإن تشغيل التطبيقات المُعبَّأة في حاويات باستخدام البرامج الوسيطة التقليدية يمكن أن يضيف تعقيدات خاصة به، بما في ذلك تكلفة البنية التحتية التي تم تصميم الحاويات للقضاء عليها. لهذا السبب، تتضمن منصات تطوير التطبيقات السحابية برامج وسيطة مُعبَّأة في حاويات أو وحدات بحيث يمكن تضمين وظائف الاتصال المطلوبة فقط داخل الحاوية.
تدعم البرمجيات الوسيطة تطوير الألعاب من خلال دورها كمحرك للعبة. تساعد طبقة البرامج هذه على دمج الفيديو والصوت وعناصر الألعاب المهمة الأخرى بسلاسة.
بالنسبة إلى المؤسسات المالية، تعمل البرمجيات الوسيطة على دمج التطبيقات وقواعد بيانات العملاء لدعم الخدمات المصرفية الرقمية بما في ذلك معالجة المعاملات في الوقت الفعلي.
لقد أصبح من الصعب الوصول إلى بيانات السلامة ومشاركتها بشكل آمن. تُعَد البرامج الوسيطة أمرًا بالغ الأهمية لقابلية التشغيل البيني للرعاية الصحية، ما يُتيح تدفق البيانات بسلاسة عبر أنظمة وتطبيقات الرعاية الصحية المختلفة، مثل منصات التطبيب عن بُعد والسجلات الصحية الإلكترونية (EHRs).
تستخدم مؤسسات التجارة الإلكترونية البرامج الوسيطة لربط منصاتها عبر الإنترنت بخدمات خلفية مهمة، مثل معالجة الطلبات لتحسين تجربة العملاء بشكل عام.
في التصنيع، تساعد البرامج الوسيطة على ضمان تكامل أنظمة برامج الأعمال بما في ذلك منصات تخطيط موارد المؤسسة (ERP) مع التطبيقات الأخرى لتوفير رؤية موحَّدة للعمليات. يساعد هذا النهج على تحسين وتبسيط الصيانة وسلسلة التوريد وضمان الجودة وغير ذلك.
تعمل الأتمتة المدعومة بالذكاء الاصطناعي على تعزيز المرونة عبر واجهات برمجة التطبيقات، والتطبيقات، والأحداث، والملفات، والعمليات بين الشركات (B2B)/التبادل الإلكتروني للبيانات (EDI).
أطلِق العنان لإمكانات الأعمال مع حلول التكامل من IBM، والتي تربط التطبيقات والأنظمة للوصول إلى البيانات الحساسة بسرعة وأمان.
اكتشِف قدرات جديدة وعزِّز مرونة الأعمال من خلال خدمات IBM الاستشارية للسحابة. اكتشِف كيفية المشاركة في إنشاء الحلول وتسريع التحول الرقمي وتحسين الأداء من خلال استراتيجيات السحابة الهجينة والشراكات مع الخبراء.