Powrót do katalogu
Terminy szkolenia otwartego:
  • Potwierdzone
  • Planowane
  • Sugerowane
2017-08-23 2 100 / 3 dni Zgłoś chęć udziału
2017-09-11 2 100 / 3 dni Zgłoś chęć udziału
Pobierz kartę szkolenia
Nie znalazłeś pasującego terminu?
Zaproponuj własny termin. Postaramy się uruchomić nowy specjalnie dla Ciebie.
Szukasz programu "skrojonego na miarę"?
Zapytaj o szkolenie dedykowane lub napisz nam o swoich preferencjach.
Chcesz się uczyć w trybie weekendowym?

Czekamy na kontakt od Ciebie.

Inżynieria oprogramowania > Języki programowania > Web Services

Szkolenie: Tworzenie usług sieciowych (web services) na platformie Java (JAX-WS)
[J-WS]

Wprowadzenie

Usługi sieciowe (web services) są obecnie jedną z najbardziej popularnych technologii służących integracji aplikacji w architekturze heterogenicznej i rozproszonej. Oparte pierwotnie o ideę „witryn internetowych” czytelnych dla innych aplikacji (a niekoniecznie dla ludzi, jak zwykłe WWW), wsparte dojrzałymi już standardami (XML, SOAP, WSDL, UDDI), są obecnie używane jako protokół przesyłania dokumentów, jedna z możliwości zdalnego wywoływania procedur (RPC) czy jeden ze sposobów integracji różnych aplikacji i modułów, szczególnie w przypadku zróżnicowania technologii (np. języka programowania) między nimi. Przy wszystkich swoich zaletach, spośród których na pierwszym miejscu wymienić należy „interoperacyjność” (interoperability), usługi sieciowe nie są wolne od wad, wśród których wymienia się przede wszystkim negatywny wpływ na wydajność. Jako jedna z odpowiedzi na wady klasycznych usług sieciowych powstała technologia „lekkich” usług sieciowych w stylu REST, opartych bezpośrednio o protokół HTTP. Klasyczne usługi sieciowe oparte o SOAP i WSDL wciąż znajdują zastosowanie tam, gdzie na pierwszym miejscu liczy się stabilność i dojrzałość rozwiązań oraz możliwość precyzyjnego opisania interfejsu: w administracji publicznej, bankowości, ochronie zdrowia i w wielu innych zestandaryzowanych rozwiązaniach branżowych.

Platforma Java posiada jedną z lepszych realizacji usług sieciowych, zarówno opartych o SOAP, jak i w stylu REST. Odpowiednie interfejsy programistyczne są dostępne już w standardowej edycji Javy, a ich implementacje, pozwalające na uruchamianie usług, dostępne są na wszystkich popularnych serwerach aplikacji. Obecne wersje interfejsów pozwalają na programowanie na wysokim poziomie abstrakcji, w oparciu o adnotacje, jak również, w razie potrzeby, na dostęp do niskopoziomowych szczegółów komunikacji.

Cel szkolenia

Szkolenie koncentruje się przede wszystkim na programowaniu w Javie usług sieciowych i aplikacji korzystających z tych usług z wykorzystaniem interfejsu programistycznego JAX-WS. Pomocniczo pojawiają się elementy obsługi XML w Javie, z największym naciskiem na technologię JAXB. Szkolenie przedstawia także niezależne od platformy idee i standardy usług sieciowych, z największym naciskiem na SOAP i WSDL.

Po zakończeniu szkolenia aktywny uczestnik potrafi:

  • stworzyć klienta usługi sieciowej w technologii SAAJ oraz prosty serwer usługi sieciowej w technologii SAAJ i servletu,
  • stworzyć serwer usługi sieciowej w technologii JAX-WS metodami top-down oraz bottom-up,
  • stworzyć klienta usługi sieciowej w technologii JAX-WS,
  • dostosować serwer i klienta w technologii JAX-WS za pomocą adnotacji oraz niskopoziomowych aspektów technologii,
  • wskazać standardy usług sieciowych oraz ich rolę; czytać i tworzyć definicje WSDL.

Domyślnie w czasie szkolenia używamy środowiska programistycznego Eclipse i korzystamy z serwerów aplikacji Glassfish oraz JBoss/WildFly. Na życzenie zorganizowanej grupy szkolenie możemy przeprowadzić na innej platformie: środowisko NetBeans, serwery IBM WebSphere, Oracle WebLogic, Tomcat z implementacją web serwisów Axis 2 lub CXF, ewentualnie prosimy pytać o inne.

Szkolenie nie obejmuje m.in. następujących tematów:

  • szczegóły interfejsów programistycznych do obsługi XML w Javie (zob. kurs J-XML)
  • w przypadku chęci uczestnictwa w obu kursach zalecaną kolejnością jest najpierw J-XML, następnie J-WS ),
  • projektowanie i realizacja architektur opartych o usługi sieciowe (zob. kurs PA SOA),
  • integracja usług sieciowych i innych komponentów za pomocą ESB (zob. kurs PA SOA ESB),
  • budowanie usług sieciowych w technologii Spring,
  • realizacja zaawansowanych ustawień bezpieczeństwa usług sieciowych.

