Evaluating Technologies through the Lens of SOA
As technology professionals, our mission remains the same; to select and implement the best possible technology at the lowest possible total cost of ownership and to enable businesses be as automated, efficient and profitable as possible, all the while ensuring we have the appropriate uptime, security, and operational controls in place. All technology should have a quantifiable positive impact on the company, the users, the customers and the top and bottom line. Technology has always been a build versus buy discussion and, in recent years, there continues to be a definitive shift from build to buy, or, to rent on a subscription basis. For many of us, our role as technologists has shifted from a role as a builder to the role of selecting, configuring and integrating best-in-class Software as a Service (SaaS) solutions with other SaaS solutions or legacy systems.
Selection of technology is best facilitated through the definition and documentation of solid business requirements and through execution of an effective Request for Proposal (RFP) process, which generally focuses on the vendor viability, solution functionality, technical architecture, total cost of ownership, and information security aspects of each solution being evaluated. However, an organization must have a pre-described and adopted technical architecture integration methodology to ensure that all technology that is being evaluated and selected, or built in-house, can be easily, effectively and securely connected and integrated with the other systems, applications and solutions across the enterprise. Automation of business processes, workflow, task management, exception management, messaging, alerting and the movement of work product and data within an application, across systems and solutions, is the ultimate goal.
The goal of SOA is to integrate and automate business processes across technology in a standardized, robust, reliable and secure manner.
This can be achieved through the implementation of Service Oriented Architecture (SOA), which has been around for quite some time and continues to evolve. The goal of SOA is to integrate and automate business processes across technology in a standardized, robust, reliable and secure manner. Aligning business processes with technology, SOA provides a blueprint and framework to effectively and efficiently implement and integrate messaging, task management and workflow within a single system or across complex systems and applications. As technology continues to shift from on-premise hosted solutions to the cloud, and with the explosion of SaaS and the Internet of Things (iOT), SOA and the implementation of Enterprise Service Bus (ESB) architecture is more important now than ever before.
As processing occurs across systems and applications, data is generated, units of work require action, communication and messaging needs to be facilitated. SOA describes and provides the best-practice technology framework and methods for the effective design and implementation of an ESB, which provides the platform for the management of messaging, workflow and tasks. The core building blocks of SOA are services that publish, subscribe and consume data between steps, modules, applications, systems, disparate SaaS solutions or even between companies.
The challenge with implementing SOA is that there are many solutions, platforms and frameworks that an organization can adopt, including Enterprise Resource Planning (ERP) solutions, such as Oracle Fusion Middleware, or coding frameworks such as Business Process Execution Language (BPEL), to Open Source tools such as MuleSoft, Apache, WSO2, Intalio, and JBoss. There are many benefits, pros and cons between implementing Open Source SOA solutions versus proprietary SOA solutions. Organizations need to carefully weigh the cost-benefits, security, technical complexity and maintenance requirements and take the time to truly validate that the recommendation meets current and future organizational needs based on the present technological footprint and strategic technology objectives.
Exacerbating the selection of a SOA toolset is the broad spectrum of standards for the creation of web-services and API’s. While there are certain standards such SOAP, REST, SAML and other protocols that the industry has been adopting, it is estimated that thousands of API’s exist today across SaaS solutions alone, all implemented via various protocols, messaging requirements and security models. The lack of adoption of a leading framework is common across all technology and takes time. We can all remember the advent of the High-Definition DVD in the entertainment industry and BluRay becoming today’s standard over HD. The same normalization must occur with web services and API’s. With the increase of SaaS applications and cloud-hosted systems, implementing industry standards for integration, messaging and security is of paramount importance. The advent of iOT further exacerbates the complexity organizations, and humanity, face now, and in the future.
An industry vanguard in subscribing to a hundreds of web services and API’s, the Business Cloud company Domo is challenged with the formidable task of subscribing to and managing interfaces between their SaaS business intelligence platform to over 1,000 disparate connections with other leading SaaS and cloud systems, solutions and applications. The sheer complexity of not only developing, but maintaining these web interfaces, especially with the lack of distinct industry standards, is daunting. In 2016, Domo took the initiative to launch a technical consortium as a forum to bring together thought leaders across key industries and technology solutions to partner together to help establish accepted industry standards for APIs and web services, and to define and promote the use of best practices. Initiatives and efforts like these will help simplify the current complexity organizations face when implementing SOA in the future.
Whether your organization runs its technology on-premise, on the cloud or somewhere in between, SOA is here to stay and has tremendous business value when designed, implemented and adopted effectively. Like all technology solutions, SOA will continue to standardize, evolve, and hopefully simplify, into a narrower set of methods, protocols and standards so our job, as technology leaders, will be simplified as well.