There are a lot of SOA Characteristics set, this article will help you to understand SOA Characteristics in plain english explanation. SOA is a way of designing applications using components or services. In other words, an application built in a modular fashion. Actually, this modular approach is not new. In contemporary programming languages, such as Object-Oriented Programming (OOP), modular approach has been put forward in the development application. But, what makes SOA different is a component or services is built and interact with each other freely and loose (Loose Coupled).
With the Loose Coupled nature, a service can be called by the program or other service without needs to pay attention where the location of the service and what the platform is used that service. Loose Coupling is critical to SOA as they can invoke a service by another service at run-time.
For example, a core banking application provides a Fund Transfer service, then the other banking applications such as Treasury, Payment Gateway, ATM Switching, and so on can call or invoke Fund Transfer service without need to worry about where the Fund Transfer is located in the network. This contrasts with the Tight Coupling approach. Each application defining their own Fund Transfer, the problem come when the Transfer Fund logic is change. It will be difficult and require high cost (and time, of course) to set the new logic into each application. (more…)