Increasingly, business processes demand that more information be shared across many tasks and many applications....
Application integration architecture is an IT process that ensures data or a function moves from one application to another. In its early days, it was more of a manual process, and data traveled laboriously in mostly a connector-to-connector fashion.
So, what's happening with application architecture now, and how are trends in enterprise architecture, hosting and app development changing the landscape?
Before looking forward, however, let's define application integration architecture and explain why the enterprise does it. In most businesses, a small number of transactions create ripples of change through a host of related applications. In the past, when these applications were developed and run independently, there was a major risk of inconsistencies developing from independent data management for each. Just as the same information will affect multiple applications, it's also likely that a failure to link the applications to avoid multiple data entry will affect productivity and introduce errors.
Quick dive into application integration architecture
Application integration defines the principles of moving data among applications to reduce these inconsistency risks and the work needed to connect applications through multiple manual updates. It involves a mixture of database design and pipelining of application data. Not surprisingly, applications are divided into database-related and data flow-related, and that hasn't changed much.
The way we build applications and the way applications are hosted have changed. In recent years, the acceptance of the integration architect and enterprise architecture (EA) as a formal IT discipline, the componentization of the applications themselves, the method in which apps are now developed and the arrival of cloud computing and virtualization as means of hosting have increased the importance of application integration and drive the need for streamlined and automated approaches to app integration. All of these factors are converging on CIOs at a time when senior management wants more IT agility and efficiency, and so, a systematic approach to them all is critical.
EA defines the architecture of business processes at a high level and derives application needs from that high-level definition. EA creates more information-sharing needs, but it also encourages users to fulfill those needs outside of traditional applications.
The application integration architecture influence
The influence of EA on application integration has been felt in a database-centric vision of information integration. If business data is stored in a form of a repository and made available through queries, then individual information use is tied to queries and analytics and not to specific applications.
Componentization of applications has broken monolithic software into dozens of pieces, each of which runs loosely coupled with the others. Information flow among components inside applications has to be highly efficient or worker quality of experience and productivity suffer. Because of this, considerable work has been done to improve component information exchange. Mobility and the empowerment of mobile workers have encouraged more and more componentization as companies try to address tactical productivity needs more efficiently.
One of the drivers of componentization is component reuse, the building of multiple applications from a common component set. Because of component reuse among applications, the boundaries of applications themselves are breaking down, and application integration and component integration are converging. Component integration tools, such as service and message buses or service data definition languages, can now also be used to integrate applications.
The cloud and virtualization have broken a traditional bond between an application or component and a server resource. Servers are now part of a pool, some of which might even be outside the company in a public cloud. Any piece of functionality can go anywhere, and so, where it does go has to be recorded so that other components can find it. Deploying applications in a dynamic way means providing for a dynamic connection of what's been deployed.
Application integration changes as app development evolves
Application integration also continues to change because other aspects of application development evolve. Agile operations have created a need for a new set of tools, and those tools are already evolving into more complicated orchestration tools to deploy and link applications and components running on pools of resources. These tools, as they evolve and improve, are absorbing some of the functions that were traditionally part of application integration.
All of these trends influence application integration architecture and the use of databases and information flows to link the IT support components for business processes. The most important trend in application integration today is the fact that, in the traditional sense, it's no longer the only problem or even the most significant one. If you ask CIOs today what their greatest challenge is, application integration is unlikely to figure prominently, but all three of the new factors probably will.
A modern view of application integration and the modern integration architect have to accommodate this reality. The EA-driven focus on analytics, software componentization and the cloud all affect information movement and so affect any approaches to the application integration architecture problem. The tools that support these three factors are already converging with each other, and it is clear that application integration will be included in the scope of more and more tools over time.
Convergence of trends may simplify application integration
The happy convergence of all the major application and hosting trends may simplify integration and application integration architecture overall by creating a single set of tools that can accommodate both the past and current trends in information flow integration and data harmonization. That hasn't happened yet, and in the near term, the reality is that integration architects may have to cope with all of the past and evolving challenges with as-yet-disconnected tools and practices.
These trends also mean that there is truly no avoiding the challenges of application integration and that even companies and integration architects who thought they'd fully addressed those challenges may find that today's IT drivers will force them to revisit them. An understanding of all the trends and all the tools that address them is critical in creating a truly unified IT environment in a future where agility and efficiency will be in even more demand than they are today.
We've multiplied the missions for application integration, which has naturally multiplied the tool choices and the distinct issue and problem sets. Today, application integration is a part of all the significant technology and business shifts in IT. Navigating through the current period of push-and-pull issue influence on the topic to a long-term cohesive vision of a cloud, component and mobile worker future may be the most critical task for IT planners.