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.
Concept Of Soa
SOA is a framework that offers application integration based on the concept of providing independent or loosely coupled services. It is viewed from a technological perspective as well as a business perspective not just as a result of previous integration solutions being too technological driven but also due to its focus on the business requirements. SOA can be expressed as a set of flexible services and processes that a business wants to expose to its customers, partners or internally to other parts of the organization (Bierberstein, 2005). SOA defines software in terms of discrete services, which are implemented using components that can be called upon to perform a specified operation for a specific business task (Bierberstein, 2005).
During the late 1990s many organizations invested heavily in Information Technology. Their ever-growing architectures had become increasingly difficult to integrate and new company-wide applications called Enterprise Resource Planning (ERP) systems emerged. These systems had been designed to integrate and optimize various business processes such as order entry and production planning across the entire organization (Mabert et al, 2001). For example a clerk in the delivery department registered that new goods have arrived. The ERP software automatically triggered an update of the stock ledger and adjusted the machines’ production schedules.
ERP packages were advertised as end-to-end solutions, which could replace all other existing application. However many organizations discovered that these packages could not provide all the required functionalities and had to implement ERP within the existing architecture (Mabert et al, 2001). ERP package had become one of many applications in organizations. Some organizations even use multiple ERP packages.