I'm now facing a confusion: The business layer is wrapped to be some EJBs and all of them has been deployed to the jboss server. Now the client need to communicate with the EJBs to get the business data. So we use a Facade pattern to get the EJBs object, one way is to get request from client and then store the EJBs handler into the session object which will be processed during the first request from client. One obvious benefit is we can avoid the frequent invoking lookup fragment to initial the EJBs object. But, would anybody else tell me any other better way?