Service-Oriented Architecture
For centuries, organizations have been trying to exchange information between their applications by linking them together. However, such application integration has not been as successful as organizations have hoped. With the introduction of SOA, application integration is more successful than the previous integration techniques. SOA is a design philosophy in which resources are cleanly partitioned into remotely accessible software components performing self-contained functionalities, called services. The reinvention of SOA in recent times is attributed to the rise of Web Services, which has become commonly used in VLITP to expose services within the host organization. However SOA can also be implemented with other service exposing techniques. SOA is based on the concept of separation of concerns, realizing that no single entity can be best at everything. SOA is usually implemented using an Enterprise Service Bus (ESB). The ESB is responsible for routing, prioritizing, scheduling, monitoring, and controlling the flow of traffic between services and therefore forms the middleware for Service Orientation.