SOA Web Services in Java
Transkrypt
SOA Web Services in Java
SOA Web Services SOA Web Services in Java Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna Wydział Informatyki i Zarządzania Wrocław,16 marca 2009 Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Plan prezentacji 1 SOA Aspekt biznesowy Koncepcja SOA Architektura 2 Web Services Usługi Web Services Przykłady Jak zacząć Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Aspekt biznesowy Wycinek rzeczywistości Problemy zintegrowanych serwisów Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Aspekt biznesowy: Wycinek Rzeczywistości Zacznijmy od przykładu - budowa domu Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Aspekt biznesowy: Problemy zintegrowanych serwisów 1 Wymiana danych Główny problem:integracja na poziomie fizycznym Dane posiadają inny format i reprezentację. Występuje niezgodność parametrów. 2 Komunikacja Problem sposobu wymiany danych. 3 Architektura Dobra implementacja. Jak to zrobić, żeby było efektownie? Zapewnienie skalowalności oraz heterogeniczności systemów współpracujących. Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA Z czym to się je ? Czym tak naprawdę jest SOA? Strategia zrównoważonego rozwoju Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Do czego dążymy? 1 Oferent (dostawca usługi) Uwaga: konsumenta nie interesuje techniczna idea działania Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Do czego dążymy? 1 Oferent (dostawca usługi) 2 konsument (adresat usługi) Uwaga: konsumenta nie interesuje techniczna idea działania Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Do czego dążymy? 1 Oferent (dostawca usługi) 2 konsument (adresat usługi) 3 Realizacja wspólnego interesu poprzez współpracę Uwaga: konsumenta nie interesuje techniczna idea działania Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Do czego dążymy? 1 Oferent (dostawca usługi) 2 konsument (adresat usługi) 3 Realizacja wspólnego interesu poprzez współpracę 4 Powiązanie Uwaga: konsumenta nie interesuje techniczna idea działania Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Do czego dążymy? 1 Oferent (dostawca usługi) 2 konsument (adresat usługi) 3 Realizacja wspólnego interesu poprzez współpracę 4 Powiązanie 5 Zadowolenie Uwaga: konsumenta nie interesuje techniczna idea działania Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Budowa domu. (lepiej!) Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Architektura oparta na usługach (Service Oriented Architecture) jest to koncepcja tworzenia systemów informatycznych, w której główny nacisk stawia się na definiowanie usług, które spełnią wymagania użytkownika. Pojęcie SOA obejmuje zestaw metod organizacyjnych i technicznych mający na celu lepsze powiązanie biznesowej strony organizacji z jej zasobami informatycznymi. Architektura SOA podobna jest do obiektów rozproszonych, jednak opisuje rozwiązanie na wyższym poziomie abstrakcji. Interfejsy usług są zazwyczaj definiowane w sposób abstrakcyjny i niezależny od platformy programistycznej. Również same usługi są często implementowane na bazie różnych technologii i udostępniane za pomocą niezależnego protokołu komunikacyjnego. Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Od początku: programowe komponenty wielokrotnego użytku Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Od początku: programowe komponenty wielokrotnego użytku programowanie obiektowe Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Od początku: programowe komponenty wielokrotnego użytku programowanie obiektowe systemy modularne Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Od początku: programowe komponenty wielokrotnego użytku programowanie obiektowe systemy modularne API Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Koncepcja: wydzielić najczęściej wykorzystywany kawałek aplikacji Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Koncepcja: wydzielić najczęściej wykorzystywany kawałek aplikacji ’composite applications’ Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Z czym to się je ? Koncepcja: wydzielić najczęściej wykorzystywany kawałek aplikacji ’composite applications’ zintegrować oddzielne moduły Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Czym tak naprawdę jest SOA ? SOA to nie : jednorazowe i ścisłe rozwiązanie produkt narzucony sposób postępowania standard Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Czym tak naprawdę jest SOA ? SOA to nie : jednorazowe i ścisłe rozwiązanie produkt narzucony sposób postępowania standard Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Czym tak naprawdę jest SOA ? SOA to nie : jednorazowe i ścisłe rozwiązanie produkt narzucony sposób postępowania standard Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Czym tak naprawdę jest SOA ? SOA to nie : jednorazowe i ścisłe rozwiązanie produkt narzucony sposób postępowania standard Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Czym tak naprawdę jest SOA ? SOA to : styl wytwarzania i integracji aplikacji zestaw możliwości zbiór przepisów i dopuszczalnych pomysłów rozbudowa funkcjonalności wzorzec architektoniczny komplet frameworków Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Czym tak naprawdę jest SOA ? SOA to : styl wytwarzania i integracji aplikacji zestaw możliwości zbiór przepisów i dopuszczalnych pomysłów rozbudowa funkcjonalności wzorzec architektoniczny komplet frameworków Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Czym tak naprawdę jest SOA ? SOA to : styl wytwarzania i integracji aplikacji zestaw możliwości zbiór przepisów i dopuszczalnych pomysłów rozbudowa funkcjonalności wzorzec architektoniczny komplet frameworków Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Czym tak naprawdę jest SOA ? SOA to : styl wytwarzania i integracji aplikacji zestaw możliwości zbiór przepisów i dopuszczalnych pomysłów rozbudowa funkcjonalności wzorzec architektoniczny komplet frameworków Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Czym tak naprawdę jest SOA ? SOA to : styl wytwarzania i integracji aplikacji zestaw możliwości zbiór przepisów i dopuszczalnych pomysłów rozbudowa funkcjonalności wzorzec architektoniczny komplet frameworków Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Czym tak naprawdę jest SOA ? SOA to : styl wytwarzania i integracji aplikacji zestaw możliwości zbiór przepisów i dopuszczalnych pomysłów rozbudowa funkcjonalności wzorzec architektoniczny komplet frameworków Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Funkcjonowanie przedsiębiorstwa W podejściu procesowym przedsiębiorstwo składa się z czterech głównych elementów: produktów procesów biznesowych jednostek organizacyjnych technologii informatycznych Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Funkcjonowanie przedsiębiorstwa W podejściu procesowym przedsiębiorstwo składa się z czterech głównych elementów: produktów procesów biznesowych jednostek organizacyjnych technologii informatycznych Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Funkcjonowanie przedsiębiorstwa W podejściu procesowym przedsiębiorstwo składa się z czterech głównych elementów: produktów procesów biznesowych jednostek organizacyjnych technologii informatycznych Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Funkcjonowanie przedsiębiorstwa W podejściu procesowym przedsiębiorstwo składa się z czterech głównych elementów: produktów procesów biznesowych jednostek organizacyjnych technologii informatycznych Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Dlaczego organizacje boją się SOA ? niski poziom doskonałości operacyjnej IT świadomość pracy koniecznej, aby przestawić firmę na nowy tor ekonomiczne uzasadnienie takich projektów brak wewnętrznych kompetencji i struktur potrzebnych do utrzymania i zarządzania nową architekturą Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Dlaczego organizacje boją się SOA ? niski poziom doskonałości operacyjnej IT świadomość pracy koniecznej, aby przestawić firmę na nowy tor ekonomiczne uzasadnienie takich projektów brak wewnętrznych kompetencji i struktur potrzebnych do utrzymania i zarządzania nową architekturą Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Dlaczego organizacje boją się SOA ? niski poziom doskonałości operacyjnej IT świadomość pracy koniecznej, aby przestawić firmę na nowy tor ekonomiczne uzasadnienie takich projektów brak wewnętrznych kompetencji i struktur potrzebnych do utrzymania i zarządzania nową architekturą Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Dlaczego organizacje boją się SOA ? niski poziom doskonałości operacyjnej IT świadomość pracy koniecznej, aby przestawić firmę na nowy tor ekonomiczne uzasadnienie takich projektów brak wewnętrznych kompetencji i struktur potrzebnych do utrzymania i zarządzania nową architekturą Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Zalety: wyciąga IT w stronę biznesu zmniejszenie kosztów wytwarzania dalszego oprogramowania przyspieszenie procesu projektowania nowych usług nowe miejsca pracy np Fortis bank - 3 nowe zespoły : do zarządzania i tworzenia procesów do ich integracji (a więc SOA) do aplikacji procesowych odpowiedzialny za rozwój systemu BPMS Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Proces wdrażania wypunktowanie zalet zmiany zdobycie poparcia w organizacji dla projektu zmiany organizacyjne stworzenie modelu ewidencji zarządzanych nowych struktur Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Proces wdrażania wypunktowanie zalet zmiany zdobycie poparcia w organizacji dla projektu zmiany organizacyjne stworzenie modelu ewidencji zarządzanych nowych struktur Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Proces wdrażania wypunktowanie zalet zmiany zdobycie poparcia w organizacji dla projektu zmiany organizacyjne stworzenie modelu ewidencji zarządzanych nowych struktur Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Koncepcja SOA: Strategia zrównoważonego rozwoju Proces wdrażania wypunktowanie zalet zmiany zdobycie poparcia w organizacji dla projektu zmiany organizacyjne stworzenie modelu ewidencji zarządzanych nowych struktur Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Architektura Ewolucja budowy aplikacji Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Architektura Zasady projektowania architektonicznego : enkapsulacja luźne powiązania modularność separacja zagadnień autonomiczność wielokrotne użycie ujawnianie danych elastyczność Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Architektura Zasady projektowania architektonicznego : enkapsulacja luźne powiązania modularność separacja zagadnień autonomiczność wielokrotne użycie ujawnianie danych elastyczność Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Architektura Zasady projektowania architektonicznego : enkapsulacja luźne powiązania modularność separacja zagadnień autonomiczność wielokrotne użycie ujawnianie danych elastyczność Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Architektura Zasady projektowania architektonicznego : enkapsulacja luźne powiązania modularność separacja zagadnień autonomiczność wielokrotne użycie ujawnianie danych elastyczność Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Architektura Zasady projektowania architektonicznego : enkapsulacja luźne powiązania modularność separacja zagadnień autonomiczność wielokrotne użycie ujawnianie danych elastyczność Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Architektura Zasady projektowania architektonicznego : enkapsulacja luźne powiązania modularność separacja zagadnień autonomiczność wielokrotne użycie ujawnianie danych elastyczność Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Architektura Zasady projektowania architektonicznego : enkapsulacja luźne powiązania modularność separacja zagadnień autonomiczność wielokrotne użycie ujawnianie danych elastyczność Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Architektura Zasady projektowania architektonicznego : enkapsulacja luźne powiązania modularność separacja zagadnień autonomiczność wielokrotne użycie ujawnianie danych elastyczność Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Aspekt biznesowy Koncepcja SOA Architektura Architektura Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Usługi Web Services Przykłady Jak zacząć Usługi Web Services Definicja Standardy Architektura Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Usługi Web Services Przykłady Jak zacząć Usługi Web Services Definicja Web Service to zwarty, komponent programowy niezależny od platformy i implementacji dostarczający określonej funkcjonalności. Komponent ten może zostać opublikowany w sieci, a następnie odnaleziony i wywołany w trybie zdalnego wykonania przez aplikację konsumencką. Standardy SOAP, WSDL, UDDI i HTTP Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Usługi Web Services Przykłady Jak zacząć Usługi Web Services Standardy SOAP - protokół służący do przekazywania zdalnych wywołań (komunikacja) WSDL - język służący do dystrybucji parametrów połączeń sieciowych (komunikacja z usługą, opis usługi) UDDI - rejestr udostępnianych komponentów usługowych (publikowanie i wyszukiwanie) HTTP - protokół służący do przesyłania komunikatów Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Usługi Web Services Przykłady Jak zacząć Architektura Web Services Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Usługi Web Services Przykłady Jak zacząć Przykłady last.fm Allegro.pl Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Usługi Web Services Przykłady Jak zacząć Przykłady: last.fm Niektóre z udostępnionych usług: Statystyki utworów, albumów i artystów Playlisty, biblioteki i statystyki użytkowników Informacje o wydarzeniach Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Usługi Web Services Przykłady Jak zacząć Przykłady: Allegro.pl Niektóre z udostępnionych usług: Wystawianie aukcji Przeglądanie i wyszukiwanie produktów Składanie ofert (płatne) Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Usługi Web Services Przykłady Jak zacząć Przykłady: Uwagi: http://allegro.pl/countrypages/1/0/edukacja/ narzedzia/help/index.php?page=3 Inne serwisy: YouTube, Google, Amazon, Flickr, Wikipedia, Qype, Yahoo, Ebay Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Usługi Web Services Przykłady Jak zacząć Jak zacząć Środowiska wspierające Java - niezbędnik Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Usługi Web Services Przykłady Jak zacząć Jak zacząć: Środowiska wspierające Środowiska wspierające tworzenie aplikacji klienta usług sieciowych Web Services w .NET Framework przestrzeń System.Web.Services tutorial na przykładzie Allegro http://blog.djsowa.com/?p=14 Java biblioteka JAX-RPC (Java API for XML-based RPC) Inne: C/C++, Borland Delphi, Ada, Oracle Forms, Lotus Designer, PHP Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java SOA Web Services Usługi Web Services Przykłady Jak zacząć Jak zacząć: Java niezbędnik Java - niezbędnik J2SE 5.0 JRE Eclipse 3.1.1 lub Eclipse IDE for Java EE Developers (wbudowana WTP) Wtyczka Web Tools Platform (WTP) 3.0.4 Apache Tomcat 5.0 Java - przydatne linki: www.smike.pl/2008/05/web-services-w-eclipse-europa www.marekl.user.icpnet.pl/studia/sem9/pz/Webservice.pdf www.cs.put.poznan.pl/mzakrzewicz/pubs/ploug06ws.pdf Błażej Bukowy Paweł Ociepa Wojciech Orzeszyna SOA Web Services in Java