Adam Górski – BPEL: Oracle as adapters
Transkrypt
Adam Górski – BPEL: Oracle as adapters
Adam GÓRSKI – V rok Koło Naukowe Techniki Cyfrowej Dr inŜ. Wojciech Mysiński – opiekun naukowy BPEL: Oracle AS Adapters BPEL: Oracle AS Adapters Keywords: database, queue, message Słowa kluczowe: baza danych, kolejka, wiadomość Oracle SA Adapters pozwalają na zintegrowanie procesów BPEL’a z systemem plików, serwerami FTP, tabelami baz danych, kolejkami baz danych, serwisem wiadomości JAVY oraz aplikacjami Oracle’a. WyróŜniamy następujące rodzaje Adapterów: Oracle Applicaion Server Adapter dla plików/FTP Oracle Applicaion Server Adapter dla zaawansowanego kolejkowania Oracle Applicaion Server Adapter dla baz danych Oracle Applicaion Server Adapter dla serwisu wiadomości Javy 1. Oracle Applicaion Server Adapter dla plików/FTP Pozwala on skonfigurować procesy BPEL’a, tak aby współdziałały z lokalnym systemem plików. Pozwalają one czytać a takŜe nadpisywać pliki lokalne, a takŜe pliki zewnętrzne dostępne poprzez protokół FTP. Adapter plików i FTP moŜe czytać i zapisywać w innych formatach następujące typy plików: XML COBOL Dane binarne Ograniczone (Delimited) Stałopozycyjne Czasem jednak nie ma potrzeby zmiany formatu plików. Adapter posiada specjalną opcję „nieprzeźroczystość” pozwala ona potraktować plik jakby był „nieprzeźroczysty” nie zmieniając jego formatu. Opcja ta traktuje zawartość pliku jakby był to plik w formacie JPG albo GIF, którego zawartość nie moŜe być zamieniona na dane. Schemat działania Adaptera plików i FTP zaleŜy od tego czy są to pliki przesyłane do czy z Oracle BPEL Process Manager. Dla plików wejściowych adapter wykonuje następujące czynności: badanie pliku wejściowego przeczytanie i przetłumaczenie zawartości pliku publikacja niezmienionej zawartości jako dokumentu XML natomiast dla plików wyjściowych: odebranie wiadomości z BPEL’a formatowanie zawartości pliku XML utworzenie zawartości wyjściowej Architektura Adaptera plików i FTP to JCA 1.5. JCA 1,5 określa relacje panujące pomiędzy aplikacjami napisanymi w środowisku Java 2EE i zewnętrznymi zasobami np.: z bazą danych. Kiedy przesyłane są dane poufne (np.: hasła, kody do kont bankowych, itp.) konieczna jest ochrona przesyłanych informacji przed osobami trzecimi. Do takiej ochrony wykorzystywany jest secure FTP. Zasada działania tego protokołu opiera się na sprawdzaniu zgodności certyfikatów: wytworzonego przez serwer z pobranym przez klienta certyfikatem wzorcowym. Ryc. 1. Schemat działania Secure FTP Fig. 1. How does Secure FTP work Schemat działania Secure FTP Serwer generuje certyfikat Klient importuje certyfikat w bezpieczne miejsce Zawsze podczas startu aplikacji certyfikat jest pobierany z serwera przez klienta Certyfikat jest sprawdzany przez klienta czy jest identyczny z pobranym w kroku 2 2. Adapter zaawansowanego kolejkowania Adapter zaawansowanego kolejkowania jest zarówno producentem jak i konsumentem wiadomości zaawansowanego kolejkowania. Specjalne operacje umieszczania wiadomości w kolejce (produkcja wiadomości): Identyfikator zaleŜności – uŜywa się go do oznaczenia operacji, słuŜącej do odbierania konkretnych danych Kolejka wielu uŜytkowników (Multiconsumer Queue) – w Oracle Configuration Wizard więcej niŜ 1 uŜytkownik moŜe wysyłać i odbierać proste wiadomości. Jeśli uŜyjemy tej operacji to wiadomość pozostanie w kolejce dopóki wszyscy „zainteresowani” klienci nie przetworzą tej wiadomości. Priorytetu wiadomości – jeŜeli przy umieszczaniu wiadomości w kolejce sprecyzuje się ich priorytet to będą one opuszczały kolejkę w ustalony kolejności. Jeśli 2 wiadomości mają taki sam priorytet, wtedy o kolejności z jaką te wiadomości opuszczą kolejkę decyduje czas umieszczenia wiadomości w kolejce. Czasowe rozplanowanie zadań W strumieniach oracle’a moŜna zdefiniować czas wewnętrznej przerwy jak i czas po jakim określona wiadomość ma zostać utracona. Operacje umieszczania i zdejmowania wiadomości z kolejki: Kolejka wielu uŜytkowników (Multiconsumer Queue) – AQ Adapter moŜe odbierać wiadomości od wielu uŜytkowników. Nawigacja wiadomości zdejmowanych z kolejki – wiadomości nie muszą opuszczać kolejki w kolejności, w jakiej zostały dodane. MoŜna utworzyć identyfikator korelacji w celu ustalenia kolejności opuszczania kolejki. Powtórna próba z opóźnieniem – Ustala się liczbę powtórzeń, po których wiadomość jest przesyłana do wcześniej zdefiniowanej kolejki wyjątków. Oparte na regule przetwarzanie wiadomości – Strumienie AQ adaptera wprowadzają filtrację wiadomości opartą na pewnej regule. Reguła definiuje jednego lub kilku uŜytkowników zainteresowanych przetwarzaniem wiadomości. Nagłówek zaawansowanego kolejkowania Właściwości Adaptera baz danych: Stosowany z otwartymi standardami MoŜliwość połączenia z kaŜdą relacyjną bazą danych MoŜliwość mapowania kaŜdego istniejącego schematu relacyjnego do XML’a MoŜliwość usuwania operacji SQL przez Web Serwisy Inwestycja technologii TopLink 3. Adapter Baz danych Adapter Baz danych nie potrzebuje Ŝadnych plików z klasami Javy, adapter sam na podstawie dostępnych operacji moŜe wygenerować niezbędny kod. 4. Adapter wiadomości Javy Adapter wiadomości Javy uŜywa jednego interfejsu klienckiego do wielu serwerów wiadomości. Model JMS ma 2 domeny: punkt w punkt – w tej domenie kaŜda wiadomość jest dostarczana tylko do jednego odbiorcy publiczna subskrypcja – wiadomość jest przesyłana do tematu i moŜe być czytana przez wielu uŜytkowników Właściwości JMS Adapter: Opiera się na JMS 1.0.2b MoŜe współpracować z kaŜdym dostawcą wiadomości JMS Wspomaga tematy JMS oraz kolejki Wspomaga wiadomości tekstowe oraz typu „byte” Wspomaga właściwości i nagłówki JMS Wspomaga selektora wiadomości JMS w celu ich filtracji podczas konwersji do tytułów i kolejek Wspomaga trwałego klienta JMS Wspomaga stałe i zmienne moduły publikatora JMS JMS API precyzuje 3 rodzaje potwierdzeń, które mogą być przesłane przy pomocy publikatora JMS; są to: potwierdzenie kopii zapasowej, auto_potwierdzenie, potwierdzenie dla klienta Literatura [1] B r a d s h a w D . , K e n n e d y M . , W e s t C . Oracle Adapters for Files, FTP, Databases and Enterprise Messaging. User’s guide, Wyd. 2, Wydawnictwo Oracle, 2005.