Biznes jarayonini bajarish tili - Business Process Execution Language

WS-BPEL
Veb-xizmatlar biznes jarayonini bajarish tili
HolatNashr qilingan
Yil boshlandi2001 (2001)
Birinchi marta nashr etilgan2003 yil aprel; 17 yil oldin (2003-04)
Oxirgi versiya2.0
2007 yil 11 aprel; 13 yil oldin (2007-04-11)
TashkilotOASIS
Qo'mitaOASIS veb-xizmatlari biznes jarayonlarini bajarish tili (WSBPEL) TC
Asosiy standartlarXML
DomenVeb-xizmatni birlashtirish
QisqartirishWS-BPEL yoki BPEL
Veb-saythujjatlar.oasis-ochiq.org/ wsbpel/2.0/ OS/ wsbpel-v2.0-OS.html

The Veb-xizmatlar biznes jarayonini bajarish tili (WS-BPEL), odatda sifatida tanilgan BPEL (Biznes jarayonini bajarish tili), bu OASIS[1] ichidagi harakatlarni ko'rsatish uchun standart bajariladigan til biznes jarayonlari bilan veb-xizmatlar. BPEL-da eksport qilish va import qilish jarayonlari faqat veb-xizmat interfeyslaridan foydalangan holda.

Umumiy nuqtai

Veb-xizmatning o'zaro ta'sirini ikki shaklda tasvirlash mumkin: bajariladigan biznes jarayonlari va mavhum biznes jarayonlari.

  1. An bajariladigan biznes jarayoni: biznes aloqalari ishtirokchisining haqiqiy xatti-harakatlarini modellashtiradi.
  2. An mavhum biznes jarayoni: bu bajarilishi mo'ljallanmagan qisman ko'rsatilgan jarayon. Amalga oshiriladigan jarayonlardan farqli o'laroq, Abstrakt jarayon talab qilinadigan ba'zi aniq operatsion tafsilotlarni yashirishi mumkin. Mavhum jarayonlar tavsiflovchi rolni bajaradi, bunda bir nechta imkoniyatlar mavjud case foydalaning, shu jumladan kuzatiladigan xatti-harakatlar va / yoki jarayon shablon.

WS-BPEL jarayonlar xatti-harakatlarini modellashtirishga qaratilgan,[2] Ham amalga oshiriladigan, ham mavhum ish jarayonlarini spetsifikatsiyasi uchun til orqali. Shunday qilib, u veb-xizmatlarning o'zaro ta'sir modelini kengaytiradi va biznes operatsiyalarini qo'llab-quvvatlashga imkon beradi. Shuningdek, u biznesning ichida ham, korxonalar o'rtasida ham avtomatlashtirilgan jarayonlar integratsiyasini kengaytirishga yordam beradigan o'zaro bog'liq bo'lgan integratsiya modelini belgilaydi. Uning rivojlanishi tushunchadan kelib chiqqan[3] bu keng miqyosda dasturlash va kichik dasturlash tillarning har xil turlarini talab qildi.

Shunday qilib, u seriyalangan XML va keng miqyosda dasturlashni ta'minlashga qaratilgan.

Katta / kichik dasturlash

Tushunchalari keng miqyosda dasturlash va kichik dasturlash odatda biznes jarayonlarida ko'riladigan uzoq davom etadigan asenkron jarayonlar turini yozishning ikki jihatini ajratib ko'rsatish:

  1. Katta miqyosda dasturlash odatda yuqori darajaga ishora qiladi davlat o'tish jarayonning o'zaro ta'siri. BPEL ushbu kontseptsiyani mavhum jarayon deb ataydi. BPEL Abstrakt jarayoni standartlashtirilgan tarzda ommaviy kuzatiladigan xatti-harakatlar majmuini aks ettiradi. Xulosa jarayoni qachon kutish kerakligi kabi ma'lumotlarni o'z ichiga oladi xabarlar, xabarlarni qachon yuborish, muvaffaqiyatsiz operatsiyalarni qachon qoplash va h.k.
  2. Kichik dasturlash, aksincha, ko'pincha bitta operatsiya sifatida bajariladigan va mahalliy mantiq va manbalarga kirishni o'z ichiga olgan qisqa muddatli dasturiy xatti-harakatlar bilan shug'ullanadi. fayllar, ma'lumotlar bazalari va boshqalar.

Tarix

WS-BPEL ning kelib chiqish tarixi qaytib keladi Veb-xizmatlarning oqim tili (WSFL) va Xlang.

