Last visited:
Created by Adminsske on 5 July 2012, at 03:21


Jump to: navigation, search

SOA is a business-IT-aligned approach in which applications rely on available services to facilitate business processes. Bridging IT and business requirements, which SOA intends to achieve, is a constantly increasing demand in today’s economy. Modern businesses are very flexible and have ever changing requirements, which in turn demand for flexible IT support. A business can be considered in terms of a set of business components that require each the synergistic operation of multiple business processes, each implemented by means of IT resources. Thus, implementing a Service Oriented Architecture usually involves the componentization of the enterprise or the development of applications that use services and the making of applications available as services so that other applications can use them. In this context, services can be viewed as reusable software components that are provided by a service provider and consumed by service requestors.

SOA can be used as a model at different levels. It can guide the use of IT technologies at a programming level, or, if looking from a middleware perspective, it can guide the way products and open-source software are designed. SOA can also be used at a process level as a model for the integration and management of business processes. Finally, at a business level, it can guide the way enterprises are componentized into business processes, enable them to be reusable and configurable. As such, SOA can represent a consultation model for the high-level transformation of an enterprise in two ways, either by realizing each business process through IT processes, or by integrating SOA-based IT resources to create new business processes in a more efficient way.

SOA model.PNG

SOA Roles

Thus, more than a solely architectural model for software development, SOA is a guideline for better managing business processes and enterprises. The operational model proposed by SOA in this sense is triangular, aiming to represent a backbone for the creation, registration, discovery and composition of distributed services. The model identifies three service roles and each entity in the service-oriented architecture can play one (or more) of these three roles:

  • the Service provider is the one that provides the services; it consists of a network-addressable entity that accepts and executes requests from consumers, while publishing its services and interface contract to the service registry in order to make the service discoverable;
  • the Service requestor (or service consumer) is usually an application, a software module or another service that requires a different service. It initiates the enquiry of the service in the registry, binds to the service and executes its provided function according to the interface contract;
  • a Service broker (or service registry) enables the service discovery. It contains a repository of available services and allows for the lookup of service provider interfaces to interested service requestors.

SOA Operations

There are three operations in a service-oriented architecture:

  • Publish: a service description must be published so that it can be discovered and invoked by a service requestor;
  • Discover: a service requestor locates a service by querying the service registry for a service that meets its criteria;
  • Bind and invoke: After retrieving the service description, the service requestor proceeds to invoke the service according to the information in the service description.
This page was last modified on 5 July 2012, at 04:00.This page has been accessed 1,313 times.