VisualAge for Java includes a state-of-the-art object-oriented visual composition editor for assembling program elements visually from JavaBeans components.
Object-oriented programming facilitates development of complex software systems by breaking them up into a number of much smaller, simpler program elements called objects. Objects work together by sending each other messages, that is, by requesting behavior that is implemented by the target object. Taken as a group, these behaviors comprise a class interface.
Using an object-oriented approach for complex systems provides the following benefits:
Despite these benefits, implementing large systems can still be expensive. One way to reduce the cost is to reuse object implementations. Many companies would prefer to buy reliable reusable classes, creating classes only for functions specific to their business. This vision of constructing custom software using standard building blocks has been called construction from parts. The building blocks themselves have popularly been called parts or components.
However, reuse is hard to achieve when the class interfaces are too specific to the application for which they were originally developed. To promote wider reuse, class interface conventions called component models have been defined, such as ActiveX, OpenDoc, and JavaBeans.
JavaBeans is the standard component model for the Java language and is the component model used by VisualAge. JavaBeans includes the following definitions:
An event model. Event models specify how a component sends messages to other objects without knowing the exact methods that the other object implements. This enables a component to be reused with a range of objects that have different interfaces
Events, properties, and methods. JavaBeans defines a component interface in terms of the events it can signal, the property values that can be read and set, and the methods it implements. This definition provides more structure to the interface of a component compared with a simple class interface, facilitating the use of tools such as the VisualAge Visual Composition Editor.
Introspection. Introspection refers to the ability to discover programmatically the component interface for instances of a particular component class. The reason to provide introspection is that it enables the use of programs such as the Visual Composition Editor that can work with component instances at run time without having the details of these components programmed into them.
The Visual Composition Editor enables you to create programs graphically from existing beans. Beans are simply Java classes that comply with the JavaBeans specification. JavaBeans is the component model supported and used throughout VisualAge, so this documentation will refer to VisualAge components as beans.
VisualAge provides user interface beans based on Java classes in the Abstract Windowing Toolkit (AWT) and Swing packages. The Visual Composition Editor is also extensible. It allows you to work with beans you create yourself, and it allows you to include beans imported into the environment from other sources. You can even create your own beans graphically using the Visual Composition Editor and then reuse these beans again within another program being created with the Visual Composition Editor.
To build a program with the Visual Composition Editor, you draw a picture using a canvas and palette of icons representing reusable beans. This picture specifies the set of beans that implements the function of the larger program (or bean) you are creating. For beans like user interface controls, the position of the controls relative to each other in the picture specifies how the controls will appear in the final program. For beans such as database components, the position of the bean in the picture generally has no significance.
The Visual Composition Editor provides a very sophisticated connection capability to specify how components of the picture will interact to implement functions of the program. Using connections, much of the behavior of an application can be specified graphically. Connections also allow you to integrate custom code written in the Java language.
See the JavaBeans Home Page for links to detailed information on JavaBeans and BeanInfo.
How Classes and Beans Are Related
Visual Composition Editor Overview
Bean Design for Visual Composition