New Components on the Block
Standardized component models such as Sun's JavaBeans provide
architectures for rapid application development and deployment
The art of writing business applications hasn't changed much in
20 years-not even with the transition from mainframes to desktop
PCs and, finally, to client/server computing. In the good old
days, before the popularity of the Internet and World Wide Web,
developers wrote business applications "like they wrote a story,
with a beginning, a middle, and an end," says analyst Judith Hurwitz,
president of Hurwitz Consulting in Newton, MA.
But as Hurwitz and others will tell you, the old ways of writing
applications simply don't work anymore. The Web is changing everything,
including the ways business application developers practice their
trade. Hand-coding applications using traditional programming
methods simply takes too long and costs too much for businesses
to stay competitive with shrinking business cycles and rapidly-changing
global business conditions. To cope, information technology (IT)
organizations and business developers are increasingly looking
to object-based software components to provide rapid delivery
of new applications and services, particularly those delivered
over the Web.
Discount brokerage house Charles Schwab & Co. is transitioning
its internal software architecture from a traditional legacy environment
consisting primarily of COBOL applications written for IBM MVS/CICS
transaction processing systems, to a new software components model.
Working jointly with IBM, the San Francisco-based firm intends
to break its existing applications into smaller pieces and wrap
them in Sun Microsystems Inc.'s Java technology. This will create
reusable, interoperable software components that will work with
each other, as well as new software components using IBM's recently-introduced
Component Broker Connector (CBConnector). The Java-based middleware
that supports the JavaBeans software component model "will shorten
our time to market," says James Chang, Schwab's vice president
of planning and architecture.
Components and Objects
A software component is not the same as an object, although components
use the object programming's encapsulation capability to create
self-contained units of reusable code. "The most important thing
about components is that they provide the ability to reuse hunks
of code," says Dave Smith, research director of Internet technologies
at the Gartner Group Inc. in Stamford, CT. "A component architecture
allows you to break applications into smaller pieces. These smaller
pieces can be recombined to build other applications again and
again."
Today, developers are likely to be aware of two software component
models: JavaBeans and ActiveX. Although conceptually similar,
each model has its own terminology. In ActiveX, components are
often called "controls"; and in JavaBeans, they're simply called
"Beans."
"Each vendor has their own lingo, [but] they all mean the same
thing," says Gina Centoni, product line manager for JavaBeans
at Sun Microsystems Inc.'s
JavaSoft business unit in Cupertino, CA. "A JavaBean component
is an object that can be visually manipulated
to create a greater solution that can be aggregated, and which
is reusable over and over again."
Besides terminology, the models have different origins which directly
affect their capabilities. ActiveX, for instance, is an Internet-enabled
version of Microsoft Corp.'s COM/DCOM model, originally a compound
document architecture for Windows applications. JavaBeans, on
the other hand, is a brand new model based on Java that was specifically
developed for the network computing environment of the Internet
and Web.
By using a software component architecture such as JavaBeans,
developers expose a set of standardized interfaces to other components.
This allows components to be repeatedly combined and recombined
to create customized business applications. "Programmers don't
have to reinvent the wheel every time," says Scott Hebner, manager
of application development marketing at
IBM's Software Group in
Somers, NY.
A unique feature of the JavaBeans architecture is that developers
can use both Java and non-Java components to build applications.
Besides CBConnector, which provides middleware connectivity for
disparate legacy systems and enterprise applications, components
built with IBM's
VisualAge for Java, Smalltalk, and C++ products
also support JavaBeans interfaces. It even allows components built
using other models, such as Microsoft's ActiveX, to work with
JavaBeans components. "JavaBeans is the glue that provides the
capability of allowing disparate systems and tools to work together,"
says Hebner, who notes that IBM shipped the first JavaBeans compliant
integrated development environment in July.
JavaBeans Support
Although JavaBeans is a relatively new component architecture,
it's gaining support rapidly in the developers' community.
JavaSoft's
Centoni says she's lost count: IBM alone has publicly committed
to creating more than 500 JavaBeans; about 50 are currently shipping.
And major Java tools vendors already include JavaBeans as standard
parts of their products. For instance, Symantec Corp.'s Visual
Café includes 18 JavaBeans with the standard product.
JavaBeans range from low-level components, such as widgets-a scroll
bar or a sliding button-all the way up to products like
Lotus Development Corp.'s Kona
and Corel's Office for Java. The Web Integrator System Developer Kit (SDK)
Web-to-legacy integration tool by Computer Network Technology Corp.(CNT) of
Minneapolis, MN, includes three JavaBeans, dubbed "GreenBeans."
A "View" bean provides 3270 emulation to a Web client, while an
"Action" bean allows developers to manipulate data inside a mainframe
application. A third, called a "Data Template" bean, provides
a forms-based interface to mainframe applications. When used together,
the three "GreenBeans" help developers build quick, custom interfaces
from Web-enabled clients to legacy systems, says CNT product manager Brian Hodgson.
With Kona, IBM's Cambridge, MA-based Lotus division is building
a set of office applications, each of which are discreet beans
unto themselves. These JavaBeans include a word processor, spreadsheet,
charting, calendar and scheduler, graphics, project scheduler,
email, JDBC access, and an underlying data exchange protocol called
the InfoBus.
All Kona applets are lightweight, typically 300K to 400K bytes
in size, written 100% in Java, and run on a Network Computer (NC)
inside the HotJava browser, which IBM has licensed from
Sun. "These applets add intelligence, programmability, and customizability
to browsers," says Kona's product manager Tom Kane.
Because they conform to the JavaBeans specification, they can
be mixed-and-matched with each other and with third-party beans
to create custom desktop software environments, he adds. At the
high-end of the JavaBeans spectrum is Corel Corp.'s forthcoming
Corel Office for Java. Like Kona, it includes basic office tools
and is targeted at thin-clients. Unlike Kona, however, Office
for Java appears to the user as a single, monolithic, desktop
application. Under the shell, however, Office for Java is a set
of JavaBeans totaling 6 Megs of code. Using JavaBeans interfaces,
Corel says it has been able to share components among applications,
enabling it to provide the functionality of its 100Mb WordPerfect
Office Suite in Office for Java.
Lotus has also come up with a unique tool that helps non-technical
users build their own applications with JavaBeans. Called the
BeanMachine, it was originally developed inside IBM as Applet
Author. Using a visual interface, users can combine BeanMachine's
own JavaBeans, as well as those created by third-party tools,
to create custom applications simply by dragging them onto the
palette. "It's Java for the rest of us," says Alex Niehaus, a
Lotus group marketing manager. "You don't make beans with the
BeanMachine, you consume them."
JavaBeans Gaining Acceptance
JavaBeans is gaining broad acceptance in the market, particularly
among Internet developers. Netscape Communications Corp. recently
conducted a survey of Internet sites that showed 587,000 Web sites
using JavaScript, the Mountain View, CA company's scripting language
for Java. In contrast, the survey found only 35,000 using ActiveX.
Netscape attributes Java's lead to the fact that ActiveX is a
Microsoft-specific component software model.
That momentum can be attributed in large part to JavaBeans' cross-platform
capabilities. Because JavaBeans can run anywhere there's a Java
Virtual Machine (JVM), it's ubiquitous. In contrast, "ActiveX
has limited usefulness; ActiveX Controls are written in languages
such as C++ and Visual Basic that are not portable," says Gartner's
Smith.
With that kind of momentum building for JavaBeans, it's a sure
bet that it will be an important platform for business application
development for some time to come.
About the author: Philip J. Gill
(philipgill@aol.com)
is associate editor of Java Report and contributing editor
to Object Magazine.
|