Integration domain level: Collection/distribution layer

The collection/distribution layer is part of the integration domain level and is responsible for collecting and distributing information. It is completely separate from the main part of the integration domain (mediation). The building blocks in this layer connect the mediation layer above with the communication layer below. The layer is responsible for encapsulating external protocols and their technical details from the integration application, and transforming external formats into familiar internal formats.

Responsibility

The responsibility of the collection/distribution layer is to collect and distribute information.

Concepts and methods

The basic requirements for the implementation of the collection/distribution layer are listed in the following table, along with where in the book to find more information:

Requirement

Section in Chapter 1

Middleware

Middleware

The base technologies needed for the implementation of the collection/ distribution layer are listed in the following table:

Base technology

Section in Chapter 2

Java Connector Architecture (JCA) as an example of an adapter framework

Java Connector Architecture (JCA)

Service Data Objects (SDO) as an example of a Disconnected Data Architecture

Service Data Objects (SDO)

Building blocks

The following table gives an overview of the building blocks used in the collection/distribution layer:

Building block

Description

Adapter (or Connector)

Adapters are components, which connect application-specific APIs with the access protocols (or access APIs) of the transport layer components in order to enable them to communicate with the source and target systems. Adapters decouple the applications from the APIs specific to the transport layer, and are usually separated from the application. One example of an adapter is the Java Connector Architecture (JCA) (see Chapter 2).

Mapper

Mappers encapsulate the logic used to align the formats in the communication infrastructure and the formats in the domain objects. Domain objects and components belonging to the communication infrastructure are decoupled from the mapper, and are unaware of its existence.

Dozer is a JavaBean to JavaBean mapper that recursively copies data from one bean to another. Typically, these JavaBeans will be of different complex types. Dozer supports:

  • Simple property mapping
  • Complex types and graphs, bi-directional mapping
  • Implicit-explicit mapping
  • Recursive mapping

Data mapper (or mapper)

The data mapper is a layer of mappers, which transfers data between objects and databases, without making the object and the database dependent on one another, or indeed on the mapper.

The data mapper is a layer of software that separates the in-memory objects from the database. Its responsibility is to transfer data between the objects and the database, and also to isolate them from each other. With the data mapper, the objects do not even need to know that there is a database present. They do not need SQL interface code or any knowledge of the database schema.

DAO

A Data Access Object (DAO) is a design pattern that encapsulates the access to different types of data sources (for example, databases, filesystems, and so on) in such a way that the data source that is being addressed can be replaced without changing the calling code. This allows the program logic to be separated from the technical details of the data storage, and makes it more flexible. A DAO can also be used as a pattern for designing programming interfaces (APIs).

When it is implemented, a DAO can make use of a data mapper.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset