OpenDoc: An Idea Whose Time has Come!

by Robert Tycast

When Brad Cox coined the term "software IC", he foresaw a day when software building would move from the realm of hand-crafted monoliths to a world of composites. These new-age solutions would be assembled from parts by skilled application builders using and reusing software components in ways that the original designers didn't and couldn't have conceived of.

OpenDoc represents an important first step in that direction. It provides the technology to break up an application into parts.

OpenDoc - What's In a Name?
"Open" - OpenDoc is a programming architecture for creating, storing, and sharing compound-documents. It is open, vendor-neutral, language-independent, and cross-platform.

Born of work by Apple Computer, Inc., and supported by major vendors such as IBM, Novell, Oracle, WordPerfect Corporation, Xerox Corporation, and Taligent, OpenDoc is changing the way applications are built and used.

"Doc" - OpenDoc is document-centered programming. By a suitable change of mind-set, virtually all applications in use today can been seen as a document. And, the definition is expanded. In OpenDoc, documents include more than text - audio, video, graphics, charts, spreadsheets - virtually anything that a computer can output is fair game. The document must be alive and not static - animation, background music, and a dynamically changing content are all part of the OpenDoc document.

You will no longer decide which applications to launch to solve a problem or to do work on your computer. Instead, you'll start with blank stationery and compose a document by collecting and combining "parts in standard or novel ways, depending on your need, inclination, or experience-level."

The most simple documents, ones that traditionally would use a text editor or word processor simply will include a text part. If, however, you wish to spice up your memo or letter with some graphics, simply include a graphics part using your favorite graphics editor. Or, if you want to include up-to-the-minute sales data, then a bar graph linked to a spreadsheet will do the trick.

Contrast this with an application-centered model, where you can't decide to include graphics in your document as an afterthought. You have to choose a word-processor which has all of the capabilities that you'll eventually want.

With OpenDoc you are limited only by your imagination and not by the capabilities of the application selected.

Is That ALL?
Not by a long shot. OpenDoc documents are scriptable. That means that developers can provide unique solutions by gluing OpenDoc parts together with a script language such as Object REXX. And users benefit, because they can tinker and customize their documents to their heart's content.

An Amalgam of Technologies
OpenDoc will consist of four distinct technologies:
 * Compound documents
 * This is OpenDoc proper.


 * System Object Model (SOM)
 * SOM provides the CORBA-compliant capabilities of OpenDoc, including a language-neutral interface and the ability to access parts across a network.


 * Open Scripting Architecture (OSA)
 * OSA provides the ability to script a document at the part level.


 * Bento
 * This is the persistent storage model. It is available to developers to use to write OpenDoc documents to permanent store.

But How Will These Technologies Be Made Available To The Industry?
Enter CIL. Apple Computer, Inc., IBM, Novell, Oracle, WordPerfect Corporation, Xerox Corporation, and Taligent have agreed to license these technologies to a jointly-funded consortium. To that end, Component Integration Laboratories (CIL) was founded. Modeled after the successful X Window System Consortium, CIL will receive the rights to OpenDoc, SOM, and related technologies. It will, then, license them back, royalty-free, to the industry. Members will contribute reference implementations and other donated software. CIL will also develop certification programs as a service to the industry to verify the completeness and correctness of OpenDoc implementations, as well as offer training for developers who want to use CIL technologies.

What? You Want More Information?
For more information, contact the Component Integration Laboratories. They can be reached at:
 * Component Integration Laboratories (CIL)
 * 688 Fourth Avenue
 * San Francisco, California 94118
 * (415) 750-8352 (voice)
 * (415) 757-4829 (fax)

"The Components Integration Laboratory ...is a non-profit association dedicated to software plug-and play interoperability across multiple computer platforms."

Watch for more information on OpenDoc in successive Newsletters, as well as on The Developer Connection for OS/2 CD-ROM.