Wednesday, April 29, 2009

Standards Based SOA

When I originally came across the term Service Oriented Architecture or SOA, my understanding was that this related to an infrastructure in which standards were used to build services that would become part of a wider architecture. The primary standards in this area from my perspective are:
  • TCP/IP as the network infrastructure to connect machines to each other.
  • HTTP as the wire transport protocol.
  • WSDL to describe a service so that it's clear what services are available and how to call them.
  • XML as the standard payload to ensure that any system can understand a message
  • SOAP as the payload standard to deliver requests to a service and to deliver responses from the service.
These standards alone provide a level of inter connectivity between platforms that has not been seen previously. We can also add the UDDI standard to this which provides a database of services that can be searched to find the WSDL following which the service may be called. Risaris Limited built the SOA Gateway technology to reflect these standards which is where the product name came from.

I have since had conversations with people from various organizations, typically the bigger ones like IBM, who talk about their Service Oriented Architecture based around WebSphere MQ. When I point out that this is almost totally a proprietary implementation, they tell me that what they put on the end of an MQ queue acts as a service, therefore their proprietary infrastructure is a SOA. I have heard this argued since by organizations keen to jump on the next hype cylce by reinventing their architecture as a SOA in this case.

At the end of the day, there have been well structured application systems for many years that exposed 'services' which were called by a number of different applications. They were called in a totally proprietary manner but based on the previous rational, we have had SOAs for as long as I can remember.

For me the value that SOA was to bring to the table was the ability to integrate easily between systems no matter what the architecture. It now seems that the term has become a dirty word some what and no wonder we hear the expression 'SOA What ?' because vested interests have taken the original value and corrupted it to meet their needs to join the hype cycle.

Given that SOA has become such a loose term, how can we refer to systems that implement a SOA using open, Web Services standards like WSDL and SOAP. A 'Standards Based SOA' perhaps ?

Best regards,

John - The SOA Gateway

No comments:

Post a Comment