DP:xdancing

Z FI WIKI
Přejít na: navigace, hledání

Předběžné zadání

Cílem práce je analyzovat jazyk pro modelování business procesů, BPEL. Prozkoumat možnosti využití BPEL pro modelovaní systémů v servisně-orientované architektuře s důrazem na Enterprise Service Bus. Dále bude v práci přehled open-source softwaru pro práci s BPEL a jeho trasformaci do aplikační logiky. Práce bude zaměřená zejména na technologie: jBPM, BPEL,BPELJ, XPDL, WS-BPEL, JPDA. Součástí práce bude i případová studie.

Přehled pojmů

BPM

(Business Process Management) - snaha o zvýšení efektivity jakékoliv organizace za pomocí zautomatizování jejích obchodních procesů.

SOA

(Service Oriented Architecture) - typ softwarové architektury, postavený na službách, které jsou volně vázané, sdílené a opakovaně použitelné. Mají jasně ohraničenou funkcionalitu pro komunikaci s okolím.

BPEL4WS

(Business Process Execution Language for Web Services) – nebo zkráceně jen BPEL je BPM specifikace reprezentující proces jazykem postaveném na XML. XML soubory jsou poté zpracovávány některým z BPEL enginů:

BPELJ

(Business Process Execution Language Java)– rozšíření BPEL podporující Java kód přímo v definici procesu.

ESB

(Enterprise service bus) -

jBPM

(Java Business Process Management) – nástroj pro BPM od vývojářů společnosti JBoss, umožňuje vytváření business procesů, které probíhají mezi lidmi, aplikacemi a službami.
http://www.jboss.com/products/jbpm

BPM

V posledních letech se IT společnost stále méně soustředí na vývoj nových aplikací a místo toho se stále více věnuje propojování již existujících aplikací. Vzrůstají počty fůzí podniků a jejich zisky, mnoho firem tak zjišťuje, že se neustále nemůže zbavovat svých kumulujících se IT prostředků.
Nové technologie a nové verze produktů pak nechávají takové prostředky bez využití. V následující dekádě bude integrace business procesů hlavní výzvou ve světě vývoje software. Schopnost řídit integraci procesů tak stává základním kamenem toho, aby podnik mohl rychle a aktivně se adaptovat na změny trhu. Důležitou roli v integraci business procesů hraje právě Business Process Management (BPM).
Většina společností má své obchodní procesy úzce spjaty se svým obchodním modelem. Tyto procesy se neustále vyvíjí a protože musí reagovat na potřeby trhu, právě BPM má zajistit rychlou a jednoduchou adaptaci na nové podmínky a požadavky a dále se tak přesně držet obchodního modelu dané organizace, zahrnuje samozřejmě i softwarové nástroje, které mají firmám pomoci dosáhnout optimalizace procesů. Díky účelu BPM – spojit různorodé technologické systémy s aktivitami člověka, se BPM ukazuje jako dynamické řešení jednoho z nejzásadnějších problému na obchodním trhu.

Zefektivnění podnikových procesů pomocí BPM

Nevýhody podnikových systémů postavených na komponentové architektuře spočívají v tom, že každé oddělení může mít své vlastní systémy, orientované pouze na jejich obchodní procesy. Takováhle struktura systému nemůže mít integrované řízení procesů, které probíhají napříč všemi odděleními v rámci jednoho podniku.
Počátky snahy o zefektivnění business procesů se datují kolem roku 1995. Architektura podnikových informačních systémů se směřuje k návrhu takových systémů, kde business procesy probíhající v rámci jednotlivých oddělení překračují hranice těchto jednotlivých oddělení a mohou poskytovat služby pro celý subjekt informačního systému, přičemž některé z těchto služeb mohou být též přímo využívány jeho obchodními partnery popř. zákazníky.


Zde vytvorit nazorny obrazek...

Výhody BPM

Změnou architektury podnikového informačního systému mohou společnosti dosáhnout následujících výhod:
  • zpracování procesů probíhající mezi různými aplikacemi
  • efektivnější návrh, automatizace, vykonávání, monitorování, analýza a optimalizace business procesů
  • přesun řízení procesu z aplikační na technologickou vrstvu
  • možnost zautomatizování a správu procesů
  • zahrnutí manuálních aktivit jako součást procesu
  • možnost integrace různých aplikací navzájem a též externích zdrojů
Koncept BPM byl definován společností Ovum v říjnu 2002 následovně:

Business process management (BPM) je změna řízení a metody implementace systému za ůčelem dosažení plynulého pochopení a řízení business procesů, které umožňují součinnost lidí a systémů obojí uvnitř i napříč organizacemi.

Cíle BPM

Cílem BPM je umožnit rychlé a efektivní podnikání s vysokým ROI ´´(Return On Investment)´´.
Těchto cílů dosahuje díky:
  • informacím, které jsou ve správný čas na správném místě
  • minimalizace prodlev během zpracování procesu stanovením timeoutů jednotlivým aktivitám
  • řízení chybových stavů procesů

Standardy

