مقایسه بین موتور گردش کار (Workflow Engine) و ماشین کنترل وضعیت (State Machin)

مقایسه بین موتور گردش کار (Workflow Engine) و ماشین کنترل وضعیت (State Machin)

مقایسه بین موتور گردش کار (Workflow Engine) و ماشین کنترل وضعیت (State Machin) 1400 687 iMaster | راهکار مدیریت و برنامه ریزی منابع سازمانی

مقدمه:

هنگامی که شرکت ها تصمیم به پیاده سازی سیستمی می گیرند که به آنها در مدیریت فرایندهای تجاری کمک می کند ، احتمالاً انتخاب آنها بین موتور گردش کار (Workflow Engine) و یک ماشین کنترل وضعیت (State Machin) است. اگرچه به نظر می رسد رفتار این دو سیستم کاملاً مشابه است ، اما هر دو دارای چندین ویژگی متمایز هستند.

بر این اساس ، باید جوانب مثبت و منفی هر دو را مورد بررسی قرار داد تا تصمیم بگیریم کدام یک از سیستم ها متناسب با نیازهای شرکت است.

به طور کلی ، تفاوت عمده بین یک موتور گردش کار و یک ماشین کنترل وضعیت در تمرکز است. در یک موتور گردش کار ، انتقال به مرحله بعدی با اتمام یک عمل قبلی اتفاق می افتد و این در حالی که یک ماشین کنترل وضعیت نیاز به یک رویداد خارجی دارد که باعث انتقال به فعالیت بعدی می شود. به عبارت دیگر ، ماشین کنترل وضعیت رویداد محور است و موتور گردش کار این گونه نیست.

 

در هنگام انتخاب باید چه مواردی را در نظر بگیرید؟

هنگام تلاش برای انتخاب بین سیستم ها و استقرار آن ها ، لازم است برخی از ویژگی های اصلی آن ها را مورد تجزیه و تحلیل قرار داد:

 

انعطاف پذیری:

موتور گردش کار، در هنگام انجام پشت سر هم وظایف، از الگوی پی در پی پشتیبانی می کند و مرحله بعدی گردش کار تا زمانی که کار قبلی به پایان نرسد، آغاز نمی گردد. به عنوان مثال، تا زمانی که کارشناس سندها را امضا نکند ، سند توسط رئیس امضا نمی شود. در نتیجه ، به نظر می رسد موتور گردش کار از نظر ماهیت سفت و سخت و قطعی است.

برعکس ، دستگاه کنترل وضعیت به صورت غیر همزمان کار می کند. از آنجای که مراحل در این سیستم توسط برخی از رخدادها/اقدامات خاص (Events/Actions) انجام می شود ، آنها لزوماً نباید به ترتیب دقیق انجام شوند. از این دیدگاه ماشین های دولتی انعطاف پذیرتر هستند.

با این حال، در شرایط زمانی مختلف، کسب و کار شما می تواند الزامات تجاری جدیدی داشته باشد. یک موتور کنترل وضعیت را تصور کنید که سه حالت زیر را دارد:

  • یک برنامه را ارسال کند
  • یک برنامه را بپذیرد
  • یک برنامه را رد کند

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

 

ادراک پذیری:

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

مثلا: یک سیستم CRM معمولی که به عنوان دنباله ای از یک وضعیت ساخته شده است ، ممکن است مشکلات بسیاری ایجاد کند. شما باید در مورد انتقال وضعیت های بیشمار ، مانند ثبت یک Lead جدید ، شروع پروژه یا لغو فکر کنید. علاوه بر این ، هر یک از این وضعیت ها را می توان به موارد جداگانه ای نیز تقسیم کرد. به عنوان مثال ، ممکن است بخواهید دلیلی برای لغو یک کار تعریف کنید یا از طریق آن کانال یک Lead جدید پیدا شود (مانند: کمپین ارسال ایمیل، تماس های سرد و …). هنگام تلاش برای ترسیم هر یک از این حالت ها ، سیستم به سرعت غیرقابل کنترل و مدیریت می شود.

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

 

خوانایی:

همکاری مؤثر بین افراد داخل و خارج از شرکت برای توسعه ی هر کسب و کاری ضروری است. بنابراین ، بستر مشترکی که توسط یک شرکت استفاده می شود باید برای همه اعضا و کارکنانش روشن و شفاف باشد. مدیران باید به سرعت بتوانند ، شرایط خاص را در هر زمان و در هر وضعیت تشخیص دهند.

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

 

قابلیت پیش بینی:

موتورهای گردش کار در مقایسه با ماشین های کنترل وضعیت، از نظر ماهیت قابل پیش بینی هستند. آنها از ابتدا از شرایطی استفاده می کنند که همیشه از پیش تعیین شده است. بیایید فرض کنیم که شما نیاز به تأیید اسناد از طرف مدیر مستقیم و مدیر کل دارید. ممکن است سند به هر ترتیبی امضا شود. اگر موتور گردش کار را انتخاب کنید ، این روند از پیش تعریف شده است. به عنوان مثال ، در ابتدا مدیر مستقیم سند را امضا می کند ، سپس مدیر کل. بر این اساس ، مدیر کل تا زمانی که مدیر مستقیم آن را امضا نکند ، سند را دریافت نمی کند و این روند قابل تغییر نیست.

در یک الگوی ماشین کنترل وضعیت ، این کاربر است که تصمیم می گیرد مدیر مستقیم یا مدیر کل باید ابتدا سند را امضا کند یا خیر. در این حالت تصمیمات توسط افراد گرفته می شود. از آنجا که ماشینهای کنترل وضعیت توسط عوامل بیرونی کنترل می شوند ، می تواند وقایع بی شماری باشد که منجر به تکمیل روند شود. از این نقطه نظر ، موتور گردش کار سودمندتر است زیرا شما را در کل مراحل راهنمایی می کند.

نتیجه:

اگر سیستم شما خیلی پیچیده نباشید، ماشین کنترل وضعیت (State Machin) راه حل مناسبی است. اگر قادر به ترسیم تمام حالات ممکن و همچنین رویدادهایی باشید که باعث انتقال آنها می شود ، می توانید آن را عملی کنید. به طور کلی، ماشین های کنترل وضعیت، در پروتکل های شبکه ای (Network Protocols) و سیستم های ساخت یافته (Embedded Systems) به خوبی کار می کنند.

اجرای موتور گردش کار روش خوبی برای مدیریت فرایندهای تجاری است. این یک راه حل مناسب برای تخصیص وظایف ، CRM و سایر سیستم های پیچیده است. در کل ، هدف نهایی آن بهبود فرایندهای تجاری و کارآیی شرکت است. به همین دلیل برای اتوماسیون فرایندهای تجاری کاملا مناسب خواهد بود.

 

منبع: workflowengine.io

لینک های مفید

سایر محصولات

iorder
iform
masterwms
sellin

نسخه ها

نرم افزار imaster
نرم افزار imaster
masterstudio

راهکارها

سامیان سافت

اطلاعات تماس

021-88879764
www.samiansoft.ir
sales@samiansoft.com
تهران، میرداماد، بین آفریقا و ولیعصر، پلاک ۳۱۱، طبقه ۶، واحد ۱۱
سامیان سافت

اطلاعات تماس

021-88879764

www.samiansoft.ir

sales@samiansoft.com

تهران، میرداماد، بین آفریقا و ولیعصر، پلاک ۳۱۱، طبقه ۶، واحد ۱۱

راهکارها

نسخه ها

نرم افزار imaster
نرم افزار imaster
masterstudio

سایر محصولات

iorder
iform
masterwms
sellin

لینک های مفید