Systems Integration
Problem Domain
In the modern corporate landscape, organizations often adopt a variety of distinct enterprise-level business solutions to address particular challenges related to information management. Each of these solutions serves different business requirements or functions and is crafted with specific goals and workflows in mind, incorporating specialized features and processes customized to their unique workloads. While each solution manages data specific to its particular function, there inevitably comes a point when there is an overlap in data among two or more of these solutions. This type of data intersection is referred to as "Master Data," and managing the synchronization, accuracy, and integrity of this information becomes a significant challenge for the enterprise.
When multiple enterprise systems need to share "Master Data," it is crucial for the source system to effectively communicate its knowledge to one or more other systems, and for these systems to reliably receive and update their own data in a consistent manner. All systems involved must possess the capability to not only comprehend the information originating from the source system but also share a mutually understood method of data transmission. Throughout history, people have achieved this integration by having one individual communicate the data in a common language and provide contextual information so that the recipient can not only obtain the information but also understand the context, allowing them to accurately update their knowledge in sync with the source. Remarkably, this integration pattern is widely employed in today's "modern" enterprise systems and is informally known as a "Sneaker Net."
The primary issue today lies in the fact that most contemporary enterprise systems do not possess inherent capabilities for seamless information sharing. They do not inherently communicate or disseminate their knowledge for other systems to readily receive and comprehend. While they may provide a means for one system to request information from another through an Application Programming Interface (API), both systems must be well-versed in each other's information structure and language. The system in need of information must also understand the semantic significance of the other system's data and frame the precise query to obtain it. Consequently, this has led to the emergence of the second most prevalent integration approach, which I refer to as the "Trusted Third Party Model" of systems integration. This model invariably requires the deployment of middleware, configured by a skilled programmer, and is generally beyond the grasp of the average business user. As a result, these systems tend to be expensive in terms of acquisition, configuration, and maintenance.
Both the "Sneaker Net" and "Trusted Third Party Model" come with their own sets of advantages and disadvantages, which have influenced their adoption over time. To address the inherent limitations of each approach, we must explore a third option, which I'll refer to as the "Trusted Agent Model”. To better understand this innovative approach, it is crucial to delve into these methods with some depth, allowing us to draw comparisons and contrasts between each approach.
Why the “Trusted Agent Model”