2001 yilda, IBM va Microsoft har biri o'zlarining o'xshashligini aniqladilar ".keng miqyosda dasturlash "tillar: WSFL[4] (Veb-xizmatlarning oqim tili) va Xlang,[5] navbati bilan. Microsoft hatto oldinga bordi va skript variantini yaratdi XLANG / s keyinchalik ular BizTalk Server ichidagi Orkestratsiya xizmatlari uchun asos bo'lib xizmat qiladi. Ular ushbu til "mulkiy va to'liq hujjatlashtirilmaganligini" alohida hujjatlashtirdilar.[6]

Ning paydo bo'lishi va mashhurligi bilan BPML va o'sib borayotgan muvaffaqiyat BPMI.org va boshchiligidagi ochiq BPMS harakati JBoss va Intalio Inc., IBM va Microsoft ushbu tillarni BPEL4WS yangi tiliga birlashtirishga qaror qilishdi. 2003 yil aprelda, BEA tizimlari, IBM, Microsoft, SAP va Siebel tizimlari veb-xizmatlar BPEL Texnik qo'mitasi orqali standartlashtirish uchun BPEL4WS 1.1-ni OASIS-ga taqdim etdi.[7] Garchi BPEL4WS 1.0 va 1.1 versiyalari sifatida paydo bo'ldi, OASIS WS-BPEL texnik qo'mitasi ovoz berdi[8] 2004 yil 14 sentyabrda ularning xususiyatlarini nomlash uchun "WS-BPEL 2.0 ". (Nomning o'zgarishi BPELni" WS- "(WS-Security-ga o'xshash) bilan boshlanadigan boshqa veb-xizmatlarning standart nomlash konventsiyalari bilan moslashtirdi va BPEL4WS 1.1 va WS-BPEL 2.0 o'rtasida amalga oshirilgan sezilarli yaxshilanishlarni hisobga oldi.) Agar ma'lum bir versiyani muhokama qilmaslik, moniker BPEL odatda ishlatiladi[iqtibos kerak ].

2007 yil iyun oyida Active Endpoints, Adobe tizimlari, BEA, IBM, Oracle va SAP BPEL4 Odamlar va BPEL jarayonlarida odamlarning o'zaro ta'sirini qanday amalga oshirish mumkinligini tavsiflovchi WS-HumanTask texnik xususiyatlari.

Mavzular

Dizayn maqsadlari

BPEL bilan bog'liq o'nta original dizayn maqsadlari mavjud edi:

  1. Foydalanish orqali aniqlangan veb-xizmat operatsiyalari orqali tashqi sub'ektlar bilan o'zaro aloqada bo'lgan ish jarayonlarini aniqlang WSDL 1.1 va ular o'zini WSDL 1.1 yordamida aniqlangan veb-xizmatlar sifatida namoyon qiladi. O'zaro aloqalar "mavhum" bo'lib, bog'liqlik port ta'riflariga emas, balki portType ta'riflariga bog'liq.
  2. XML asosidagi til yordamida ish jarayonlarini aniqlang. Jarayonlarning grafik ko'rinishini aniqlamang yoki jarayonlar uchun biron bir aniq dizayn metodologiyasini taqdim qilmang.
  3. Biznes jarayonining tashqi (mavhum) va ichki (bajariladigan) ko'rinishlari tomonidan ishlatilishi kerak bo'lgan veb-xizmatlarni orkestratsiya tushunchalari to'plamini aniqlang. Bunday ishbilarmonlik jarayoni odatda boshqa shunga o'xshash tengdoshlar bilan o'zaro aloqada ishlaydigan yagona avtonom tashkilotning xatti-harakatini belgilaydi. Har bir foydalanish uslubi (ya'ni, mavhum ko'rinish va bajariladigan ko'rinish) bir nechta ixtisoslashtirilgan kengaytmalarni talab qilishi kerak, ammo bu kengaytmalar minimal darajaga tushirilishi va ikkala foydalanishni bog'laydigan import / eksport va muvofiqlikni tekshirish kabi talablarga muvofiq sinovdan o'tkazilishi kerak. naqshlar.
  4. Ikkala ierarxik va grafaga o'xshash boshqaruv rejimlarini ta'minlang va ulardan foydalanishni iloji boricha muammosiz aralashtirishga imkon bering. Bu jarayonni modellashtirish maydonining parchalanishini kamaytirishi kerak.
  5. Jarayon ma'lumotlarini aniqlash va oqim oqimini boshqarish uchun zarur bo'lgan ma'lumotlarni oddiy manipulyatsiyasi uchun ma'lumotlar bilan ishlash funktsiyalarini taqdim eting.
  6. Ilova xabarlar darajasida instansiya identifikatorlarini aniqlashga imkon beradigan jarayon misollari uchun identifikatsiya mexanizmini qo'llab-quvvatlash. Instansiya identifikatorlari sheriklar tomonidan belgilanishi va o'zgarishi mumkin.
  7. Jarayon misollarini yashirin ravishda yaratilishini va tugatilishini asosiy hayot aylanish mexanizmi sifatida qo'llab-quvvatlang. "To'xtatib qo'yish" va "davom ettirish" kabi hayot aylanish jarayonining ilg'or operatsiyalari kelajakdagi versiyalarida hayot aylanishini boshqarish uchun qo'shilishi mumkin.
  8. Uzoq muddatli biznes-jarayonlarning ayrim qismlarida muvaffaqiyatsizlikni tiklashni qo'llab-quvvatlash uchun kompensatsiya choralari va ko'lamlarni aniqlash kabi tasdiqlangan texnikaga asoslangan uzoq muddatli bitim modelini aniqlang.
  9. Jarayonni parchalash va yig'ish uchun namuna sifatida veb-xizmatlardan foydalaning.
  10. Ijobiy va modulli tarzda veb-xizmatlar standartlarini (tasdiqlangan va taklif qilingan) iloji boricha qurish.

BPEL tili

BPEL an orkestratsiya til emas, balki a xoreografiya til. Orkestratsiya va xoreografiya o'rtasidagi asosiy farq ijro etilishi va boshqarilishidir. Orkestratsiya boshqa tizimlar bilan xabar almashinuvini o'z ichiga olgan bajariladigan jarayonni belgilaydi, masalan, xabar almashish ketma-ketligi orkestr dizayneri tomonidan boshqariladi. Xoreografiya tengdoshlararo o'zaro ta'sir o'tkazish protokolini belgilaydi, masalan, o'zaro muvofiqlikni kafolatlash maqsadida almashinadigan xabarlarning huquqiy ketma-ketligini belgilaydi. Bunday protokol to'g'ridan-to'g'ri bajarilmaydi, chunki u juda ko'p turli xil amalga oshirishga imkon beradi (unga mos keladigan jarayonlar). Xoreografiyani unda ishtirok etgan har bir tengdosh uchun orkestr (masalan, BPEL jarayoni shaklida) yozish orqali amalga oshirish mumkin. Orkestratsiya va xoreografiya farqlari o'xshashliklarga asoslanadi: orkestratsiya tarqatilgan tizim (ko'plab o'yinchilardan iborat orkestr) xatti-harakatining markaziy boshqaruvini (dirijyor tomonidan), xoreografiya esa taqsimlangan tizimni (raqs jamoasi) anglatadi. qoidalarga muvofiq (xoreografiya) ishlaydi, lekin markazlashtirilgan nazoratisiz.

BPEL zamonaviy biznes jarayonlariga, shuningdek, WSFL va XLANG tarixlariga e'tiborini qaratganligi BPELni tashqi aloqa mexanizmi sifatida veb-xizmatlarni qabul qilishga olib keldi. Shunday qilib, BPEL-ning xabar almashish vositalari chiquvchi va kiruvchi xabarlarni tavsiflash uchun veb-xizmatlarning tavsiflash tili (WSDL) 1.1 dan foydalanishga bog'liq.

BPEL dasturlash tili xabarlarni yuborish va qabul qilishni ta'minlash uchun qulayliklardan tashqari quyidagilarni qo'llab-quvvatlaydi:

  • Xususiyatlarga asoslangan xabarlarni o'zaro bog'liqlik mexanizmi
  • XML va WSDL o'zgaruvchilari
  • So'zlarni va bir nechta tillarda yozish imkoniyatini beruvchi kengaytirilgan til plaginlari modeli: BPEL qo'llab-quvvatlaydi XPath Sukut bo'yicha 1.0
  • Tarkibiy dasturlash tarkibiga if-then-elseif-else, while, ketma-ketlik (buyruqlarni tartibda bajarilishini ta'minlash uchun) va oqim (buyruqlarni parallel ravishda bajarilishini ta'minlash uchun) kiradi
  • A qamrov doirasi imkon beradigan tizim kapsulalash mantiq bilan mahalliy o'zgaruvchilar, aybdorishlovchilar, kompensatsiya-ishlovchilar va tadbir o'tkazuvchilar
  • Bir vaqtning o'zida kirishni boshqarish uchun ketma-ket doiralar o'zgaruvchilar.

