
Click on the above image to enlarge.
Description:
SOA builds on top of the 3TA and addresses its shortcomings. SOA looks at the IT infrastructure as a set of services and applications. Services implement some kind of functionality and are used by applications and other services. Services communicate between each other and with applications by exchanging XML documents. SOA applications correspond to the 3TA presentation layer, while SOA services correspond to the 3TA business logic and data layers. In SOA all the complexity of the system is encapsulated in coarse grained services and applications are kept extremely simple. The main concern of applications is to display XML data they get from services and to send XML data to services based on user input.
SOA introduces three additional requirements over 3TA:
- Completely separating the presentation layer from the other layers.
- Breaking down the other layers by coarse grained functionality to make services.
- Having the services communicate with each other and with applications by exchanging XML documents (typically using web services).
Disadvantages of SOA:
- SOA results in the addition of XML layers introducing XML parsing and composition, applications could run slower and require more processing power, increasing costs.
- Increases the coupling between a service provider and a consumer and makes switching service providers more difficult.
- SOA is merely an obvious evolution of currently well-deployed architectures (open interfaces, etc).

