New age enterprises need to respond effectively and efficiently to the opportunities given by the present world markets. To get used of business agility, enterprise needs to update the existing business processes while rendering various packaged and home applications found spread all through the enterprise in a standard manner. Web services has overcome the above critical issues, web services can accumulate easily to form independent and loosely coupled business processes. Emergence of Web services and the standards which supports automatic business integration has brought in major technical advancement in the integration software space, particularly, service oriented architecture (SOA) (Booth et al. 2004).
Service oriented architecture (SOA) is the term which describes the procedure and structure that allow distinct software applications to make their resources accessible to one another. SOA is being seen as the new look of the "enterprise application integration", SOA provide few features such as improved design, "agility", "reusability", and "maintenance savings". SOA has become the first choice of "enterprise application integration" (Seshadri 2007). In SOA all the structures and procedures are defined using an interface description and have inviolable, platform sovereign interfaces to perform business processes (Barry 2003).
The main purpose of SOA is to address the requirements of "loosely coupled", "standard based", and "protocol independent distributed computing", "mapping enterprise information system" to general business procedure (Papazoglu, and Van den Heuvel, 2007). In SOA, software resources are put together as services and are well defined, self contained unit which provide functions of standard business. SOA are autonomous of the state or perspective of other services. Services are expressed in a standard language, have a available interface, and corresponds with one another executing their procedure to cooperate a general business procedure or process (Fremantle et al. 2002).
SOA design allows the developers to prevail many computing challenges of the enterprises such as "application integration", "transaction management", "security policies". SOA allows the developer numerous proposal and protocols and leveraging many access appliance and inheritance systems (Alonso et al. 2004). The most important goal of SOA is to overcome these difficulties such that the applications combine and run effortlessly. In this way SOA convey flexibility and agility which the business require, defining common grained services, which might be combined and used again to make possible in progress and varying needs of business as the key obstruct of enterprises (Papazoglu, and Van den Heuvel, 2007).
SOA uses a logical method of designing a software structure to offer services to end user applications or other services spread in a network throughout the available and discoverable interfaces. SOA is determined on building a proposed style, technology, and process structure which allow enterprises to build up, communicate, and sustain enterprise applications and services effectively and efficiently. SOA looks to conceal previous hard work such as modular programming, code reprocess, and object oriented software improvement techniques. Design of SOA is independent of any specific technology; this is due to restraining the number of performance limits to the service interface level. SOA requires the functions to be defined by a description language and have interfaces which execute functional business processes. The fundamental goal of a function in an SOA is to symbolize a used component of complete business work. A service in SOA is an uncovered portion of functionality with three important policies. Firstly, an SOA-based service is self controlled, the service sustain its individual state. Secondly, services are policy independent; implying that the interface deals with the service is limited to policy independent statement. Finally, SOA believe that services can be animatedly located, cited and combined (Papazoglu, and Van den Heuvel, 2007).
Generally, SOA service is a combined pair of interface and execution. Service interface describe the characteristics of a service and its logistics. Service execution executes the work which the service is designed to do. Since, interfaces are policy autonomous, a customer from any communication device via any computational policy, operating system and any programming language can use the service. These two features of the service are designed and maintained as different items, although their existence is highly unified (Papazoglu, and Van den Heuvel, 2007).
SOA offer a flexible design which interrelate business processes by organising big function into services. A customer from any device, via any operating system, in every programming language, can access an SOA service to create a new business process. SOA build a group of services which communicate with each other using service interfaces to spread messages from one service to another, or organize an activity between one or more services. Services used in complex applications may be brand new service operation; they may be part of previously used applications that were adapted and enfold, can be combinations of the above. Frequently, the customer designer of the service does not have direct access to the service operation, other than indirectly through its interface. Peripheral internet service providers and SOA wrapped applications plainly offer the interfaces without edifying the interior operational of their environment. Thus, with SOA, an enterprise can build, arrange and incorporate numerous services and compose new business functions by merging new and existing application into a logical flow. Consequently, for well defined and semantically explicit applications SOA can serve as an enabler of just-in-time integration and interoperability of inheritance applications (Papazoglu, and Van den Heuvel, 2007).
- Fremantle, P., Weerawarana, S., Khalaf, R. (2002). "Enterprise services". Communication ACM Vol. 45 no. 10.
- Papazoglou, M. P., and Van den Heuvel, W. J. (2007). "Service oriented architectures: approaches, technologies and research issues" Regular Paper, pp. 389-415.
- Alonso, G., Casati, F., Kuno, H., Machiraju, V. (2004) "Web Services: Concepts, Architectures and Applications", Springer, Heidelberg.
- Booth, D., et al. (2004). "Web Service Architecture". Internet document available at http://www.w3.org/tr/ws-arch/, W3C, Working Notes. Accessed on 30th march 2010.
- Barry, D. K. (2003). Web Services and Service-Oriented Architectures, Morgan Kaufmann Publishers, San Francisco, CA.
- Seshadri, G. (2007). "Case Study Implementing SOA: Methodology and Best Practices" in Lam W., and Shankararaman V., (2007). Enterprise Architecture and Integration: Methods, Implementation, and Technologies, Information science reference, Newyork.