Adresaci szkolenia

Adresatami szkolenia są programiści Java, pragnący posiąść umiejętności tworzenia klasycznych usług sieciowych (webservices) na platformie Java.

Minimalne wymagania wstępne:

  • umiejętność programowania w Javie (kurs J-PD)

Dodatkowa wiedza i umiejętności, które pozwolą sprawniej pracować na szkoleniu i spojrzeć na zagadnienia szkolenia w szerszej perspektywie:

  • XML i XML Schema,
  • obsługa XML w Javie (DOM, JAXB, SAX, StAX) (kurs J-XML),
  • technologie Java EE (servlet, EJB) (kursy J-EE i J-EJB).

Czas i forma szkolenia

21 godzin (3 dni x 7 godzin), w tym wykłady i warsztaty praktyczne.

Plan szkolenia

  1. Wprowadzenie do usług sieciowych.
  2. Wprowadzenie do XML
    1. elementy składni XML,
    2. podstawy XML Schema,
    3. przestrzenie nazw XML,
    4. podstawy obsługi XML w Javie: parsowanie, walidacja, korzystanie z drzewa DOM, transformery.
  3. Protokół SOAP
    1. struktura komunikatu, rola przestrzeni nazw,
    2. sposób przesyłania danych, metadanych, informacji o błędzie i danych binarnych,
    3. wykorzystanie narzędzia SOAP UI do testowania komunikacji SOAP.
  4. Przetwarzanie komunikatów SOAP – SAAJ
    1. struktura komunikatu w SAAJ, wykorzystanie interfejsu DOM,
    2. tworzenie, wysyłanie i odbieranie komunikatów,
    3. załączniki binarne,
    4. stworzenie klienta w technologii SAAJ oraz serwera w technologii SAAJ+servlet.
  5. Język opisu usług sieciowych WSDL
    1. podstawy XML Schema i jego rola w WSDL,
    2. struktura komunikatów w stylach RPC, Document oraz „Document-Wrapped”,
    3. wiązanie z protokołem SOAP,
    4. stworzenie opisu własnej usługi sieciowej.
  6. JAXB – mapowanie między XML a obiektami Javy
    1. cenariusz Java → XML Schema; dostosowywanie mapowania za pomocą adnotacji,
    2. scenariusz XML Schema → Java; dostosowywanie mapowania za pomocą adnotacji w schemacie lub osobnym pliku XML,
    3. wykorzystanie klas narzędziowych JAXB.
  7. Usługi sieciowe w Javie – JAX-WS
    1. wysokopoziomowe tworzenie usług sieciowych zgodnie ze scenariuszem
    2. Java → WSDL (bottom-up) oraz WSDL → Java (top-down),
    3. adnotacje JAX-WS i dostosowywanie usług,
    4. wysokopoziomowy klient usługi sieciowej (JAX-WS)
    5. niskopoziomowe aspekty JAX-WS: handler-y,implementacja usługi jako provider-a, implementacja klienta jako dispatcher-a, wywołania asynchroniczne,
    6. stworzenie własnej usługi sieciowej oraz jej klienta.
  8. UDDI i JAXR – krótkie omówienie.
  9. Podsumowanie i przegląd dodatkowych standardów usług sieciowych
    1. WS-Interoperability Basic Profile,
    2. WS-Addressing,
    3. WS-Security.
  10. Wzmianka o usługach sieciowych w stylu REST
    1. idea i praktyka,
    2. porównanie z usługami opartymi o SOAP.,
    3. podstawowe informacje nt. tworzenia usług REST w Javie (JAX-RS).

Opinie uczestników

  • Szkolenie w bardzo przystępny i łatwy do zrozumienia sposób przedstawia wiedzę dotyczącą usług sieciowych zarówno tradycyjnych jak i opartych o wzorzec REST. Bardzo jasne przykłady pozwalają zdobyć podstawową wiedzę na temat sposobu realizacji usług sieciowych w Java jednocześnie zachęcając do dalszego samodzielnego pogłębiania wiedzy i używania jej w praktyce.

    Konsultant ds.aplikacji - Tauron Obsługa Klienta

  • Bardzo dobrze przeprowadzone szkolenie. Świetnie dostosowane dla osób z praktyką w programowaniu. Prowadzący dostosowujący się do tempa przyswajania wiedzy przez uczestników. Masa dobrych materiałów i liczne zastosowania praktyczne. Bardzo dobry kontakt.Polecam

    Andrzej Zalewski - Developer - Fara Polska

  • Prowadzący wykazał się doskonałą znajomością zagadnień poruszanych podczas szkolenia oraz znakomitymi umiejętnościami przekazywania wiedzy.

    Arkadiusz Witkowski - główny specjalista ds. WWW - GIOŚ