Recent articles:
Popular archives:
Java: A platform for platforms
Sun's reorg may seem promising to shareholders but it's also a scramble for position. The question now is whether Sun can,
or wants to, maintain its hold on Java technology. Especially with enterprise leaders like SpringSource and RedHat investing
heavily in Java's future as a platform for platforms
Also see:
Discuss: Tim Bray on 'What Sun Should Do'
JavaBeans is Sun's response to the need for this sort of plug-and-play development. Broadly, a component architecture defines how a component can expose its properties and methods to other components and to the container hosting them, how to exchange events and data between components, and how containers behave when the component has the focus.
In its current form, the JavaBeans framework squarely deals with the issue of exposing a bean's properties as well as with a model for beans to broadcast and listen for events. As of its first release, JavaBeans doesn't include an aggregation model (for accessing beans embedded in other beans) nor does it specify a containment model, which leaves issues open -- like how a container will handle toolbars and menus associated with beans. These shortcomings, however, have done little to dampen the groundswell of interest in beans. For a discussion of JavaBeans in the near future, see the sidebar at the end of this article.
At the recent JavaOne conference in San Franciso, CA, April 2-4, a newly reconstituted Taligent introduced its WebRunner subscription service. WebRunner provides developers with the latest in reusable code. At the core of Taligent's Bean Factory is a wizard that allows developers to specify what a bean will expose and then creates a complete framework for that bean. With the Bean Factory, you can create a very simple bean in a matter of minutes. Taligent also is offering an interesting twist on this wizard; it inspects an ActiveX component and creates a complete bean framework into which developers can transplant the control's logic.
Corel, which debuted Corel Office for Java at JavaOne, also sees a lot of opportunity in beans. This spring, the company will release a beta collection of beans that provides some of the same functionality as the office suite. A spellchecker, a spreadsheet viewer, and similar beans should find their way into Corel's bean bag.
Chris Biber of Corel revealed that Corel also has an aggregation bean that allows it to bind beans embedded in other beans. It's unclear whether this particular tool will ever see the light of day, but in the short term, developers might have a means of working around some of the JavaBeans omissions.
JavaSoft and others also are working on ways of running JavaBeans in other containers. Topping the list is JavaSoft's ActiveX bridge that wraps a JavaBean in an ActiveX interface, so users can work with beans in any ActiveX environment. The beta ActiveX bridge is available on JavaSoft's Web site (see Resources).
One of the vexing problems in working with components as black boxes is exchanging data between JavaBeans. Sun has adopted Lotus' InfoBus technology to help exchange structured information between components. InfoBus allows information to be tagged with a content description, i.e., "account number," and to pass complex data structures, like database records, between beans. Sun's InfoBus spec should be ready in the second quarter of this year.