Java 2EE and XML Development

Скачать в pdf «Java 2EE and XML Development»

4.1    Integrating J2EE applications

In a distributed environment, connecting your application to other applications, services, and data sources is essential. How these connections are made can impact the performance, reliability, and functionality of your application more than its own internal design. Synchronous interaction with other systems over a network can have a dramatic effect on the overall performance of your application. System interaction also means ensuring data integrity between applications, which can be complex. However, a standalone application that does not have access to other enterprise systems cannot do much.

The work of gluing together independent applications, services, and data stores is referred to as systems integration. This is a discipline of its own that has become as important in recent years as distributed application development itself. In this section, we explore some systems integration possibilities in the J2EE context. We identify the general architectural patterns for system integration and examine the ways XML can enhance that integration.

4.1.1    Traditional approaches to systems integration

Perhaps the most difficult part of integrating your application into its environment is determining where to start. In the majority of cases, you are developing a new application and need to integrate it with existing systems. Each of these systems provides a limited set of options for interacting with it. Some systems expose remote APIs or object interfaces. Others support only asynchronous messaging. Some may not offer any integration options at the application layer, but can be fooled into integration at the data layer.

Although specifics vary from system to system, your integration options can be broadly classified into four architectural patterns. These patterns vary in levels of complexity from simple data integration to tightly coupled software objects. Each has a distinct set of advantages and disadvantages, and the extent to which XML can play a role varies by pattern as well. The relative complexities and sophistication of these patterns are shown in figure 4.1. These patterns should look familiar to you. First, we will briefly review the traditional approaches to provide you with some context. Then, in section 4.1.2, we will examine the role that XML plays in each of these integration techniques.

Скачать в pdf «Java 2EE and XML Development»