Hi Brian,
As far as I concern, the business delegate also hides the underlying implementation of the business service (look up stuff, getting the home/remote interfaces, catching handles, handling non business exceptions...)
Or we do need to have the Business Delegate even if it means just a layer containing the methods which calls the Session Facade to call the same methods?
I guess so. You will have practically the same methods.
Client --> Session Facade --> Application Service
I am thinking too using a SFSB to keep the conversational state of the client. I am also decided to use a BusinessDelegate to let the Presentation tier interact with the Business tier
Client --> BusinessDelegate --> Service Locator --> Session Facade (SFSB) --> Application Service (SLSB)
There is something I really dont really like about my proposal: I dont like having all business methods on the Session Facade. I guess it could grow and grow and grow... On the other hand, I need it to force all method call pass throw it in order to manage the client session.