Today, Jason Addington talks to us about the Vortx Integration Platform (VIP) and how his work on it has allowed him to fully understand the power that comes from a framework that can move and share data, regardless of its source or destination.
“Application integrations are an unvarying necessity. Different applications will always be required to fulfill different business requirements, and, without fail, those applications will end up needing to share data. While every application keeps its data in a different format and provides access to it via different means, we found through our experience that there are a large number of commonalities present in every integration. We leveraged these similarities to create an integration framework called VIP.
VIP is designed to standardize and ease implementations of the three main integration requirements: data normalization, end point reusability, and communication. Our first objective was to normalize the data flowing between applications into a common canonical schema. We chose the OAGIS standard as it is a comprehensive specification supported in a number of systems already. Out next need was to convert each application’s data to and from OAGIS. For this we created the concept of adapters: code modules designed for a single application end point but easily reusable across different integrations containing that application. Finally we needed a means to hook all these adapters together. For this we created a configurable service bus connected by pluggable communications channels, enabling each adapter to speak over whatever transport is most appropriate in a given environment.
We designed each of these pieces in a highly modular and composable fashion, allowing us to assemble the building blocks into just the right configuration for a given integration without having to rewrite the same functionality each time. Additionally, this modular nature allows us to easily swap in specially customized functionality when needed without requiring modifications to the base code.
This modularity also extends beyond code. While adapters were originally conceived as attachments to existing applications, we found that the concept applies to data in any form, such as Excel spreadsheets and web service API’s. Our adapters are designed to provide very discrete, reusable functionality whenever possible. For example, a system responsible for processing application-specific data and then uploading it to an FTP server would chain together two adapters: one for handling the application data and one for FTP’ing it. We’ve been able to achieve surprisingly sophisticated processes by composing elementary adapters.
After spending time with this framework, we’ve come to realize that integration is not just about sharing data between applications, but rather about exposing business information and processes so they can be utilized anywhere. We’ve discovered the tremendous value in the ability to expose, consume, and act on business data regardless of the source or destination, freeing businesses from the thinking in terms of application silos and allowing them to make decisions with much less concern for the technical details.”