Enterprise Application Trends and Business Environment Impacts
In today’s world of cloud-native applications and pretty much “everything” as a service model, is Enterprise Application Integration or EAI still relevant? Very much so. In fact, the value of modern EAI is central to the connected paradigm of Internet of Things (IOT), where integrated experiences will be linked through APIs delivered over the cloud, all the while using existing EAI infrastructure.
What is EAI?
In simplest terms, EAI refers to the technology implementation that connects applications and/or systems within an enterprise. When such a service (or platform) is provided between different enterprises (aka organizations), it is referred to as B2B (Business-to-Business) integration. Although B2B may use many EAI components, it provides additional services such as trading partner management etc. that are specific to integrating with an external entity.
EAI technologies generally fall in the Middleware category, as opposed to user-facing components or back-end systems. Before the internet and web services became ubiquitous, full middleware platforms were the primary solution for inter-application integration provided by the likes of IBM, Oracle, Tibco etc. to name a few.
Historically, there have been 4 main integration styles for EAI: 1) File Transfer, 2) Shared Database, 3) Remote Procedure Call (RPC), and 4) Messaging.
File transfers and shared databases have been extensively used for application integration over the years. Once the internet became ubiquitous, web services (REST or SOAP) became a common way to implement RPC, with the added benefit of supporting non-binary (text) data. As the demands for higher volume and lower latency continued in the EAI space, the industry turned to the Messaging style for the best combination of transactional volume, latency, and application decoupling as described by Hohpe and Woolf in the de facto integration bible for EAI – Enterprise Integration Patterns. [Hohpe, G., & Woolf, B. (2004). Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley Professional.]
Whether in manufacturing supply chains or retail digital experiences or connected health, how will these systems communicate with one another? Most effectively by building Event Driven Architecture into their applications and using APIs over the cloud leveraging existing EAI infrastructure
Why is EAI more important than ever in the Cloud era?
With cloud becoming ever-more common, an increasing number of enterprise applications are being deployed to the cloud – be it public, private, or hybrid. Still, this leaves many enterprise applications and much of the enterprise data deployed to legacy infrastructure. Rather than making EAI disappear, this new compute-storage-networking paradigm has only made EAI more critical than ever for enterprises.
As many organizations make the transition to building cloud-ready applications, there are two main characteristics of such applications in this new world: Container-deployable and API-enabled.
What this means is that regardless of the container management solution (such as Kubernetes), applications are deployed to a container, as opposed to a legacy virtual machine etc. By this token, even legacy applications can be migrated to a containerized environment with minimal changes. Which brings us to the second, more important characteristic – these applications must be API-enabled. Most legacy applications don’t meet this criteria, where all functionality of the application is available via APIs (usually over a web service), even if they are deployed (lift-n-shift) to a container.
Latest trends in EAI
First and foremost, the growth of APIs has formalized the role of an API gateway. This is above and beyond what a traditional web services gateway does in a legacy application environment. It provides the solution for publishing APIs and managing access to them.
What follows from API-enablement is the shift away from traditional EAI styles such as file transfers, shared databases etc. to more event-based notifications where latency can be configured from real-time to seconds to minutes to even hours.
Now legacy integrations platforms (ESBs, Web Service/XML gateways etc.) will continue to provide integration to backend enterprise applications. However business rules and API management are getting delegated to API gateways, beyond just providing simple access to (native) mobile applications. In the same fashion, the primary way of integrating applications is evolving to publishing and consuming events i.e. event driven architecture (EDA), while using existing integration infrastructure.
Impacts to business environment
In this world of cloud-native and cloud-ready applications, EDA is the common thread that is having a profound impact on both business and IT. The business has to get better at identifying which business activities generate what events to be consumed by other business processes and functions, as implemented in technology solutions. IT, on the other hand, has to start using a business architecture model that maps business capabilities to business functions to applications/services in the solution design process; as well as change the application architecture where applications understand the context of business events such that generating/consuming new events becomes a matter of configuration.
Where is EAI headed?
The Internet of Things that is characterized by connected devices and is a key component of Industry 4.0, will work in conjunction with the Internet of Systems to build a world of connected experiences. These systems will work across enterprise boundaries and use a combination of other industry 4.0 technologies such as Robotic Process Automation (RPA), Machine Learning, and Big Data etc. to ultimately make decisions without human involvement. [Marr, B. (2019, July 11). What is Industry 4.0? Here's A Super Easy Explanation For Anyone. Retrieved from Forbes.] Whether in manufacturing supply chains or retail digital experiences or connected health, how will these systems communicate with one another? Most effectively by building Event Driven Architecture into their applications and using APIs over the cloud leveraging existing EAI infrastructure.