أحداث BPMN
أحداث BPMN
في أي عملية أعمال، تقع أحداث: يُرسل العميل نموذجاً، يمضي موعد نهائي، تفشل دفعة مالية، تصل موافقة. تُمثّل BPMN كل هذه الوقائع ببنية واحدة تُسمّى الحدث (Event). فهم الأحداث هو المفتاح لرسم نماذج العمليات التي تعكس الواقع بدلاً من تصوّر مثالي خالٍ من الاستثناءات.
يتناول هذا الدرس التصنيفات الموضعية الثلاثة — أحداث البدء والوسيطة والنهاية — ثم يتعمّق في نوعَي المُشغِّل الأكثر استخداماً في الممارسة الفعلية: أحداث الرسائل وأحداث المؤقتات. بنهاية الدرس ستكون قادراً على قراءة ورسم تدفق عملية واقعي يتضمّن مسارات عادية واستثنائية مدفوعة برسائل خارجية وقيود زمنية.
التصنيفات الموضعية الثلاثة
تُمثَّل أحداث BPMN على شكل دوائر. سُمك الحدّ يُخبرك فوراً بمكان الحدث في التدفق:
- حدث البدء — دائرة بحدٍّ رفيع مفرد. يُعلّم نقطة بدء العملية أو العملية الفرعية. لكل عملية حدث بدء واحد على الأقل.
- الحدث الوسيط — دائرة ذات حدٍّ مزدوج (حلقتان متحدتا المركز، كلتاهما رفيعتان). يُعلّم شيئاً يحدث خلال التدفق — إما استقبال مُشغِّل أو إرسال إشارة إلى جزء آخر من العملية.
- حدث النهاية — دائرة بحدٍّ سميك مفرد. يُعلّم نهاية العملية أو أحد فروعها. يمكن أن تحتوي العملية على عدة أحداث نهاية لنتائج مختلفة.
داخل كل دائرة، يُشير رمز صغير (أو غيابه) إلى نوع المُشغِّل. الدائرة الفارغة تعني حدثاً بدون مُشغِّل (None) — العملية تبدأ أو تصل إلى تلك النقطة أو تنتهي دون مُشغِّل محدد. رمز مظروف مملوء يعني رسالة؛ رمز ساعة يعني مؤقتاً؛ وهكذا لأكثر من اثني عشر نوعاً تُحدّدها مواصفة BPMN 2.0.
أحداث الرسائل
يُمثّل حدث الرسالة استقبال تواصل أو إرساله بين مشاركَين — مجمَعَين (Pools)، أو مجمع وكيان خارجي. الرمز مظروف.
- حدث بدء برسالة: يُطلَق حين تستقبل العملية رسالة واردة. مثال: يُرسل العميل نموذج مطالبة تأمين عبر الإنترنت — يصل الإرسال بوصفه رسالة تبدأ عملية معالجة المطالبات.
- حدث وسيط استقبال (Catch) برسالة: يوقف التدفق حتى تصل رسالة متوقعة. مثال: بعد إحالة طلب إلى مورّد، يظل فريق الخدمات اللوجستية في انتظار إشعار الشحن قبل تحديث جدول التسليم.
- حدث نهاية برسالة: (مظروف مملوء، حدٌّ سميك) يُرسل رسالة عند انتهاء العملية. مثال: حين تنتهي عملية الموافقة، يُرسَل بريد إلكتروني تأكيدي إلى مقدّم الطلب.
أحداث المؤقتات
يُمثّل حدث المؤقت مُشغِّلاً زمنياً. الرمز وجه ساعة.
- حدث بدء بمؤقت: يُطلَق في تاريخ/وقت محدد أو وفق جدول زمني متكرر. مثال: عملية الرواتب التي تعمل كل أسبوعين، أو تقرير يُنشأ عند منتصف ليل آخر يوم من الشهر.
- حدث وسيط استقبال بمؤقت: يوقف التدفق لمدة محددة أو حتى موعد نهائي. مثال: بعد إرسال تذكير سداد، تنتظر عملية الحسابات المدينة 7 أيام قبل التصعيد. إن وصل الدفع خلال تلك الأيام السبعة، يُلغى المؤقت وتستمر العملية بشكل طبيعي.
- لا يوجد متغيّر نهائي لأحداث المؤقتات — لا يمكنك الانتهاء بإطلاق مؤقت. إنها أحداث استقبال فحسب.
مثال عملي: تدفق تذكير موعد عيادة
تخيّل عيادة تُؤكّد المواعيد عبر البريد الإلكتروني وتُصعّد إلى مكالمة هاتفية إذا لم يستجب المريض خلال 48 ساعة. للعملية ثلاثة أطراف: النظام، وفريق الاستقبال، والمريض (مُنمذَج بوصفه مصدر رسائل خارجياً). إليك كيف تظهر الأحداث في التدفق:
- حدث بدء بمؤقت يُطلَق قبل 48 ساعة من الموعد المجدوَل.
- يُرسل النظام بريداً إلكترونياً للتأكيد. حدث وسيط إرسال برسالة يُمثّل البريد الصادر.
- حدث وسيط استقبال بمؤقت (انتظار 24 ساعة) يوقف التدفق.
- بوابة حصرية تتحقق: هل أكّد المريض؟
- إذا نعم: حدث وسيط استقبال برسالة التقط رد المريض. تنتهي العملية بـحدث نهاية بدون مُشغِّل (الموعد مؤكَّد).
- إذا لا: يتصل فريق الاستقبال بالمريض. تُسجَّل نتيجة الاتصال وتنتهي العملية إما بتأكيد أو إلغاء.
قراءة التدفق — ما يُخبرك به كل حدث
سِر عبر المخطط أعلاه بعيون المحلل:
- حدث البدء بمؤقت (رمز ساعة، حدٌّ رفيع) يُخبر أي قارئ: هذه العملية لا تبدأ لأن شخصاً ضغط زراً — بل تُطلَق تلقائياً وفق جدول زمني.
- الحدث الوسيط الاستقبالي بمؤقت بعد مهمة البريد الإلكتروني يعني: العملية تتوقف حرفياً هنا. لا يحدث شيء حتى تمضي 24 ساعة أو يستجيب المريض — أيهما جاء أولاً (تتحقق البوابة من النتيجة).
- الحدث الوسيط الاستقبالي برسالة على فرع "نعم" يلتقط تأكيد المريض الوارد. وجوده في تدفق التسلسل يعني أن مسار "نعم" سُلك لأن الرسالة وصلت قبل انتهاء مؤقت 24 ساعة.
- حدثَا النهاية لهما معالجة بصرية مختلفة: نهاية خضراء بحدٍّ سميك تعني "بدون مُشغِّل" (العملية تنتهي ببساطة بموعد مؤكَّد)؛ النهاية الحمراء بعلامة X تُمثّل نتيجة الإلغاء.
أنواع أخرى من الأحداث ستصادفها
تُحدّد مواصفة BPMN 2.0 مُشغِّلات أحداث إضافية يجب أن تعرف التعرف عليها حتى لو لم تنمذجها كلها من اليوم الأول:
- حدث الخطأ (Error) — رمز صاعقة، دائماً نهاية أو استقبال حدّي. يُمثّل حالة عطل تُنهي عملية فرعية وتُوجّه إلى معالج الاستثناء.
- حدث الإشارة (Signal) — رمز مثلث. على عكس الرسالة (نقطة إلى نقطة بين مجمَعَين محددَين)، الإشارة بثٌّ عام — أي عملية تستمع يمكنها استقباله.
- حدث الشرط (Conditional) — رمز صفحة مسطّرة. يُطلَق حين يصبح شرط أعمال صحيحاً (مثل انخفاض المخزون عن مستوى إعادة الطلب).
- حدث التصعيد (Escalation) — رمز سهم للأعلى. يُستخدم داخل العمليات الفرعية لتصعيد حالة إلى معالج أعلى مستوى دون إنهاء العملية الفرعية.
- حدث نهاية إنهاء فوري (Terminate) — دائرة مملوءة بحدٍّ سميك. يُوقف فوراً جميع المسارات النشطة في العملية، ليس فرعاً واحداً فقط. استخدمه باعتدال وعن قصد.
إرشادات عملية لنمذجة الأحداث
- ابدأ بالمُشغِّل. قبل رسم أي شيء، اسأل: ما الذي يجعل هذه العملية تبدأ؟ فعل إنساني؟ رسالة واردة؟ جدول زمني؟ إجابتك تُحدّد ما إذا كان حدث البدء بدون مُشغِّل أم برسالة أم بمؤقت.
- سمِّ أحداثك. الحدث المُسمّى — "Order Received"، "48-Hour Timer Expired"، "Approval Email Arrives" — يُوصل أكثر بكثير من دائرة بلا تسمية. تعامل مع تسميات الأحداث بوصفها جملاً بلغة الأعمال تصف ما حدث.
- استخدم الأحداث الوسيطة لنمذجة الانتظار. حين تتوقف العملية فعلاً — انتظاراً لموافقة أو دفعة أو نافذة زمنية مجدوَلة — يجعل حدث استقبال وسيط ذلك الانتظار مرئياً وقابلاً للقياس. إذا كانت لديك مهمة تُسمّى "Wait for Payment"، استبدلها بحدث استقبال وسيط برسالة؛ الحدث أغنى دلالياً وأصح شكلياً.
- طابق أحداث النهاية مع النتائج. كل نتيجة أعمال مميزة (مؤكَّدة، مرفوضة، مُصعَّدة، مُلغاة) تستحق حدث نهاية خاصاً بها وتسمية دالّة. هذا يجعل العملية مقروءة بوصفها مجموعة نتائج محتملة — وهو بالضبط ما يحتاج أصحاب المصلحة والمختبرون رؤيته.
خلاصة
أحداث BPMN هي طبقة المُشغِّلات في عملية الأعمال — النقاط التي يمتدّ فيها العالم الحقيقي ليلمس النموذج ويقول: ابدأ الآن، انتظر هذا، أو لقد انتهيت. إتقان تصنيفاتها الثلاثة (بداية، وسيطة، نهاية) ونوعَي المُشغِّل الأكثر شيوعاً (رسالة، مؤقت) يمنحك المفردات اللازمة لنمذجة كل تدفق واقعي ستصادفه بوصفك محلل أعمال: العمليات المجدوَلة، وتدفقات العمل المدفوعة بالرسائل، وحالات الانتظار، ومسارات التصعيد، ونهايات النتائج المتعددة. كل ما تعلّمته في هذا الدرس يُغذّي مباشرةً مخططات التعاون بالمجمعات والممرات القادمة في الدرس 6 ومشاريع نمذجة الوضع الراهن والمأمول في الدرسَين 7 و 8.