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