مقدمه ای بر BRMS

سیستم BRMS به فرآیند و تعریف رسمی عملکرد قوانین کسب و کار، اجرا، مدیریت و به کارگیری خودکار آنها اشاره دارد. تعاریف BRMS :سیستم نرم افزاری BRMS یا سیستم مدیریت قوانین کسب و کار سیستمی نرم افزاری است که برای تعریف، استقرار، اجرا، نظارت و حفظ تنوع و پیچیدگی منطق تصمیم گیری که توسط سیستم های عملیاتی در یک سازمان یا شرکت استفاده می شود، به کار می رود. این منطق که به آن قوانین کسب و کار نیز گفته می شود، شامل سیاست ها، الزامات و عبارات مشروط است که برای تعیین اقدامات تاکتیکی که در برنامه ها و سیستم ها انجام می شود، استفاده می گردد.سیستم BRMS به فرآیند و تعریف رسمی عملکرد قوانین کسب و کار، اجرا، مدیریت و به کارگیری خودکار آنها اشاره دارد. در واقع سیستم مدیریت قوانین کسب و کار (BRMS) یک بستر فناوری است که از طریق آن این فرآیند انجام می شود. یک BRMS ابزارهایی را برای تسهیل کل چرخه حیات قوانین تجاری، از تعریف و ذخیره قوانین به عنوان منطق رسمی کسب و کار گرفته تا ممیزی قوانین موجود و مدیریت منطق تصمیم گیری فراگیر که اتوماسیون را در کل اکوسیستم فناوری سازمانی هدایت می کند، ارائه می دهد.اجزای BRMS:· یک مخزن که به منطق تصمیم اجازه ی استفاده از کد برنامه اصلی را می دهد.· ابزارهایی که به توسعه دهندگان فنی و کارشناسان کسب و کار اجازه می دهند تا منطق تصمیم را تعریف و مدیریت کنند.· یک محیط Run Time که به برنامه ‌ها اجازه می ‌دهد تا منطق تصمیم‌ گیری مدیریت شده در BRMS را فراخوانی کرده و آن را با استفاده از موتور قوانین کسب و کار اجرا نمایند.مزایای سیستم مدیریت قوانین کسب و کار (BRMS):با یک BRMS، قوانین در یک مخزن مرکزی جدا از کدهای برنامه ذخیره می شوند. مخزن یک منبع واحد از واقعیت ها را برای قوانین کسب و کار ایجاد می کند تا برای همه ی برنامه های کاربردی سراسر سازمان قابل دسترسی باشد. در نتیجه، قوانین کسب و کار مقیاس پذیر هستند و تصمیمات کسب و کار همواره به روز، سازگار و قابل اعتماد می باشند.اتوماسیون کارآمدBRMS ها:اتوماسیون کارآمد گردش کار برای سازمان ها ضروری هستند. چندین گردش کار را می توان با استفاده از یک مخزن مجزای منطق تصمیم گیری در سطح شرکت خودکار سازی کرد. به این ترتیب، IT مجبور نیست برای هر برنامه برنامه ریزی منطقی تصمیم گیری متفاوتی را در نظر بگیرد.نتایج منسجم تر:وقتی تصمیمات کسب و کار بر اساس سیستمی مجموعه ای از قوانین کسب و کار در سطح سازمانی خودکار سازی گردند، همه ی تصمیمات بر اساس منطقی یکسان گرفته می شوند. این امر منجر به نتایج منسجم‌تری می گردد، زیرا تصمیمات کسب و کار دیگر تحت تأثیر اختیارات انسانی قرار نمی‌گیرد مگر در موارد ضروری.کاهش پیچیدگی:هنگام مواجهه با تصمیمات کسب و کار، کارگران انسانی مجبور نیستند چندین فاکتور را بسنجند یا مطمئن شوند که از قوانین پیروی می کنند. در عوض، برنامه ها می توانند با BRMS بررسی کنند، که آیا از پایگاه داده ی قوانین کسب و کار برای تعیین نتیجه ی مناسب استفاده می کنند یا نه. تصمیم‌گیری ‌ها سریع‌ تر اتفاق می‌افتند و کارمندان وقت بیشتری پیدا می کنند تا کارهایی با ارزش بیشتری را انجام دهند.کاهش وابستگی به فناوری اطلاعات:ابزارهای بدون کد در BRMS به تحلیلگران کسب و کار و سایر کارکنان غیر فنی اجازه می دهد تا قوانین کسب و کار را با استفاده از واژگان تجاری خود ایجاد نمایند. این بدان معناست که تیم ‌ها می ‌توانند در صورت نیاز قوانینی را ایجاد و تنظیم کنند و نیازی به دخالت فناوری اطلاعات در هر به ‌روز رسانی نداشته باشند.تصمیمات پاسخگوتر:قوانین را می توان به راحتی در مخزنBRMS به روز کرد زیرا مدیریت قوانین نیازی به تغییر کد برنامه های موجود ندارد. بنابراین، قوانین را می توان به راحتی در پاسخ به مقررات جدید، تحولات بازار، تقاضای مشتری و سایر عوامل تغییر داد.انطباق خودکار:خط‌مشی‌ ها و مقررات مربوطه را می‌توان در قوانین کسب‌ و کار گنجاند و اطمینان حاصل کرد که تصمیم ‌گیرندگان خودکار از همه ی قوانین و دستورالعمل‌ های مرتبط پیروی می ‌کنند. با این کار همچنین یک مسیر حسابرسی ایجاد می شود، زیرا قوانین منتهی به هر تصمیم کسب و کار خاص همیشه قابل بررسی خواهند بود.قوانین کسب و کاری که به طور کلی بهتر هستند:به لطف توانایی اجرای برنامه های شبیه ‌ساز پیش‌ بینی قوانین پیش از اجرای آن ‌ها، تیم ‌ها می‌ توانند اطمینان حاصل کنند که قوانین کسب و کاری که ایجاد می‌کنند، نتایجی را که می‌خواهند، قبل از اجرا در دست دارند.ابزارهای BRMS عبارتند از:ابزار Red Hat® Decision Manager:پلتفرمی برای توسعه میکروسرویس ها و برنامه های کاربردی است که تصمیمات تجاری را خودکار سازی می کند. Decision Manager شامل مدیریت قوانین کسب و کار، پردازش رویدادهای پیچیده و فناوری ‌های بهینه‌سازی منابع است. سازمان ‌ها می‌ توانند منطق تصمیم‌گیری پیچیده را در برنامه ‌های کاربردی کسب و کار بگنجانند و با تغییر شرایط بازار به سرعت قوانین اساسی کسب‌وکار را به‌روزرسانی کنند.ابزار SAS Business Rules Manager:با استفاده از این ابزار می توان خطر تصمیم گیری عملیاتی تدریجی و موقتی را با استفاده از قوانین کسب و کار که به صورت تحلیلی اتخاذ شده اند برای خودکارسازی و بهبود تصمیمات در سراسر سازمان خود حذف کرد. SAS Business Rules Manager یک مخزن قوانین مرکزی، یک پلت فرم مشترک برای مدیریت توسعه و استقرار قوانین، و اتوماسیون گردش کار در سرتاسر سازمان ارائه می کند.· راه حل Drools:ابزار Drools یک راه حل سیستم مدیریت قوانین کسب و کار (BRMS) است که به نوعی موتور قواعد اصلی کسب و کار (BRE)، نوشتن برنامه وب، مدیریت قوانین (Drools Workbench) و یک پلاگین Eclipse IDE برای توسعه ی هسته ارائه می کند. Drools Fusion ویژگی های پیچیده پردازش رویداد را ارائه می دهد.· ابزار rulerz - پیاده سازی قدرتمند الگوی Specification در PHPایده اصلی Specification تفکیک عبارت مربوط به نحوه ی تطبیق یک کاندیدا از شی کاندید دیگر است که با آن مطابقت دارد. قوانین کسب و کار را می توان با استفاده از یک زبان اختصاصی که بسیار نزدیک به SQL است به صورت متنی نوشت. در این صورت به آنها به عنوان قوانین اشاره می شود و یا می توان آنها را در کلاس های مجزا کپسوله سازی کرد و تحت عنوان Specification از آنها یاد کرد.· ابزار NValid - یک کتابخانه اعتبارسنجی سلیس برای منطق کسب و کار NET.ابزار NValid یک کتابخانه اعتبارسنجی #C سبک وزن برای NET. است و به راحتی با منطق اعتبارسنجی سفارشی پروژه ی شما گسترش می یابد!· ابزار CslaGenForkتولید کننده ی کد O/RM برای CSLA.NET 4.3 که رویه های ذخیره شده، لایه ی کسب و کار و کد لایه دسترسی به داده را برای فرم های ویندوز، ASP.NET، WPF و Silverlight ایجاد می کند.· ابزار Jetfire - Workflow DSLابزار Jetfire (jetfire.ca) یک اکوسیستم منبع باز و شی گرا است که توسعه ی قوانین کسب و کار (Business Rule Engine)، برنامه های مداوم و گردش کار را بسیار آسان می کند. زبان پویای Jetfire ، سی شارپ را با قوانین، نقش‌ها، جریان داده، تداوم، نسخه‌سازی، امنیت... گسترش می‌دهد.· ابزار CSLA .NET Contribمشارکت‌های عمومی پیرامون چارچوب Rockford Lhotka's CSLA .NET شامل ابزارها، فریمورک ‌های الحاقی، ابزارها و نمونه ‌ها می باشد.· ابزار Rules Engineابزار Rules Engine یک پروژه #C است که به توسعه دهندگان کمک می کند تا قوانین کسب و کار را بر روی اشیاء دامنه بدون اتصال شی دامنه با قانون کسب و کار تعریف کنند. موتور قواعد از اعتبارسنجی cross-field و اعتبار سنجی شرطی پشتیبانی می کند. همچنین قوانین مبتنی بر رابط هستند.شرکت های ایرانی که ازسامانه‌های BRMS استفاده می‌کنند عبارتند از سامانه پردازشگر اسناد پزشکی، سامانه درمان بیمه تکمیلی (رسا) از این رویه استفاده می‌کنند و جز زیر گروه آوای اطلاعات آریا هستند که این سیستم زیرمجموعه ای از شرکت داتیس می‌باشد.· ابزار rules-runner - Business Rules Engine for Nodeیک موتور قوانین کسب و کار JS برای گره است.· ابزار roulette- موتور قوانین مبتنی بر متن/الگویک پکیج مبتنی بر متن/الگو است که فعالیت ها را از قوانین تعریف شده در یک فایل xml فعال می کند. از این پکیج جهت فعال کردن فعالیت های کسب و کار مبتنی بر درخت تصمیم متنی استفاده می شود. از ساختارهای کنترل قدرتمند در متن/قالب و تجزیه xml از encoding/xml برای ساخت درخت از یک فایل roulette xml استفاده می کند.-ابزار Plastic- این پروژه شامل مواردی مانند دامنه، قوانین برنامه و قوانین یا منطق کسب و کار در برنامه است.این پروژه شامل مواردی مانند Domain، Application Rules، Business Rules یا Business Logic در برنامه می‌شود. برای این منظور از الگوی Command استفاده می شود. تمامی اپلیکیشن ها مانند اپلیکیشن وب، CLI، GUI می توانند از این پروژه استفاده کنند. این می تواند بخشی از لایه Usecase، لایه سرویس دامنه یا CQRS باشد.معرفي برخي از شركت هايي ايراني كه از سامانه هاي BRMS استفاده مي كنند:از جمله شرکت های ایرانی که ازسامانه‌های BRMS استفاده می‌کنند مي توان به سامانه پردازشگر اسناد پزشکی، سامانه درمان بیمه تکمیلی (رسا) كه از این رویه استفاده می‌کنند و جز زیر گروه آوای اطلاعات آریا هستند و زیر مجموعه ای از شرکت داتیس می‌ باشند، اشاره كرد. برخي از نمونه هاي تجاري BRMS :راه حل Actico Platformراه حل FICO Blaze Advisorراه حل IBM Operational Decision Managerراه حل SAP BRFplus/Decision Service Managerراه حل Sparkling Logic SMARTSنمونه هايي از BRMS های Open Source:راه حل JBoss Droolsراه حل Open Rulesراه حل Red Hat JBoss BRMSجمع بندي:سیستم مدیریت قوانین کسب و کار یا BRMS مجموعه کاملی از اجزای نرم افزاری برای ایجاد، تست، مدیریت، استقرار و نگهداری مداوم قوانین کسب و کار در یک محیط تولیدي و عملي است. BRMS ها مزایای زیادی نسبت به کدهای سنتی دارند. یک BRMS به عناصر زیر نیاز دارد: مخزن قوانین کلاس هاي سازمانی با مسیرهای حسابرسی و نسخه سازیابزارهای طراحی که به کاربران فنی اجازه می دهد قوانین كسب و كار را با بقیه محیط یکپارچه کنند.برنامه های کاربردی نگهداری قوانین قابل درك برای کاربران كسب و كارابزارهای تأیید و اعتبارسنجی برای کاربران فنی و كسب و كارابزارهای تست و شبیه سازیابزارهای استقرار که از چندین پلتفرم پشتیبانی می کنندموتور قوانین کسب و کار با کارایی بالایک BRMS به کاربران كسب و كار و تحلیلگران این توانایی را می دهد که تغییرات و به روز رسانی های معمولی را در سیستم های كسب و كار حياتي ایجاد کنند و در عین حال منابع فناوری اطلاعات را برای تمرکز بر روي پروژه هايي با ارزش افزوده ي بالاتر آزادسازي نمايند.منابع: 1.https://www.progress.com/faqs/corticon-faqs/what-is-a-business-rules-management-system 2.https://www.ibm.com/cloud/blog/business-rules-management-systems-101 3.https://www.processmaker.com/blog/what-is-a-business-rules-management-system-brms/ 4.https://www.trustradius.com/business-rules-management-brm5.https://sourceforge.net/software/business-rules-management-systems-brms/6.https://decisionmanagementsolutions.com/what-is-brms/