SOA patterns: proposal for 'relaxed service implementation'

Building a service that has a standardized WSDL, but still can accept input data of poor quality and perform its tasks?
Written by Joe McKendrick, Contributing Writer

Here is another candidate SOA pattern submitted and being considered by the SOA patterns community process. If approved, it will be added to the established SOA patterns outlined at SOApatterns.org and in the book SOA Design Patterns (coordinated by Thomas Erl).

Candidate SOA pattern: Relaxed Service Implementation

At issue: A popular way to describe contracts is WSDL definitions. WSDL definitions also make life easier for client developers in that it enables them generate the code necessary to actually call the services. Sometimes though, the auto-generation doesn't work properly. In using outdated technology, there may be no support for auto generating clients. Another reason is that different technical platforms interpret the definitions differently. Due to these reasons a service might receive input data of poor quality.

Solution: Publish a standardized WSDL but allow any kind of message to get through the message processing layer. Let the underlying implementation inspect the message and act according to the contents of the message.

Application: Schema validation is moved to the underlying service logic or a service agent. When schema validation fails parsing techniques, e.g. Xpath, are used to further process the incoming message.

Impacts: Requires additional development effort, might affect performance and security.

Principles: Standardized Service Contract, Service Loose Coupling, Service Reusability

SOA proponents, enterprise architects, and IT professionals are invited to submit patterns they have identified for potential inclusion. SOA design patterns typically represent field-tested solutions, and organize intelligence into referenceable formats, and are intended to be repeatable by IT professionals.

Editorial standards