Is SOA Dead?
Join the DZone community and get the full member experience.Join For Free
Java has survived all of the agony and pressure from the "language community" for so many years because of its simplicity, runtime flexibility, and constant endeavor to adopt new features and functionalities. Though many different languages have been born in the last few years to compensate Java's threading and concurrency model for large scale distributed applications, Java is still the "Language of choice and sole saviour" whereas C is still the "guru of all languages".
Isn't it interesting to see how different technologies, frameworks, and architectural concepts compete with each other? But at the end, prodigies never die. They either are reborn or are re-evaluated with an alternate option(s). Ultimately, they seem to be indispensable. So, to speak "SOA was never dead" and can't be dead. It was an evolutionary concept for an enterprise. But often product vendors sliced and diced it as a mere ESB and sold in the market. With the evolution of "microservices and API world", SOA has become a stronger and more intuitive platform for large-scale enterprise solution.
SOA has traditionally addressed the needs of corporate information system integration, but apps and APIs are needed to meet today's challenge to interconnect corporate information systems with an explosion of remote systems and mobile devices. - Apigee
API movement has been branded in different ways. Apigee, a leading and prolific entity in this domain, markets it as a "Digital Accelerator" whereas Syncacno, a start-up in this domain, depicts it as a "Bring life to every screen" through their real-time API based sync technology. Mulesoft mentioned the API in a very descriptive manner unlashing its true meaning "Innovative companies have discovered that APIs can be used as an interface to the business, allowing them to monetize digital assets, extend their value proposition with partner-delivered capabilities".
Microservices and API have created the mantra of today's multi-channel, multi-customer, multi-branded, in-premise/cloud enabled, enterprise-driven, mobility-oriented, scalable, customer-focused, faster solutions. These are all prolific augmentation of the trend what SOA had created 15 years back.
APIs are not new. A simple RPC/RMI program, CORBA/COM based service interface, WS/REST services, or socket based raw communication, all are driven by the same concept of exposing a common/shareable service/interface to serve clients. Thus, when we see the current evolution of the term "API world", it shouldn't be a surprise. This is rather a natural movement from sharing beneficial services within the enterprise (often we pitched this as SOA for reusable service layer) to its external partners and consumers. The world is growing with an exponential rise of mobile devices. The world of "Apps" has consumed the whole new generations. The rise of Facebook, Twitter, and Amazon has created huge potential within the landscape of SOA-API-Microservices.
API has increased the responsibility of SOA/microservices world. The infrastructure for API and its management can be built on an existing SOA architecture. Enterprise who wants to expose its service to external customers and partners can reuse the fundamental SOA-based infrastructure quite well instead of building the basic service layer from scratch. But the term “API Management" (more like SOA Governance) comes into the picture to manage the operational aspect of the API layer.
Interestingly, I didn't mention much about "microservices" in this context. But microservices are "evolutionary SOA" with thin and independent service layer whereas SOA is often misguided by the individual product vendor to market as a thick-layered "ESB" or "Middleware".
Opinions expressed by DZone contributors are their own.