What exceptions are you taking care of? Business (i.e. application) exceptions should be propagated to the client, otherwise there's no point in throwing them. The original intent of Business Delegate was to handle infrastructure related checked exceptions like RemoteException, FinderException, or CreateException. As I mentioned in my previous response, these exceptions don't exist in EJB 3.0.
I am so used to EJB2.0 and did not remember the new feature available in EJB3! But still business delegate holds good due to following reasongs
1. It is desirable to minimize coupling between presentation-tier clients and the business service, thus hiding the underlying implementation details of the service, such as lookup and access.
2. Clients may need to implement caching mechanisms for business service information.
3. It is desirable to reduce network traffic between client and business services.
Why? If you need to further abstract the interface of a boundary class, surely there's something wrong with the original interface. It sounds to me like you're mixing up Business Delegate with Service Facade.
I too felt that there is something wrong the original interface and that is the very reason I posted this message! Service Facard is new for me so need to study that first before making any comments.
That depends on where you want to introduce failover. I don't think Business Delegate was ever intended for that purpose. Proxy - yes, Business Delegate - no.
I agree that BusinessDelegate is not intended for this purpose but since I decided to use it, I felt the extra functionality would beef up the Business Delegate.
Regards
-Sandeep