As Rozanski and Woods state in their book Software Systems Architecture, every problem has many candidate architectures. So, what makes one service-oriented and not another? Weerawarana et. al. outline the qualities of a SOA in their book Web Services Platform Architecture. They say that a SOA is one that meets the following requirements:
- It is composed of loosely coupled services.
- The interface of these services is defined in a programming-language- and platform-agnostic manner.
- It furnishes service providers with a means to publish their functionality.
- It provides consumers with a way to find published services that meet their needs and allows them to bind to these services dynamically.
- The above requires are governed by standards that are not implementation specific (i.e., language- and framework-neutral).
Using this definition, are the following SOAs: DCOM, CORBA, Web services, WCF, JWS? Though many will say that they are, doing so is like saying that metal is a car. You use raw materials, like metal, to make cars, but no one would conflate them. Likewise, these technologies can be used to create Service-Oriented Architectures, but they aren’t architectures at all. Brenda Michelson, Program Director of the SOA Consortium, stated in the SOA Consortium’s blog that "SOA is not about the underlying technology, but about 'enabling organizations to create, and adapt to, change.'" Likewise, Richard Soley has respectfully rejected Jan Pokin’s definition that "SOA is a technology;" he says that "SOA is an enterprise strategy based on an architectural principle."
Businesses and architects would be wise to guard against the trap of equating SOAs with the technologies used to build them. If ensnared by this wile, they’ll build systems that are in the same predicaments as the ones they're phasing out. Companies will site their use of WCF, JWS, etc. (which were sold to them as the pathway out of entanglement) and fail to understand why their systems are still tightly knit together, costly to update, and unable to adapt in time to profit from ever-changing market trends.