PV207 – Business Process Management SOA & Web Services Jiří Kolář, Daniel Tovarňák Jaro 2011 Obsah přednášky  Web Services  Co jsou WS?  Artefakty WS     WSDL SOAP WS - standardy WS v Javě    Client side Server side REST Předpoklady  Co se předpokládá   Základní znalost(rámcová) Java SE   Základní znalost XML Základní znalost Netbeans Co je vhodné pro pokročilou práci s WS v Javě  Znalost J2EE  Přehled o containerech v J2EE  Znalost zpracování XML v Javě  (JAX-B Marshalling/Unmarshalling) Co je webová služba (Web Service)?   Služba pro přenos zpráv umožňující vzdálené volání procedur Zprávy jsou přenášeny    ve formátu XML Transportním protokolem je HTTP/HTTPS Web service definuje  Operace (metody) a jejich parametry  Návratové typy WSDL  WSDL (Web Service Description Language)  Popisuje rozhraní služby     Dostupné operace (metody) Parametry a jejich typy Návratové hodnoty Popisuje kde je služba dostupná     Protokol (HTTP/HTTPS/SMTP) Port (:1666) Stroj (kore.muni.cz) URL (http://kore.muni.cz:1666/MojeSlužba) WSDL přílkad Operace jePrvocislo() Sluzba pocitajici prvocisla SOAP   Protokol sloužící pro přenášení zpráv ve formátu XML Zajištuje komunikaci mezi službou a jejím uživatelem (klientem)  Pro transport využívá HTTP/HTTPS  Komunikace probíhá typicky request - response SOAP příklad POST / HTTP/1.1 Content-Type: text/xml; charset=utf-8 Content-Length: 423 Connection: close SOAPAction: "" 1987 HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: 468 Connection: close true WS - Standardy Business Process Execution Language, BPMN WS-Coordination WS-Transactions WSDL Business Processes WS-Security family of specifications WS-Reliable Messaging Quality of Service WS-Policy UDDI Description and Discovery Other protocols Other services Messaging and Encoding SOAP, SOAP Attachments XML, XML Infoset Transports Transport Web Services v Javě WS v Javě - Server  JAX-WS  JAXB  WS-Metadata  REST WS v Javě - Client  JAX-WS  JAXB  WS-Metadata  REST RESTful Web Service  Representational State Transfer  RESTful WS:  HTTP/HTTPS  Klient-server  Bezstavové  Jednotné rozhraní  XML, JSON, YAML  Identifikace zdrojů  WADL   POST, GET, PUT & DELETE GET http://foobar.cz/people/142 Cvičení Web Services  Web Services   REST   http://netbeans.org/kb/docs/websvc/jax-ws.html http://netbeans.org/kb/docs/websvc/rest.html NetBeans Trail  http://netbeans.org/kb/trails/web.html Standardy  JAX-WS (JSR-224)  JAX-RS (JSR-311)  Apache Axis, Axis2  Apache CXF  Jersey