دوشنبه ۲۹ شهریور ۹۵ | ۰۸:۱۷ ۳۱ بازديد
پردازش موازي بخش مهمي از برنامههاي فرآيندمحور است. فعالكردن مسيرهاي پردازش موازي براي بهينهسازي فرآيند باعث استفاده بهتر از منابع محاسباتي شده و در سطوح مختلف BPMN پشتيباني ميگردد.دروازه موازي(Parallel gateway) بدون چك كردن هيچ شرطي، چندين مسير را فعال نموده و نتيجه در بالاترين درجه از موازيسازي حاصل ميگردد.مزيت لايهاي كه به پيادهسازي سرويسهاي قرارداد شده ميپردازد اين است كه جريان توالي موازياي را به صورت مستقل، پردازش و در بهينهسازي زمان، نقش مهمي را ايفا ميكند. در اينجا عملكرد كسب و كاري كه منجر به خواندن دادههاي مشتري ميشود و نياز به جمعآوري اطلاعات از چندين سيستم دارد را به عنوان يك مثال در نظر ميگيريم. اين سيستمها ميتوانند به طور همزمان، فراخواني شده و زماني كه پاسخ همه آنها رسيد، اطلاعات كامپايل شده براي كسب و كار مورد نظر فرستاده شود.دروازه جامع (Inclusive gateway) اجازه پردازش موازي را ميدهد، اما شرايطي را بر روي جريانهاي خروجي اعمال مينمايد. با اين وجود، مسير هوشمندي براي استفاده از دروازه جامع براي مدلسازي شرايط در فرآيند معمولي وجود دارد، در واقع شما يك مسير بدون شرطي را علاوه بر جريانهاي خروجي داراي شرط مشخص مينماييد.اين مسير هميشه فعال است و همراه با هر يك از ديگر شرطهايي كه اجرا شوند، انجام ميگردد.مطابق تصوير، مسير سيستم ۲ تحت هر شرايطي اجرا ميشود و مسيرهاي سيستمهاي ۱ و ۳ زماني اجرا خواهند شد كه شرط آنها برقرار باشد.در بسياري از سناريوها، پيشروي بخشي از كار، وابسته به دريافت پيام است. با استفاده از پردازش موازي به راحتي ميتوان چنين سناريوهايي را پيادهسازي نمود، كه نمونهاي از آن را در تصوير زير مشاهده ميكنيد؛ در حالي كه فرايند منتظر نتيجه سيستم ۱ ميماند، در شاخه پاييني سيستم ۳ منتظر نتيجه سيستم ۲ ميباشد.در برخي از سناريوها يك رويداد، در طول فرآيند تكرار ميشود؛ براي پيادهسازي اين نوع سناريوها از زيرفرآيند به صورت موازي استفاده ميشود. به طور مثال براي پيادهسازي يك فرآيند سفر، نياز به رزرو بليت، رزرو هتل، تاكسي و ... است؛ در هر يك از اين مراحل نياز به پرداخت پول از كارت اعتباري داريم و با هربار پرداخت بايد اطلاعات كارت اعتباري بهروزرساني شود، لذا ميتوان سيستم را به صورت زير در نظر گرفت:به دليل اينكه پيام جزئيات بهروزرساني اطلاعات كارت اعتباري در هر يك از سه مرحله گفته شده ميتواند تغيير كند، ميتوان سه مرحله از كار را به عنوان يك مجموعه در نظر گرفت، يا بهتر است بگوييم به عنوان يك زيرفرآيند در نظر ميگيريم.با استفاده از زير فرآيند، يك حوزه براي هر رويداد معتبري تعريف ميشود. در سناريوي ما، اين رويداد تنها ميتواند در برخي از نقاط در طول پردازش سه وظيفه رزرو رخ دهد چون اگر در مرحله شارژ كارت اعتباري باشيم ديگر نيازي به رفتن به نقطه به روزرساني اطلاعات كارت نداريم.تصوير زير، نمونهاي ديگر از پيادهسازي سناريوي عنوان شده است:در اين حالت به روزرساني اطلاعات كارت را به عنوان يك زيرفرآيند -كه ناشي از يك رويداد (Event Subprocess) است- در نظر گرفتهايم كه با مستطيل نقطهچين درون زيرفرآيند نشان داده شده است. اين بخش در تمامي طول زيرفرآيند فعال است و با يك پيغام، رويداد شروع آن فراخواني ميشود.با فرخواني رويداد شروع اين بخش، به روزرساني اطلاعات كارت اعتباري به صورت موازي با هريك از وظايف رزرو انجام ميشود.هر سه روش عنوان شده براي پيادهسازي پردازش موازي، توانايي نمايش همزماني را به وضوح و به طور كامل در فرآيندهاي مدل شده BPMN به شما ميدهند.قطعاً ميتوان مزايايي براي موازيسازي بهدست آورد، اما طراحان نيز بايد در نظر داشته باشند كه مسئوليت آنها در اين كار، توجه به دستكاري دادهها و دسترسي در داخل فرآيند است. منبع: پايگاه دانش BPM رايورز |
 |