Service-oriented architecture (SOA) refers to an architectural solution that creates an environment in which services, service consumers, and service producers can coexist, and still have no dependence on each other. SOA enables an enterprise to increase the loose coupling and the reuse of frequently used software assets. These software assets, together with the functionality that they provide, are called services in the SOA terminology. By nature, SOAs are complex and are typically applied to solutions with highly volatile requirements.
As SOA concepts are increasingly utilized and applied to solve software integration problems, there is confusion as to where SOAs are applicable, where they would yield the best results, and where the use of an SOA would be overkill. There are also misconceptions as to what the benefits of using an SOA are, as well as what the potential approaches to realizing an SOA solution are. In fact, there is no clear and consistent understanding about SOA across the different functions within an enterprise such as marketing, sales, delivery team, and so on. Similarly, even within the software industry these misconceptions are present.
This article expresses these misconceptions and areas of confusion in the form of myths and aims to provide a voice of reason and reality in response to these myths.