هر شرکت یا سازمانی که ایجاد میشود با هدف تولید یک محصول یا ارائهی یک خدمت ایجاد میشود و برای رسیدن به این هدف مجموعهای از کارها و نقشها تعریف میگردد. به هر کدام از این کارها یک فرایند گفته میشود. هر فرایند متشکل از چند مرحله است که هر مرحله یک خروجی دارد و این خروجی به مرحلهی بعدی منتقل میشود تا اینکه به مرحلهی آخر برسد و خروجی مرحلهی آخر میشود محصولی که از آن فرایند انتظار داریم دریافت کنیم. گاهی ممکن است که خروجی یک فرایند آغاز کنندهی یک فرایند دیگر باشد و خروجی به فرایند قبلی به عنوان ورودی به فرایند بعدی داده شود و فرایند آغاز گردد. بنابراین فرایند را میتوان مانند یک خط تولید در نظر گرفت که یک ماده خام وارد خط تولید میشود و در هر مرحله کارهایی برروی آن انجام میشود در نهایت، پس از اتمام مرحلهی آخر آن مادهی خام تبدیل به یک محصول قابل استفاده شده است. در اینجا دادهها میتوانند همان مادهی خام ما باشند که با انجام پردازشهایی برروی آنها در هر مرحله تبدیل به دادههایی بدرد بخورد و قابل استفاده میشوند. نکتهای که در مورد فرایندها میتوان به آن اشاره کرد تغییرپذیر بودن آنها است. برای طراحی یک فرایند فاکتورهای زیادی ممکن است در نظر گرفته شود مانند قوانین کسب و کار، نیروی انسانی موجود، تکنولوژیهای در دسترس، بودجهی مالی و غیره. بنابراین هر کدام از عوامل موثر در طراحی فرایند که تغییر کنند میتوانند در تغییر فرایند نیز تاثیر گذار باشند. بنابراین فرایندها یک روند کاری ثابتی ممکن است نباشد و میتوان برروی آنها بهینه سازی انجام داد و با بررسی هر کدام از آنها مراحلی که اضافه هستند را حذف کرد و زمان و هزینه را بدین ترتیب کاهش داد.
بنابراین هر شرکت و سازمانی فرایندها و راهبردهای کسب و کار خود را دارند که نیاز است تا شناسایی و بررسی شوند و در صورت امکان بهبود آنها، راههای پیشنهادی برای بهبود و بهینه کردن آنها ارائه شوند. به روشها و متدهایی که برای شناسایی، مدل، تحلیل، اندازهگیری، بهبود و بهینه کردن فرایندها و راهبرد کسب و کار بکار گرفته میشوند، مدیریت فرایندکسب و کار(Business Process Management یا به اختصار BPM) گفته میشود. تعداد فرایندهای موجود در یک سازمان ممکن است بسیار زیاد باشد، مثلا بیشتر از ۱۰۰ تا، و حتی هر فرایند ممکن است که شامل چند زیر فرایند دیگر باشد. همچنین افرادی که در یک فرایند ممکن است دخیل باشند تعدادشان زیاد باشد. به طور کلی مدیریت و مستند کردن این فرایندها کار پیچیده و زمانبری است و نیاز به دقت زیادی دارد. برای آسان کردن کار مدیریت فرایند، از سیستمها و نرمافزارهای مدیریت فرایند کسب و کار (Business Process Management System یا به اختصار BPMS) استفاده میشود. BPMS درواقع ابزاری است برای اجرای متدولوژیهای مدیریت جهت بهبود فرایندهای کسب و کار یک سازمان به کمک شناسایی، طراحی، خودکارسازی، تحلیل و اندازهگیری عملکرد. این نرمافزار برای دراز مدت طراحی شده است، یعنی آنکه شما فرایندهای مدل شده در سیستم را تغییر میدهید آن را از حالت خام خارج میکنید تا به یک مدل بهینه تبدیل شود و در صورت لزوم در آینده آن را باز هم میتوانید تعییر دهید و به عنوان یک راه حل یکبار مصرف ارائه نشده است. استفاده از این نرمافزار مزیتهایی دارد که از جملهی آنها میتوان به موارد زیر اشاره کرد:
بنابراین با توجه به مزیتهای گفته شده وجود یک BPMS متناسب با یک سازمان را میتوان ضروری دانست. از این رو نرمافزارهایی وجود دارند که سازمانها میتوانند از آنها استفاده کنند و برخی از آنها حتی متن باز و رایگان هستند و هر سازمانی متناسب با نیاز خود میتواند آن را تغییر دهد. در بخش بعد به معرفی دو نرمافزار متن باز خواهیم پرداخت
نرمافزارهایی که این سرویس را ارائه میدهند و مشهور هستند میتوان به Bizagi، Monday و Kissflow اشاره کرد. اما برای استفاده از این نرمافزارها لازم است تا سازمانها هزینه کنند و نرمافزاری را اتنخاب کنند که سازگاری بیشتری با سازمان آنها دارد. ولی نرمافزارهای متن بازی در این حوزه وجود دارند که سازمانها میتوانند از آنها استفاده کنند و متناسب با نیازهای خود آن را تغییر دهند و جدا از بحث هزینه که آن را کاهش میدهد از نظر کارایی نیز توسعه دهندگان نرمافزار آن سازمان میتوانند BPMS متناسب با آن سازمان را طراحی کنند. از جمله نرمافزارهای متن باز معروف میتوان به Bonita و Alfresco اشاره کرد.
نرمافزار Bonita یک پلتفرم قابل گسترش برای بهینه و خودکارسازی فرایند کسبوکار است و این قابلیت را دارد تا با سیستمهای اطلاعاتی موجود در یک سازمان یکپارچه میشود و سیستمهای ناهمگن را هماهنگ میکند و در نتیجه شفافیت عمیقی به فرایندهای سازمان میدهد. این نرمافزار از سه جزء اصلی تشکیل شده است:
محیط توسعه (Bonita Studio): این بخش شامل سه ابزار برای طراحی میباشد. اولین جز Whiteboard نام دارد که برای کشیدن نمودار جریان فرایند و توضیح جزئیات گامها، انتقالات، نقاط تصمیم و سایر اجزای یک فرایند است. بخش بعدی ابزار توسعه با کد کم است که برای طراحی مدلهای داده، برنامههای فرایند محور میباشد. بخش سوم نیز طراح UI است که برای ایجاد فرمهای فرایند، لایهها و صفحات برنامه استفاده میشود. Bonita Studio درواقع یک ابزار توسعه برای توسعهدهندگان حرفهای و معمولی است.
محیط اجرا (Bonita Runtime): ترکیب یک یا چند گره سرور خود Bonita است که برروی برخی میزبانها نصب شده است. Bonita برنامههایی را ارائه میدهد که در محیط اجرا تعبیه شدهاند. مانند Bonita Administrator که توسط مدیر سیستم برای نصب، استقرار و مدیریت فرایندها، نظارت بر اجرای فرایند، انجام برخی ارزیابی در سازمان و بازیابی از خطا استفاده میشود. نرمافزار دیگری که تعبیه شده است Bonita Super Administrator نام دارد که توسط کاربران فنی برای راه اندازی محیط اجرای Bonita با سازمان، مدل داده حرفه و برنامه استفاده میشود. برنامه مهم دیگر نیز Application Diracotry نام دارد که یک URL است برای بخاطر سپردن تمام کاربران Bonita و نمایش تمام برنامههایی که در دسترس کاربران وارد شده است.
ابزاری برای انتقال پروژههای Bonita به صورت مداوم (Bonita Continues Delivery): این جز برخلاف دو جز قبلی رایگان نیست و سازمان برای آنکه بتواند از آن استفاده کند لازم است هزینه اشتراک بپردازد و پس از پرداخت اشتراک توضیحات و مستندات مربوط به این قسمت نیز برای سازمان نمایش داده میشود. اما همانگونه که از اسم آن مشخص است وظیفه این برنامه تحویل مدام و خودکار تغییراتی است که انجام گرفته است.
یکی دیگر از ابزارهای ذکر شده Alfresco است. سرویسهای فرایند این نرمافزار یک راه حل BPM است که توسعه دهندگان و افراد تجاری را هدف قرار داده. این نرمافزار براساس زبان جاوا توسعه داده شده است و در مرکز خود از یک موتور فرایند کسب و کار متن باز با کارایی بالا به نام Acitiviti با قابلیت انعطافپذیری و مقیاسپذیری بالا برای کنترل یک محدودهی بزرگی از فرایندهای حیاتی طراحی شده است. این نرمافزار امکاناتی را ارائه میدهد که از نظر واسط کاربری برای کاربران مناسب است و اصطلاحا User-Friendly است و همچنین با برخی سیستمهای سازمانی مانند Box، Google Drive و Alfresco Content Services یکپارچه میشود.
البته شرکتهایی نیز هستند که این سرویس را در خدمت سازمانهای قرار میدهند و سازمان نیاز به یک تیم توسعهی مجزا با توسعهی آن ندارد و میتوان از محصول آمادهی شرکتهای ارائه دهنده استفاده کنند و در صورتی که نیاز به تغییراتی هم داشته باشند میتوانند مستقیم به تیم پشتیبانی تیم ارائه دهنده بگویند و در صورتی که ممکن باشد آنها نیز تغییرات را اعمال کنند. در ادامه به معرفی دو شرکت ارائه دهندهی این سرویس در ایران خواهیم پرداخت.
از جمله شرکتهایی که در ایران سرویسهای مربوط به BPMS را ارائه میدهند میتوان شرکت فراگستر و ICAN را نام برد. شرکت فراگستر به طور کلی خدماتی در حوزهی اتوماسیون، نظارت، مدیریت مستندات، امنیت و مدیریت فرایندها ارائه میدهد. این شرکت یک اتوماسیون اداری تحت وب را ارائه میدهد که به کمک آن میتوانید فرایندها و مراحل مربوط به آن را در سیستم تعریف کنید. نرمافزاری که این شرکت توسعه داده است درواقع یک بومی سازی شدهی نرمافزار Process maker است که یک نرمافزار متن باز برای BPMS است. ICAN نیز شرکتی که اولین ارائه دهنده سرویس BPMS است و این سرویس را در دو سطح سازمانی و استاندارد ارائه میدهد. خدماتی که در سطح استاندارد ارائه میدهد محدود است و تنها شامل ایجاد فرم، ایجاد گردش کار و سرویسها است اما در سطح سازمانی امکانات دیگری مانند توسعه سریع برنامه، نظارت برای فعالیتهای کسب و کار و پورتال طراحی شده نیز ارائه میشود.
هر سازمان شامل مجموعهای از فرایندها است که هرکدام از این فرایندها شامل مراحلی هستند و هر فرایند مسئولین مربوط به خود را دارد. هنگامی که تعداد فرایندها و نقشها در آنها زیاد شود مدیریت آنها نیز مشکل میشود و نظارت بر آنها دشوار. بنابراین نیاز به یک سیستمی است که بتوان از آن برای طراحی، مدیریت و نظارت بر فرایندها از آن استفاده کرد. این سیستم، سیستم مدیریت فرایند کسب و کار یا BPMS نام دارد. مزایایی که یک BPMS دارد میتوان طراحی یک فرایند و مشاهدهی خروجی و ارزیابی آن باشد بدون آنکه به صورت عملی در سازمان پیاده سازی شده باشد، امکان مشاهدهی نقشها و افراد مربوط به هر فرایند، امکان تغییر و اجرای مجدد آن و همچنین مستند سازی فرایندها. نرمافزارهای چندین نرمافزار متن باز هم وجود دارد که این سرویس را ارئه میدهند و سازمانها میتوانند از آنها برای خود استفاده کنند مانند Bonita و Alfresco. اما برخی از سازمانهای کوچک که تیم توسعهی نرمافزار ندارند میتوانند به سراغ شرکتهای ارائه دهندهی این سرویس بروند. در ایران شرکتهایی مانند فراگستر و ICAN این سرویس را ارائه میدهند
این مطلب، بخشی از تمرینهای درس معماری نرمافزار در دانشگاه شهیدبهشتی است