Service Oriented Architecture (SOA) is a modular approach to the software engineering, based on utilization of services with standardized interfaces (Reference Model for Service Oriented Architecture 1. 0, 2006). Underlying SOA are the principles of reusability of IT functional elements, elimination of software functionality duplication, unification of standard operational processes, provision of the company operational model conversion to centralized processes and functional organization on the basis of the integration technical platform.
The program components can be allocated within different stations, and are offered as self-contained, slightly intertwined service applications. Bundled software, designed on the basis of SOA, is often realized as a web service suite, integrated by means of the well-known standard protocols (SOAP, WSDL, etc. ) (He, 2003).
Service Oriented Computing (SOC) is a high-tech sphere, involving a great number of technologies and strategies, which arise out of “such disciplines as Workflow Management Systems, Component Based Computing, “classical” Web applications, and Enterprise Application Integration, as well as Message Oriented Middleware” (Workshop Overview, 2007). Middleware is software that occupies a position in a hierarchy between the operating system and the applications. The middleware layer consists of agents, which are moderators between different components of a large-scale application.
Besides, it is often used within distributed applications, whereas there can be several agents, forming this layer (Service Oriented Infrastructure, 2007). Thus, middleware is the core of modern applications, based on SOA. The effectiveness of SOA consists in its capability of business dynamics provision by means of integration and reusability of business processes (The impacts of service-oriented architecture, 2006). Another important factor of SOA efficient operation is security of Web services.
It is realized with the help of the built-in set of standards, developed within the framework of the OASIS consortium, which includes: – Web services access control and one-time authentication (Single Sign-on, SSO). – Security policy centralized control. – Monitoring process unification. – Routing of requests to Web services (Effective SOA governance, 2006). “The workhorse of a SOA is an Enterprise Service Bus (ESB)” (OsESB Documentation, Part 1: The SOA Stack and the ESB).
ESB is an approach to the construction of the distributed corporate information systems, which provides: – Service location transparency. “Business services are exposed to consumers as a service name using a published interface, such as WSDL, which specifies the input and output structures for the service” (OsESB Documentation, Part 1: The SOA Stack and the ESB). The ESB architecture consists in interaction of all applications through a single point, which, if necessary, provides the fulfillment of transactions, data transformation, and access retention.
This approach ensures flexibility, easy scaling and transformation. In case an application is replaced, there is no need to retarget the rest of applications (Afshar, 2007). – Joint use of information within the company. “The ESB provides access to enterprise resources, making their data and functionality available to business services” (Enterprise Service Bus, 2008). Before implementing SOA, an enterprise should weigh its pros and cons as compared with non-SOA systems, namely the traditional ERP (Enterprise Resource Planning System) system.
Experts say that the potential of monolithic bundled software like ERP is considerably exhausted in terms of business. While SOA system is a unified end-to-end solution, requiring substantial investment, which means that results can be achieved only in case of conversion of the majority of interfaces, systems and tasks to SOA (Jamil, 2007). Therefore, SOA implementation projects are likely to be realized within large companies, having sufficient quantity of different applications and online interfaces.