OHSWG 12.15.97
OHSWG logo

Open Hypermedia Systems Working Group

Beans, RMI, Voyager


What is a Java Bean?

Java Beans are Javasoft's approach to component oriented software development, that is making it possible to develop software components that relatively easily can be assembled into an application by an enduser or a programmer. The ability to be manipulated by a application builder tool (ABT) is the defining characteristic of a Java Bean.

A notable difference between Java Beans and other component architectures (such as COM or OpenDoc) is that Java Beans are Java-centric, exclusively targeted at software development in Java. To ease integration with the Windows platform, bridges between Beans and COM have been developed.

The architecture of a Bean

Java Beans do not extend a common superclass (apart from Object). Most of the behaviour of the Java Bean is defined by conventions and guidelines rather by implementing an interface or extending a 'bean' class. These conventions include

Following the above mentioned steps will allow an ABT to make basic customisation, but to provide more advanced possibilities, the Java Bean author can use

Introspection
By creating a 'BeanInfo' class alongside with the Java Bean itself, the author can provide precise information on the workings of the Java Bean
Bean editors
Most ABT provide editors for basic types, such as strings or integers. If the Java Bean has more complex properties, it can supply its own editors
Wizards
Some Java Beans are so complex, that they must be setup using wizards, also provided with the Java Bean.
It should be noted that there is a distinction between development time and run time. The classes packaged with the Java Bean to ease development are not included in the finished product.

Java Beans will often be visual, e.g. a GUI component, though this need not be the case, as long as it can be visually manipulated in an ABT.


Home Description Availability Recommendations References

Please send feedback to Niels Olof Bouvin. Last modified: Mon Dec 15 00:54:10 1997


Niels Olof Bouvin
U Aarhus, Denmark
bouvin@daimi.aau.dk
---