Java beans are just Java classes that conform to a convention. Multiple objects are encapsulated into a single object (the bean).
Class must:
1. have a public default constructor
2. class properties must have get, set that obey a specific convention
3. class should be readily serializable - allow applications and frameworks to reliably save and restore the bean's state independent of vm and platform
GUI toolkits like AWT and Swing use JavaBeans conventions for their components.
Beans == way of writing component-oriented software in Java programming language.
Enterprise JavaBeans is the use of Java bean components to build an "enterprise app" in a modular way. The components must conform to the
EJB specification (javax.ejb, javax.ejb.spi,
javax.interceptor).
EJBs include entity beans (which essentially represent relational database tables), session beans and message-driven beans (MDBs). MDBs can receive messages asynchronously.