Eric Marks, CEO, AgilePath Corporation
Service-Oriented Architecture (SOA) has been an enigma as far as technology trends go. Hyped with great fanfare in the early 2000s, SOA promised to transform IT and business by harnessing reusable Web services, which were enabled by a slew of XML-based standards. SOA has been up, then down, then “dead,” and continues to evolve with the rise of Cloud computing and Big Data. Cloud computing is an example of SOA, and represents a wildly successful example of delivering IT capabilities as a Service. The Cloud computing industry demonstrates the original value and operating model of SOA. It just took 10- 15 years to get it right! So, what is really happening with SOA?A look back will help bring us to today’s current state of SOA.
SOA combines the business concept of sharing and reuse of business services with the technical enablement of these services using Web XML-based standards for messaging, interfaces, transport and registration. In simple terms, SOA is a paradigm in which “services,” the Lego blocks of business capabilities, are used to flexibly build business applications and business processes simply by combining or recombining these “SOA Lego blocks” into new configurations.
“SOA has been up, then down, then ‘dead,’ and continues to evolve with the rise of Cloud computing and Big Data”
For example, an Identify management Service provides shared identity management capabilities such that business applications do not have to build their own security. Rather, they reuse the shared Identify management service for user access and security. Within a portfolio business applications, there are many examples of reusable business services that can be shared by various applications, such that building a common shared service provides savings and efficiencies by having all applications use the same master service.
The business concept of sharing and reusing services is challenging in its own right, given the budgetary silo-ed reality in most public and private organizations. However, SOA technologies offered great promise for the SOA movement. Never before had Microsoft, IBM, Oracle and most of the major IT companies agreed on industry standards with such unanimity. XML (eXtensible Markup Language), Web Services Description Language (WSDL), SOAP (formerly Simple Object Access Protocol, now just called SOAP), and UDDI (Universal Description, Discovery and Integration) provided the basic SOA standards foundation upon which a generation of vendor tools and solutions were built, all to enable and facilitate the creation and reuse of SOA Web services. Upon these standards, many more followed for process orchestration, security, and eventually interoperability of services across vendor SOA platforms.
Architecture (EDA) was also rising, with its emphasis on eventing-services. SOA 2.0 saw SOA fall into Gartner’s trough of disillusionment, and its value relative to the effort was under siege. Soon, the SOA 3.0 era arose.SOA 3.0 is all about the Service-ization of everything, from IT infrastructure (yes, you guessed it, Infrastructure-as-aService, IaaS) to application development platforms as a Service (PaaS), to all of IT services. SOA 3.0 is the era we are currently in the midst of. However, there are a few trends to watch in what we might call SOA 4.0.A recent trend is toward microservices, or fine-grained single purpose APIs, that can be quickly and easily used to provide and consume data from an integration perspective. The rapid rise of mobile apps and mobile technologies are major drivers of microservices.The rapid perception that SOA was “too difficult” Ivan Dianov to achieve. Increasing discontent with the overhead and complexity of WSDL/SOAP communications, and the attendant SOA standards, technologies and tools required caused many organizations to fall into the trap of “buying a SOA,” or adopting a vendor SOA stack in hopes that it would hide the complexity and challenges that came with “doing SOA.”This marked the end of the SOA 1.0 era.
Soon the industry realized that SOA is a way of designing applications based on consuming reusable Services to help make applications more efficient, less expensive, and reduce time to market through basic reuse. You can’t “buy a SOA.”You have to “do SOA.” SOA 2.0 ushered in the adoption of a new Service interface standard, ReST, or representational state Transfer. ReST was a much simpler Web standard for Service interfaces, and it avoided much of the overhead of WSDL-described Services. Business Process Management (BPM) initiatives began to be major drivers of SOA, based on orchestrating business processes using the reusable Lego Services. Event-Driven Architecture (EDA) was also rising, with its emphasis on eventing-services. SOA 2.0 saw SOA fall into Gartner’s trough of disillusionment, and its value relative to the effort was under siege. Soon, the SOA 3.0 era arose.SOA 3.0 is all about the Service-ization of everything, from IT infrastructure (yes, you guessed it, Infrastructure-as-aService, IaaS) to application development platforms as a Service (PaaS), to all of IT as a Service (XaaS). The rapid rise of Cloud computing, via Amazon and others, accelerated the rise of ReST as the API of choice, but also to the realization that so many IT capabilities could be packaged and provisioned via a service interface (API) to internal and external consumers.
Cloud services are a wonderful example of SOA, and provide validation of the SOA paradigm. In fact, the rise of Cloud Brokers even validates the original vision of SOA 1.0 and the UDDI service broker concept. Cloud services, XaaS, and IT as a Services strategies are simply “SOA” with a capital “S”. The success of the Cloud computing industry is based on the original SOA 1.0 vision of exposing business and IT capabilities via an interface (or API) that allows easy consumption and reuse of Services.
What is big about SOA 3.0 is the repositioning of IT as a broker of IT Services, whether from internal IT capabilities or from 3rd party service providers. This model of IT Services delivery helps make IT relevant to the business again, by re-intermediating itself as a relationship manager to the business, and as the master broker of all IT services. SOA 3.0 is the era we are currently in the midst of. However, there are a few trends to watch in what we might call SOA 4.0.A recent trend is toward microservices, or fine-grained single purpose APIs, that can be quickly and easily used to provide and consume data from an integration perspective. The rapid rise of mobile apps and mobile technologies are major drivers of microservices. The rapid adoption of DevOps strategies coupled with Agile development auger for more demand for SOA-based Cloud and integration services as Cloud, Big Data, Mobile and Social technologies continue to proliferate.
The SOA journey continues to evolve today. The success of Cloud computing seems to indicate that the SOA paradigm was a massive success. Sure SOA had its struggles, as any emerging technology does, but what makes SOA persist is the original business concept: Sharing and reuse of business services is a good thing. Cloud computing is based on the very same concept.
However, like teaching our kids to share toys, teaching adults to share and reuse business services is a difficult undertaking unless the governance mechanisms and corporate culture are supportive of “enterprise thinking” versus silo thinking.SOA is more of a behavior than a technology.“Doing SOA” requires the proper behavior, and that is why SOA and IT Governance are critical. Without the appropriate SOA behavior, the technology will continue to fail in delivering reusable shared capabilities.