سايت خبری فناوری اطلاعات (ايتنا) 30 ارديبهشت 1394 ساعت 13:20 https://www.itna.ir/article/36017/زبان-اجرایی-فرآیند-کسب-کار-bpel -------------------------------------------------- عنوان : زبان اجرایی فرآیند کسب و کار (BPEL) -------------------------------------------------- BPEL یا "زبان اجرایی فرآیند کسب و کار" یک فایل XML می باشد که با استفاده از آن موتور اجرایی BPMS یک فرآیند را اجرا می کند. متن : سازمان توسعه استانداردهای اطلاعات ساخت یافته (OASIS : Organization for the Advancement of Structured Information Standards)، زبان اجرایی را به منظور صدور و ورود اطلاعات کسب و کار با استفاده از رابط های در دسترس از طریق خدمات وب سرویس، تحت عنوان BPEL معرفی نمود. سازمان فوق الذکر یک کنسرسیوم جهانی است که بر روی استانداردهای توسعه، استفاده از کسب و کار الکترونیکی و وب سرویس فعالیت می نماید. Web Services Business Process Execution Language) WS-BPEL) که عموما به عنوان BPEL شناخته می شود، در واقع زبان اجرایی استاندارد OASIS برای مشخص نمودن کنش ها (Actions) در فرایندهای کسب و کار با استفاده از وب سرویس ها می باشد. به عبارت بهتر اطلاعات فرایندی در BPEL با استفاده از رابط وب سرویس، صادر و وارد (Export and import) می گردد. در واقع، BPEL یا "زبان اجرایی فرآیند کسب و کار" یک فایل XML می باشد که با استفاده از آن موتور اجرایی BPMS یک فرآیند را اجرا می کند. همانطور که در مطلب XPDL شرح داده شده است نرم افزارهای BPMS برای اجرایی کردن فرآیند از دو بخش اصلی تشکیل شده اند: ۱-تعریف فرآیند و ۲- اجرای فرآیند. نتیجه نهایی بخش تعریف فرایند، یک فایل XML به صورت XPDL می باشد که برای آشنایی با این بحث می توانید به مطلب XPDL مراجعه کنید. بعد از تعریف فرآیند، ابزار طراحی فرایند با استفاده از فایل XPDL، یک فایل XML تولید می کند که شامل اطلاعات اجرایی یک فرآیند می باشد و با استفاده از آن موتور اجرایی نرم افزارهای BPMS فرآیند را به صورت عملی اجرا می نمایند که این فایل XML را BPEL گویند. BPEL، یک زبان مبتنی بر XML است که برای مقاصد زیر به کار برده می شود:        - حفظ ترتیب فعالیت (activities) های موجود در فرایند        - ارتباط بین نمونه های فرایند و پیام ها        - بازیابی شرایط خطا و استثنائات        - روابط مبتنی بر وب سرویس بین نقش های فرآیند BPEL از ترکیب دو استاندارد جدا بوجود آمد: ۱- XLang از مایکروسافت که با استفاده از وب سرویس ها، فرآیند کسب و کار را اجرا می کند و ۲- استاندارد (WSFL (Web Services Flow Language که مربوط به شرکت IBM است. XLang یک زبان بر اساس ساختار بلوکی است در حالی که WSFL زبانی بر اساس ساختار گرافیکی می باشد. چون این دو استاندارد هر کدام Root مخصوص به خود را دارند BPEL برای ترکیب این دو ساختار، ساختار بلوکی را پایه قرار داده و ساختار گرافیکی را در آن گنجانده است. یعنی BPEL یک ساختار بلوکی می باشد که با استفاده از بلوکها یا تگ های XML امکان استفاده از استاندارد WSFL را فراهم می نماید. در شکل زیر این ساختارها نمایش داده شده اند: BPEL با استفاده از وب سرویس ها، به زبان های تعریف فرآیند کسب و کار همچون XPDL اجازه می دهد که با فراخوانی سرویس های مورد نظر، یک نمونه از یک فرآیند را اجرا یا ویرایش نمایند. BPEL علاوه بر زبان اجرای فرآیند کسب و کار، زبان تعامل بین فرآیند ها نیز می باشد. المان های اصلی BPEL شامل پردازش ها، فعالیت ها، لینک های جفت کننده (Partner Link) ، کنترل کننده عملیات ها، کنترل کننده خطاها، کنترل کننده رویدادها و مجموعه های مرتبط به هم می باشد. پردازش مهمترین المان در BPEL می باشد. دو نوع پردازش وجود دارد: انتزاعی(Abstract) و اجرایی. یک پردازش انتزاعی برای تعریف قوانین کسب و کار مورد استفاده قرار می گیرد. در مشخصات BPEL عنوان شده است که منظور از پردازش انتزاعی، قوانین کسب و کار است که نحوه معامله بین فروشنده و خریدار را مشخص می نماید و در هر خرید و فروش، قوانین تعریف شده بین این دو اجرا می شود. دو پردازش انتزاعی با استفاده از لینک های جفت کننده (Partner Link) به هم متصل می شوند و بوسیله تبادل پیام مناسب بین یکدیگر، با هم کار می کنند. پردازش انتزاعی همچنین می تواند برای نظارت بر اجرای فرآیند ها مورد استفاده قرار گیرد. همچنین در دو فرآیند تجاری کاملا جدا، پردازش انتزاعی می تواند قوانین تبادل پیام بین وضعیت های دو فرآیند را تعریف نماید. پردازش انتزاعی برای تعریف داخلی فرآیند کسب و کار استفاده نمی شود بلکه به عنوان نمونه، تعریف داخلی خرید یا فروش در پردازش انتزاعی مخفی است، مثلا اینکه فروشنده در سیستم داخلی خود برای آماده کردن خود برای فروش چه کاری انجام می دهد برای پردازش انتزاعی مخفی می باشد. با توجه به تعاریف گفته شده می توان فهمید که پردازش انتزاعی در واقع شمایی (Interface) از وب سرویس ها را مشخص می کند؛ در حالی که پردازش اجرایی ساختار وب سرویس ها را بر اساس شمای تعریف شده پیاده سازی می کند. به علاوه پردازش اجرایی، رفتار دقیق فرآیند کسب و کار را تعریف می نماید و همچنین می تواند طریقه انتقال اطلاعات بین محصولات مختلف BPMS را پیاده سازی کند. در سطح پیاده سازی، تعداد زیادی از ویژگی ها وجود دارند که مقدار دهی می شوند. تعدادی از این ویژگی ها شامل عبارات جستجو و عبارت های اجرایی هستند. عبارات جستجو می توانند مشخصات پردازش ها و وضعیت فعالیت ها و دیگر آیتم های پردازش را مورد تجزیه و تحلیل قرار دهند. زبان پیش فرض جستجو در BPEL، XPath نام دارد و عبارات اجرایی شامل دستورات اجرایی قابل فهم توسط کامپایلر ها می باشد. مهمترین جنبه از BPEL که تاکید کافی بر آن صورت نمی پذیرد، وجود BPEL است، چراکه پشتیبانی از BPEL در اکثر محصولات BPM وجود دارد. یکی از مفاهیم کلیدی در زمینه BPEL این است که BPEL یک مدل و در واقع گرامری را برای توصیف رفتار فرایند کسب و کار بر مبنای تعامل بین فرایند و سایر اجزای شرکت کننده، توصیف می نماید. منبع: پایگاه دانش BPM رایورز