Streszczenie
Tworzenie systemów informatycznych czsto rozpoczyna si od modelowania procesów biznesowych, po to aby wyspecyfikowa i udokumentowa kluczowe wy-magania. Modelowanie procesów to domena analityka biznesowego, natomiast pro-jektant systemów informatycznych preferuje modelowanie obiektowe lub zorientowa-ne na usługi, aby wyspecyfikowa model implementacyjny. Pogodzenie obu spojrze w ramach tworzenia systemów informatycznych nie jest spraw prost. Artykuł przedstawia rozwizanie łczce obie perspektywy przy wykorzystaniu formalnej transformacji modelu biznesowego na model implementacyjny.
Słowa kluczowe: BPMN, BPM, Web Service, UML, BPEL 1. Wstp
Przedsibiorstwo, aby przetrwa we współczesnym wiecie konkurencji, jest zmuszone do cigłego rewidowania swoich produktów, usług oraz relacji ze rodowiskiem, w którym funkcjo-nuje. Musi ledzi zmieniajce si preferencje klientów, uwarunkowania prawne oraz reakcje konkurencji. Aby sprosta tym wymaganiom oraz osiga wysok jako swoich produktów, czy efektywno oferowanych usług, przedsibiorstwo wykorzystuje systemy informacyjne. Poczt-kowo jako wsparcie wybranych funkcji (np. produkcji), obecnie jako integraln cz na kadym etapie jego funkcjonowania. Niestety, bardzo czsto oprogramowanie niezbyt poprawnie lub nie-wystarczajco realizuje funkcje systemu informacyjnego. Wynika to moe z kilku powodów: z niepoprawnej definicji wymaga, niedostatecznego zrozumienia funkcjonowania przedsibior-stwa przez zespół projektujcy oprogramowanie, a czasem z samej natury wiadczonych usług, które mog si zmienia tak czsto, e proces dostosowywania oprogramowania nie bdzie w stanie nady za tymi zmianami. Aby ułatwi zrozumienie procesów zachodzcych w przed-sibiorstwie oraz definiowanie wymaga stawianych systemom informacyjnym zaczto tworzy modele biznesowe. Dziki nim twórcy oprogramowania mog lepiej zrozumie cele stawiane przed systemem informatycznym oraz dostrzec ewentualne kierunki jego rozszerze. Analiza i modelowanie procesów biznesowych umoliwia stworzenie pomostu pomidzy definicj wyma-ga stawianych systemowi informacyjnemu a implementacj tego systemu, czyli systemem infor-matycznym.
95
2. Zastosowanie metod IDEF
Departament Sił Powietrznych Stanów Zjednoczonych w latach siedemdziesitych powołał program, którego celem było stworzenie metod modelowania wspomagajcych procesy produk-cyjne. W wyniku tych prac powstał pakiet metod znany jako IDEF (Integrated Computer Aided Manufacturing Definition, w skrócie Integrated DEFinition), zawierajcy metody modelowania funkcji (IDEF0), struktury informacji (IDEF1) oraz dynamiki, czyli zalenoci czasowych pomi-dzy funkcjami (IDEF2)1. Pakiet ten umoliwiał stworzenie modeli procesów produkcyjnych oraz wykonanie ich symulacji. Jednake nadal brakowało wród tych metod łcznika z systemami in-formatycznymi. Dlatego pakiet został rozszerzony o kolejne metody, a do IDEF14, wród których znalazły si wspomagajce projektowanie obiektowe (IDEF4) oraz baz danych (IDEF1X). Pomi-mo tak licznej reprezentacji w powszechnym uyciu pozostaj jedynie IDEF0, IDEF1X i IDEF3 (opis procesów). Metody projektowania systemów informatycznych IDEF nie przyjły si w wie-cie twórców oprogramowania. Wypracowali oni własn technik projektowania oprogramowania zwan UML (Unified Modeling Language).
3. Ewolucja jzyka UML
Na pocztku lat dziewidziesitych na rynku oprogramowania funkcjonowało ponad pi-dziesit metod obiektowych. Taka sytuacja powodowała spory pomidzy twórcami oprogramowa-nia zwane „wojnami metod”. Jednake w połowie lat dziewidziesitych rozpoczły si prace nad zunifikowanym jzykiem modelowania (UML – Unified Modeling Language). Powstało konsor-cjum zrzeszajce firmy (midzy innymi Rational, Oracle, IBM, Microsoft, Hewlett-Packard), którego celem było stworzenie szczegółowego opisu tego jzyka. W 1997 roku powstała pierwsza jego wersja – UML 1.0. Od wersji 1.3 wprowadzono profile, jako sposób rozszerzania tego jzyka. Obecnie istnieje wiele profili definiujcych midzy innymi modelowanie danych, tworzenie kom-ponentów EJB (Enterprise Java Beans), NET oraz modelowanie biznesowe. Dziki temu jzyk UML stał si wspólnym jzykiem analityków biznesowych, projektantów i programistów. Jednak-e naley pamita o tym, Jednak-e UML został stworzony na potrzeby oprogramowania, a zastosowanie go do modelowania biznesowego jest tylko dodatkow funkcj tego jzyka, w przeciwiestwie do metod IDEF2.
4. BPMN i BPEL
U podstaw metod IDEF ley modelowanie procesów, natomiast jzyk UML dotyczy obiekto-wego modelowania systemów informatycznych. Czy istnieje sposób połczenia obu wiatów: biznesu i tworzenia oprogramowania? Odpowiedzi na to pytanie moe by BPMN (Business Process Modeling Notation) przeznaczony do modelowania procesów biznesowych. BPMN został przedstawiony w 2004 roku przez organizacj BPMI (Business Process Management Initiative)3. Jej głównym celem było opracowanie notacji, która bdzie łatwa do zrozumienia dla wszystkich
1 R.J. Mayer, Capt. M.K. Painter, P.S. deWitte: IDEF Family of Methods for Concurrent Engineering and Business
Reen-gineering Applications, http://www.idef.com/pdf/IDEFFAMI.pdf.
2 O.S. Noran, Griffith University: Business Modelling: UML vs. IDEF,
http://www.cit.gu.edu.au/~noran/Docs/UML-Issues.pdf.
3 S.A. Wihte, IBM Corporation: Introduction to BPMN, http://www.bpmn.org/Documents/Introduction to BPMN.pdf. Studies & Proceedings of Polish Association for Knowledge Management
zainteresowanych procesem, poczwszy od analityków biznesowych, poprzez osoby zarzdzajce i monitorujce proces, a skoczywszy na programistach odpowiedzialnych za jego implementacj. Dodatkowo modele BPMN miały umoliwia generowanie definicji egzekucji procesu (BPEL – Business Process Execution Language for Web Services). Dziki temu BPMN stał si ustandary-zowanym pomostem pomidzy modelowaniem procesu biznesowego a jego implementacj4. Jed-nake, aby zaistniała taka moliwo niezbdne jest spełnienie okrelonych warunków. Po pierw-sze analityk biznesowy, tworzc model BPMN, powinien korzysta z narzdzia oferujcego gene-rowanie kodu BPEL. Po drugie, wygenerowany kod powinien zosta umieszczony w motorze procesów biznesowych, który potrafi interpretowa definicj BPEL. Po trzecie musz istnie i by dostpne usługi sieciowe (WS – Web Services), których interakcje opisuje kod BPEL. Obecnie na rynku IT dostpne s pakiety oprogramowania (BPMS – Business Process Management Suites), które umoliwiaj realizacj powyszych kroków, zarówno komercyjne (IBM WebSphere BPM Suite) jak i darmowe, typu open-source (Intalio BPMS). Oferuj one take dodatkow funkcjonal-no, szczególnie wan dla samego biznesu. Mianowicie monitorowanie realizacji procesów, a tym samym mierzenie ich wydajnoci, co w konsekwencji umoliwia optymalizacj procesów biznesowych. Czy zatem oznacza to, e dziki BPMN, BPEL i motorze BPM moliwe stało si tworzenie aplikacji przez analityków biznesowych, bez współudziału programistów? Niestety odpowied na to pytanie jest negatywna. Mimo stosowania BPMN i BPEL, narzdzia tworzenia procesów s specyficzne dla ich własnego rodowiska wykonawczego. Dzisiaj nie istniej jeszcze moliwoci projektowania procesów przenonych, które mog by wykonywane w dowolnie wy-branym motorze BPM.
Powszechnie stosowana, pierwsza wersja specyfikacji BPMN nie jest pozbawiona wad. Spo-sób generacji kodu BPEL na podstawie modelu BPMN nie jest w pełni wyspecyfikowany. Powo-duje to rozbienoci pomidzy narzdziami generujcymi BPEL na podstawie BPMN. Niestety bardzo czsto bdziemy zmuszeni do zmiany modelu BPMN, aby by w stanie wygenerowa kod BPEL. Model procesu biznesowego, który pocztkowo jest intuicyjny i zrozumiały dla wszyst-kich, po zabiegach dostosowywania go do generacji kodu BPEL staje si zagmatwany i zrozumia-ły tylko dla programistów. Oczywicie wina za taki stan rzeczy nie ley całkowicie po stronie specyfikacji BPMN, ale take po stronie narzdzi które umoliwiaj generowanie na jego podsta-wie kodu BPEL5. Ponadto wygenerowany kod BPEL, to właciwie szkielet złoony z podstawo-wych elementów. Specyfikacja BPMN powinna zosta rozszerzona o kolejne elementy, które s obsługiwane przez BPEL (powizania z systemami heterogenicznymi, wsparcie synchronicznej i asynchronicznej wymiany wiadomoci, transfer danych, koordynacj przepływu czynnoci, ob-sług wyjtków czy transakcyjno). Dlatego wygenerowany szkielet BPEL przez programist jest rozszerzany i dostosowywany do realnych warunków. Praca programisty z kodem BPEL, podob-nie jak praca analityka biznesowego z modelem BPMN, odbywa si w znacznej mierze w sposób graficzny. Wikszo dzisiejszych pakietów BPMS zapewnia zunifikowane rodowisko graficzne, które przykrywa złoono reguł biznesowych, zarzdzania transakcjami czy integracji aplikacji
4Business Process Modeling Notation 1.0 – specification, http://www.bpmn.org/Documents/OMG Final Adopted BPMN
1-0 Spec 1-06-1-02-1-01.pdf.
5
P. Wohed, W.M.P. van der Aalst, M. Dumas, A. H. M. ter Hofstede, N. Russel, On the Suitability of BPMN for Business Process Modelling, http://www.bpm.fit.qut.edu.au/projects/babel/docs/BPMN-eval-BPM06.pdf.
97
w ramach pojedynczego wykonywalnego kodu BPEL. Narzdzia te oferuj palety składników BPEL, z których programista wybiera, konfiguruje i składa (bd dostosowuje) kroki procesu6.
Pomimo tego, e specyfikacja BPEL jest bardziej dojrzała ni BPMN, to brakuje w niej pod-stawowych z punktu widzenia procesu biznesowego elementów, takich jak: interakcja z człowie-kiem, podprocesy, transformacja danych. Niektóre pakiety BPMS obecne na ryku oferuj rozsze-rzenie BPEL o wymienione elementy, jednake sposób ich implementacji jest specyficzny dla danego dostawcy i moliwy do uruchomienia wyłcznie na danym motorze BPM.
Kolejnym problemem jest synchronizacja modelu BPMN z kodem BPEL7. Oczywicie nie oznacza to, e kady szczegół egzekucji procesu musi zosta odzwierciedlony w modelu, ale przy-najmniej nie powinien gin podczas takiej synchronizacji. Narzdzia, wsparte specyfikacjami tych jzyków, powinny umoliwia przechodzenie z kodu BPEL do modelu BPMN i z powrotem do BPEL bez adnej straty. Dziki temu wprowadzanie zmian w procesie biznesowym (np. w wyniku optymalizacji) mogłoby by przeprowadzane bardzo płynnie. Taka funkcjonalno miałaby kluczowe znaczenie dla przedsibiorstwa, które musi szybko reagowa na zmiany zacho-dzce na rynku.
Powysze problemy wynikaj przede wszystkim z tego, e oba jzyki s innej klasy. BPMN jest notacj graficzn, zbiorem symboli, z których budowany jest model procesu biznesowego, natomiast BPEL to jzyk strukturalny oparty o XML (eXtensible Markup Language). Pomimo opisanych braków i trudnoci w stosowaniu BPMN i BPEL, biznes coraz czciej otwiera si na technologi BPM. Aplikacje stworzone w oparciu o takie rozwizania ze swej natury umoliwiaj monitorowanie procesów biznesowych, mierzenie ich wydajnoci oraz wiksz podatno na mo-dyfikacje ni dotychczasowe systemy dedykowane. Dlatego oprogramowanie klasy BPM bardzo szybko si rozwija. W Polsce s ju pierwsze przykłady stosowania tego typu rozwiza. Przykła-dem jest projekt „e-Łód”, prowadzony prze Urzd Miasta Łodzi, którego celem jest udostpnie-nie szerokiego pakietu usług w Internecie. W ramach realizacji projektu przez ComputerLand, przygotowywany jest rozbudowany system informacyjny, który umoliwi zautomatyzowanie wielu czynnoci administracyjnych. Zupełnie inaczej wyglda relacja pomidzy BPMN i BPEL w kontekcie wydanej w styczniu tego roku specyfikacji BPMN 2.0. Organizacja OMG przy współpracy liderów rynku systemów BPM (IBM Corp. Oracle, SAP AG, TIBCO, IDS Scheer itd.) wprowadziła szereg kluczowych zmian tworzc z notacji BPMN 2.0 nie tylko jzyk graficzny, ale take jzyk zrozumiały dla systemów zarzdzania procesami biznesowymi8. W specyfikacji BPMN 2.0 wprowadzono nastpujce nowoci:
• Dodano sformalizowany opis semantyki egzekucji dla wszystkich elementów BPMN. • Zdefiniowano mechanizm rozszerzania modelowania procesów oraz graficznej
reprezen-tacji elementów BPMN.
• Przebudowano specyfikacj dotyczc kompozycji i korelacji zdarze. • Rozszerzono definicj interakcji z człowiekiem.
• Dodano model choreografii interakcji pomidzy uczestnikami procesu.
6 Ch. Ouyang, M Dumas, W.M.P. van der Aalst, A.H.M. ter Hofstede, From Bussiness Process Models to Process-oriended Software Systems: The BPMN to BPEL Way, http://www.bpm.fit.qut.edu.au/projects/babel/docs/BPM-06-27.pdf.
7Business Process Execution Language for Web Services 1.1 – specification, http://www-128.ibm.com/develo
per-works/library/specification/ws-bpel/.
8 Business Proces Modeling Notation 2.0 – specification, http://www.omg.org/spec/bpmn/2.0/pdf/. Studies & Proceedings of Polish Association for Knowledge Management
• Zdefiniowano standard wymiany definicji modelu biznesowego pomidzy narzdziami w oparciu o jzyk XML.
• Zdefiniowano mapowanie modelu BPMN na jzyk WS-BPEL.
Wród powyszych nowoci szczególnie istotna okazała si moliwo zapisywania modelu BPMN do pliku XML oraz definicja semantyki egzekucji procesu dla dostawców oprogramowania klasy BPM. Zanim specyfikacja BPMN 2.0 została zakoczona, zaczły powstawa systemy BPM (platformy BPM), które umoliwiaj modelowanie, uruchamiania oraz monitorowanie procesów biznesowych. Przykładem takiego produktu jest open-soruce’owy Activiti, powstały z inicjatywy twórców oprogramowania JBoss jBPM oraz ECM Alfresco9. W platformach takiego typu analityk biznesowy moe zamodelowa proces biznesowych, który w swojej pierwotnej formie moe zosta uruchomiony w motorze BPM. Tak zdefiniowany proces, a właciwie szkielet jego imple-mentacji, jest nastpnie rozszerzany przez developera. Jego zadaniem midzy innymi jest stworze-nie wymaganych formatek do wprowadzania danych na potrzeby procesu biznesowego, przy po-mocy framework’u dostarczanego razem z platform BPM. Jeeli jest to konieczne developer ponadto implementuje dodatkowe usługi sieciowe i podłcza jest do zdefiniowanego procesu. Cało prac jest prowadzona na modelu procesów biznesowych, który został stworzony przez analityka biznesowego. Model BPMN jest uruchamiany na platformie BPM bezporednio bez dodatkowych transformacji na jzyk zrozumiany dla danego oprogramowania.
Takie podejcie upraszcza proces przejcia z modelu procesu biznesowego do jego egzekucji, jednake powoduje zwizanie z dan platform BPM. Wprawdzie, dziki reprezentacji modelu BPMN w postaci pliku XML, moliwe jest przenoszenie modeli pomidzy systemami rónych dostawców, ale definicje interfejsu uytkownika oraz podłczenia usług sieciowych nie s ju przenoszone. Poniej przedstawiony jest fragment definicji procesu biznesowego w „czystej” postaci – wynikajcej ze specyfikacji BPMN 2.0 – oraz zawierajcej dodatkowe elementy zwiza-ne z dan platform – w prezentowanym przykładzie jest ni Activiti.
ʳʰɑɑŵʴ ʳ ʰɑɨɑ ʰɑɑʰɑɑŵʴ ʳʰɑɑʰɑ ɑʴ ʳ ʴ ɛƇƈ ʳŵ ʴ ŜŜŜ ʳŵʴ ʳʰɑɑ śʰɑŵ ŵŵŵŜɑŵʴ ʳ ʰɑɨɑ ʰɑɑʰɑɑŵʴ ʳʰɑɑʰɑ ɑ śʰɑŵ ŵŵŵŜɑʴ ʳ ʴ ɛƇƈ ʳŵ ʴ ŜŜŜ ʳŵʴ 9 http://www.activiti.org.
99
Specyfikacja BPMN 2.0 definiuje mapowanie BPMN na BPEL, czyli na jzyk egzekucji procesu. W specyfikacji zostało przedstawione mapowanie zarówno elementów graficznych jak i reprezen-tacji formalnej, czyli wyraonej w postaci jzyka XML.
Rysunek1. Przykład mapowania elementów graficznych BPMN na definicj BPEL ródło: http://www.omg.org/spec/BPMN/2.0/PDF.
Notacja BPMN umoliwia narysowanie praktycznie dowolnego modelu procesu biznesowe-go, w przeciwiestwie do BPEL, który obarczonych jest pewnymi ograniczeniami – np. definicje przepływów musz by zdefiniowane w blokach bez cykli. Ponadto BPEL jest przeznaczonych do opisu wywoła usług sieciowych, brak w nim opisu zada realizowanych przez człowieka w ra-mach realizacji usług sieciowych. Luk t wypełni powstajce specyfikacje BPEL4People i WS-HumanTask prowadzone przez organizacj OASIS. Majc na uwadze wspomniane ograniczenia specyfikacja BPMN 2.0 umoliwia mapowanie jedynie wybranego podzbioru swoich elementów na jzyk BPEL10. Powstajce specyfikacje w przyszłoci rozszerz ten zakres o kolejne elementy, ale przez ograniczenia składni BPEL prawdopodobnie nie bdzie prostego sposobu przełoenia modelu BPMN na definicj BPEL jedn do jednego. Nasuwa si pytanie, czy naley do tego dy? Czy BPMN i BPEL w obecnej formie maj umoliwia translacj modeli pomidzy sob? Jaki jest zwizek pomidzy nimi? A moe BPMN 2.0 powoduje, e BPEL jest zbdny? W wywiadzie Mar-ka Little z InfoQ padły podobne pytania. Odpowiedzi próbowali udzieli liderzy obszaru BPM: Manoj Das – Oracle, Dave Ings – IBM, Ivana Trickovic – SAP. Jednake z ich odpowiedzi nie wynikaj jasne wnioski, np. BPMN zastpi BPEL. Wszyscy s zgodni co do jednego: BPMN jest jzykiem modelowania procesów biznesowych, z ukierunkowaniem na interakcj z człowiekiem i przepływ pracy, natomiast BPEL jest jzykiem egzekucji procesu, który zwizany jest z automa-tyzacj zada, wywoła usług sieciowych. Oznacza to, e głównym celem BPMN s procesy biz-nesowe, choreografia interakcji pomidzy uczestnikami tych procesów, a nie automatyzacja wy-woła usług sieciowych, czyli ich orkiestracj co jest domen BPEL, któremu bliej do procesów integracyjnych.
10
Business Process Execution Language for Web Services 1.1 – specyification, http://docs.oasis-open.org/wsbpe l/2.0/OS/wsbpel-v2.0-OS.pdf. ʳʴʳ ʴƃɨƄʳŵ ʴ ƃɨƄ ʳʴʳ ʴƃɩƄʳŵ ʴ ƃɩƄ ʳŵʴ ʳʴ ƃɪƄ ʳŵʴ ʳŵʴ
Studies & Proceedings of Polish Association for Knowledge Management Nr 57, 2011
5. Mapowanie elementów BPMN 2.0 na modele UML
W poprzednich rozdziałach rozwaalimy modelowanie procesów biznesowych oraz ich eg-zekucj w systemach klasy BPM. Stworzony model w notacji BPMN, czy te definicja procesu w BPEL nie przedstawia projektu całego systemu. Oprogramowanie umoliwiajce uruchomienie definicji procesu biznesowego nie zapewnia wszystkich elementów wymaganych od systemów informatycznych (czy to informacyjnych, czy produkcyjnych). Systemy BPM współistniej i funkcjonuj z innymi systemami informatycznymi wspomagajcymi działanie przedsibiorstwa, czy instytucji. Elementem łczcym poszczególne systemy w nowoczesnej architekturze s usługi sieciowe. Zarówno notacja BPMN 2.0, jak i jzyk BPEL 2.0 umoliwiaj specyfikacj interfejsów tych usług11. BPMN 2.0 specyfikuje zestaw elementów niezbdnych do definiowania usług i inter-fejsów systemów wywoływanych w procesie biznesowym. Przedstawione s one w sposób sfor-malizowany w postaci diagramu klas oraz definicji schematu XML. Głównym elementem w tej grupie jest interfejs (Interface), który w przypadku usług sieciowych jest odpowiednikiem definicji WSDL (Web Service Definition Language). Podobnie jak w przypadku WSDL, na interfejs skła-daj si moliwe do wywołania operacje (Oparation) oraz ich parametry (Message).
11
Ch. Armstrong, ATC Enterprises Inc.: Modeling Web Services with UML, http://www.omg.
101
Rysunek 2. Formalna definicja usługi wywoływanej w procesie biznesowym ródło: http://www.omg.org/spec/bpmn/2.0/pdf.
W przypadku, gdy uczestnik (Participant) procesu reprezentuje system uczestniczcy w pro-cesie biznesowych, okrelana jest dla niego definicja interfejsu oraz adres wywoływanej usługi (wskazany przez EndPoint) zdefiniowanej przez ten interfejs. Natomiast operacje i parametry s wskazywane w wybranych zadaniach, podprocesach oraz danych, definiujc w ten sposób, które operacje usługi sieciowej maj by wywoływane oraz jakie dane (wiadomoci) maj by przeka-zywane do i z usługi. Analogicznie specyfikacja BPMN 2.0 umoliwia definiowanie w procesie biznesowym zada dla człowieka, np. poprzez wskazanie formatki, w której uytkownik musi wprowadzi odpowiednie dane12.
12M. Little, InfoQ: BPMN 2.0 Virtual Roundtable Interview, http://www.infoq.com/articles/bpmn-2. Studies & Proceedings of Polish Association for Knowledge Management
Rysunek 3. Formalna definicja zadania dla człowieka ródło: http://www.omg.org/spec/BPMN/2.0/PDF.
BPMN 2.0 umoliwiajc wskazanie wywoływanych usługi sieciowych oraz sposobu obsługi zada dla człowieka w modelu procesu biznesowego pozostawia ich projektowanie poza swoim zakresem, poniewa bardziej do tego nadaj si inne narzdzia np. UML13. BPMN i BPEL nie wskazuje sposobu w jaki powiza model procesu biznesowego oraz model systemu uruchamia-nego w ramach tego procesu. Okrelajc sposób transformacji wybranych elementów z modelu procesu biznesowego na projekt systemu informatycznego zostanie stworzony pomost pomidzy prac realizowan przez analityka biznesowego i projektanta systemowego. Przykładem opisu metody w jaki naley projektowa systemy w architekturze SOA, czyli zorientowane na usługi sieciowe jest metodyka ICONIX. W jednym ze swoich profili – ICONIX Process for Service-Oriented Architecture – opisuje krok po kroku w jaki sposób naley projektowa i wytwarza systemy tej klasy, na którym etapie projektu naley zaprojektowa interfejsy usług sieciowych w postaci WSDL.
103
Dev elop a Fact (Domain) Model
Define Business Rules and other Requirements
Storyboard Screens
Dev elop Web Serv ice Interfaces Dev elop "Web-Serv ice-Centric" Scenarios Dev elop "Business-Rules-Centric" Scenarios
Dev elop "User-Centric" Scenarios
Rysunek 4. Plan działa dla procesu ICONIX for SOA ródło: http://www.iconixsw.com/Articles/SOARoadmap.html.
Na poniszych diagramach został przedstawiony sposób mapowania elementów BPMN 2.0 zwizanych z definicj usług sieciowych w procesie biznesowym na odpowiednie elementy mode-lu UML. Według metodyki ICONIX s one tworzone od podstaw przez projektanta systemu14. Dziki pokazanemu poniej mapowaniu bdzie moliwe wygenerowanie szkieletu usług w modelu UML.
14
D. Rosenberg, ICONIX: ICONIX Process for Service-Oriented Architecture, http://www.iconixsw.com/ Arti-cles/SOARoadmap.html.
Studies & Proceedings of Polish Association for Knowledge Management Nr 57, 2011
«WSDLservice» Serv ice Interface + operations: Operation [1..*] «WSDLbinding» Bindings::Binding + operation(inMessage, inMessage*) «realize» Port
Rysunek 5. Mapowanie BPMN Interface na WSDL Service ródło: Opracowanie własne.
«WSDLportType» PortType + operation(inMessage, inMessage*) Operation + name: String + implementationRef: Element + inMessageRef: Message [1..*] + outMessageRef: Message [0..*..*] «realize»
Rysunek 6. Mapowanie BPMN Operation na WSDL PortType ródło: Opracowanie własne.
«WSDLmessage» Message + data: Data Message + name: String «realize»
Rysunek 7. Mapowanie BPMN Message na WSDL Message ródło: Opracowanie własne.
Wykorzystujc zdefiniowane powyej mapowanie wybranych elementów BPMN 2.0 na UML 2 mona połczy efekty pracy analityka biznesowego oraz projektanta systemowego15. Ponadto
15
M. Wolski, Modelowanie procesów biznesowych w UML czy BPMN?, http://www.michalwolski.com/2008 /10/modelowanie-procesw-biznesowych-w-uml-czy-bpmn/.
105
jeeli wykorzystamy narzdzie takie jak np. Enterprise Architect firmy Sparx Systems oba modele: procesów biznesowych oraz systemu informatycznego mona przechowywa w jednym projekcie, dziki temu uzyskamy całociowy model systemu klasy BPM.
6. Podsumowanie
Jaka jest przyszło modelowania procesów biznesowych i ich implementacji? Na pewno zo-stał postawiony pierwszy krok w kierunku automatyzacji tworzenia i zarzdzania procesami bizne-sowymi na bazie ich modeli. Rynek oprogramowania klasy BPM rozwija si bardzo dynamicznie, co oznacza e powyej opisane niedocignicia i problemy zostan rozwizanie w niedalekiej przyszłoci. Naley jednake pamita, e pozostaje jeden znaczcy element w technologii BPM, który jest tworzony poza modelem BPMN, czy BPEL. Elementem tym s usługi sieciowe, które musz zosta wczeniej opracowane, czyli zaprojektowane oraz zaimplementowane. Niestety najprawdopodobniej najblisza przyszło nie przyniesie włczenia modelu usługi sieciowej do modelu BPMN. Jej modelowanie pozostaje w gestii twórców oprogramowania, które najczciej bdzie przeprowadzane przy pomocy UML. By moe przyszło technologii BPM to połczenie notacji BPMN i UML, które bdzie umoliwiało tworzenie i zarzdzanie procesami biznesowymi wyłcznie poprzez model. Jednake droga do tego celu jest bardzo daleka i niepewna. Na obecn chwil moliwe jest opracowanie metodyki, która w sposób przejrzysty bdzie definiowała sposób tworzenia systemów klasy BPM z wykorzystaniem notacji BPMN i UML w taki sposób, aby ana-liza biznesowa i projektowanie systemu informatycznego było ze sob powizane.
Bibliografia
[1] Armstrong Ch., ATC Enterprises Inc.: Modeling Web Services with UML, http://www.omg.org/news/meetings/workshops/presentations/WebServices_2002/03-2_Armstrong-ModelingWebServices_with_UML.pdf.
[2] Business Process Execution Language for Web Services 1.1 – specification, http://www-128.ibm.com/developerworks/library/specification/ws-bpel/.
[3] Business Process Modeling Notation 1.0 – specification, http://www.bpmn.org/ Docu-ments/OMG Final Adopted BPMN 1-0 Spec 06-02-01.pdf
[4] Business Proces Modeling Notation 2.0 – specification, http://www.omg.org/ spec/BPMN/2.0/PDF/.
[5] Business Process Execution Language for Web Services 1.1 – specification, http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.pdf.
[6] Little M., InfoQ: BPMN 2.0 Virtual Roundtable Interview, http://www.infoq.com /articles/bpmn-2.
[7] Mayer R.J., Painter M.K., deWitte P.S.: IDEF Family of Methods for Concurrent Engineer-ing and Business ReengineerEngineer-ing Applications, http://www.idef.com/pdf/IDEFFAMI.pdf [8] Noran O.S., Griffith University: Business Modelling: UML vs. IDEF,
http://www.cit.gu.edu.au/~noran/Docs/UML-Issues.pdf.
[9] Ouyang Ch., Dumas M., Aalst W.M.P., Hofstede A.H.M., From Bussiness Process Models
to Process-oriended Software Systems: The BPMN to BPEL Way,
http://www.bpm.fit.qut.edu.au/projects/babel/docs/BPM-06-27.pdf. [10] Provsot W., UML for Web Services, http://www.xml.com/lpt/a/1259.
Studies & Proceedings of Polish Association for Knowledge Management Nr 57, 2011
[11] Rosenberg D., ICONIX: ICONIX Process for Service-Oriented Architecture, http://www.iconixsw.com/Articles/SOARoadmap.html.
[12] White S.A., IBM Corporation: Introduction to BPMN, http://www.bpmn.org/ Docu-ments/Introduction to BPMN.pdf.
[13] Wohed P., Aalst W.M.P., Dumas M., Hofstede A. H. M., Russel N., On the Suitability of BPMN for Business Process Modelling, http://www.bpm.fit.qut.edu.au/ pro-jects/babel/docs/BPMN-eval-BPM06.pdf.
[14] Wolski M., Modelowanie procesów biznesowych w UML czy BPMN?, http://www.michalwolski.com/2008/10/modelowanie-procesw-biznesowych-w-uml-czy-bpmn/.
[15] http://www.activiti.org/.
BUSINESS PROCESS MODELING AND THEIR IMPLEMENTATION IN INFORMATION SYSTEMS
Summary
Creating systems often starts with the modeling of business processes, in order to specify and document the key requirements. Process modeling is the domain of the business analyst, but systems designer prefers object-oriented modeling or service-oriented to specify an implementation model. Reconciling the two looks in the estab-lishment of information systems is not easy. This article presents a solution combin-ing both perspectives, uscombin-ing the formal transformation of the business model to an implementation model.
Keywords: BPMN, BPM, Web Service, UML, BPEL Magdalena Kieruzel
Katedra Inynierii Zarzdzania Wydział Informatyki
Zachodniopomorski Uniwersytet Technologiczny w Szczecinie e-mail: mkieruzel@wi.zut.edu.pl