SOA or in full, Service Oriented Architecture is a technology that shares resources on a network within the workplace, to be accessed when needed by the users. Unlike the other system architectures, SOA is more flexible and in that the resources that are being shared are connected and can be made use of at the same time. It is the best choice for a network of especially great numbers, in that there many users on the network. Also if there are users who will connect remotely, it is a good approach to use spread the resources.
By using SOA, each of the services provided will make use of the software system individually, while making use of the same system. As much as it sounds wasteful and over bearing on the system, it is not. Given that the services on the SOA are making use of the system that they are on, they are only producing different outcomes to that of each user; however it is the same service or action.
An example of SOA is the use of ATMs (Automated Teller Machines). The concept is that the individual (remote) users can each have access to the banking services, in a kind of unique way to them. Now when we apply the SOA approach, the users will make the use of the “Retrieve balance” on the system, however, the results will be the balance of their own bank accounts. This is the same if a company makes an internet based request. In the end the same system is being made us of, because in the end it is the same “Retrieve balance” service on the SOA.
One of the major plus points of the SOA, is that, should the service on the system need to be revised, they can easily be applied, without having to tear down the entire system and the “reaffix” it back when the changes are made. For example, in the same ATM situation, should the users have, perhaps two accounts, perhaps a savings and current account, and previously the service could only present the balance for the account that is asked for; the user would have to perform the same service twice. Considering there are charges incurred for each interaction with the ATM, it would cause issues. Therefore, when the bank wishes to apply a “Retrieve balance for all Accounts” function within the service, it can be easily derived from the “Retrieve balance” and applied just as fast. The services are not so closely attached that they would fall apart if they are required to be edited.
A new approach of presenting the SOA recently is in the use of XML language. This is because the user only requires a browser that can make use of the XML script, and nothing more. This approach to deliver SOA is useful because there are no “latest technology” that is required to use the services. The user can simply log in, and make the requests at the click of a button. The computer will deal with the requests in the background because it can easily interact with the services because the same lingua franca is being used.
Image Source: technorati