Author: techfox9
Notes on “Java Web Services” ..
Thursday, July 2nd, 2009 @ 1:35 am
This book is a bit old.. 2002..
- — SOA – Service Oriented Architecture
— 3 major roles: Provider, Registry (Broker) and Requester.
— SOA is based on web services. - — SOAP – Simple Object Access Protocol
— 2 major methods: Message-based Document Exchange AND RPC
(Remote Procedure Calls).
— All structures based on XML.
— A SOAP message contains an Envelope and a Header.
— A SOAP message may contain (MIME) attachments.
— Main transport protocol is HTTP(S).
— Providers (Receivers) are usually based on Servlets. - — SOAP-RPC
— Method signatures contain a single SOAP structure.
— SOAP service methods must match info in deployment descriptor.
— Errors and Faults: VersionMismatch, MustUnderstand, DTDNotSupported, etc.. - — WSDL – Web Services Description Language
— WSDL is an XML grammar for describing a web service
as a collection of access end-points capable of exchanging
messages in a procedure- or document-oriented fashion (p. 72)
— The reasonable flow is to create service methods and
than generate WSDL from code using tools.
— Best practices: web service is (functionally) coarse-grained
and messages are more business-oriented than programmatic. - — UDDI – Universal Description, Discovery and Integration
— Similar to an Internet search engine for businesses.
— UBR – UDDI Business Registry (the Public Cloud).
— Designed for B2B mostly.
— 2 APIs: inquiry and publishing API.
— JAXR = Java API for XML Registries.
— Some details: Categorization (NAICS, ISO, etc..),
Identifier (DUNS, Thomas Reg, etc),
tModel (web service metadata) - — JAX-RPC and JAXM
— JAXM = Java API for XML Messaging.
— JAX-RPC = Java API for XML-based RPC.
— JAXM may be used as a frontend to SOAP-based messaging
frameworks through the use of “profiles”.
— JAX-RPC covers code generation for client and server parts,
dynamic SOAP, creating services within J2EE and J2SE environments,
bindings, serialization, mapping of datatypes between WSDL and Java,
etc.. - — The Java Web Service (JWS) Standard
— Proposed by BEA, using templates to create simple web services.
— Example (HelloWorld.jws <- note the .jws extension)
Note the annotations @operation, @conversation ..import com.bea.jws.* public class HelloWorld extends Service { /** * @operation * @conversation stateless */ public String getHelloWorld() { return "Hello, World!"; } }
Other values for @conversation are ‘start’, ‘continue’ or
‘finish’. The ‘start’ directive, for example, starts a session. - — Security notes
— Use of SSL (HTTPS), encryption, signing and secure hashing.
— Security Assertion Markup Language (SAML) – used with Single Sign-On (SSO). - — Resources
http://aws.amazon.com/
http://seekda.com/
http://www.programmableweb.com/
http://www.webservices.org/
http://xmethods.com/
Colophon – European (Alpine) Ibex – a wild goat.