|By Philip Stander||
|September 3, 2012 06:00 AM EDT||
Service Oriented Architecture was hailed as the next major leap ahead in the ICT industry and was predicted by many to be as big a leap forward as that achieved with Object-Oriented software design patterns. For example, in 2006, Joseph Bih introduced SOA in a research article as an innovative new way to conduct e-business. While much published and promoted in the marketplace, SOA adoption has been the subject of significant controversy, not least of which is the publication of a landmark article by now Gartner Fellow Anne Thomas Manes in January 2009 in which SOA was declared "dead". This publication examines the health of SOA as a relevant paradigm in the ICT industry three years after some market opinion leaders declared SOA dead.
Anne Thomas Manes from The Burton Group (now part of Gartner and with Ms Manes a Gartner Fellow) published a landmark article as long ago as 5 January 2009 proclaiming that SOA is dead, citing economic downturn as well as focus on appropriate SOA supporting technologies as opposed to architectural approach reinvention as the key reasons for purported failure.
"Once thought to be the savior of IT, SOA instead turned into a great failed experiment-at least for most organizations. SOA was supposed to reduce costs and increase agility on a massive scale. Except in rare situations, SOA has failed to deliver its promised benefits. After investing millions, IT systems are no better than before. In many organizations, things are worse: costs are higher, projects take longer, and systems are more fragile than ever. The people holding the purse strings have had enough. With the tight budgets of 2009, most organizations have cut funding for their SOA initiatives." - http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html
Understanding the meaning of SOA
SOA is a natural evolution of client-server programming. The major difference between traditional client-server programming and SOA is that the server-side processing in a SOA environment is governed by business processes. This has the benefit (and promise) of bringing service delivery for any business closer to business analysts and therefore a common understanding across a broader spectrum of business personnel about the technology used to support business services. If your organisation adopts SOA internally with all services under your control, then SOA is simply defined as client-server where server side business logic is determined by configurable business processes. At its true core SOA means less coding and more business process configuration (in other words Business Process Management) and governance that is entrenched in the way systems are designed.
OASIS Definition of SOA
According to the SOA-RM specification, SOA is 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. The SOA-RM specification bases its definition of SOA around the concept of "needs and capabilities", where SOA provides a mechanism for matching needs of service consumers with capabilities provided by service providers.
The Open Group Definition of SOA
Service-Oriented Architecture (SOA) is an architectural style that supports service-orientation. Service-orientation is a way of thinking in terms of services and service-based development and the outcomes of services.
- Is a logical representation of a repeatable business activity that has a specified outcome (e.g., check customer credit, provide weather data, consolidate drilling reports);
- Is self-contained;
- May be composed of other services;
- Is a "black box" to consumers of the service.
The Technology and Architecture Paradox
SOA is, by definition, an architectural paradigm and therefore SOA business adopters are buying into a new way of designing their IT systems to support their business objectives. While it is an architectural paradigm shift, effective SOA adoption also requires the use of new technology platforms to support SOA. The fact that SOA adoption requires new technology platform adoption to support SOA was pounced on by various technology vendors that reinvented existing Enterprise Application Integration (EAI) and Middleware Platforms and punted these platforms as SOA-enabling platforms and SOA adoption soon became a new selling job in the ICT industry without proper disclosure of the internal IT architectural paradigm shift that was needed for effective SOA adoption.
Bottoms-up versus Top-down SOA
As expected, with the advent of any next evolutionary step, thriving software empires will naturally leverage their existing market dominance to promote their products to fulfil the technology needs to ensure that businesses keep abreast with emerging ICT technology trends. As a result, many large enterprises adopted a top-down SOA approach after acquiring licenses for new purported SOA killer applications and frameworks. SOA is however an IT enterprise reorganisation journey and most certainly not a product or a few quantified projects. Prior to acquiring software licenses to support a SOA initiative, any business needs to reorganise their IT approach. In our opinion at globetom, SOA adoption must take place using a bottoms-up approach. SOA is about gradually transforming your present IT assets into a Service Repository asset. With this approach, your assets gradually become your service repository and its underlying business processes that may leverage other finer-grained or atomic business services.
It is our view that the disillusionment that culminated in statements that SOA is dead originated from large enterprises that wrongfully believed SOA to be the silver bullet that will magically rectify highly fragmented and broken IT infrastructures with a major top-down approach. Some of these projects may have originated without the organisation even having adopted an Enterprise Service Bus (ESB) strategy.
Delivering on the agility promise
As online commerce (Business-to-business and Business to Consumer) starts becoming a key business strategy of almost any business today, agility and elasticity of electronic services are becoming key business imperatives for such organisations. Years ago, prior to the advent of Enterprise Application Integration (EAI) and middleware frameworks, business had a few controlled service delivery channels that were tightly coupled to point systems that were responsible for transaction fulfilment. With the advent of enterprise middleware and the web, companies were increasingly able to reach a wider market and, at the same time, with proper middleware adoption, abstract service delivery channels from their underlying supporting back-end system technologies (an architectural need referred to as Horizontal Systems Integration).
True SOA adoption delivers agility to the enterprise when adopting service exposure with implementation as configurable business processes. If organisations equip their IT enterprises with tools that facilitate integration with legacy systems by exposing point solution functions as services and then build business processes using Business Process Management (BPM) tools. The agility gains are delivered in three dimensions:
- Loose Coupling Agility Gain: Your service delivery channels are provided with a bouquet of services that can be consumed from any access channel. Equivalent functionality is guaranteed over all access channels as the same service implementations are consumed across all channels.
- Configured Business Process Agility Gains: Business processes are easier to change than traditional code. While your business leverages its existing service repository assets, business processes can be evolved rapidly to meet changing business needs;
- Back-end point solution abstraction and reduced vendor lock-in: Services or tasks that provide access to specific functions offered by specific point solutions in your IT organisation become the asset and not the actual point system. SOA therefore crystallises the real business use of specific point solutions. This also means that your organisations business processes use the services and only indirectly the point solutions or products. SOA-centric enterprises therefore gain the benefit that the use of specific point solutions become tactical as these systems can be more readily replaced provided that the services are retained when adopting a new technology. For example, a legacy point system may perhaps be readily replaced with an equivalent public cloud offering and system integration with the cloud service vendor.
Why SOA is not dead
Empirical research results
Figure 1 - Annual SOA-related patents issued
The software world is continuously being reshaped by hype cycles followed by incremental enhancements in the way software is built to meet business needs. If we filter through this hype and look at real measures of the relevance of SOA, you will find a totally different picture. Using Google patent search analytics, the number of SOA-related patents issued since 2000 was obtained and this is depicted in Figure 1. The first patents were issued in 2005 and a sharp increase in SOA patents is observed from 2010 and with a total of 882 patents relating to SOA or of which SOA at least forms a component were issued in 2011. So, looking beyond hype and "opinion pieces", significant research and development has been extended during the past decade with early adopters probably embarking in Research and Development projects early in the first decade of the millennium. This empirical analysis provides a more reliable measure of the perceived value of SOA by the broad ICT innovation community.
At the same time, a rough empirical indication of the commercial relevance of SOA is obtained by looking at the annualised growth of search hits for the phrase "Service Oriented Architecture" as depicted in Figure 2. It is evident that, from 2004, a steady increase in sites publishing SOA-related material was observed with a sharp increase observed in 2011.
Figure 2 - Annualized Google search hits for "Service Oriented Architecture" compared to other mainstream ICT terms
When researching the pervasiveness of Service Oriented Architecture (or sometimes referred to in the academic communities as Service Oriented Computing - SOC), it is evident that SOA is alive and well as a paradigm promoted by Schools of Computing and Information Science. Arizona State University researchers published their findings on the viability of making SOA education part of High School education curriculums. Their research concluded that SOA education is feasible at high school level. Also importantly, the article introduces SOC as a major computing paradigm as outlined in the rough chronology below:
Figure 3 - Rough timeline of the evolution of major Computing Paradigms dominating Computer Science Education
The University of Queensland presents a full semester course in Service Oriented Architecture.
Carnegie Mellon University also offers courses in SOA.
A search for "Service Oriented Architecture" University Course yielded approximately 800,000 results. It is therefore evident that significant investment in formal SOA education has been made by the academic community in recognition of SOA as a mainstream computing paradigm.
Common Sense Perspective
Businesses are fuelled by business processes, i.e. the process capital that defines the unique and differentiating way in which a business conducts day to day activities. Software and systems architectures that reach out to bring technology closer to business people that understand their process capital but not necessarily ICT can gain a better understanding of the ICT systems that support their business processes. SOA delivers on this promise as Business Process Management (BPM) is central to successful SOA adoption. In a SOA-centric enterprise, IT personnel are able to talk business processes to business people. This common understanding of business processes from both technology and business driver perspectives will fuel mass adoption of SOA as a next software engineering paradigm by delivering better business and IT alignment.
SOA and the concepts of Agility and Reuse
While platform and framework technology investments are almost always made on the back of perceived benefits such as increased reuse and agility gains, these benefits are always difficult to measure and quantify. At the same time common sense dictates that, with a rich Business Process Management (BPM) technology as an underpinning foundation of SOA, business should be able to adapt quicker to changing market circumstances by evolving business processes or to develop new ones. A better common understanding between business decision makers and IT technologists of the technology support for business processes also results in improved agility.
SOA, Cloud Computing and Software as a Service as indivisible terms
Whereas perhaps present mainstream adoption of cloud services is in the Infrastructure and Storage as a Service space, IT departments will increasingly rely on delivering business processes and services for internal consumers within an organisation. Common sense dictates that once SOA adoption has been achieved, the same principles apply to start offering business processes and services (Process as a Service) in the public cloud.
SOA and the Software as a Service (SaaS) Stack
SOA is about the development of ICT technology solutions as a collection of consumable services in a service asset repositories with real-world and well-understood effects. This therefore means that services should be conceptualised in the Xaas (Anything as a Service) stack.
Figure 4 - The XaaS Stack
Let's conceptualise the SaaS stack as a solution stack that can be used by SaaS adopters at any layer. As depicted in Figure 4, each layer represents an element of SaaS (Infrastructure, Storage, Database, Information, Process, Application, Integration, Security, Management/Governance and Testing). Each layer also represents usable services to business.
The true value of SOA is found in the exposure of Business Processes as a Service (Process as a Service layer) in which consumers access services of which the implementation is governed by well-defined business processes.
Towards the Dynamic Enterprise with SOA
In a SOA-centric IT organisation, the XaaS stack is utilised as depicted on the right. While XaaS vendors offer services at different levels in the stack, globetom is focusing on one of the key goals of SOA - delivering services to consumers using Process as a Service. This means that business processes are developed using BPM and advertised as services. These services could be internal to your organisation for consumption by internal customers or could easily branch out to be offered in the public cloud. Using integration with ESB-based internal consumption to access internal XaaS service layers, e.g. Database services, internal IT assets are orchestrated to deliver business process based services. At the same time a SOA-centric IT organisation can extend Integration seamlessly to consume partner services using mainstream consumption interfaces such as Web Service consumption.
The SOA paradigm can therefore be used as an application development style for internal application development to deliver services to internal consumers only. Extending service visibility and consumer access to the private cloud (perhaps for trading partner consumption) or over to the public cloud for mass consumer use becomes a natural extension of visibility and reach of services only and not a re-engineering exercise.
Key Business Benefits of SOA
According to the Open Group, the key benefits of SOA adoption are as follows:
Through providing the opportunity to consolidate redundant application functionality and decouple functionality from obsolete and increasingly costly applications while leveraging existing investments.
Structure business solutions based on a set of business and IT services in such a way as to facilitate the rapid restructuring and reconfiguration of the business processes and solutions that consume them.
Increasing Competitive Advantage
Provide the opportunity to enter into new markets and leverage existing business capabilities in new and innovative ways using a set of loosely-coupled IT services. Potentially increase market share and business value by offering new and better business services.
Deliver business-aligned solutions faster by allowing the business to decide on the key drivers of a solution and allowing IT to rapidly support and implement that direction.
Integrate across silo'ed solutions and organizations, reduce the physical number of systems, and enable consolidation of platforms under a program of -graceful transition‖ from legacy spaghetti dependencies to a more organized and integrated set of coexisting systems.
SOA enables organizations to better align IT to business goals, enabling the business to associate IT with capabilities that an organization wants to achieve in alignment with its strategic plan, leading to both sustained agility and re-use overtime.
The benefits can be further categorised as depicted in the diagram below by classifying benefits of SOA adoption in terms of IT, Business and shared benefits:
SOA adoption will be fuelled by massive cloud service adoption where organisation's CIOs will have to respond to disruptive market forces by integration with cloud service vendors to deliver new services. This can be coined as the "consumer agility challenge". In order to meet this challenge, SOA will be needed to use Business Process Management (BPM) and rapid systems integration capabilities to meet this demand.
At the same time businesses wanting to leverage a world-wide customer audience with online services in business-to-business and business-to-consumer arrangements will need the tools and internal IT process capital to rapidly build and deliver new services and to monetise these services in the cloud. Without SOA adoption this will not be possible as IT departments will be left with traditional software engineering challenges and perhaps spaghetti integration of service access channels with back-end applications. This can be coined as the "service provider agility challenge".
These challenges can definitely be overcome with a sound SOA adoption strategy and the paradigm shift that SOA adoption brings about with the main shift being to think about ICT technology delivery in the form of tangible business processes and services.
 SERVICE ORIENTED ARCHITECTURE (SOA) A NEW PARADIGM TO IMPLEMENT DYNAMIC E-BUSINESS SOLUTIONS, August 2006, Joseph Bih, Source: http://ubiquity.acm.org/article.cfm?id=1159403
 An Introductory Course on Service-Oriented Computing for High Schools, W.T. Tsai, Yinong Chen, Calvin Cheng, Xin, Sun, (School of Computing and Informatics), Gary Bitter, Mary White (College of Education), Arizona State University, Tempe, AZ, USA, Journal of Information Technology Education, Volume 7, 2008
 The Open Group, SOA Reference Architecture, ISBN: 1-937218-01-0, Document Number: C119, Published by The Open Group, November 2011.