BPEL ning BPMN bilan aloqasi

WS-BPEL uchun standart grafik yozuv yo'q, chunki OASIS texnik qo'mitasi buni doiradan tashqarida deb qaror qildi. Ba'zi sotuvchilar o'zlarining yozuvlarini ixtiro qilishdi. Ushbu yozuvlar BPEL-dagi ko'pgina konstruktsiyalar blok tuzilganligidan foydalanadi (masalan, ketma-ketlik, shu bilan birga, tanlash, ko'lam va hk.) Bu xususiyat BPEL jarayonining tavsiflarini to'g'ridan-to'g'ri ingl. Strukturogrammalar, a-ni eslatuvchi uslubda Nassi-Shneyderman diagrammasi.

Boshqalar biznes jarayonlarini modellashtirish tilidan farqli o'laroq foydalanishni taklif qilishdi, ya'ni Biznes jarayonlari modeli va notalari (BPMN), BPEL jarayonining tavsiflarini olish uchun grafik old tomon sifatida. Ushbu yondashuvning maqsadga muvofiqligini ko'rsatuvchi misol sifatida BPMN spetsifikatsiyasi norasmiy va qisman xaritalashni o'z ichiga oladi[9] BPMN dan BPEL 1.1 ga. BPMN-ni BPEL-ga batafsil xaritalash bir qator vositalarda, jumladan BPMN2BPEL deb nomlanuvchi ochiq manbali vositada amalga oshirildi.[10] Biroq, ushbu vositalarni ishlab chiqish BPMN va BPEL o'rtasidagi tub farqlarni keltirib chiqardi, bu esa ularni ishlab chiqarishni juda qiyinlashtiradi va ba'zi hollarda imkonsiz qiladi. inson tomonidan tushunarli BPMN modellaridan BPEL kodi. BPMN-BPEL muammosi yanada qiyin qaytish muhandisligi: BPMN diagrammalaridan BPEL kodini ishlab chiqarish va asl BPMN modelini saqlab qolish va ishlab chiqarilgan BPEL kodini sinxronlash, ya'ni har qanday modifikatsiya boshqasiga tarqalishi ma'nosida.[iqtibos kerak ]

BPEL-ga "kichik" dasturiy ta'minotni qo'shish

BPELning 'if-then-elseif-else' va 'while' kabi boshqaruv tuzilmalari hamda uning o'zgaruvchan manipulyatsiya imkoniyatlari mantiqni ta'minlash uchun 'kichik' tillarda dasturlashdan foydalanishga bog'liq. Barcha BPEL dasturlari XPath 1.0-ni standart til sifatida qo'llab-quvvatlashi kerak. Ammo BPEL dizayni tizimlarni ishlab chiqaruvchilar boshqa tillardan ham foydalanishlari uchun kengaytirilishini nazarda tutadi. BPELJ[11] bu JSR 207 bilan bog'liq harakatdir[12] Java-ning BPEL ichida "kichik dasturlash" tilida ishlashini ta'minlashi mumkin.

BPEL4 Odamlar

Keng qabul qilinishiga qaramay Veb-xizmatlar tarqatilgan ishbilarmonlik dasturlarida odamlarning o'zaro ta'sirining yo'qligi ko'plab real biznes jarayonlari uchun katta bo'shliq bo'lgan.

Ushbu bo'shliqni to'ldirish uchun BPEL4People BPEL-ni kengaytirdi orkestratsiya Faqatgina veb-xizmatlarning rolga asoslangan inson faoliyatini tashkil qilish uchun.

Maqsadlar

BPEL4People biznes jarayoni doirasida

  • odamlarning rolga asoslangan o'zaro ta'sirini qo'llab-quvvatlaydi
  • foydalanuvchilarni umumiy inson rollariga tayinlash vositalarini taqdim etadi
  • topshiriqqa egalik huquqini faqat odamga topshirish haqida g'amxo'rlik qiladi
  • kabi stsenariyni qo'llab-quvvatlaydi

BPEL-ni qo'shimcha mustaqil sintaksis va semantik bilan kengaytirish orqali.

