البنية القائمة على الأحداث (EDA) هي نموذج تصميم برمجيات مبني على نشر الأحداث والتقاطها ومعالجتها وتخزينها.
ويمكِّن الفرق من تحديد أحداث النظام (أي تغيير أو إجراء يحدث داخل النظام بشكل أساسي) والاستجابة والتفاعل معها في الوقت الفعلي (أو زمن شبه فعلي).
انتشار البنى القائمة على الأحداث (EDA) في البيئات السحابية الأصلية يمثِّل تحولًا كبيرًا بعيدًا عن البنى الحسابية التقليدية التي تركِّز على تخزين البيانات الثابتة في مستودعات مثل بحيرات البيانات (كما في البنى الموجَّهة للخدمات)، نحو نهج ديناميكي يتتبع البيانات أثناء تنقلها عبر البنية. تظل البيانات ذات قيمة في النظام القائم على الأحداث، لكن البنى القائمة على الأحداث تركِّز على الاستجابة الفورية للأحداث، مع الاعتراف بأن قيمة الحدث قد تقل مع مرور الوقت.
في البنية القائمة على الأحداث، يرسل منتجو الأحداث (مثل الخدمات المصغَّرة وواجهات برمجة التطبيقات وأجهزة إنترنت الأشياء) إشعارات الأحداث في الوقت الفعلي إلى مستهلكي الأحداث، الذين يقومون بعد ذلك بتنشيط إجراءات معالجة محددة. على سبيل المثال، عندما تُصدر Netflix مسلسلًا أصليًا جديدًا، تنتظر عدة خدمات EDA إشعار الإصدار، الذي يؤدي إلى سلسلة من التحديثات لإعلام المستخدمين.
من أهم مزايا البنية القائمة على الأحداث هي العلاقة المفصولة بين عناصر الواجهة الأمامية والخلفية، ما يسمح للأنظمة بمشاركة المعلومات دون الحاجة إلى معرفة تفاصيل بعضها. يمكن للمنتجين إرسال الأحداث دون معرفة المستهلك الذي سيستلمها، ويمكن للمستهلكين استقبال الأحداث دون إرسال طلبات للمنتجين. بعبارة أخرى، تمكِّن البنى القائمة على الأحداث الأنظمة من العمل بشكل مستقل ومعالجة الأحداث بشكل غير متزامن.
تتمتع المؤسسات الحديثة والمبتكرة ببصمة رقمية واسعة، وتُتيح الوظائف الفورية للنظام القائم على الأحداث للشركات الحفاظ على الجاهزية التشغيلية دون توقف، والاستجابة بسرعة لإشعارات الأحداث. وبهذا الشكل، تساعد البنى القائمة على الأحداث المؤسسات على أتمتة مجموعة من العمليات التنظيمية -من تحسين سلاسل التوريد إلى التعرُّف المبكر على مشكلات الجودة- وبالتالي تحسين الإيرادات والأرباح الصافية على حد سواء.
النشرة الإخبارية الخاصة بالمجال
ابقَ على اطلاع دومًا بأهم—اتجاهات المجال وأكثرها إثارة للفضول—بشأن الذكاء الاصطناعي والأتمتة والبيانات وغيرها الكثير مع نشرة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
سيتم تسليم اشتراكك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك هنا. راجع بيان خصوصية IBM لمزيد من المعلومات.
يتركَّز بث الأحداث على التدفق المستمر والمتسلسل واللحظي لسجلات البيانات المسماة "الأحداث"، وهي هياكل بيانات أساسية تسجل أي حدث أو تغيير في النظام أو البيئة. تتضمن الأمثلة على هذه التغييرات قيام المستخدم بإضافة عنصر إلى سلة التسوق على موقع التجارة الإلكترونية، أو طلب إعادة تعيين كلمة المرور، أو حدوث تغيير في حالة التطبيق. إنه مصطلح يشير في الأساس إلى كل نقطة بيانات في النظام. أما "التدفق" (المعروف أيضًا باسم تدفق البيانات أو البيانات المتدفقة) فهو التسليم المستمر لتلك الأحداث.
عادةً ما يتكوَّن كل حدث من مفتاح يحدِّد الحدث أو الكيان المرتبط به، وقيمة تحتوي على البيانات الفعلية للحدث، ووقت زمني يوضِّح متى وقع الحدث أو تم تسجيله، وأحيانًا بيانات وصفية عن مصدر الحدث أو إصدار المخطط أو سمة أخرى. يمكن أن تحتوي على بيانات الحالة (مثل المنتج الذي تم شراؤه وسعره وعنوان التسليم) أو تعمل كمحدِّدات للحدث (مثل إشعار الشحن).
وبمساعدة محركات معالجة التدفق المتخصصة، يمكن أن تخضع الأحداث لعدة عمليات مختلفة داخل التدفق. تُجري "التجميعات" عمليات لحساب البيانات، مثل الوسائل والمجاميع والانحراف المعياري. يضيف "الاستيعاب" تدفق البيانات إلى قواعد البيانات. تستخدم معالجة التحليلات أنماطًا في تدفق البيانات للتنبؤ بالأحداث المستقبلية، وتجمع معالجة الإثراء نقاط البيانات مع مصادر البيانات الأخرى لتوفير سياق وإنشاء معنى.
وغالبًا ما تكون الأحداث مرتبطة بعمليات الأعمال التجارية أو عمليات تنقل المستخدم وعادةً ما تؤدي إلى إجراء أو عملية أو سلسلة أخرى من الأحداث. ومن أحد الأمثلة على ذلك الخدمة المصرفية عبر الإنترنت. عندما ينقر المستخدم على "تحويل" لإرسال الأموال من حساب مصرفي إلى آخر، تُسحب الأموال من حساب المرسل وتُضاف إلى الحساب المصرفي الخاص بالمتلقي، وتُرسَل إشعارات البريد الإلكتروني أو الرسائل النصية القصيرة إلى أي من الطرفين (أو كليهما)، وإذا لزم الأمر، تُنشَر بروتوكولات الأمان ومنع الاحتيال.
بالإضافة إلى الأحداث، تعتمد أنظمة (EDA) على ثلاثة عناصر أساسية لحركة بيانات الأحداث عبر البنية.
في البنية القائمة على الأحداث، تعمل التطبيقات القائمة على الأحداث إما كعناصر إنتاج أو استهلاك للأحداث، وأحيانًا كلاهما معًا.
عندما يعمل تطبيق أو خدمة على إجراء عملية قد تريد تطبيقات أو خدمات أخرى معرفتها، يعمل على نشر حدث جديد -وهو سجل لذلك الإجراء أو التغيير- يمكن لخدمة أخرى استهلاكه ومعالجته لتنفيذ إجراءات أخرى.
بعد ذلك، يعمل عنصر إنتاج الحدث على نقل الحدث -في شكل رسالة- إلى وسيط أو نوع آخر من عناصر توجيه الأحداث، الذي يحافظ على الترتيب الزمني للحدث بالنسبة للأحداث الأخرى. يعمل عنصر استهلاك الحدث على استقبال الرسالة -في الوقت الفعلي (عند حدوثها) أو في وقت لاحق مناسب- ويعالجها لتحفيز إجراء آخر أو سير عمل أو حدث جديد خاص به.
في مثال بسيط، قد تعمل إحدى خدمات البنوك على إرسال حدث "إيداع"، لتقوم خدمة بنكية أخرى باستهلاكه والرد عليه عن طريق تسجيل الإيداع في كشف حساب العميل.
لكن عمليات التكامل القائمة على الأحداث يمكنها أيضًا تحفيز استجابات فورية بناءً على تحليلات معقدة لكميات كبيرة من البيانات، مثل عندما ينقر العميل على منتج في موقع للتجارة الإلكترونية ويولِّد النظام توصيات فورية للمنتج استنادًا إلى مشتريات عملاء آخرين.
تمكِّن البنية القائمة على الأحداث التطبيقات السحابية الأصلية من تحقيق أقصى إمكاناتها، وتدعم تقنيات التطبيقات المتقدمة مثل التحليلات الفورية ودعم اتخاذ القرار. بشكل عام، تحل هذه البنية محل بنى "الطلب/الاستجابة" التقليدية، حيث يجب على تطبيق واحد طلب معلومات محددة من تطبيق آخر والانتظار للحصول على الرد قبل الانتقال إلى المهمة التالية.
ومع ذلك، يشمل مصطلح "EDA" العديد من أنماط البنية، وكل منها يمكن أن يكون مفيدًا لأغراض مختلفة.
في نموذج النشر/الاشتراك (Pub/Sub) -الذي يتميز بعلاقة اعتماد واحد إلى متعدد بين الكائنات وعلاقة مفصولة وغير متزامنة بين عنصر النشر (إنتاج الحدث) والعنصر المشترِك- لا يحتاج الناشر إلى معرفة المشتركين. يقوم ببساطة بنشر الحدث على قناة أحداث مشتركة يستمع المشتركون إليها ويتفاعلون مع الحدث بشكل مستقل وفي الوقت الفعلي.
عادةً ما يتولى وسيط الرسائل (عنصر التوجيه) نقل رسائل الأحداث بين عناصر النشر والعناصر المشتركة. يستقبل الوسيط كل رسالة حدث، ويحوِّلها (عند الحاجة)، ويحافظ على ترتيبها بالنسبة للرسائل الأخرى، ويجعلها متاحة للعناصر المشتركة للاستهلاك، ثم يحذفها بعد استهلاكها حتى لا يمكن استهلاكها مرة أخرى.
تُعَد أنماط الرسائل بنظام النشر/الاشتراك مناسبة تمامًا للشركات ذات قواعد الكود الكبيرة ولإرسال المعلومات إلى عدة مستهلكين (مثل أنظمة الإشعارات وتدفقات البيانات في الوقت الفعلي).
مثل نموذج النشر/الاشتراك، يعمل بث الأحداث على الفصل بين عناصر النشر والاستهلاك لتمكين التواصل غير المتزامن. ومع ذلك، في نموذج بث الأحداث، لا يحتاج مستهلكو الأحداث للاشتراك في التدفقات؛ بل تعمل عناصر الإنتاج على نشر تدفقات الأحداث إلى سجل الوسيط، ويمكن للمستهلكين الانضمام لأي تدفق في أي وقت واستهلاك الأحداث التي يريدونها فقط، بدلًا من استلام جميع الأحداث المنشورة.
على عكس نموذج النشر/الاشتراك، يحتفظ وسطاء بث الأحداث بالأحداث حتى بعد استلامها من قِبَل عناصر الاستهلاك.
نظرًا لأن عناصر الاستهلاك يمكنها معالجة الأحداث في أي وقت بعد نشرها، فإن سجلات بث الأحداث تكون دائمة. وهذا يعني أنها تُحفظ لفترة زمنية قابلة للتكوين (قد تتراوح من أجزاء من الثانية إلى فترة غير محدودة). يمكن لعناصر الاستهلاك الوصول إلى التدفق في أي وقت لقراءة الرسائل الأخيرة، أو معالجة دفعة من الرسائل منذ آخر مرة وصلت فيها إلى التدفق، أو الرجوع إلى الرسائل ذات الصلة من الفترة الأخيرة.
تشمل تقنيات بث الأحداث (مثل Apache Kafka، وAWS Kinesis، وIBM Event Automation) أيضًا نموذجين: نموذج السحب، حيث يرسل الوسطاء بيانات عناصر الاستهلاك فقط عندما تُشير هذه العناصر إلى استعدادها لتلقي الأحداث، ونموذج الدفع، حيث يحدِّد منطق الأعمال للوسيط عنصر الاستهلاك الذي سيتلقى الأحداث.
تُعَد أنماط بث الأحداث مفيدة بشكل خاص للتطبيقات التي تحتاج إلى تحديثات الأحداث في الوقت الفعلي والوصول إلى الأحداث السابقة، مثل أنظمة كشف الاحتيال في المؤسسات المالية.
بالإضافة إلى نمطي البنية الرئيسيين لـ EDA، هناك ثلاثة أنماط تصميم تحدِّد طريقة معالجة الأحداث عند وصولها إلى المشترك.
يمكن استخدام أنماط المعالجة الثلاثة (من بين أنماط أخرى) داخل كلٍّ من أنماط النشر/الاشتراك وأنماط بث الأحداث، ولكن ESP هو (بطبيعة الحال) الأكثر شيوعًا في نمط بث الأحداث.
يمكن أن تكون EDA مفيدة للشركات العاملة في مختلف القطاعات، لكنها ذات قيمة خاصة للشركات التي تمتلك بيئات تكنولوجيا معلومات كبيرة ومعقدة.
يمكن للشركات التي تحاول دمج أنظمة تعمل على مجموعات تكنولوجية مختلفة، على سبيل المثال، استخدام ميزات الفصل في البنى القائمة على الأحداث لجعل بيانات الأحداث مستقلة عن الأنظمة وتحسين قابلية التشغيل البيني. يمكن للشركات متعددة الجنسيات استخدام EDA لتنسيق الأنظمة عبر الحسابات والمناطق، ما يجعل من السهل التوسع المستقل لأجزاء مختلفة من البنية. وبالنسبة إلى الشركات التي تشغِّل أنظمة تتعامل كلٌّ منها مع جزء مختلف من الحدث، يمكن لخاصية التوزيع المتعدد (fan-out) في EDA دفع الأحداث إلى كل مستهلك -دون الحاجة إلى كتابة كود جديد- لتمكين المعالجة المتوازية عبر النظام.
في التجارة الإلكترونية، يمكن للبنية القائمة على الأحداث تصفية الأحداث وتوجيهها في الوقت الفعلي لضمان وصولها فقط إلى المشتركين المهتمين ببياناتها. تذهب المشتريات الجديدة مباشرة إلى مستهلكي معالجة الطلبات، ويتم توجيه مشكلات الطلبات مباشرةً إلى قنوات خدمة العملاء، وهكذا.
أصبحت البنى القائمة على الأحداث ضرورية لتمكين الشركات اليوم من مواكبة السوق ودفعها نحو المستقبل. في الواقع، تخطط 26% من المؤسسات لاعتماد البنى القائمة على الأحداث لتلبية احتياجات الأعمال، بالإضافة إلى ما يقرب من 37% من الشركات التي اعتمدتها بالفعل.1 ومن المتوقع أن يتضاعف حجم صناعة برمجيات EDA ليصل إلى أكثر من 16.5 مليار دولار أمريكي بحلول عام 2027.2
تتدفق آلاف من أحداث العمل عبر جميع أجزاء المؤسسة يوميًا، وتوفِّر هذه الأحداث ثروة من المعلومات حول ما يحدث في مختلف أقسام العمل في أي لحظة. ومع ذلك، دون التكنولوجيا المناسبة، لا تستطيع العديد من الشركات معالجة هذه البيانات واستخدامها لاتخاذ قرارات مستنيرة بشأن عملائها أو منتجاتها أو أعمالها.
هنا تكمن قيمة منصات EDA، فهي تمكِّن من أتمتة العمليات عالية الإنتاجية وذات زمن الانتقال المنخفض، وتوفِّر أدوات متقدمة لمجموعة من حالات الاستخدام، بما في ذلك:
استخدم EDA للحصول على رؤية فورية لبيانات المعاملات المتدفقة عبر شركتك. اجمع بين التحليلات التاريخية وأنماط الإنفاق الحالية لتطوير ملفات تعريف أكثر تفصيلًا واكتشاف الفرص بسرعة للتفاعل مع العملاء المحتملين.
استخدِم البنية القائمة على الأحداث لمراقبة التغييرات في مستويات المخزون عبر قنوات الأعمال في الوقت الفعلي، حتى تتمكن من أتمتة حجم الشحن وتحسينه استنادًا إلى العناصر ذات الربحية العالية أو أفضل المبيعات التي تنفد.
تقييم أنماط الاستخدام والنشاط في الوقت الفعلي، إلى جانب التوجهات التاريخية، للكشف عن أي حالات شاذة جديدة وإصدار تنبيهات حول الأنشطة المشبوهة بمجرد ظهور أي انحرافات.
فهم سلوك العملاء بشكل أفضل من خلال الجمع بين النشاط داخل المتجر وعبر الإنترنت، وإنشاء عروض مستنيرة في الوقت الفعلي مصممة لزيادة إنفاق العملاء.
استخلاص الرؤى من بيانات المعدات والمنتجات في الوقت الفعلي للكشف عن عوامل الخطر ومشكلات الجودة على الفور، ما يساعد منشأتك على توقع الأعطال المحتملة ومعالجتها.
اكتشِف تقلبات الأسعار في الوقت شبه الفعلي للمواد التي تؤثِّر في أرباح نشاطك التجاري. حافِظ على انخفاض التكاليف من خلال إعادة التفاوض سريعًا للحصول على أفضل سعر متاح لزيادة الإيرادات المحتملة.
تساعد البنى القائمة على الأحداث على استغلال أحداث الأعمال، ما يمكِّن المستخدمين من التعرُّف على المواقف الجديدة والتصرُّف في الوقت الفعلي وأتمتة القرارات وزيادة العوائد المحتملة. يمكن أن تساعد EDA أيضًا الشركات على استدامة النمو وتسريعه، وذلك من خلال تقديم:
تمكِّن البنى القائمة على الأحداث الأنظمة من التوسع عن طريق إضافة المزيد من مثيلات الخدمات للتعامل مع زيادة أعباء العمل.
تمكِّن البنى القائمة على الأحداث العناصر من التواصل بشكل غير متزامن؛ حيث تعمل عناصر الإنتاج على نشر رسائل الأحداث وفق جدولها الخاص، دون انتظار استلامها من عناصر الاستهلاك أو حتى معرفة إذا ما كانت قد استلمتها، ما يبسِّط كلًا من التكامل وتجربة المستخدم.
يمكن إضافة الخدمات أو إزالتها أو تعديلها بشكل مستقل، ما يسهِّل ممارسات التطوير والنشر المرنة.
تُعَد البنى القائمة على الأحداث مفصولة من حيث الزمن والتزامن، وبالتالي تتفاعل عناصر الإنتاج والاستهلاك عبر الأحداث بدلًا من الاستدعاءات المباشرة لواجهة برمجة التطبيقات)، ما يقلل من التبعيات ويعزز مرونة النظام ككل.
تم تصميم البنى القائمة على الأحداث في الأساس للمعالجة والاستجابة في الوقت الفعلي، ما يمكِّن الفرق من التصرف بشكل أكثر استباقية ويسهِّل اتخاذ إجراءات ذكية وأتمتة متقدمة.
خدمة مُدارة بالكامل ومستأجر واحد لتطوير تطبيقات Java وتسليمها.
استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.
إن تطوير تطبيقات السحابة يعني البناء مرة واحدة، والتكرار بسرعة، والنشر في أي مكان.