190 likes | 343 Views
Java Web Services CSCI 4300. Diagrams from the Sun Java Web Services Tutorial, http://java.sun.com/webservices/docs/1.6/tutorial/doc/. What are Web Services?. Business-to-Business (B2B) communication Packaged in XML “SOAP” messages. Example: Travel Agent. Service-Oriented Architecture (SOA).
E N D
Java Web ServicesCSCI 4300 Diagrams from the Sun Java Web Services Tutorial, http://java.sun.com/webservices/docs/1.6/tutorial/doc/
What are Web Services? • Business-to-Business (B2B) communication • Packaged in XML “SOAP” messages
Service-Oriented Architecture (SOA) Needs: • Mechanism for discovering services (registry) • Language for specifying service contract (Web service semantic)
Envelope: top-level element, represents entire message Header: optional info to guide delivery and processing by multiple actors, e.g. shipping, logging, accounting Body: contains request / response info Fault: carries error messages <?xml version="1.0"? <soap:Envelope xmlns:soap=…"> <soap:Header> ... ... </soap:Header> <soap:Body> ... ... <soap:Fault> ... ... </soap:Fault> </soap:Body> </soap:Envelope> Simple Object Access Protocol (SOAP)
Example: SOAP over AJAX • Using a “WS” package to handle SOAP encoding
Java XML Binding (JAXB) • Marshalling: collecting data into XML • Binding: generating Java classes to represent XML
Another View of JAX-RPC • This shows the JAX-RPC runtime and HTTP/SOAP transport • In this case client and server are both Java
Yet Another View • Showing the role of WSDL to coordinate client and server • In his case the client is not necessarily in Java!
Java XML Registry (JAXR) • Java API overlaid on native registry systems • A registry allows location of objects
Acknowledgements • Webservices strategy: http://www.webservices-strategy.com/ • SOAP/proprietary interface: http://www.ebizq.net • SOAP over AJAX diagrams: http://www.ibm.com/developerworks/webservices/library/ws-wsajax/ • Web services architecture: http://www.w3.org/2003/Talks/0317-ws-intro/ • Fujitsu WDSL diagram: xml.fujitsu.com • RPC diagrams: http://www.onjava.com/pub/a/onjava/2002/04/24/jax-rpc.html • “Figure 1”: http://dev2dev.bea.com/lpt/a/345 • JAX-J2EE: www.vsj.co.uk