A Java Bean is a software component that has been
designed to be reusable in a variety of different environments. There is no restriction on the
capability of a Bean. It may perform a simple function, such as checking the spelling of a
document, or a complex function, such as forecasting the performance of a stock
portfolio. A Bean may be visible to an end user. One example of this is a button on a graphical
user interface. A Bean may also be invisible to a user. Software to decode a stream of
multimedia information in real time is an example of this type of building block. Finally,
a Bean may be designed to work autonomously on a user's workstation or to work in
cooperation with a set of other distributed components. Software to generate a pie chart from a
set of data points is an example of a Bean that can execute locally. However, a Bean that
provides real-time price information from a stock or commodities exchange would
need to work in cooperation with other distributed software to obtain its data.
We will see shortly what specific changes a software developer
must make to a class so that it is usable as a Java Bean. However, one of the goals of
the Java designers was to make it easy to use this technology. Therefore, the code changes
Advantages of Java Beans
A software component architecture provides standard mechanisms
to deal with software building blocks. The following list enumerates some of the
specific benefits that Java technology provides for a component developer:
- A Bean obtains all the benefits of Java's "write-once,
- The properties, events, and methods of a Bean that are exposed
to an application
builder tool can be controlled.
- A Bean may be designed to operate correctly in different
locales, which makes it
useful in global markets.
- Auxiliary software can be provided to help a person configure a
Bean. This software is
only needed when the design-time parameters for that component
are being set. It
does not need to be included in the run-time environment.
- The configuration settings of a Bean can be saved in persistent
storage and restored
at a later time.
- A Bean may register to receive events from other objects and can
generate events that
are sent to other objects.