Business Delegate is used to hide the business service implementation in the business layer. Session Facade is used to encapsulate the complexity of interactions between the business objects. Business Delegate can use a Session Facade to service the presentation tier component. What I mean is Business delegate is like a bridge between Presentation Tier and the Business Tier. Session Facade completely belongs to Business Tier. Hope this clears your question. Regards, Nagendra SCJP1.4, SCWCD 1.3
presentation logic -> business delegate -> session facade -> ejb logic business delegate is there to decouple the presentation logic with the specific implementation of ejb. in the future if you want to switch to ejb++, the modification is supposed to be transparent to the presentation.
Facade(s) act as common entry points to business services. They also help reduce network traffic by eliminiating the need for the clients to invoke multiple finegrained methods. Business delegates( and delegates in general ) provide a cleanway for the clients to interact with the service layer. They hide complex things such as service lookups, error handling, remoteness of the service etc. They can also implement additional services such as client caching, thread synchronization, service selection and request routing. Cheers,
Open Group Certified Distinguished IT Architect. Open Group Certified Master IT Architect. Sun Certified Architect (SCEA).