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