Abstract
The Business Process Execution Language (BPEL) standardizes the development of composite enterprise applications that make use of software components exposed as Web services. BPEL processes are currently executed by a centralized orchestration engine, in which issues such as scalability, platform heterogeneity, and division across administrative domains can be difficult to manage. We propose a distributed agent-based orchestration engine in which several lightweight agents execute a portion of the original business process and collaborate in order to execute the complete process. The complete set of standard BPEL activities are supported, and the transformations of several BPEL activities to the agent-based architecture are described. Evaluations of an implementation of this architecture demonstrate that agent-based execution scales better than a non-distributed approach, with at least 70% and 120% improvements in process execution time, and throughput, respectively, even with a large number of concurrent process instances. In addition, the distributed architecture successfully executes large processes that are shown to be infeasible to execute with a nondistributed engine
چکیده
زبان اجرای فرایند تجاری (BPEL) توسعهی برنامه های شرکتی مرکب را استاندارد می کند که از اجزای نرم افزاری در قالب سرویسهای وب استفاده می کنند. فرآیندهای BPEL در حال حاضر از طریق یک موتور تنظیمکنندهی مرکزی اجرا می شوند، که در آن مدیریت مسائلی نظیر مقیاس پذیری، تجانس پلتفورم، و تقسیم بندی در دامنهی اجرایی می تواند دشوار باشد. ما یک موتور تنظیمکنندهی عامل-محور توزیع شده را معرفی می کنیم که در ان عاملهای سبک وزن مختلفی بخشی از فرایند تجاری اصلی را اجرا می کنند و به منظور اجرای کل فریاند با هم همکاری می کنند. مجموعه کامل از فعالیتهای BPEL استاندارد پشتیبانی می ّود، و تبدیل فعالیتهای BPEL مختلف در معماری عامل-محور توصیف مکی شوند. ارزیابیهای مرتبط با پیاده سازی این معماری دلالت بر این دارد که اجرای عامل-محور نسبت به رویکرد غیرتوزیعی بهتر مقیاس بندی می ّود، با حداقل 70 و 120 درصد بهبود در زمان اجرای فرایند و توان عملیاتی. علاوه بر این، معماری توزیعی به طور موفق فرایندهای بزرگ را که اجرای انها با یک موتور غیرتوزیعی غیر ممکن است، اجرا می کند.
1- مقدمه
برنامههای شرکتی هم اکنون به طور فزایندهای در قالب معماری سرویس-محور (SOA) معماری می شوند که در آنها اجزای مدولار برای پیاده سازی منطق تجاری ترکیب می شوند. ویژگیهای یک چنین برنامههای، نظیر از دست رفتن جفت شدگی در بین ماژولها، به شیوههای ارتقاء می یابد تا تجارت چابک به سرعت فرایندهایش را در محدودههای متغیر فرصتها، اولویتها، شرکا، و رقبا، تطبیق دهد. تکثیر استانداردهای سرویس وب در این ناحیه منعکسکنندهی علائق صنعتی و تقاضا برای برنامههای شرکتی توزیع شده است که با سرویسهای نرمافزاری ارائه شده توسط فروشندگان، مشتریان و شرکا ارتباط برقرار می کند.
به عنوان مثال، یک فروشنده ی آنلاین می تواند از سرویسهای یک شرکت حمل و نقل شریک استفاده کند تا به شمتریان اجازه دهد تا وضعیت تحویل محصولات را دنبال کنند. شریکت حمل ونقل در اینجا نمایانگر جزئی است که به شرکایش اجزاه می دهد تا اطلاعات وضعیت تحویل کالاها را بازیافت کنند. سایر سرویسهای بیرونی که فروشنده می تواند استفاده کند شامل سرویس پرداخت ( نظیر PAYPAL)، یا یک پایگاه داده بررسی محصول است. علاوه بر این، فروشنده می تواند از خدماتی که به صورتی درونی توسعه یافته اند استفاده کند، نظیر موتور واسطه ی کاربری و سرویس تصدیق هویت. توسعه ی یک چنین اجزای جفتی ضعیف، توسعه، ابقاء و تعدیل برنامههای کاربردی را آسانتر می کند.
برای فرایندهای تجاری در صنایع نظیر مدیریت زنجیرهی تامین، فروش انلاین، یا مراقبتهای سلامتی،شامل شدن تعاملات پیچیده در بین مجموعه ي بزرگی از سرویسهای جغرافیایی پراکنده که توسط سازمانهای مختلف توسعه داده اند، غیر مرسوم نیست. این فرایندها خودشان می توانند بسیار بزرگ باشند، شامل دادههای بسیار زیادی باشند و نیازمند هزاران یا میلیونها فواصل فرایندی موازی باشند. به عنوان مثال، یکی از شرکای پروژهای ما گزارش داد که یک شرکت الکترونیکی چینی بزرگ از فرایندهای تجاری رسمی به عنوان محرکی برای فعالیتهای عملیاتی خود استفاده می کند، مشتمل بر ذخیرهی اجزا، تولید، مدیریت انبار، مدیریت سفارش، و پیشبینی فروش. این فرایندها ذاتاً توزیع می شوند که از فرایندهای سطح-دپارتمان برای تولید، انبارداری، و مدیریت سفارشات استفاده می کنند، که هر کدام از این فرایندها از 26 تا 47 فعالیت بهرهمند می شوند. علاوه بر جدایی در دامنههای اجرایی، این فرایندها همچنین شامل طرفین جغرافیایی توزیع شده مشتمل بر تعدادی از تامینکنندگان، دپارتمانهای سازمانی مختلف، راکز فروش مختلف، و خردهفروشهای مختلف هستند. هزاران نمونه از این فرایندها به طور موازی در هز زمان اجرا می شوند. یک چنین فرایندهای بزرگی که شامل چندین طرف همکار هستند سازگاری طبیعی با معماری اجرای توزیعشدهی ما دارند…