Modelowanie procesów biznesowych i ich implementacja w
Transkrypt
Modelowanie procesów biznesowych i ich implementacja w
MODELOWANIE PROCESÓW BIZNESOWYCH I ICH IMPLEMENTACJA W SYSTEMACH INFORMATYCZNYCH MAGDALENA KIERUZEL Streszczenie Tworzenie systemów informatycznych czsto rozpoczyna si od modelowania procesów biznesowych, po to aby wyspecyfikowa i udokumentowa kluczowe wymagania. Modelowanie procesów to domena analityka biznesowego, natomiast projektant systemów informatycznych preferuje modelowanie obiektowe lub zorientowane 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 funkcjonuje. 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. Pocztkowo jako wsparcie wybranych funkcji (np. produkcji), obecnie jako integraln cz na kadym etapie jego funkcjonowania. Niestety, bardzo czsto oprogramowanie niezbyt poprawnie lub niewystarczajco realizuje funkcje systemu informacyjnego. Wynika to moe z kilku powodów: z niepoprawnej definicji wymaga, niedostatecznego zrozumienia funkcjonowania przedsibiorstwa 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 przedsibiorstwie 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 wymaga stawianych systemowi informacyjnemu a implementacj tego systemu, czyli systemem informatycznym. 95 Studies & Proceedings of Polish Association for Knowledge Management Nr 57, 2011 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 produkcyjne. 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 pomidzy 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 informatycznymi. 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). Pomimo 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 wiecie 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 pidziesit metod obiektowych. Taka sytuacja powodowała spory pomidzy twórcami oprogramowania zwane „wojnami metod”. Jednake w połowie lat dziewidziesitych rozpoczły si prace nad zunifikowanym jzykiem modelowania (UML – Unified Modeling Language). Powstało konsorcjum 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 komponentó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. Jednake naley pamita o tym, 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 obiektowego 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 Reengineering 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/UMLIssues.pdf. 3 S.A. Wihte, IBM Corporation: Introduction to BPMN, http://www.bpmn.org/Documents/Introduction to BPMN.pdf. 96 Magdalena Kieruzel Modelowanie procesów biznesowych i ich implementacja w systemach informatycznych 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 ustandaryzowanym pomostem pomidzy modelowaniem procesu biznesowego a jego implementacj4. Jednake, aby zaistniała taka moliwo niezbdne jest spełnienie okrelonych warunków. Po pierwsze analityk biznesowy, tworzc model BPMN, powinien korzysta z narzdzia oferujcego generowanie 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 funkcjonalno, 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 wybranym motorze BPM. Powszechnie stosowana, pierwsza wersja specyfikacji BPMN nie jest pozbawiona wad. Sposób generacji kodu BPEL na podstawie modelu BPMN nie jest w pełni wyspecyfikowany. Powoduje 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 wszystkich, 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 podstawie kodu BPEL5. Ponadto wygenerowany kod BPEL, to właciwie szkielet złoony z podstawowych 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, obsług wyjtków czy transakcyjno). Dlatego wygenerowany szkielet BPEL przez programist jest rozszerzany i dostosowywany do realnych warunków. Praca programisty z kodem BPEL, podobnie 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 4 Business Process Modeling Notation 1.0 – specification, http://www.bpmn.org/Documents/OMG Final Adopted BPMN 10 Spec 06-02-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 Studies & Proceedings of Polish Association for Knowledge Management Nr 57, 2011 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 podstawowych z punktu widzenia procesu biznesowego elementów, takich jak: interakcja z człowiekiem, podprocesy, transformacja danych. Niektóre pakiety BPMS obecne na ryku oferuj rozszerzenie 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 przynajmniej 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 zachodzce 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 modyfikacje ni dotychczasowe systemy dedykowane. Dlatego oprogramowanie klasy BPM bardzo szybko si rozwija. W Polsce s ju pierwsze przykłady stosowania tego typu rozwiza. Przykładem jest projekt „e-Łód”, prowadzony prze Urzd Miasta Łodzi, którego celem jest udostpnienie 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 reprezentacji 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. 7 Business Process Execution Language for Web Services 1.1 – specification, http://www-128.ibm.com/develo perworks/library/specification/ws-bpel/. 8 Business Proces Modeling Notation 2.0 – specification, http://www.omg.org/spec/bpmn/2.0/pdf/. 98 Magdalena Kieruzel Modelowanie procesów biznesowych i ich implementacja w systemach informatycznych 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 implementacji, jest nastpnie rozszerzany przez developera. Jego zadaniem midzy innymi jest stworzenie wymaganych formatek do wprowadzania danych na potrzeby procesu biznesowego, przy pomocy 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 zwizane z dan platform – w prezentowanym przykładzie jest ni Activiti. • ʳʰɑɑŵʴ ʳ ʰɑɨɑ ʰɑɑʰɑɑŵʴ ʳʰɑɑʰɑ ɑʴ ʳ ʴ ɛƇƈ ʳŵ ʴ ŜŜŜ ʳŵʴ ʳʰɑɑ śʰɑŵ ŵŵŵŜɑŵʴ ʳ ʰɑɨɑ ʰɑɑʰɑɑŵʴ ʳʰɑɑʰɑ ɑ śʰɑŵ ŵŵŵŜɑʴ ʳ ʴ ɛƇƈ ʳŵ ʴ ŜŜŜ ʳŵʴ 9 http://www.activiti.org. Studies & Proceedings of Polish Association for Knowledge Management Nr 57, 2011 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 reprezentacji 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 biznesowego, 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 ramach realizacji usług sieciowych. Luk t wypełni powstajce specyfikacje BPEL4People i WSHumanTask 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 Marka 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 automatyzacj zada, wywoła usług sieciowych. Oznacza to, e głównym celem BPMN s procesy biznesowe, choreografia interakcji pomidzy uczestnikami tych procesów, a nie automatyzacja wywoł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. 100 Magdalena Kieruzel Modelowanie procesów biznesowych i ich implementacja w systemach informatycznych 5. Mapowanie elementów BPMN 2.0 na modele UML W poprzednich rozdziałach rozwaalimy modelowanie procesów biznesowych oraz ich egzekucj 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 interfejsów systemów wywoływanych w procesie biznesowym. Przedstawione s one w sposób sformalizowany 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ładaj 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. org/news/meetings/workshops/presentations/WebServices_2002/03-2_Armstrong-ModelingWebServices_with_UML.pdf. 101 Studies & Proceedings of Polish Association for Knowledge Management Nr 57, 2011 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 procesie 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 przekazywane 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. 12 M. Little, InfoQ: BPMN 2.0 Virtual Roundtable Interview, http://www.infoq.com/articles/bpmn-2. 102 Magdalena Kieruzel Modelowanie procesów biznesowych i ich implementacja w systemach informatycznych 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 uruchamianego 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 ServiceOriented 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. 13 W. Provsot: UML for Web Services, http://www.xml.com/lpt/a/1259. 103 Studies & Proceedings of Polish Association for Knowledge Management Nr 57, 2011 Dev elop a Fact (Domain) Model Define Business Rules and other Requirements Storyboard Screens Dev elop "Business-Rules-Centric" Scenarios Dev elop "User-Centric" Scenarios Dev elop Web Serv ice Interfaces Dev elop "Web-Serv ice-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 modelu 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/ Articles/SOARoadmap.html. 104 Magdalena Kieruzel Modelowanie procesów biznesowych i ich implementacja w systemach informatycznych «WSDLservice» Serv ice Interface + operations: Operation [1..*] «realize» Port «WSDLbinding» Bindings::Binding + operation(inMessage, inMessage*) Rysunek 5. Mapowanie BPMN Interface na WSDL Service ródło: Opracowanie własne. «WSDLportType» PortType Operation + + + + name: String implementationRef: Element inMessageRef: Message [1..*] outMessageRef: Message [0..*..*] + operation(inMessage, inMessage*) «realize» Rysunek 6. Mapowanie BPMN Operation na WSDL PortType ródło: Opracowanie własne. «WSDLmessage» Message Message + name: String «realize» + data: Data 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 Studies & Proceedings of Polish Association for Knowledge Management Nr 57, 2011 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 został postawiony pierwszy krok w kierunku automatyzacji tworzenia i zarzdzania procesami biznesowymi 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 analiza 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/032_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/ Documents/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 Engineering and Business Reengineering 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. 106 Magdalena Kieruzel Modelowanie procesów biznesowych i ich implementacja w systemach informatycznych [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/ Documents/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/ projects/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-czybpmn/. [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 serviceoriented to specify an implementation model. Reconciling the two looks in the establishment of information systems is not easy. This article presents a solution combining both perspectives, using 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: [email protected]