• The session facade exposes a coarse-grained API to the clients of the remote busi-
• It allows Java EE applications to effectively leverage container-managed services
such as transaction and security.
• The consolidation of business method invocation into a single coarse-grained call
reduces network trips and improves performance.
• The session facade helps to clearly establish the responsibilities of different com-
ponents in a Java EE application. This also prevents business logic from spilling
over to the client tier.
• Session facades have steep learning curves with complex concepts.
• Besides different classes and interfaces, a lot of configuration information is
required. This adds overhead during maintenance.
The eInsure application's business logic was entirely coded in the session facades. As I
explained in connection with session facades, EJB development was a very complex task.
You had to work with three Java source files. Then there were two deployment descriptors
and a large set of configuration information. EJB development requires seasoned pro-
grammers. There are a lot of concepts related to system services, configuration, and
server-specific settings that can be managed effectively only with experienced developers.
The container manages the life cycle of the EJB components. These components also
subscribe to different container services such as security, transaction, and object pooling.
The developers need to have a clear understanding of the concepts and intricacies