In my previous article from this series we introduced a use case around integration being the key to transforming your customer experience.
The process was 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 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 in to the common elements, it might be nice 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, from two to three, customer implementations. These elements presented here are then the generic common architectural elements that I’ve identified and collected in to 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 in 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 colours 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.
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 themselves 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, web sites and/or services that are deployed by the company or any third party organizations to interact with the services offered.
API gateway & 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 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 avoids becoming locked into any private or cloud infrastructure as you have an exit strategy with a container platform that’s consistent across your architecture.
The security aspect is interwoven in the container platform, as each container service, application, or process integration can be plugged in to an organizations 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 ominchannel customer experience use case.
An overview of the series on omnichannel customer experience portfolio architecture blueprint can be found here:
- An introduction
- Generic common architectural elements
- Details of specific elements (external apps, api gateways, container platform storage services)
- Application integration details
- Dissecting several specific application integration architectures
Catch up on any articles you missed by following one of the links above.
Next in this series, taking a look at the details of specific elements in an architecture for omnichannel customer experience.
|Published on Java Code Geeks with permission by Eric Schabell, partner at our JCG program. See the original article here: Integration Key to Customer Experience – Common Architectural Elements|
Opinions expressed by Java Code Geeks contributors are their own.