Jump to...
Columns:
Advanced Software and Technologies
BYTE Media Lab
Chaos Manor
Conference Reports
Features
Free Features
Gigglebytes
Letters to BYTE.com
Mr. Computer Language Person
New Products
Op/Ed
Portable Computing
Serving with Linux
The Upgrade Advisor
What's in Store for the Web
August 1997
/
Eval
/ What's in Store for the Web
Object Design's venerable object database adds interfaces to Java and ActiveX.
Jon Udell
Object databases map transient program data to and from permanent storage. It's a neat trick that Object Design has been perfecting for years.
Version 5.0
of ObjectStore adds failover and replication features and responds to new opportunities and challenges. Opportunities? Web applications that play to millions need fast direct access to clusters of linked items. SQL can't do this. Challenges? Web-tool vendors have to cover a lot of bases nowadays. Object Design does.
An ObjectStore application binds user-written code to a clien
t library that talks to the database server and maps persistent data into transient virtual memory. Version 5.0 supports three ways to package these kinds of applications: as an ActiveX control, a Java servlet, or an ObjectForms service. The ActiveX approach yields a scriptable component that you can plug into the Active Server Pages environment. I used the Java interface to enhance my group-calendar servlet (see this month's Web Project). If you use ObjectForms, Object Design's
answer to Web/database integration tools such as Allaire's Cold Fusion, you can leverage an HTML template processor and Web gateway to ObjectStore services written in C++ or Java. Version 2.0 of ObjectForms includes Publisher, an interactive builder of ObjectForms services.
What are the trade-offs? Not all ObjectStore applications are created equal. Under the hood is a C++ engine that Java interface users can't yet run on all cylinders: The database viewer in ObjectForms Publisher 2.0 has limi
ted access to objects created by Java programs. You can query your data if you derive your objects from the ObjectStore Collections class, but you can't order the results of those queries. Nor can Java programs create and use relationships--a powerful feature of the engine that automates the cross-linking of related objects.
Java users also face the ugly issue of postprocessing. Object Design supplies "persistence-aware" versions of basic Java classes (String, Hashtable, Vector), but you have to run a postprocessor (literally rewriting your .class files) to make your own classes persistent. I should have postprocessed my servlet's classes and those belonging to the Java Web server running it, but uncertain which classes comprise that server, I didn't. Everything worked, but I felt uncomfortable.
Caveats aside, I got a good result. My Java-based calendar can now scale up impressively. You'll get the most mileage out of version 5.0, though, if you're a C++ programmer deploying to the Web. New featu
res of ObjectForms Publisher (for generic platforms) and the new ActiveX interface (for Active Server Pages environments) make it easier than ever to build applications that leverage ObjectStore's power.
Technology
*
*
*
*
Implementation
*
*
*
Key:
***** Outstanding, **** Very Good, *** Good, ** Fair, * Poor
screen_link (50 Kbytes)
The new Collecti
on Window, available in Inspector 2.1 and Publisher 2.0, displays object data in tabular form.
Jon Udell (
jon_u@dev5.byte.com
) is BYTE's executive editor for new media.
Matthew Wilson
My approach to software engineering is far more pragmatic than it
is
theoretical--and no language better exemplifies this than C++.
more...
BYTE Digest editors every month analyze and evaluate the best articles from Information Week , EE Times , Dr. Dobb's Journal , Network Computing , Sys Admin ,
and dozens of other CMP publications—bringing
you critical news and information about wireless communication,
computer security, software development, embedded systems,
and more!
Find out more