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
3 200 / 3 dni
Zgłoś chęć udziału

Back-End > Web Services

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

Kod: [J-WS]
Pobierz program

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 serwera aplikacji JBoss/WildFly. Na życzenie zorganizowanej grupy
szkolenie możemy przeprowadzić na innej platformie: środowisko IntelliJ
Ultimate (o ile uczestnicy pracują na własnych komputerach / korzystają z
własnych licencji) lub NetBeans; serwery Glassfish, WebSphere lub WebLogic,
ewentualnie Tomcat z implementacją web serwisów Axis 2 lub CXF.

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

  • Zakres tematyczny był interesujący, a porowadzący posiadał wysokie kompetencje.

    Pracownik IT - Bank Pocztowy

  • 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