Service oriented architecture (SOA) is a principle in software design. It is a new way of crafting software applications that are independent of programming language, operating system and platform. This flexibility when achieved can afford significant benefits to end users. The limitations and costs that are usually caused by diverse and incompatible technologies can be handled with better success.

A service is a software module that is designed to be self-contained and perform a specific and predetermined task. An example would be a service that confirms the validity of a log-in username and password. As a module it may become a component of various larger applications. Its design then should veer away from being exclusive to a specific underlying technology. To build an application in the SOA framework is to make its structure modular, meaning its various software components are relatively autonomous and can be taken apart and reused in other applications.

Dependency leads to higher costs because adjustments become compulsory, and that usually entails new expenses. To concretely illustrate, this let's take as an example a certain professional who travels often to other countries and thus makes extensive use of his laptop. At one point or another wherever he may be, he will have to plug his laptop into an electrical socket. So the successful operation of his work is dependent on electricity. But different countries have different standards for voltage and even different configurations for electrical sockets. This is again another dependency, and the traveling professional will have to purchase the appropriate adapters and regulators to ensure his work is not disrupted. The first dependency mentioned is a real dependency, all electronic devices need electricity. But the second dependency can be called artificial, for there really isn't any fundamental reason why sockets have to be varied from country to country. The SOA principles of re-usability and interoperability are aimed at reducing artificial dependency in the software realm of information technology.

SOA offers a lot of advantages to business. A business's IT organization is often forced to use disparate technologies due to limited resources. This will undoubtedly result in a lot of integration issues. With SOA, IT can solve most of these problems. It's important for a business then to carefully evaluate which of its processes would be best accomplished if it was performed by a service. Doing so can enable its IT to better weather the huge tides of technological advancement. It wouldn't need to drastically change the business process, and the technology in which it initially invested can still be used.

Average rating: