Service Oriented Architecture (SOA) is an arrangement of Information Technology (IT) services that have the following characteristics:
- Loose coupling
- Standardized interfaces
- Consumer-provider relationship
The Organization for the Advancement of Structured Information Standards (OASIS) defines SOA as “A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations.”
SOA is a collection of services. Individual services represent the bare minimum in functionality. Individual service does not require references from other services about its context and state; it is independent of all other services. These services are combined to design and develop complex applications and functionalities. At the basic level, the services are fairly static; that their character is rigid and unlikely to change. Thus the services are said to represent the architecture at the very atomic level.
SOA owes its evolution to the ever-growing complexities of present day IT infrastructure. The dot-com bust in the early part of the century has made stakeholders wary about investing in IT without proper due-diligence. SOA presents the following features that render it as an attractive option for stakeholders:
- Modularity and reuse: SOA separates key and secondary services. The key services remain relatively unchanged while the non-key services are more susceptible to change. As a corollary, key services constitute the key business processes while the non-key services constitute non-key business processes. Telcos can structure applications as sum totals of various existing services, thereby reducing the time to market.
- Loose coupling: Loose coupling insulates the architectures of various services from each other. The services interact only through standardized interfaces. Loose coupling enables modularity and interoperability. This attribute can aide telcos interfacing legacy services with the next generation ones.
- Services management: SOA allows for effective retrieval, reuse, componentization, optimization, implementation, categorization and replacement of services seamlessly. Moreover services are provisioned through categorical and unambiguous contracts, making them predictable and easy to manage. Additionally, the service provider can hide features of the services not covered in the contract from the service requestor. Telcos can thus flexibly manage services and adopt a stepwise approach towards IMS implementation.
- Standardization: SOA employs widely available and accepted specifications such as Internet protocols, UDDI and WSDL among others, ensuring a wider participation of platforms and tools such for services system development. Additionally, leading ERP systems support SOA and are web services enabled. It is important to make a distinction between the standardization features offered by SOA and SDP. While SOA is highly standardized, SDP is not, as SOA is just one of the many components of the SDP.
- Service visualization: SOA brings the architecture closer to the business interests. It facilitates rapid services roll-out in synch with business demands. It masks the underlying nitty-gritty and presents the business view to the end user. At the same time, SOA can also enable service roll-out in calibrated phases in cases where the organization does not want to go all out with the roll-out without ascertaining the performance of the incremental change. With the prevalence of data services; functions such as partner management and integrated back-office operations are gathering importance in the telco domain. The overlap between telco operations and conventional IT driven enterprises is on the rise. In this context, getting a business view of services is critical to telcos as well.
- Protection from obsolescence: SOA allows legacy applications to co-exist and function with newer systems. Tools are available to interface Web services with Mainframes, iSeries and similar legacy platforms. Using the same principle in the telco domain; legacy operations can co-exist with the cutting edge ones.
- SOA removes the drudgery associated with the process of optimizing existing code for re-use. Traditional re-use methodologies essentially boil down to modifying large portions of existing code in order to facilitate re-use. These methodologies are thus a drain on time and resources. SOA provides a very elegant option to utilize these codes and save them from obsolescence. SOA essentially emphasizes multi-use of the same code than modifying the code for re-use. The encapsulation of the code with standardized interfaces obviates the need for incorporating the code in enterprise applications. Applications can just point to the service containing the code and utilize them. The facility of multi-use has important implications for code that is written afresh as well. SOA services are inherently designed to support change. The receptiveness to change translates into ease of process modification with a fraction of the effort required in traditional methodologies. In particular, SOA is very effective in integrating disparate services that have been developed at different points in time, instead of building service ground-up.
- SOA facilitates orchestration by stringing SOA-enabled custom built IT services and SOA-enabled services that are parts of Enterprise Resource Planning (ERP) packages such as SAP and OracleApps. Taking cue, professional SDPs also offer orchestration facilities with enterprise applications and telco back-office platforms.
For more information, see: