Кіріспе

Компьютерлік орындалатын тіл

Веб-қызметтер бизнес-процессін орындау тілі (WS BPEL), көбінесе BPEL (Бизнес-процессін орындау тілі) деп аталады, веб-қызметтер арқылы бизнес-процестердегі амалдарды анықтауға арналған OASIS стандартындағы орындалатын тіл. BPEL-дегі процестер ақпаратты экспорттау және импорттау үшін тек веб-қызметтер интерфейстерін пайдаланады.

Шолу

Веб-қызметтердің өзара әрекеттесуін екі түрлі жолмен сипаттауға болады: орындалатын бизнес-процестер және абстрактілі бизнес-процестер ретінде. Орындалатын бизнес-процесс – бизнес-өзара әрекеттесуге қатысушының нақты мінез-құлқын модельдейді. Ал абстрактілі бизнес-процесс – орындалуы көзделмеген, жартылай белгіленген процесс. Орындалатын процестерден өзгеше, абстрактілі процесс қажетті нақты операциялық егжей-тегжейлердің бір бөлігін жасыруы мүмкін. Абстрактілі процестер сипаттамалық рөл атқарады, бірнеше мүмкін қолданылу сценарийлерін қамтиды, соның ішінде байқалатын мінез-құлық және/немесе процесс үлгісі. WS BPEL орындалатын және абстрактілі бизнес-процестерді сипаттауға арналған тіл арқылы процестердің мінез-құлқын модельдеуге бағытталған. Осы арқылы ол Веб-қызметтердің өзара әрекеттесу моделін кеңейтеді және оны бизнес-мәмілелерді қолдауға мүмкіндік береді. Сонымен қатар, ол кәсіпорындардың ішінде де, арасында да автоматтандырылған процестерді интеграциялауды жеңілдетуге арналған, өзара үйлесімді интеграциялық модельді анықтайды. Оның дамуы үлкен және кішкентай масштабта бағдарламалау үшін әртүрлі тілдер қажет деген ойдан туындады. Сондықтан ол XML форматында сақталады және үлкен масштабта бағдарламалауға мүмкіндік беруді мақсат етеді.

Тарих

WS BPEL-дің бастамасы Web Services Flow Language (WSFL) және Xlang тілдеріне саяды. 2001 жылы IBM және Microsoft әрқайсысы дерлік бірдей, "ірі масштабты" бағдарламалау тілдерін анықтады: WSFL (Web Services Flow Language) және Xlang. Microsoft тіпті XLANG/s деп аталатын скрипт нұсқасын жасады, ол кейіннен BizTalk Server-дегі Orchestrations қызметтерінің негізі болды. Олар бұл тілдің «патенталды және толыққанды құжатталмаған» екенін нақты көрсетті. BPML-дің пайда болуы мен танымалдылығы, сондай-ақ BPMI.org және JBoss және Intalio Inc. басқаруымен ашық BPMS қозғалысының өркендеуімен, IBM және Microsoft бұл тілдерді BPEL4WS деп аталатын жаңа тілге біріктіруге шешім қабылдады. 2003 жылдың сәуір айында BEA Systems, IBM, Microsoft, SAP және Siebel Systems BPEL4WS 1.1 спецификациясын Web Services BPEL техникалық комитеті арқылы стандарттау үшін OASIS ұйымына ұсынды. BPEL4WS 1.0 және 1.1 нұсқалары болғанымен, OASIS WS BPEL техникалық комитеті 2004 жылдың 14 қыркүйегінде өз спецификациясын «WS BPEL 2.0» деп атауға дауыс берді. (Атаудың өзгеруі BPEL-ді «WS» (мысалы, WS Security сияқты) әрпімен басталатын басқа веб-қызметтер стандарттарының атау конвенцияларымен үйлестірді және BPEL4WS 1.1 мен WS BPEL 2.0 арасында жасалған маңызды жаңартуларды ескерді.) Нақты нұсқа туралы сөз болмаса, BPEL термині жиі қолданылады. 2007 жылдың маусым айында Active Endpoints, Adobe Systems, BEA, IBM, Oracle және SAP BPEL4People және WS HumanTask спецификацияларын жариялады, олар BPEL процестерінде адамдардың өзара әрекеттесуін қалай жүзеге асыруға болатынын сипаттайды.

BPEL мен BPMN арасындағы қатынас

WS BPEL үшін стандартты графикалық белгілеу жоқ, себебі OASIS техникалық комитеті бұл мәселені қарастырмады деп шешті. Кейбір жеткізушілер өздерінің белгілеулерін ойлап тапты. Бұл белгілеулер BPEL-дегі көптеген құрылымдар блоктық түрде құрылғандығын (мысалы, тізбек, while, pick, scope және т.б.) пайдаланады. Бұл мүмкіндік BPEL процестерінің сипаттамаларын Nassi-Shneiderman диаграммасын еске түсіретін стильдегі структураграммалар түрінде тікелей визуализациялауға мүмкіндік береді. Басқалары BPEL процестерінің сипаттамаларын түсіру үшін графикалық интерфейс ретінде басқа бизнес-процестерді модельдеу тілін, атап айтқанда Бизнес-процестерді модельдеу және нотация (BPMN) қолдануды ұсынды. Осы тәсілдің мүмкіндігін көрсету үшін BPMN спецификациясына BPMN-нен BPEL 1.1-ге бейресми және толық емес сәйкестік кірген. BPMN-ді BPEL-ге толыққанды сәйкестендіру бірнеше құралдарда, соның ішінде BPMN2BPEL деп аталатын ашық кодты құралда іске асырылды. Дегенмен, осы құралдарды дамыту BPMN мен BPEL арасындағы маңызды айырмашылықтарды көрсетті, бұл BPMN модельдерінен адам оқи алатын BPEL кодын жасауды өте қиын, ал кейбір жағдайларда тіпті мүмкін емес етеді. BPMN-нен BPEL-ге және кері инженерия жасау мәселесі одан да қиын: BPMN диаграммаларынан BPEL кодын жасау және бастапқы BPMN моделі мен жасалған BPEL кодын синхронды түрде сақтау, яғни біреуін өзгерткенде екіншісіне де өзгеріс енгізілуі.

BPEL-ге "шағын бағдарламалау" қолдауын қосу

BPEL-дің "if then elseif else" және "while" сияқты басқару құрылымдары, сондай-ақ оның айнымалыларды өңдеу мүмкіндіктері логиканы жүзеге асыру үшін "шағын" бағдарламалау тілдерін пайдалануға тәуелді. Барлық BPEL жүзеге асырулары XPath 1.0 тілін стандартты тіл ретінде қолдауы тиіс. Алайда, BPEL дизайны кеңейтілуге мүмкіндік береді, сондықтан жүйе құрушылар басқа тілдерді де қолдана алады. BPELJ – бұл JSR 207-ге қатысты күш-жігер, ол Java-ның BPEL ішінде "шағын" бағдарламалау тілі ретінде жұмыс істеуіне мүмкіндік беруі мүмкін.

BPEL4Адамдар

Веб-қызметтердің таратылған бизнес-қосымшаларда кеңінен қабылдануына қарамастан, адамдардың араласуының болмауы көптеген нақты бизнес-процестер үшін маңызды кемшілік болды. Осы кемшілікті жою мақсатында, BPEL4People BPEL-ді тек веб-қызметтерді ұйымдастырудан ғана емес, сонымен қатар рөлдерге негізделген адамдардың іс-әрекеттерін ұйымдастыруға дейін кеңейтті.