WSBP2. Web Services Interaction Mode. Web Services have four
interaction modes. They are synchronous interaction (i.e. request and wait for response),
asynchronous interaction (i.e. fire and forget), solicit response interaction
(i.e. the service sends a message followed by a correlated message from
client), and notification interaction (i.e. the service sends a message). Any
one of this mode will affect the way of designing and implementation Web
Services.
WSBP3. Web Services Client ImplementationInteraction Mode. The
client implementation will be determined by Web Services Interaction modes. If
it is an asynchronous WS, an asynchronous WS client implemented using Java API
for XML Messaging JAXM, for example, will be used. Otherwise, Java API for XML
for Remote Procedure Call (JAX-RPC) will be used.
WSBP4. Web Services
Client Implementation Client Types. The client implementation is affected
by the types of Web Services client. Particularly in Javabased RPC service,
there are three different types of Web Services client, namely static stub,
dynamic proxy and dynamic invocation proxy (DII) of web service clients for consuming
a service. The three types of client offer different degree of client
flexibility. For example, static stub is the least flexible as any changes to
the service would require rebuilding of service client. DII is the most
flexible as the client parses the services WSDL in constructing a SOAP message
for service invocation. Any change to the end point service does not require
rebuilding of client.
WSBP5. Right Level of
Service Interface Granularity. The granularity of the service interface
affects the design and implementation of web service. In addition, it also
affects the performance of the service. The finer the granularity for service
interface, the slower the performance as it is an overhead to the network and
drop in web service performance.
WSBP6. Interoperability. Interoperability
issues could be caused by different versions of SOAP standard implementation,
different types of security algorithms for digital signature, encryption/decryption,
and variation in supporting Web Services standards from multiple vendors. The
adoption of primitive data type for parameters whenever possible. Avoid using
customized SOAP serializer/ deserializer and different types of encoding
standards.
WSBP7. Binding Style
The use of rpc/encoded ordoc/literal binding style is determined by the needs
of data information being exchange between Web Service client and the service.
If it is data intensive or the exchanged information is a file, then doc/literal
binding is preferred. If the data information exchanged is relatively static,
then rpc/encoded binding is preferred.
WSBP8. Request and Response Performance. Web
Services itself is network intensive. It demands extra network bandwidth and
CPU processing time and memory due to the needs for SOAP message serialization
and de-serialization overhead. The common practices for optimizing the request
and response performance are:
- perform data caching in either client or server side
- decide Web Services operation granularity,
- Use XML judiciously in document-centric Web Services by
careful considering whether to use whole or segment of XML document.
WSBP9. Security.
There are various ways to secure the information sent between initial SOAP sender
and ultimate SOAP receiver via numerous intermediary SOAP nodes. Different
means of security can affect the way how Web Services are designed and
implemented. The security means can be through:
- Transport Level Security (TLS). In this mean, it leverages
on transport security mechanism. Only the initial SOAP sender and ultimate
SOAP receiver are secured. Intermediary nodes are not secured. The two
most common means are secure socket layer (SSL) or HTTPS.
- Message Level Security (MLS). In this mean, message can be
secured throughout the whole SOAP message path. Standards such as XML
Encryption0, XML Signature0, XML Key Management0, WS-Security0, SAML[9],
etc. can be applied to secure the XML message and
- Infrastructural Level Security. In this mean, it leverages
on the security mechanism provided by Web Services hosting platform.
WSBP10. Web Services
Implementation Technology and Platform. What is the technology platform,
such as J2EE or .NET based, to be used? What kind of application server is required
to host services? The understanding these lead to better services
interoperability.
WSBP11. Industry Standard Conformance. The conformance
of industry standard, such as RosettaNet0 and ebXML0 provided by the service
determines the type of services. As it gives rise to the consideration of the
requirement for well-formed XML document and document-styled Web Service for
the service.