مقایسه دو فناوری BRMS و BPMS


توی این نوشته اول قصد داشتم راجع به BPMS بگم ولی وقتی به فارسی سرچ کردم دیدم مطلب ازش کم نیست! بعد گفتم خب احتمالا راجع به BRMS دیگه مطلب درست حسابی نباشه! ولی باز هم موقع سرچ دیدم خود ویرگول کلی مطلب داره. این شد که تصمیم گرفتم توی این پست یه مقایسه ساده درباره‌ی این دو مفهوم بنویسم.


مقدمه

اگر اصلا نمیدونید این دو عبارت چی هستن پیشنهاد میکنم در حد چند دقیقه سرچ کنید بعد این نوشته رو بخونید ولی به طور کلی BPMS خلاصه "Business Process Management System" هست، یعنی مدیریت فرایند کسب و کار. BRMS هم خلاصه شده‌ی "Business Rules Management System" یعنی سیستم مدیریت قوانین کسب و کار. بعضی جاها به جای System ، Software هم می‌نویسند.

در مدیریت فرایند کسب و کار درباره‌ی "چگونه انجام دادن" و در مدیریت قوانین کسب و کار درباره‌ی "چه باید انجام شود" صحبت میشه. در واقع در سازمان هر کدوم برای وظایفی مورد نیازن، برای مدیریت فرآیندهای دستی (انسانی) و اجرای فرآیندهای خودکار که بدونند چگونه کار را انجام بدند، به یک BPMS نیاز داریم ولی با BRMSقوانین کسب و کار مدیریت و اجرا میشن و موقع تصمیم گیری به ما کمک می‌کنند که چه کاری باید انجام بشه. پس یک موتور قوانین (BRMS) قوانینی اجرا میکنه که تصمیم میگیره چه فرایندی و به چه ترتیبی اجرا شه.


کِی سراغ BPMS بریم؟

  • هر وقتی توی کسب و کار خواستید مطمئن بشین یه فرایند استاندارد و کارآمد انجام می‌شه یا نه.
  • اگر خواستید یکی از فرایندهای موجود به طور کلی تغییر کنه. (نه فقط یه لایه‌ی سطحی)
  • هرجایی نیاز به هماهنگی فرایندها بود، مثلا نیاز به فرایندی داشتید که با فرایندهای تجاری سازمان‌های دیگه در ارتباط باشه یا اصلا برای پشتیبانی فرایندهای حاضر نیاز به هماهنگ کردن جریان چند فرایند دیگه بود.
  • اگر خواستید بخشی از فرایندهارو خودکار کنید به ویژه برای پشتیبانی یک مجموعه‌ی ناهمگن از فرایندهای بک‌اندی.


کِی سراغ BRMS بریم؟

  • وقتی نیاز داریم یک سری قوانین پیچیده داشته باشیم که پیاده سازی آن ها با کد سخت میشه.
  • معمولا در هر تجارتی هزاران قانون وجود داره که مدیریت خود اینها چالش برانگیزه. با کمک موتور قوانین میشه هم در زمان صرفه جویی کنیم هم طول چرخه‌ی عمر برنامه بهتر می‌شه چون سرعت پاسخگویی به تغییرات و درخواست ها سریع تر میشه.
  • اگر در سازمانی هستیم که قوانین تجارتی سریع عوض میشن حتما BRMS مفیده چون خطاها و سو تفاهم ها به حداقل میرسه.


آیا ترکیب BRMS و BPMS لازمه؟

تا اینجا فهمیدیم که این دو فناوری باهم متفاوتن. اما آیا مکمل هم هستند؟ بیایم باهم دو تا سناریو بررسی کنیم:

  • فرض کنید پیشروی فرایندهای یک سازمان به جایی می‌رسه که قبل از ادامه کار باید یک تصمیم مهم و پیچیده بگیره مثلا آمادگی بازار برای محصولش دقیق بررسی بشه. برای اینکار از یک موتور قوانین استفاده می‌کنه تا داده‌های تهیه شده رو بگیره و بهترین تصمیمات و فعالیت‌هارو ارائه بده یا حتی بگه چه داده‌ی دیگری نیاز هست جمع آوری بشه یا چه کسی در چه موقعیت شغلی باید کارخاصی انجام بده و ... . بعد از نتایج استفاده می‌شه تا BPM ادامه کارشو پیش ببره.
  • در سناریو دوم فرض کنید یک BRM به نقطه ای ار کار می‌رسه که با کمبود داده مواجه شده و برای تصمیم گیری نیاز به داده بیشتر هست اینجاست که یک فرایند BPM آغاز می‌کنه که کاربر مناسب به جریان اضافه کنه تا ازمایش‌هایی که نیاز هست انجام شه. وقتی فرایند BPMتموم میشه دوباره کار BRM شروع می‌شه و با داده‌های به دست اومده ادامه میده.

در کل حتی اگر دو سناریو که توضیح دادیم هم در نظر نگیریم، بعد ایجاد هر قانون یا تصمیم جدید معمولا یک فرایندی شروع میشه که بهش میگن rule action و برای اجرا سراغ BPM میریم.


نکات تکمیلی

یکی از تفاوت‌های مهم دیگر از لحاظ عملکردی بین BRMS و BPMS این است که معمولا قوانین با سرعت بیشتری درحال تغییر یا ایجاد هستند در حالی که ساختار و جریان فرایندها پایدارتر است.


معرفی اوپن سورس‌ها

به نظرم خوب بود چندتا محیط چند ابزار اوپن سورس و رایگان هم ببینیم:

  • اولین مورد Drools یک سلوشن BRMS است که هسته یک موتور قواعد تجاری (BRE)، پشتیبانی کامل در زمان اجرا برای مدل‌های Decision Model and Notation) DMN)، پلاگین Eclipse IDE برای توسعه هسته و موارد دیگری مثل web authoring و ... ارائه می‌کند و رابط کاربری نسبتا ساده‌ای دارد که در تصاویر زیر قابل مشاهده است.


آشنایی با محیط Drools
آشنایی با محیط Drools





شرکت‌های ایرانی مرتبط

در نهایت خوبه باهم چند تا مثال هم ببینیم. من با کمی سرچ یه سری شرکت ایرانی پیدا کردم که در این زمینه ها فعالیت می‌کنند:

  • آیکن
  • ایران رایانه
  • باسا
  • برسا نوین رای
  • پاسارگاد
  • پارسه رایانه
  • شرکت بهسا
  • پرنیان پردازش پارس
  • پگاه آفتاب
  • تاران
  • تذرو افزار





«این مطلب، بخشی از تمرینهای درس معماری نرم‌افزار در دانشگاه شهیدبهشتی است»

منابع

https://www.fico.com/blogs/are-bpms-and-brms-complementary-or-not

http://bizrules.info/weblog/2006/02/differences_between_process_bp.html

https://www.linkedin.com/pulse/bpm-brms-rpa-calvin-kiboma/

https://ebpm.ir/10242