You want to obtain an application model that aggregates transfer
objects from several business components.
- You want to encapsulate business logic in a centralized manner and
prevent implementing it in the client.
- You want to minimize the network calls to remote objects when building
a data representation of the business-tier object model.
- You want to create a complex model to hand over to the client for
- You want the clients to be independent of the complexity of model
implementation, and you want to reduce coupling between the client and
the business components.
Use a Transfer Object Assembler to build an application model
as a composite Transfer Object. The Transfer Object Assembler aggregates
multiple Transfer Objects from various business components and services,
and returns it to the client.
- POJO Transfer Object Assembler Strategy
- Session Bean Transfer Object Assembler Strategy
- Separates business logic, simplifies client logic
- Reduces coupling between clients and the application model
- Improves network performance
- Improves client performance
- Can introduce stale data
- Transfer Object
The Transfer Object Assembler uses Transfer Objects to create and transport
data to the client. The created Transfer Objects carry the data representing
the application model from the business tier to the clients requesting
- Business Object
The Transfer Object Assembler uses the required Business Objects to
obtain data to build the required application model.
- Composite Entity
Composite Entity produces composite transfer objects from its own data.
On the other hand, Transfer Object Assembler constructs the application
model by obtaining data from different sources, such as Session Façades,
Business Objects, Application Services, Data Access Objects, and other
- Session Façade
When Transfer Object Assembler is implemented as a session bean, you
could view it as a limited special application of the Session Façade.
If the client needs to update the business components that supply the
application model data, it accesses a Session Façade (session
bean) that provides that update service.
- Data Access Object
A Transfer Object Assembler can obtain certain data directly from the
data store using a Data Access Object.
- Service Locator
The Transfer Object Assembler uses a Service Locator to locate and use
various business components.