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]

Podobne dokumenty