oracle bpel process managersirius.cs.put.poznan.pl/~inf75975/bpel/oracle bpel... · oracle bpel...
Post on 28-May-2020
60 Views
Preview:
TRANSCRIPT
Oracle BPEL Process Manager Szybkie Wprowadzenie Paweł Zaleski
Maciej Zdeb
Adam Kaczmarek
Marcin Szymczak
Politechnika Poznaoska 2009
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 2
Spis treści 1 Instalacja .......................................................................................................................................... 3
1.1 Instalacja pakietu Oracle SOA Suite 10g ................................................................................. 3
1.2 Aktualizacja pakietu Oracle SOA Suite 10g do wersji 10.1.3.4 ................................................ 4
2 Wprowadzenie do Oracle BPEL Process Manager .......................................................................... 6
2.1 Wstęp ...................................................................................................................................... 6
2.2 Konfiguracja połączeo do SOA w środowisku JDeveloper ....................................................... 6
2.2.1 Application Server ........................................................................................................... 6
2.2.2 Integration Server ............................................................................................................ 8
2.3 Pierwszy proces BPEL .............................................................................................................. 9
2.4 Aplikacja wykorzystująca Oracle BPEL Process Manager Client Java API ............................. 13
2.5 Proces BPEL wykorzystujący WebServices ............................................................................ 16
2.5.1 Utworzenie WebService’u ............................................................................................. 16
2.5.2 Proces BPEL wywołujący Web Service .......................................................................... 20
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 3
1 Instalacja
1.1 Instalacja pakietu Oracle SOA Suite 10g 1. Pobieramy Oracle SOA Suite 10g pod adresem:
http://www.oracle.com/technology/software/products/ias/htdocs/101310.html
2. Rozpakowujemy pliki instalacyjne i uruchamiamy instalacje plikiem setup.exe
3. W pierwszym kroku instalacji podajemy nazwę (dowolną) dla instancji serwera aplikacji oraz
hasło administratora. Potwierdzamy przyciskiem Install.
4. Następnie czekamy, aż instalator wykona wszystkie niezbędne operacje (instalacja trwa dośd
długo).
5. Po zakooczeniu instalacji opuszczamy instalator przy pomocy przycisku Exit.
6. Zalecamy przetestowanie czy pakiet zainstalował się pomyślnie uruchamiając go (menu start
Oracle – [nazwa instancji] > Start SOA Suite)
Jeśli podczas instalacji wystąpiły jakieś błędy należy odinstalowad wszystkie zainstalowane składniki,
następnie usunąd foldery i pliki utworzone przez instalator. Uruchomid ponownie komputer i
powtórzyd instalację. Jeśli błąd się powtórzy możemy szukad rozwiązao na forach Oracle.
Uwaga: Oracle SOA Suite nie zainstaluje się, jeśli na komputerze zainstalowany jest Kaspersky
Antivirus.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 4
1.2 Aktualizacja pakietu Oracle SOA Suite 10g do wersji 10.1.3.4 1. Pobieramy 10.1.3.4 patch dla Oracle SOA Suite 10g pod adresem:
http://www.oracle.com/technology/software/products/ias/htdocs/101310.html
2. Rozpakowujemy pliki instalatora patcha.
3. Przed instalacją poprawki należy dokonad aktualizacji schematu bazy danych pakietu SOA.
W tym celu uruchamiamy Wiersz poleceo, przechodzimy do katalogu do którego
rozpakowaliśmy pliki patcha.
a. Zaktualizowanie schematu środowiska BPEL
i. Przechodzimy do katalogu Disk1\install\soa_schema_upgrade\bpel\scripts
ii. Wpisujemy komendę: msql system/manager@jdbc:polite:orabpel
iii. Czekamy na uruchomienie się narzędzia i pojawienie znaku zachęty SQL>
iv. Wpisujemy: @@upgrade_10131_10134_olite.sql
v. Zamykamy narzędzie poleceniem exit
b. Zaktualizowanie schematu środowiska ESB
i. Przechodzimy do katalogu
Disk1\install\soa_schema_upgrade\esb\sql\other
ii. Wpisujemy komendę: msql system/any@jdbc:polite:oraesb
iii. Czekamy na uruchomienie się narzędzia i pojawienie znaku zachęty SQL>
iv. Wpisujemy: @@ upgrade_10131_10134_olite.sql
v. Zamykamy narzędzie poleceniem exit
c. Restartujemy SOA (zatrzymujemy i uruchamiamy SOA Suite skrótami z menu start).
4. Uruchamiamy plik setup.exe z katalogu Disk1.
5. W pierwszym kroku klikamy Next.
6. W kolejnym kroku wybieramy katalog instalacji patcha. Ważne: Należy z menu
kontekstowego wybrad nazwę katalogu domowego Oracle w którym zainstalowaliśmy Oracle
SOA Suite!!
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 5
7. Klikamy Next i w kolejnym kroku podajemy hasło administratora (podane przy instalacji SOA
Suite), po czym ponownie klikamy Next.
8. W kolejnym kroku klikamy Install.
9. Czekamy na zakooczenie instalacji (która trwa długo).
a. Jeśli pojawi się komunikat że instalator nie może uruchomid OPMN (Oracle Process
Manager) zamykamy instalator i w menu start w grupie SOA wybieramy Oracle
Process Manager > Start Oracle Process Manager. Po uruchomieniu OPMN
powracamy do kroku 4.
10. Kooczymy pracę instalatora przyciskiem Exit.
11. Testujemy czy instalacja przebiegła pomyślnie uruchamiając Oracle BPELConsole
(http://localhost:8888/BPELConsole, domyślny login: default, hasło: welcome1) . Jeśli udało
się zalogowad instalacja przebiegła pomyślnie.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 6
2 Wprowadzenie do Oracle BPEL Process Manager
2.1 Wstęp Do przeprowadzenia poniższych dwiczeo konieczne jest zainstalowanie następujących aplikacji
Pakiet Oracle SOA Suite w wersji 10.1.3.4.
W momencie pisania dokumentu była to najnowsza wersja programu, ewentualnie można skorzystad
z wersji kolejnych, jeśli się takie pojawią.
Środowisko programistyczne Oracle JDeveloper w wersji 10.1.3.4.
Nie zaleca się stosowania nowszych wersji środowiska. Środowisko można pobrad pod adresem:
http://www.oracle.com/technology/software/products/jdev/htdocs/soft10134.html.
Po zainstalowaniu środowiska JDeveloper, do prawidłowego przeprowadzenia poniższych dwiczeo,
należy skonfigurowad w nim połączenia do serwera SOA.
2.2 Konfiguracja połączeń do SOA w środowisku JDeveloper
2.2.1 Application Server
1. Uruchamiamy środowisko JDeveloper.
2. Po lewej stronie wybieramy zakładkę Connections
3. Klikamy prawym przyciskiem myszy na grupę Application Server i z menu kontekstowego
wybieramy New Application Server Connection
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 7
4. W pierwszym kroku kreatora połączenia podajemy nazwę naszego serwer (dowolną) oraz
wybieramy typ połączenia , w naszym wypadku jest to Autonomiczny OC4J 10g 10.1.3.
5. W kolejnym kroku podajemy nazwę użytkownika i hasło, musi byd ono zgodne z nazwą
użytkownika i hasłem, jakie podaliśmy podczas instalacji pakietu SOA.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 8
6. W trzecim kroku podajemy nazwę hosta komputera, na którym zainstalowaliśmy pakiet SOA
oraz port RMI. Jeśli nie zmienialiśmy domyślnych numerów portów SOA pozostawiamy
numer portu proponowany przez kreator.
7. W ostatnim kroku klikamy w przycisk Test Connection. Jeśli podaliśmy poprawne dane test
powinien zakooczyd się sukcesem. Uwaga: Przed przetestowaniem połączenia należy
uruchomid pakiet SOA!
8. Klikamy Zakoocz.
2.2.2 Integration Server
1. W zakładce Connections klikamy prawym przyciskiem myszy na grupę Integration Server i z
menu kontekstowego wybieramy New Integration Server Connection.
2. W pierwszym kroku kreatora podajemy dowolną nazwę dla naszego połączenia.
3. W kolejnym kroku z menu kontekstowego wybieramy dodany przed chwilą Application
Server oraz podajemy numer portu i protokół z jakiego ma korzystad połączenie. Jeśli nie
zmienialiśmy domyślnych ustawieo w pakiecie SOA pozostawiamy wartości zaproponowane
przez kreator.
4. W ostatnim kroku testujemy połączenie, jeśli test przebiegł pomyślnie klikamy Zakoocz.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 9
2.3 Pierwszy proces BPEL Poniższe dwiczenie pokazuje jak stworzyd prosty proces BPEL w środowisku JDeveloper a następnie
uruchomid go i przetestowad w Oracle Bpel Proces Manager.
1. Uruchom środowisko JDeveloper.
2. Wybieramy File > New…. Wyświetli się lista możliwych projektów do utworzenia. Wybieramy
kategorie BPEL z grupy Integration Tier. Następnie wybieramy szablon projektu BPEL Process
Project i klikamy OK.
3. Podajemy nazwę projektu, resztę opcji pozostawiamy bez zmian, klikamy Finish.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 10
4. Zostanie utworzony projekt BPEL. W projekcie rozwijamy gałąź Integration Content,
następnie otwieramy plik *nazwa naszego projekty+.bpel. Pojawi się graficzny schemat
naszego procesu BPEL.
5. Po prawej stronie w zakładce Components Palette, znajduje się lista składowych procesu
BPEL jakie możemy wykorzystad w naszym procesie umieszczamy je na procesie metodą
„przeciągnij i upuśd”.
6. W naszym przykładzie dodamy element Wait, powoduje on odczekanie przez proces
określonej ilości czasu przed wykonaniem kolejnego kroku, w tym celu wybieramy
komponent Wait przeciągamy go na schemat i upuszczamy między elementami receiveInput i
callbackClient.
7. Klikamy dwukrotnie na dodany element i ustalamy czas oczekiwania For na 10 sekund,
potwierdzamy zmiany przyciskiem OK.
8. Zapisujemy wszystkie zmiany w projekcie (przycisk Save All lub File > Save All).
9. Uruchamiamy pakiet SOA (z menu Start).
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 11
10. Kolejnym krokiem jaki wykonamy, jest zainstalowanie procesu na serwerze. W tym celu
klikamy prawym przyciskiem myszy na ikonę projektu, wybieramy Deploy > [nazwa
połączenia Integration Server] > Deploy to default domain.
11. Czekamy na wynik kompilacji, jeżeli przebiegła pomyślnie przechodzimy dalej w przeciwnym
wypadku poprawiamy błędy.
12. Po kompilacji i zainstalowaniu na serwerze możemy przetestowad nasz proces. Uruchamiamy
konsolę BPEL (http://localhost:8888/BPELConsole, domyślny login: default, hasło:
welcome1).
13. Wybieramy zakładkę Processes (znajdują się na niej wszystkie zainstalowane na serwerze
procesy) i wybieramy nasz proces klikając w jego nazwę.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 12
14. Uruchamiamy instancję naszego procesu, w tym celu wybieramy zakładkę Initiate i
naciskamy przycisk Prześlij wiadomośc XML
15. Po uruchomieniu instancji możemy się zapoznad z wynikami jej działania w widokach Visual
Flow (widok graficzny), Audit Trail(plik XML), Debug Instance (debugowanie instancji).
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 13
16. Wybierzmy Visual Flow.
17. Jak widad, w tym widoku przedstawiony jest nasz proces. Możemy kliknąd w każdy z
elementów procesu, aby sprawdzid szczegóły jego wykonania. Kliknijmy we wstawiony przez
nas element Wait_1. Wyświetli się następujący ekran. Jak widad zgodnie z naszymi
ustawieniami proces czekał przez 10 sekund.
2.4 Aplikacja wykorzystująca Oracle BPEL Process Manager Client Java API
Poniższe dwiczenie pokazuje jak wykonad prostą aplikację w Javie wykorzystującą Oracle BPEL
Process Manager Client Java API. Stworzona przez nas aplikacja połączy się z menadżerem procesów
BPEL, pobierze instancje powyżej stworzonego procesu oraz wyświetli szczegóły ich wykonania.
Więcej informacji o wykorzystanych klasach znajdziesz w dokumentacji api
http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28986/toc.htm.
1. Uruchom środowisko JDeveloper.
2. Utwórz nowy projekt „Empty Project”. Nadaj mu dowolną nazwę.
3. Kliknij prawym przyciskiem na ikonę projektu z menu kontekstowego wybierz New… i utwórz
w projekcie nową klasę Java (Java Class) nadaj jej nazwę Class1 oraz wygeneruj dla niej
metodę main.
4. Dodaj do projektu biblioteki :
Klikając prawym przyciskiem na ikonę projektu, z menu kontekstowego wybierz Project
properties. We właściwościach projektu wybierz zakładkę Libraries. Kliknij przycisk Add
Jar/Directory. Wszystkie biblioteki znajdziesz w katalogach środowiska JDeveloper.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 14
a. Oc4jclient.jar
b. Orabpel-common.jar
c. Orabpel-thirdparty.jar
d. Orabpel.jar
e. Optic.jar
f. Ejb.jar
5. Dodaj kod metody main klasy Class1 poniższy kod, jest on odpowiedzialny za właściwości
połączenia z serwerem BPEL. W razie potrzeby zmodyfikuj url serwera/hasło.
6. Dodaj w metodzie poniższy kod tworzy on nowy obiekt klasy Locator, która pozwala nam
między innymi na wyszukiwanie procesów i instancji w Oracle BPEL Process Manager.
7. Dodaj w metodzie poniższy kod, jest on odpowiedzialny za wyszukanie procesów o
konkretnej nazwie (zmodyfikuj zmienną pProcessId tak aby zawierała nazwę jaką nadałeś
stworzonemu procesowi).
Properties props = new java.util.Properties();
//sets target bpel platform, oracle installation, this will be oc4j_10g
props.setProperty("orabpel.platform", "ias_10g");
//sets jndi factory class, this is used to locate remote RMI server
props.setProperty("java.naming.factory.initial",
"com.evermind.server.rmi.RMIInitialContextFactory");
//sets target url for target rmi server (oc4j
props.setProperty("java.naming.provider.url",
"opmn:ormi://localhost:6003:home/orabpel");
//sets user name for the remote server
props.setProperty("java.naming.security.principal", "oc4jadmin");
//sets password for the remote server
props.setProperty("java.naming.security.credentials", "TWOJE_HASŁO");
String pProcessId = "PierwszyProces";
// Create the where condition to filter on process id
WhereCondition whereProcessId = new WhereCondition("process_id = ?");
whereProcessId.setString(1, pProcessId);
// Find Instances
IInstanceHandle[] instanceHandles = locator.listInstances(whereProcessId);
Locator locator = new Locator("default", "bpel", props);
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 15
8. Dodaj w metodzie kod wypisujący nazwy znalezionych instancji.
9. Uruchom aplikację.
10. Dodaj w pętli kod odczytujący plik XML ze szczegółami wykonania instancji.
11. Uruchom aplikację.
for (int i = 0; i < instanceHandles.length; i++) {
IInstanceHandle instanceHandle = instanceHandles[i];
System.out.println("=============================================");
System.out.println(instanceHandle.getTitle());
System.out.println("=============================================");
}
System.out.println(instanceHandle.getAuditTrail());
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 16
2.5 Proces BPEL wykorzystujący WebServices Poniższe dwiczenie pokazuje jak stworzyd proces BPEL który wykorzystuje zewnętrzny Web Service do
pobrania informacji, dla ułatwienia przedstawiony też został proces tworzenia prostego Web
Service’u w środowisku JDeveloper.
2.5.1 Utworzenie WebService’u
1. Uruchom środowisko JDeveloper
2. Stwórz nowy projekt „Empty Project” o nazwie „PierwszyWebService”.
3. Dodaj do projektu klasę Java o nazwie Class1.
4. W klasie dodaj poniższą metodę, którą będzie oferował WebService.
5. Następnie kliknij prawym przyciskiem mysz na ikonę projektu, z menu kontekstowego
wybierz New… i dodaj do projektu Java Web Service (grupa Buisness Tier > Web Services).
6. Pojawi się okno wyboru typu Web Service’u należy wybrad opcję: J2EE 1.4 (JAX-RPC) Web
Service i potwierdzid przyciskiem OK.
7. W pierwszym kroku kreatora wszystkie opcje pozostawiamy jako domyślne. Wybieramy
jedynie naszą klasę w menu kontekstowym Component To Publish.
8. W krokach 2-4 pozostawiamy wartości domyślne.
public String echoDouble (String echo) {
return echo+echo;
}
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 17
9. W kroku piątym wybieramy utworzoną przez nas metodę do wystawienia przez Web Service i
klikamy Zakoocz.
10. Zapisujemy wszystkie zmiany (przycisk Save All).
11. Do projektu zostały dodane nowe elementy odpowiedzialne za działanie Web Service’u.
Możesz je przejrzed. W tej chwili najbardziej interesuje nas plik WebServices.Deploy z gałęzi
Resources. Posłuży on do zainstalowania Web Service’u na serwerze aplikaji.
12. Dokonamy teraz instalacji Web Service’u na serwerze aplikacji, żeby to zrobid klikamy
prawym przyciskiem na plik WebServices.Deploy i z menu kontekstowego wbieramy Deploy
to > [nazwa serwera aplikacji], pojawi się okno w którym klikamy przycisk OK, nie
wprowadzając żadnych zmian.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 18
13. Testujemy Web Service z poziomu konsoli Aplication Server Control
(http://localhost:8888/em). Podajemy nazwę użytkownika oc4jadmin i hasło, które
podaliśmy instalując SOA.
14. Po otworzeniu się konsoli na liście aplikacji rozwijamy gałąź home i szukamy naszego
projektu. Następnie klikamy w jego nazwę.
15. Pojawią się szczegóły naszej aplikacji. Wybieramy zakładkę Web Services. Następnie klikamy
na nazwę naszego Web Service’u.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 19
16. Wyświetlony zostanie widok zawierający szczegóły dotyczące naszego service’u. Z sekcji
Related Links wybieramy Test Service. A w kolejnym widoku klikamy w przycisk Test Web
Service
17. Pojawi się widok który pozwoli nam przetestowad działanie stworzonego przez nas Web
Service’u. Możemy go uruchomid podając wartośd parametru echo i klikając przycisk Invoke
18. Skopiuj i zapisz URL linku ServiceDescription, jest to URL do pliku WSDL WebService’u.
Będzie on nam potrzebny przy definiowaniu procesu BPEL.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 20
2.5.2 Proces BPEL wywołujący Web Service
1. Uruchom środowisko JDeveloper.
2. Utwórz nowy projekt „BPEL Proces Project”. Projekt ma zawierad proces synchroniczny,
zaznacz opcję Synchronous BPEL Proces i podaj dowolną nazwę. Potwierdź przyciskiem
Finish.
3. Automatycznie otworzy się edytor graficzny pliku .bpel.
4. Kliknij prawym przyciskiem myszy po prawej stronie schematu na szare pole oznaczone jako
Services, z menu kontekstowego wybierz opcję Create Partner Link…
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 21
5. W oknie dialogowym w polu WSDL File wpisz zapisany wczesniej URL do pliku WSDL
stworzonego Web Service’u. Następnie kliknij przycisk Parse WSDL File (niebieski strzalki).
Pojawi się okno dialogowe z pytaniem, klikamy YES.
6. Następnie wybieramy wartości pól Partner Role i My Role, posiadają one po jednej
dostępnej opcji. Klikamy OK.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 22
7. Do procesu został dodany link do naszego Web Service’u.
8. Z palety komponentów wybieramy element Invoke i umieszczamy go między elementami
receiveInput i callbackClient.
9. Klikamy na strzałkę po prawej stronie nowego elementu i przeciągamy ją na linku do naszego
service’u. Pojawi się okno dialogowe.
10. W oknie dialogowym przy polach Input Variable i Output Variable klikamy przyciski różdżki
(Automaticlly Create …). W oknach które się pojawią klikamy OK. Efekt powinien byd taki jak
na obrazku (pojawią się nazwy utworzonych zmiennych).
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 23
11. Potwierdzamy zmiany przyciskiem OK. Na schemacie pojawi się powiązanie między
elementem Invoke, a linkiem do Web Service’u
12. Przy elemencie Invoke pojawi się żółta flaga, oznacza ona, że dla danego elementu jest
ostrzeżenie. Kliknij w nią aby przeczytad ostrzeżenie. W tym wypadku jest to ostrzeżenie, że
nie została zaininicjalizowana zmienna wejściowa elementu Invoke (parametr wywołania
metody z Web Service’u).
13. Przypiszemy teraz zmienną wejściową naszego procesu BPEL do zmiennej wejściowej
elementu Invoke. W tym celu przed element Invoke wstaw element Assign z palety
komponentów.
14. Kliknij dwukrotnie na wstawiony element.
15. Wyświetli się okno dialogowe. Wybierz w nim zakładkę Copy Operation, a nastepnie kliknij
przycisk Create wyświetli się lista z której wybierz Copy Operation.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 24
16. W oknie przypisywania zmiennych przypisz zmienną inputValue do
Invoke_1_echoDouble_InputVariable. Dla obu zmiennych musisz rozwinąd ich gałęzie do
kooca i wybrad ostatnie z możliwych składowych zmiennych (jak na obrazku), a następnie
dwukrotnie kliknij przycisk OK.
17. Żółta flaga powinna zniknąd.
18. Kolejnym krokiem jaki wykonamy jest przypisanie zmiennej wyjściowej elementu Invoke do
zmiennej wyjściowej procesu.
19. W tym celu wstawiamy kolejny element Assign, w tym przypadku za elementem invoke.
20. Podobnie jak robiliśmy ze zmiennymi wejściowymi przypisujemy zmienną
Invoke_1_echoDouble_OutputVariable do outputVariable (Kroki 15 i 16).
21. Zapisujemy wszystkie zmiany.
22. Instalujemy proces na serwerze. (klikamy prawym przyciskiem mysz na ikonie projektu, z
menu wybieramy Deploy > [nazwa połączenia Integration Server] > Deploy to default
domain)
23. Uruchom konsolę BPEL (http://localhost:8888/BPELConsole, domyślny login: default, hasło:
welcome1).
24. Uruchom instancję stworzonego procesu podając zminną wejściową (grupa payload, pole
tekstowe input).
25. Obejrzyj efekt działania instancji w widoku Visual Flow.
Oracle BPEL Process Manager - Szybkie Wprowadzenie
Strona 25
a. Po kliknięciu na element Invoke_1 powinien pojawid się analogiczny wynik.
Obrazek przedstawia przykład uruchomiony z ciągiem wejściowym „Echo”. Jak widad
Web Service zadziałał i zgodnie z oczekiwaniami na wyjściu otrzymaliśmy ciąg
„EchoEcho”.
top related