Advanced Java Programming:
JavaBeans

Java technology currently has a component model called JavaBeans, which supports reusable development components. Specifically, a Java Bean is a reusable software component that can be visually manipulated in builder tools (much like Delphi or Visual Basic). Beans may be visible objects, like AWT components, or invisible objects, like queues and stacks. A builder/integration tool manipulates Beans to create applets and applications. The simplest kind of a bean is really nothing more than a Java class that follows some fairly strict naming conventions for its event listeners and its methods. The Java Developer Connection has some nice tutorials on Beans: http://developer.java.sun.com/developer/onlineTraining

Enterprise JavaBeans (EJB) technology defines a model for the development and deployment of reusable Java server components. Components are, again, pre-developed pieces of application code that can be assembled into working application systems. The EJB architecture extends the JavaBeans component model to support server components (application components that run in an application server) http://java.sun.com/products/ejb/index.html.

EJB technology supports application development based on a multi-tier, distributed object architecture in which most of an application's logic is moved from the client to the server. For more on Enterprise JavaBeans, see the tutorial http://developer.java.sun.com/developer/onlineTraining/Beans/EJBTutorial/index.html.