BPM rozhodně nedostatkem standardů netrpí. Mezi nejdůležitější patří standard společnosti OASIS – BPEL, standardy BPML a BPMN od BPMI, různé choregrafické standardy konsorcia W3C, referenční model od [www.wfmc.org WfMC], MDA specifikace z dílny konsorcia OMG a ještě jednou od společnosti OASIS, tentokrát jazyk BPSS. Následující sekce jenodtlivé společnosti a jejich standardy představuje.
Prvním je Business Process Execution Language for Web Services (BPEL4WS), často zkracovaný jako BPEL (rýmuje se se slůvkem „people“). Tenhle standard nachází největší podporu ve velkých společnostech jako jsou IBM, Microsoft, Oracle, BEA a tím pádem má největší šanci válku standardů vyhrát. BPEL proces je webovou službou s připojenou definicí procesu v XML souboru. BPEL proces se může působit na ostatní procesy nebo se může naopak chovat podle ostatních procesů, jednodušeji řečeno BPEL proces může volat jinou webovou službu nebo je naopak volán jako webová služba. Jak můžeme vidět na obrázku 2, proces v rámci Travel Agency vystavuje webovou službu sendItinerary, která, pokud je zavolána, volá metodu requestTicket webové služby aerolinek, která je specifikována v rámci procesního řízení této společnosti. Jiný BPEL proces je naprogramován odpovědět na requestTicket vyvoláním metody sendTickets volaného procesu.
Xdan002.png
Druhým standardem je Business Process Modeling Language (BPML), od organizace Business Process Modeling Initiative (BPMI), který je podobně jako BPEL založen na XML. Business Process Modeling Notation (BPMN), je další specifikací od BPMI – jde o grafickou sofistikovanou notaci pro znázornění procesu. Významnou oučástí této specifikace je zejména mapovanání na jazyk BPML – rival BPEL, což umožňuje vykonávání procesů designovaných pomocí BPMN na některém s BPEL enginů.
Třetím standardem je Webservice Choreography, který je hlavním předmětem výzkumu světového konsorcia W3C. Webservice Choreography popisuje z globálního úhlu pohledu jak jsou služby uspořádány v řízeném pohledu trvalých vícenásobýcn účastníků. Tento globální pohled se liší od lokálního pohledu na proces v jazyce jako je BPEL. V BPEL proces je procesem jednoho aktéra, kdežto u Choreography jde o model skupiny aktérů.

Choreography Description Language (WS-CDL) je standard doporučený konsorciem W3C.

Dalším v řadě je Workflow Management Coalition (WfMC), který publikuje BPM referenční model, jako set rozhraní pro různé části BPM architektury. V tomto referenčním modelu vystupuje služba ustanovená jako centrální, která vykonává procesy vytvořené pomocí designéru procesů. Přestože WfMC nespecifikuje standardní grafickou notaci, poskytuje exportovatelný XML formát zvaný XML Process Definition (XPDL). Proces vytvořený XPDL-vyhovujícím návrhovým nástrojem může běžet na WfMC enginu.

Workflow API (WAPI) rozhraní, nabízí tři možnosti využití:

  • administraci a monitorování běžících procesů
  • integraci s externími aplikacemi
  • integraci s clientem, zahrnující manuální aktivity
Workflow XML (WfXML) rozhraní umožňuje vybrané službě komunikovat za účelem rozdělení jednoho procesu jiným. Na následujícím obrázku je WfMC model zobrazen:
Xdan003.png
Cílem pátého standardu – Model Driven Architecture (MDA) organizace Object Management Group (OMG) není vytvořit další jazyk pro procesy nebo rozhraní, ale rozvíjet abstraktní BPM modely, které vyhovují Model-Driven architektuře. Myšlenkou MDA je sjednocení různorodých přístupů k danému softwarovému problému. Software má zdánlivě nespočentě mnoho typů modelů: relační modely, objektově orientované modely, business proces modely, a další... MDA akceptuje rozličnost těchto modelů, přitom poskytuje mechanismus jak mapovat různé typy modelů vzájemně na sebe. Klíčovou myšlenkou je postavit všechny modely na společném základu.
Posledním standardem v našem výberu je jazyk pro procesy zvaný – Business Process specification Language BPSS (OASIS), který je něco jako Choreography(W3C), s tím rozdílem, že BPSS je určen pro business-to-business spolupráci. V typickém případě je to výměna mezi zákazníkem a obchodníkem. Např.: Zákazník pošle požadavek obchodníkovi, na který obchodník okamžitě odpoví po sobě jdoucí

SOA

SOA tedy nabízí způsob organizace softwarové aplikace v podobě služeb, které jsou přímo spjaty s obchodními procesy v organizaci. Základním pravidlem této architektury je distribuce dat a služeb. Služby plní vždy jen konkrétní úlohy, využívají omezenou množinu dat v souladu se zabezpečením dané služby. Funkcionalitu služeb využívají jak klienti systému tak jiné služby. Výhodou servisně orientované architektury je samospráva takto fungujících služeb. Služby pracují jako autonomní aplikace. Dohromady pak služby a klienti vytváří komplexní aplikaci. Jednotlivé prvky celého informačního systému podniku - služby, klienty, technické vybavení, je možné měnit dle potřeby, a to bez zásadního zásahu do fungování celého informačního systému. Pokud je zachováno rozhraní služby, může být její obsah, změněn bez zásahu do dalších služeb. Služba může být rovněž přesunuta na jiný počítač, bez změny zbytku systému. Jediné co musí být v systému změněno je definice umístění služby.