Kód kurzu: JWS« Krok zpět

Webové služby SOAP a REST v Javě

Kurz webových služeb pokrývá rozsáhlé prostředí standardů SOAP a REST s použitím Java SE a Java EE. Kurz začíná výkladem mapování JAXB 2.x, SAX a DOM se považuje za všeobecnou znalost a nejsou zde tak důležité. SOAP služby jsou demonstrovány pomocí javového standardu JAX-WS 2.x - knihovna Metro, případně CXF (Axis2 není plnou implementací JAX-WS), včetně pokročilých technik jako je jednosměrné nebo dlouhotrvající volání (ve stylu Comet) nebo ručního sestavování nestandardních XML místo automatického generování frameworkem JAXB. Sada specifikací WS-* definuje interoperabilní quality of service a na kurzu jsou z nich probírány především WS-Security (autentizace a šifrování na úrovni zpráv) a WS-ReliableMessaging. SOAP je velice důležitý pro integraci velkých aplikací, ale protože poslední dobou je čím dál větší důraz kladen na použití RESTful webových služeb, které jsou výrazně jednodušších a nezatěžují tolik linku a server, věnujeme se jim i na kurzu. REST web services jsou primárně řešeny pomocí Spring MVC, nicméně stejné techniky jsou předváděny i pomocí JAX-RS (Jersey). Pomocí obou je velice snadné přijímat i odesílat JSON i XML a integrovat AJAX nebo třeba Androidovou aplikaci se serverovou částí napsanou v Javě.

Kurz nahrazen kurzem D77754 - Java EE 6/7: Develop Web Services with JAX-WS & JAX-RS

Kurz vyřazen z aktuální nabídky
Kurzy zařazené do oblasti Archiv již nepatří do naší aktuální nabídky, v mnoha případech byly nahrazeny novější verzí kurzu.
Pro informace o možnosti realizace archivních kurzů prosím kontaktujte náš klientský servis (__Klientskyservis@gopas.cz) nebo naše obchodní reprezentanty (__Obchod@gopas.cz).

PobočkaDnůCena kurzuCena materiálůITB
Praha5 46 500 CZK v ceně kurzu 50
Brno5 46 500 CZK v ceně kurzu 50
Bratislava5 2 125,00 EUR v ceně kurzu 50

Uživatelská náročnost

Pro koho je kurz určen

Kurz je určen pro vývojáře Java SE a Java EE, kteří potřebují řešit komunikaci více aplikací, ať už pomocí SOAP nebo integrují javový back-end a klientský AJAX či androidovou aplikaci pomocí RESTful web services (XML nebo JSON)

Co vás naučíme

  • SOAP, WSDL a WS-I Profile s důrazem na interoperabilitu (Java, .NET, PHP)
  • REST, XML a JSON pro AJAX a Android
  • Mapování mezi objekty a XML s použitím JAXB včetně pokročilých technik
  • Použití JAX-WS Metro/CXF pro jednoduchou i složitou komunikaci přes SOAP
  • Provádění a poskytování jednosměrných a dlouho trvajících operací ve stylu Comet, efektivně
  • RESTful web services s použitím Spring MVC a JAX-RS
  • Přijímat a odesílat JSON i XML

Požadované vstupní znalosti

Je nutné znát webové programování v Javě (servlety) a XML. Spring Framework a předchozí znalosti webových služeb jsou velkou výhodou.

Metody výuky

Odborný výklad s praktickými ukázkami, cvičení na počítačích

Studijní materiály

Tištěné prezentace probírané látky

Osnova kurzu

XML, XSD, JSON

  • XML a jmenné prostory
  • XML Schema (XSD), validace
  • Sestavení XSD z existujícího souboru XML
  • XML Fast Infoset
  • MTOM
  • JSON

SAX, JAXB

  • Práce s XML v Javě
  • Nejnižší úroveň - SAX
  • ContentHandler
  • Validace s použitím XSD schéma
  • XML Catalog
  • Mapování mezi XML a objekty (OXM)
  • JAXB 2.x
    • Nástroje, xjc, schemagen
    • Nesoulad XML vs. OOP, translator
    • XML Soubor s přizpůsobením (customizations)
    • Validace v rámci JAXB
    • Částečný unmarshalling
    • XmlJavaTypeAdapter
    • Vypsání binárních objektů (pro MTOM)

SOAP, WSDL, REST

  • SOAP
  • SOAP přes HTTP
  • WSDL (1.1)
  • Jednosměrný požadavek, Požadavek-odpověď, Chyby (Fault)
  • Document/Literal/Wrapped, RPC/Encoded
  • WS-Addressing
  • WSDL 2.0 (volitelně)

JAX-WS - klientská strana

  • wsimport
  • Vyšší úroveň - proxy objekt za javovým rozhraním
  • Nižší úroveň - Dispatch
  • Jednosměrné volání
  • Vstupně/výstupní parametry a Holder<T>
  • Asynchronní volání - Future
  • Asynchronní volání - AsyncHandler a Executor
  • @WebServiceRef a dependency injection v Java EE

JAX-WS - serverová strana

  • Vyšší úroveň - vystavení třídy @WebService z Javy
  • Nižší úroveň - ošetření požadavku pomocí rozhraní Provider
  • Generování WSDL z tříd Javy - wsgen
  • Generování Java tříd z WSDL - wsimport
  • Chyby a výjimky (Fault, Exception)

JAX-WS a Spring Framework

  • ContextLoader nebo SpringBeanAutowiringSupport (Java EE)
  • Springová definice beanu pomocí CXF (Tomcat, Jetty)
  • Specifická definice Metro a Springu (Tomcat, Jetty)

Pokročilý JAX-WS

  • Dlouho trvající volání (minuty, hodiny) - Comet
  • Handlery JAX-WS
  • JAX-WS a WS-Addressing
  • Binární přílohy MTOM
  • BASIC authentication
  • Šifrování pomocí HTTPS
  • WS-Security
  • WS-Policy, WS-SecurityPolicy
    • UsernameToken
    • Autentizace pomocí certifikátů klienta a serveru
    • Šifrování na úrovni zpráv
  • WS-ReliableMessaging

Spring MVC a RESTové webové služby

  • REST, RESTful Web Services
  • GET, POST, PUT, DELETE
  • Architektura Spring MVC, DispatcherServlet
  • @RequestMapping, URLs, hlavicky HTTP
  • @PathVariable
  • @RequestBody, @ResponseBody, HttpMessageConverter
  • JSON a JacksonJsonMappingView

JAX-RS a RESTové webové služby

  • Jersey - implementace JAX-RS
  • @GET, @POST, @PUT, @DELETE, URLs, @Path, @Consumes, @Produces, @PathParam
  • Třída Application, konfigurace
  • Java EE dependency injection

Ostatní technologie na vzdálenou komunikaci (volitelně)

  • Serializace objektů v Javě
  • RMI
  • Spring HttpInvoker
  • Spring JmsInvoker
Tištěné prezentace probírané látky

Cena:
v ceně kurzu
Uvedené ceny jsou bez DPH.


Graf návazností kurzů