Common architectural elements for modern integration architectures (Part 2)
In Part 1 of this series, we explored a use case around integration being the key to transforming your customer experience.
I laid out how I’ve approached the use case and how I’ve used successful customer portfolio solutions as the basis for researching a generic architectural blueprint. The only thing left to cover was the order in which you’ll be led through the blueprint details.
This article, which is Part 2 of the series, starts the real journey at the very top, with a generic architecture from which we’ll discuss the common architectural elements one by one.
From specific to generic
Before diving into the common elements, it might be good to understand that this is not a catch-all for every possible integration solution. It’s a collection of identified elements that I’ve uncovered in multiple customer implementations. The elements presented here are then the generic common architectural elements that I’ve identified and collected into the generic architectural blueprint.
It’s my intent to provide a blueprint that provides guidance and not deep technical details. You’re smart enough to figure out wiring integration points for your own architectures. You’re capable of slotting in the technologies and components you’ve committed to in the past, where applicable. It’s my job here to describe the architectural blueprint generic components and outline a few specific cases with visual diagrams so that you’re able to make the right decisions from the start of your integration projects.
Another challenge has been how to visually represent the architectural blueprint. There are many ways to represent each element, but I’ve chosen some icons, text, and colors that I hope are going to make it all easy to absorb. Feel free to post comments at the bottom of this post, or contact me directly with your feedback.
Now let’s take a quick tour of the generic architecture and outline the common elements uncovered in my research.
Everything you need to grow your career.
With your free Red Hat Developer program membership, unlock our library of cheat sheets and ebooks on next-generation application development.SIGN UP
Starting at the top of the diagram, which is by no means a geographical necessity, there are two elements that represent external applications that interact with the architecture. Distilling the various applications discovered in customer solution research, I’ve come up with two common representations:
The first is mobile applications, covering basically everything that customers use to interact directly with a company. This can be mobile applications deployed by the company itself or developed by third-party organizations to interact with the services offered.
The second is web applications, a broad element to contain all other types of applications, websites, and/or services that are deployed by the company or any third-party organizations to interact with the services offered.
API gateway and proxy
These elements in the common architecture are found in every customer solution researched. They were mentioned by name and consisted of an Application Programming Interface (API) gateway that managed access from external applications when calling internal customer solution services.
The proxy shown was a reverse proxy, a standard solution for providing a security layer between external applications calling internal services by hiding the internal addresses.
Without a doubt, every organization engaged in omnichannel integrations to improve customer experience has seen the value of containers and the use of a container platform. The container platform provides for one consistent environment for developers and operations to manage services, applications, integration points, process integration, and security.
It’s also the one way to ensure you can uniformly leverage the same container infrastructure across a hybrid multicloud environment. It prevents you from becoming locked into any private or cloud infrastructure because you have an exit strategy with a container platform that’s consistent across your architecture.
The security aspect is interwoven in the container platform, because each container service, application, or process integration can be plugged into an organization’s authentication and authorization mechanisms.
The storage services uncovered in customer solution research were diverse and numerous. For that reason, there is no single common architectural element shown at the highest level. Everything from container native storage to traditional block storage was found.
In later articles, when more detail is shown, I’ll make a point to present a few of the options chosen by customers integrating data services with processes and applications.
This was just a short overview of the common generic elements that make up our architecture blueprint for the ominchannel customer experience use case.
An overview of the series on omnichannel customer experience portfolio architecture blueprint can be found here:
- Part 1: How integration is key to customer experience
- Part 2: Common architectural elements for modern integration architectures (this article)
- Part 3: Integration of external application details
- Part 4: Integration of API management details
- Part 5: Integration of container platform essentials
- Part 6: Integration of storage services
- Part 7: Application integration details
- Part 8: Dissecting several specific application integration architectures
Catch up on any articles you missed by following one of the links above.
Next in this series, we’ll be taking a look at the integration of external application details in an architecture for the omnichannel customer experience.
To learn more, visit our Join the Red Hat Developer Program (it’s free) and get access to related cheat sheets (e.g. containers), books (e.g. microservices), and product downloads that can help you with your microservices and/or container application development.