در سیستم مدیریت فرایندها، این امکان وجود دارد که یک گردش کار، از رویدادهای خارج از خود آگاه شود و براساس این آگاهی، واکنش نشان دهد. این واکنش یا از نوع تغییر وضعیت (Status) و حالت فرایند است و یا از نوع انجام یک فعالیت است. برای درک بهتر این مفهوم به مثالهای زیر توجه کنید:
- یک گردش کار تامین نیروی انسانی نیاز دارد تا از پایان یافتن کارهای گردش کار مصاحبه با متقاضیان مطلع شود و بر این اساس، متقاضیان قبول شده را به فهرست نیروی انسانی خود اضافه کند.
- یک گردش کار مدیریت شکایات، باید به پیامها و بازخوردهای مشتری حساس باشد و برای هر شکایت، بطور اتوماتیک یک کار بررسی و رسیدگی را آغاز کند.
- یک گردش کار ثبت سفارش محصولات، پس از ثبت سفارش، در حالت انتظار قرار می گیرد و باید به محض صدور پیش فاکتور در سیستم فروش، از حالت انتظار خارج شود و به جریان بیفتد.
- در یک گردش کار تدارکات و خرید، می خواهیم محصولاتی را که موجودی آنها در حالت بحرانی قرار می گیرد (از یک میزان مشخص کمتر می شود) تشخیص دهیم و برای این محصولات بطور اتوماتیک یک کار خرید راه اندازی کنیم.
- در یک گردش کار مدیریت وامها، سیستم باید با نظارت مستمر بر مانده وام کارمندان در سیستم پرسنلی، بطور اتوماتیک کارمندانی را که مانده وام آنها از یک مبلغ معین کمتر می شود، شناسایی کرده و این افراد را از لیست کارمندان غیرمجاز برای دریافت وام خارج کند.
- در یک گردش کار پشتیبانی می خواهیم به محض فروش یک بسته نرم افزاری یا خدمات، بطور اتوماتیک یک کار جدید پشتیبانی (نصب و راه اندازی) برای مشتری راه اندازی شود.
تقسیم بندی رویدادهای خارج از فرایند
با توجه به مثالهای بالا، می توانیم نتیجه گیری کنیم که رویدادها یا در گردش کارهای سیستم مدیریت فرایند اتفاق می افتد یا در سیستم های دیگر که ارتباطی با مدیریت فرایندها ندارند. بنابراین دو نوع رویداد وجود دارد:
- رویدادهای اتفاق افتاده در سیستمهای درون مدیریت فرایندها (سایر گردش کارها)
اگر دقت کنید مثالهای 1 و 6 از این نوع هستند
در مثال 1 گردش کار مصاحبه، اتمام کار را از طریق یک پیام به گردش کار تامین نیروی انسانی اعلام می کند.
در مثال 6 ، گردش کار فروش، در پایان هر کار فروش، یک پیام منتشر می کند و گردش کار پشتیبانی این پیام را دریافت و یک کار جدید را ایجاد می کند.
- رویدادهای اتفاق افتاده در سیستمهای خارج از مدیریت فرایندها (سیستمهای دیگر)
مثالهای 2 تا 5 همگی از این نوع هستند:
در مثال 2، باید سیستم ایمیل سازمان بررسی شود و ایمیل هایی که دارای موضوع شکایت هستند شناسایی و به گردش کار مدیریت شکایات اعلام شود. بدیهی است که سیستم ایمیل بخودی خود امکان ارسال پیام را ندارد.
در مثال 3، باید از طریق مکانیسم خاصی، از صدور آخرین پیش فاکتور در سیستم مالی مطلع شده و این رخداد به اطلاع گردش کار ثبت سفارش برسد. در اینجا هم سیستم مالی امکان ارسال پیام برای این کار را ندارد.
در مثال 4، باید از طریق یک نظارت مستمر، از موجودی کالاها در سیستم انبار، مطلع باشیم و با تشخیص کالاهای با موجودی بحرانی، این موارد را به اطلاع گردش کار خرید و تدارکات برسانیم. در این مورد هم سیستم انبار فاقد امکان ارسال پیام می باشد.
در مثال 5، باید در سیستم پرسنلی، کارمندان با مانده وام کمتر از یک مبلغ معین، بطور مداوم شناسایی و به گردش کار مدیریت وامها اعلام شود. واضح است که سیستم پرسنلی نیز امکان ارسال پیام برای این کار را ندارد.
بر این اساس مطالبی که گفته شد، دو نوع روش آگاهی از رویدادها وجود دارد
روشهای آگاهی از رویدادها
در سیستم مدیریت فرایندها، تنها روش آگاهی گردش کارها از رویدادها، از طریق ارسال و دریافت پیام است اما این مکانیزم برای رویدادهای داخلی بطور مستقیم و برای رویدادهای سیستمهای خارجی بطور غیرمستقیم انجام می شود:
- ارسال پیام بطور مستقیم (برای رویدادهای درون مدیریت فرایندها)
اگر سیستم مورد نظر، یک گردش کار از مدیریت فرایندها باشد، بدیهی است که امکان ارسال پیام (یا رخداد) را داراست ولذا می تواند رویدادهای خاص مورد نظر را به اطلاع فرایند اصلی برساند.
- ارسال پیام توسط یک سیستم واسطه (برای رویدادهای خارج از مدیریت فرایندها)
اگر سیستم مورد نظر خارج از سیستم مدیریت فرایندها باشد آنگاه امکان ارسال پیام بطور مستقیم را نخواهد داشت. در این موارد، نیاز به سیستم واسطه ای داریم که به نحوی بر رویدادها در آن سیستم نظارت داشته باشد، بتواند از رویدادها آگاه شود و به محض اطلاع از رویدادی خاص، آن را از طریق ارسال پیام به اطلاع فرایند اصلی برساند.این نوع از اطلاع رسانی را آشکارسازی و این سیستم واسطه را آشکارساز می نامیم.
مفاهیم آشکارساز و آشکارسازی
آشکارسازی: مفهوم آشکارسازی یعنی اینکه بطور مستمر و در فواصل زمانی معین، رویدادهای یک سیستم بررسی شود و از میان این رویدادها، موارد با ویژگیهای خاص و معنی دار شناسایی (آشکار) و اعلام شود.
آشکارساز: سیستم واسطه ای که عمل آشکارسازی را انجام می دهد، آشکارساز نامیده می شود. به عبارت دیگر آشکارساز ابزاری است که می تواند با استفاده از مکانیزمهای خاصی، رویدادهای معینی را در سیستمهای خارج از مدیریت فرایند تشخیص دهد و آنها را برای فرایند اصلی آشکار کند.
حال این سوال به ذهن می رسد که نحوه آشکارسازی چگونه است و آشکارساز به چه صورت این کار را انجام می دهد.
روشهای آشکارسازی
سیستمها برای ثبت و ذخیره سازی اطلاعات از استانداردهای مختلفی استفاده می کنند و نیز برای تعامل با سیستمهای دیگر از کانالهای متنوع ارتباطی استاندارد استفاده می کنند. آشکارساز سیستم مدیریت فرایندهای نوسا از میان این استانداردها، برای ثبت و ذخیره اطلاعات و پایگاههای اطلاعاتی از استاندارد SQL و برای ارتباط و تعامل از سیستم پست الکترونیک (Email) پشتیبانی می کند. یعنی سیستم هایی که اطلاعات رویدادهای خود را در جداول SQL ذخیره می کنند یا اینکه اطلاعات ساختاریافته ای به فرمت Email را ارسال می کنند امکان آشکارسازی در مدیریت فرایندها را دارا هستند. بر این اساس دو روش آشکارسازی به شرح زیر قابل تعریف است:
1.پست الکترونیک (Email)
اگر سیستمی این امکان را داشته باشد که رویدادهای خود را در قالب ایمیل ارسال کند، آنگاه سیستم مدیریت فرایندها می تواند این رویدادها را شناسایی کند. در این روش، امکان اتصال به Inbox ایمیل و جستجوی ایمیلها در سه مدخل نام فرستنده، موضوع و متن وجود دارد که از این طریق ایمیل های با شرایط مورد نظر آشکارسازی می شود و همزمان و متناظر با این ایمیلها پیامی منتشر (سیگنال) می شود.
مثالهای مرتبط با این روش
در مثال 2، مشتریان شکایات خود را در قالب ایمیل به شرکت ارسال می کنند و این ایمیل ها آشکارسازی شده و متناظر با هر مورد، یک پیام منتشر (سیگنال) می شود. این پیام (رخداد) توسط گردش کار مدیریت شکایات، دریافت می شود و متعاقب آن یک کار جدید برای بررسی شکایت مشتری آغاز می شود.
2.SQL
اگر در یک سیستم، اطلاعات رویدادها در پایگاههای اطلاعاتی SQL ثبت و ذخیره می شود، سیستم مدیریت فرایندها امکان این را دارد که از طریق Query و جستجو در این جداول اطلاعاتی، رویدادهای جدید را شناسایی و آشکارسازی کند. در این روش هم به محض شناسایی، یک پیام منتشر می شود.
توضیح: در حال حاضر این امکان در پایگاههای Microsoft Sql Server و MySql تست شده و کار می کند.
مثالهای مرتبط با این روش
در مثال 3، از طریق Query در پایگاه اطلاعاتی سیستم فروض، صدور فاکتور جدید آشکارسازی می شود.
در مثال 4، موجودی کالاهای در وضعیت بحرانی در سیستم انبار از طریق Query شناسایی و آشکارسازی می شود.
در مثال 5، پایگاه اطلاعاتی سیستم پرسنلی تحت SQL است و اطلاعات وام کارکنان با مانده وام مشخص از طریق Query آشکارسازی می شود.
جزئیات هر کدام از روشهای فوق در مطالب جداگانه شرح داده شده است که برای اطلاعات بیشتر می توانید به این مطالب مراجعه کنید.