Powrót do katalogu

VOUCHERY SZKOLENIOWE 2023/2024 R.
Kup w 2023 r.  - wykorzystaj do końca przyszłego roku!
Potrzebujesz wykorzystać budżet szkoleniowy w bieżącym okresie rozliczeniowym? Mamy dla Ciebie rozwiązanie!

Kupując voucher już teraz, zachowujesz gwarancję stałej ceny, a szkolenie możesz zrealizować w przyszłym roku.

Więcej informacji znajdziesz TUTAJ.

Podaj maila aby obejrzeć webinar z Node.js

Wyrażam zgodę na otrzymywanie informacji o promocjach i produktach oferowanych Czytaj więcej przez Vavatech Sp z o.o. Zgodę możesz cofnąć w każdym czasie.
Zaproponuj własny termin
Postaramy się uruchomić nowy termin dla Ciebie
4 500 / 5 dni
Zgłoś chęć udziału

Back-End > Web Services

Szkolenie: Tworzenie usług sieciowych SOAP oraz REST na platformie Java - kompleksowe (JAX-WS i JAX-RS)

Kod: [J-WS-REST]
Pobierz program

Wprowadzenie

Usługi sieciowe (webservices) są obecnie jedną z najbardziej popularnych technologii służących integracji aplikacji w architekturze heterogenicznej i rozproszonej. Oparte o pierwotną 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. REST jest powszechnie używany do wiązania strony klienckiej ze stroną serwera w aplikacjach webowych opartych o JavaScript oraz w aplikacjach mobilnych, ale można go także spotkać w aplikacjach typu „desktop” i przy integracji komponentów w rozbudowanych systemach. Wiele popularnych usług dzisiejszego internetu jest dostępnych dla aplikacji poprzez tzw. „REST API”.

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 interfejsów programistycznych SAAJ, JAX­WS i JAX­RS. 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 oraz ideę usług w stylu REST.

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
  • serwletu,
  • stworzyć serwer usługi sieciowej w technologii JAX­WS metodami top­down oraz bottom­up,
  • stworzyć klienta usługi sieciowej w technologii JAX­WS,
  • stworzyć serwer usługi w stylu REST w technologii JAX­RS oraz klienta tej usługi,
  • dostosować aplikacje JAX­WS i JAX­RS za pomocą adnotacji oraz niskopoziomowych aspektów technologii,
  • w tym dokonać podstawowych konfiguracji bezpieczeństwa,
  • wskazać standardy usług sieciowych oraz ich rolę; czytać i tworzyć definicje WSDL.

Domyślnie w czasie szkolenia uczestnicy korzystają z platformy JBoss (+ JBossWS + RestEasy) i środowiska programistycznego Eclipse. Na życzenie zorganizowanej grupy szkolenie możemy przeprowadzić na innej platformie: Glassfish + Metro + Jersey, Tomcat+Axis 2 / 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.

Adresaci szkolenia

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

Wymagania wstępne

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

Dodatkowa wiedza i umiejętności, które pozwolą lepiej zrozumieć niektóre elementy szkolenia i spojrzeć na zagadnienia w szerszej perspektywie:

  • protokół HTTP,
  • AJAX,
  • formaty XML i JSON,
  • obsługa XML w Javie (DOM, JAXB, SAX, StAX) (kurs J-XML),
  • klasyczne usługi sieciowe (SOAP, WSDL) (kurs J-WS),
  • serwlety i inne technologie Java EE (J-EE).

Czas i forma szkolenia

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

Plan szkolenia

  1. Wprowadzenie do usług sieciowych
    1. motywacja, główne idee, teoria i praktyka,
    2. podstawy XML,
    3. szybki start – proste usługi w różnych technologiach.
  2. Podstawy przetwarzania XML w Javie
    1. DOM,
    2. przekształcenia (Transformer) i walidacja (Schema, Validator),
    3. przetwarzanie strumieniowe (SAX i StAX).
  3. Protokół SOAP
    1. struktura komunikatu,
    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+serwlet.
  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. scenariusz 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. 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,
    4. WS­Policy.
  10. Konfiguracja bezpieczeństwa usług JAX­WS
    1. możliwości zabezpieczania usług sieciowych,
    2. zabezpieczenia na poziomie logiki aplikacji,
    3. podstawowa konfiguracja zabezpieczeń WS­Security (zależne od platformy).
  11. Usługi sieciowe w stylu REST
    1. motywacja, idea i praktyka,
    2. znaczenie protokołu HTTP, metody HTTP,
    3. rola i zalecana struktura URL,
    4. WADL (podstawy),
    5. porównanie z usługami opartymi o SOAP.
  12. Usługi REST w Javie – JAX­RS
    1. struktura aplikacji JAX­RS,
    2. adnotacje, wyrażenia ścieżkowe,
    3. przechwytywanie parametrów, nagłówków, ciasteczek,
    4. przekazywanie zapytań do podzasobów,
    5. obsługa różnych formatów kodowania danych (tekst, XML, JSON, dane binarne), negocjacja formatu,
    6. obsługa błędów, ustawianie statusu odpowiedzi, mapowanie wyjątków,
    7. dostęp do kontekstu zapytania i niskopoziomowej treści,
    8. obsługa dodatkowych formatów danych,
    9. stworzenie własnej usługi w stylu REST.
  13. Klient usługi REST
    1. standardowe podejście JAX­RS 2.0 i java.net.URL,
    2. podejście proxy (dla implementacji RestEasy z JBossa).
  14. Bezpieczeństwo i skalowalność usług REST
    1. zabezpieczenie na poziomie komunikacji,
    2. zabezpieczenie programowe,
    3. skalowalność i integracja z Java EE.

Opinie uczestników

  • Teoria poparta praktycznymi, zrozumiałymi i trafnymi przykładami.

    Pracownik firmy - Ericsson

  • Rzetelnie przygotowane materiały przez trenera oraz dokładnie wyjaśniane zagadnienia uczestnikom.

    Pracownik firmy - Ericsson