Service Oriented Architecture (SOA) is a development pattern where repeatable business activities, such as “check customer credit information“, are published as independent reusable services.
Back in 2000s SOA was the coolest kid in the block – a must have for every CIO. Gartner’s studies promised huge benefits in form of reusability and modularization. Software vendors ruthlessly used its “must have” status and sold lots of middleware systems as a platform for SOA. In those times, it was really mostly the benefits of changing point-to-point spaghetti integration to a centralized integration that were realized, not reusability or other SOA benefits. Those companies who got themselves to develop with SOA pattern, went often for ‘enteprise-wide’ huge SOA projects- which were doomed to fail or at least struggle due to their to size, slow speed, management and costs. And so SOA got stained.
SOA lost its coolness when cooler kids arrived one after another – cloud computing, social media, mobile, master data, big data, open apis and internet of things. But happened to SOA? Was it superseded by some of new and hotter technologies? Was it killed by API thinking or REST as some evangelist claim? Answer to these questions is simple: no. It is actually quite misunderstanding to compare REST and SOA. REST dictates how interface should be designed technically when SOA thinking result in services from business point of view. RESTful SOA is a fine combination from both. Using RESTful SOA and keeping SOA based services small in simple is actually great way to keep service development inline with pace business and their needs thus avoid the failures of earlier way-too-complex SOA projects.
Mobile apps need more and more backend -services. A part of enterprise SOA published from cloud which scale easily to demand is easy to deploy with modern cloud integration platforms like FRENDS4, which can host low-latency services as well as long-running business processes. Nothing in SOA thinking restricts enterprise services being available to internet. Nothing in SOA says that business activity that service publishes shouldn’t be low-latency.
SaaS delivered enterprise applications – usually single application for certain function – increase the need for integration as they are connected together. New kind of cloud-spaghetti is boiling in cloud as companies are connecting their cloud applications together directly. This spaghetti is avoidable with SOA design pattern. Instead of Services are connected via separate SOA layer business services
With all these in mind, in 2015 there is a bigger need for SOA than ever. Use it to defend yourself from cloudspaghetti invasion. Use it to enable the digital services without extra hassle. Use it build reusable simple business services to realize the original SOA promises of cost efficiency and ease of Support.