According to O'Reilly "Enterprise JavaBeans": The EJBs is a server-side component that encapsulates the business logic of an application. The business logic is the code that fulfills the purpose of the application. The JavaBeans is a component model, but it is not server-side like EJB. The JavaBeans are not intended for distributed components. They are primarely used to build clients by assembling visual (GUI) and nonvisual widgets (push button, spreadsheet could be JavaBeans). EJBs are designed to address issues involved with managing distributed business objects in a three-tier architecture. The perfect candidate for EJB will be Customer business object than can be deployed in any EJB server and used to develop any business application that needs a customer business object. I hope this will help.