Notes on “Java Web Services” ..
Jul 02, 2009 in Books, Java, Software, WebServices
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.

