As more and more organizations focus their business strategies on digital transformation, they are finding that integration is the key enabler in realizing their digital visions. Whether it’s CEOs laying the groundwork for strategic acquisitions, a CMO personalizing digital experience for their customers, a COO optimizing operations through automation, or a CIO creating a platform of business capabilities, all will need to connect users, applications, and data through integration.
Still, in spite of the fact that most companies’ digital solutions are integrated across many moving parts, the industry lacks convention when it comes to integration design and architecture. This is why I started this blog series that includes a breakdown of the primitive elements of integration as well as a proposed visual language for integration.
Figure 1 – A payments example showing the visual language for integration
That “visual language” blog generated a fair amount of reaction, much of it positive. However, there were also a few readers who responded with the question — and I’m paraphrasing here — “so what?” The intention of this blog is to answer that pointed question.
It turns out there are many ways it can be useful to visually describe an integrated system. Because one of the guiding principles of the approach is to be as agnostic as possible about the underlying implementation, these usages range from adding value in a business context to cutting through complexity in a technical context. Here are five ways that a visual approach to integration can be helpful:
#1 Getting business and technology people on the same page
One of the lessons the digital revolution has taught us is that there is no clear line between business and IT. Increasingly for most organizations, the business is becoming technology and technologists need to understand the business. For many business people, UIs have been their view of the digital landscape, but that’s not sufficient for understanding complex, interconnected digital ecosystems.
On the other hand, technologists will often root their views of a system in implementation details such as infrastructure technologies, network protocols, or software language specifics that lack meaning for their business partners. Presenting a visual representation of an integrated system focused on business semantics and not on technical details gives the business a view they understand and compels technologists to think and design in these terms.
#2 Opening up to external ecosystems
Because this approach to visualizing integrated solutions hides implementation details, it can serve as a design tool to consider unconventional options. As companies increase their digital maturity, they open themselves up further to exploiting third-party services on the web, or becoming external service providers themselves. The visual landscape can serve as a sort of game board to test “what if” scenarios where external service providers can be used to provide best-of-breed functions in a composable way.
#3 Illustrating data lifecycles
Data is a currency in the digital economy, yet its flow is frequently obfuscated by the complexity created by state of the industry data engineering technologies. Using the visual approach to integration can help depict the inflows and outflows of data within a broad system that spans the parallel worlds of data analytics and user-facing applications. These historically separate data processing domains are on a collision course, and the organizations that leverage their data most effectively will have a competitive edge. The visual approach to integration removes unnecessary clutter and helps business and tech SMEs map effective data lifecycles.
#4 Defining and evolving service boundaries
Visually mapping integration can also add value on a more technical and tactical level. One of the most important areas of microservice architecture and domain-driven design is determining the boundaries between services. Taking a visual approach to integration is helpful in building domain context maps, helping to discover bounded contexts and placement of anticorruption layers by tracing the interactions needed to support user scenarios. As systems evolve, the visualizations can be revisited to determine where domains and services might need to be merged or split.
#5 Resolving interaction synchronicity
A hot topic in the integration world these days is the use of event-driven architecture. Although there are event enthusiasts who would like to see the whole world of software modeled asynchronously, the reality is that most organizations will be using a combination of queries, commands, and events to provide their integrated digital solutions. The visual language for integration provides a level playing field for modeling integrated systems that has separate dimensions for interaction intent and interaction synchronicity.
These are just a few of the ways this visual approach to integration can be helpful as organizations undergo digital transformation. Going forward, I hope to provide more guidance as well as consideration of tooling support for the approach.
In the meantime, I invite readers to continue to share their feedback with me on social media. Also, I will be presenting this approach in a couple of upcoming events. On October 14, I will be presenting at the international Software Architecture Gathering. I am honored to be on the agenda with so many outstanding speakers.
Also, closer to home but still virtual, I will be sharing this approach in a talk at the Vancouver MuleSoft Meetup on October 15. I hope you’re able to join one of these events! Until then, remember, you can’t integrate what you can’t see.