The world wide web has evolved from a system for exchanging scientific research documents to a system supporting storage and delivery of information, goods, and services to millions of people around the world.
The web has also evolved from a distribution vehicle for standalone software applications to a backbone for distributed client/server applications. Recent developments such as Sun's Java , and Microsoft's ActiveX controls demonstrate the application of object-oriented techniques to the web to produce distributed components.
Such component architectures represent an advance over today's CGI by offering higher-level abstractions, improved efficiency, and the possibility of standardization on transports such as IIOP.
CI Labs envisions OpenDoc as the core of a Distributed Component Software Architecture ( DCSA ). The OMG has already adopted CI Labs' OpenDoc technology as its compound document (component) model through the Common Facilities Task Force RFP1.
OpenDoc also serves as the foundation of Apple's Cyberdog internet technology which breaks up today's monolithic web browsers, such as Netscape Navigator or NCSA Mosaic, into smaller, reusable components. The Cyberdog approach allows transparent Internet access from other OpenDoc-based applications -- "Internet in everything" -- as opposed to extending today's browsers into self-sufficient platforms -- "everything through the browser".
OpenDoc and Java address different design points and are in fact complementary. Where Java lacks a compound document model that supports functions such as display negotitation and drag/drop, OpenDoc lacks complete platform-independence. There is a significant opportunity for OpenDoc and Java to evolve together.
CI Labs' DCSA also includes the Open Scripting Architecture (OSA) -- an abstraction layer which supports multiple scripting languages and automation of components through semantic events.
CI Labs ensures component interoperability through the development of component test suites and the adoption of standard components and standard data formats.