The WS-HumanTask spetsifikatsiya insonning vazifalari va bildirishnomalarining ta'rifini, shu jumladan ularning xususiyatlari, xulq-atvori va insoniy vazifalarni boshqarish uchun ishlatiladigan operatsiyalar to'plamini taqdim etadi. Muxtoriyat protokoli muxtoriyatni va xizmat ko'rsatish qobiliyatiga ega inson vazifalarining hayot aylanish jarayonini o'zaro bog'liq holda boshqarish maqsadida kiritiladi.

The BPEL4 Odamlar spetsifikatsiya WS-BPEL-da odamlarning o'zaro ta'sirini a sifatida hal qilish uchun WS-BPEL kengaytmasini taqdim etadi birinchi darajali fuqaro. U insonning vazifalarini amalga oshirish sifatida ishlatadigan va jarayon uchun mahalliy vazifalarni belgilashga yoki jarayon ta'rifidan tashqarida berilgan vazifalardan foydalanishga imkon beradigan yangi asosiy faoliyat turini belgilaydi. Ushbu kengaytma WS-HumanTask spetsifikatsiyasiga asoslangan.

WS-BPEL 2.0

2.0 versiyasi ba'zi o'zgarishlar va yangi xususiyatlarni taqdim etdi:

  • Faoliyatning yangi turlari: takrorlashUtguncha, tasdiqlang, forEach (parallel va ketma-ket), qayta torting, kengaytmaAktivlik, kompensatsiyaScope
  • Faoliyatining nomi o'zgartirildi: switch / case o'rniga if / else deb o'zgartirildi, chiqish uchun o'zgartirildi
  • Tugatish Handler tugatish uchun aniq xatti-harakatni ta'minlash uchun faoliyat doirasiga qo'shildi
  • O'zgaruvchan boshlash
  • O'zgaruvchan transformatsiyalar uchun XSLT (yangi XPath kengaytma funktsiyasi bpws: doXslTransform)
  • XPath o'zgaruvchan ma'lumotlarga kirish (XPath o'zgaruvchan sintaksis $ o'zgaruvchisi [.part] / joylashuvi)
  • Veb-xizmat faoliyatidagi XML sxemasi o'zgaruvchilari (WS-I doc / lit uslubidagi o'zaro aloqalar uchun)
  • Mahalliy e'lon qilingan messageExchange (qabul qilish va javob berish faoliyatining ichki o'zaro bog'liqligi)
  • Abstrakt jarayonlarga aniqlik kiritish (sintaksis va semantika)
  • Har bir mashg'ulotda ifoda tilini bekor qilishni yoqish

Shuningdek qarang

Adabiyotlar

  1. ^ OASIS standarti WS-BPEL 2.0
  2. ^ Veb-xizmatlar uchun ish jarayonini bajarish tili, 1.1-versiya (2003 yil 5-may)
  3. ^ "OASIS a'zolari veb-xizmatlarning biznes jarayonlarini bajarish tili (WSBPEL) Texnik qo'mitasini tuzadilar".. OASIS WSBPEL Texnik qo'mitasi. 2003 yil 29 aprel.
  4. ^ "Muqova sahifalari: veb-xizmatlarning oqim tili (WSFL)". xml.coverpages.org/. 6 iyun 2001 yil. Olingan 9 oktyabr 2014.
  5. ^ "XLANG". xml.coverpages.org/. 2001 yil. Olingan 9 oktyabr 2014.
  6. ^ "XLANG / s tili". Microsoft. Olingan 9 oktyabr 2014.
  7. ^ Veb-xizmatlar BPEL Texnik qo'mitasi.
  8. ^ "choreology.com". choreology.com. Arxivlandi asl nusxasi 2012 yil 27 fevralda. Olingan 17 aprel 2013.
  9. ^ "Arxivlangan nusxa" (PDF). Arxivlandi asl nusxasi (PDF) 2012 yil 15 sentyabrda. Olingan 17 aprel 2013.CS1 maint: nom sifatida arxivlangan nusxa (havola)
  10. ^ BPMN2BPEL.
  11. ^ BPELJ Arxivlandi 2005 yil 16 may Orqaga qaytish mashinasi
  12. ^ JSR 207

Qo'shimcha o'qish

BPEL 2.0-dagi kitoblar
  • Biznesni rivojlantirish uchun SOA: tushunchalar, BPEL va SCA. ISBN  978-1-58347-065-7