Кіріспе

жұмыс ағыны жүйесі YAWL (Yet Another Workflow Language) - жұмыс ағыны үлгілеріне негізделген жұмыс ағыны тілі. Ол орындалу қозғалтқышын, графикалық редакторды және жұмыс тізімдерін басқаруды қамтитын бағдарламалық қамтамасыз ету жүйесімен қамтамасыз етіледі. Ол LGPL лицензиясы бойынша ашық бастапқы кодты бағдарламалық жасақтама ретінде қол жетімді. YAWL-ді өндіріс деңгейінде іске асыруы: Ұлыбританиядағы first:utility және first:telecom компаниясы, ал Австралияның кино теледидар және радио мектебі фильм түсіру процестерін үйлестіру үшін. Сондай-ақ, 20-дан астам университеттерде оқыту үшін пайдаланылды.

Ерекшеліктері

Жұмыс ағыны үлгілерін жан-жақты қолдау. Ресурстарды бөлудің озық саясатын қолдау, соның ішінде төрт көз қағидаты мен тізбектелген орындау. Жұмыс ағыны модельдерін жұмыс түйіндері арқылы динамикалық бейімдеуді қолдау. Жұмыс ағыны моделінің күрделі растау ерекшеліктері (мысалы, жобалау кезінде тұйықталуды анықтау). XML Schema, XPath және XQuery негізінде деректерді анықтау және өңдеу үшін XML негізделген модель. Жұмыс ағыны экземплярларын бақылау және басқару және орындау журналдарына қол жеткізу үшін XML негізделген интерфейстер. Үшінші тараптың веб-қызметтерін жүйеге, соның ішінде үшінші тараптың жұмыс тізімі/жұмыстарды басқарушыларына қосу үшін XML негізделген плагиндік интерфейстер. XML схемасынан автоматтандырылған нысанды жасау.

Тарих

Тіл мен оны қолданатын жүйені бастапқыда Эйндховен технология университеті мен Квинсленд технология университетінің зерттеушілері әзірледі. Кейіннен, бірнеше ұйымдар, мысалы, InterContinental Hotels Group, first:telecom және ATOS Worldline бастамасына өз үлестерін қосты. YAWL-дің бастапқы драйверлері жұмыс ағынының барлық үлгілерін (немесе көпшілігін) қолдайтын және ресми семантикасы болатын жұмыс ағыны тілін анықтау болды. Петри желілері жұмыс ағынының көптеген үлгілерін қолдауға жақын екенін байқаған YAWL дизайнерлері Петри желілерін бастапқы нүкте ретінде қабылдап, бұл формализмді үш негізгі конструкциямен, атап айтқанда немесе қосылу, жою жиынтықтары және бірнеше инстанциялы іс-әрекеттермен кеңейтуге шешім қабылдады. Бұл үш ұғым Петри желілерінде тікелей қолдау таппаған жұмыс ағынының бес үлгісін, атап айтқанда синхрондауды біріктіруді, дискриминаторды, N M қосылудан, бірнеше инстанцияны алдын ала білмейтін білімі жоқ және жою жағдайын қолдауды көздейді. Сонымен қатар, YAWL Петри торларына кейбір синтаксистік элементтерді қосады, сондықтан басқа жұмыс ағымдарын интуитивті түрде, мысалы, қарапайым таңдау (xor split), қарапайым біріктіру (xor join) және бірнеше таңдау (немесе бөлу) сияқты. Тілді жобалау кезінде Петри торларына қосылған кейбір кеңейтулерді қарапайым Петри торларына қайта кодтау қиын немесе тіпті мүмкін емес екені анықталды. Нәтижесінде YAWL-дің бастапқы формалды семантикасы Петри желілері тұрғысынан емес, таңбаланған өтпелі жүйе ретінде анықталады. YAWL формалды семантикаға негізделгендігі YAWL процестерін талдау үшін бірнеше әдістерді іске асыруға мүмкіндік берді. YAWL жүйесіне WofYAWL деп аталатын статикалық талдау құралы кіреді.

YAWL мен BPEL арасындағы айырмашылық

YAWL кейде BPEL-ге балама ретінде қарастырылады. BPEL-дің басты артықшылығы - оны бірнеше IT саласының қатысушылары қолдаған стандарттау комитеті басқарады. Нәтижесінде BPEL көптеген құралдармен (жеке меншік және ашық бастапқы кодымен) қамтамасыз етіледі, ал YAWL-де қазіргі уақытта бір ғана іске асырылу бар. Сонымен қатар, бірнеше зерттеушілер BPEL-дің кіші топтарының формалды семантикасын әртүрлі формализмдер, соның ішінде Петри торлары, процесс алгебрасы және шекті күй машинасы тұрғысынан түсірді. Бұл YAWL жүйесінің статикалық талдау мүмкіндіктерімен бәсекелесе алатын BPEL үшін статикалық талдау құралдарын әзірлеуге жол ашты. Екінші жағынан, стандартты BPEL адам тапсырмаларын, яғни адам актерлеріне берілген және осы актерлерден физикалық орындауды қажет ететін әрекеттерді аяқтауды талап ететін тапсырмаларды қолдамайды. Бірқатар BPEL қозғалтқыштары адам тапсырмалары үшін BPEL кеңейтулерін ұсынады, бірақ бұл кеңейтулер әлі стандартталмаған. YAWL веб-қызметтер стандарттарына негізделген жұмыс тізімдері қызметтерінің бірыңғай интерфейсін ұсынады. Бұл интерфейс әзірлеушілерге өздерінің қажеттіліктеріне сәйкес адам тапсырмаларын қолдау үшін өздерінің жұмыс тізімдерін құруға мүмкіндік береді. Сонымен қатар, YAWL жүйесі бірнеше адаммен тапсырмаларды бөлуді және өңдеуді қолдайтын әдетті жұмыс тізімдері қызметімен бірге келеді. YAWL-дің тағы бір артықшылығы - жұмыс ағыны үлгілерін қолдау, бірақ осыған байланысты YAWL мен BPEL арасындағы алшақтықты BPEL 2.0 нұсқасына енгізілген жаңа құрылымдар қысқартуы мүмкін.