WHEN IS BEING AN OBJECT A GOOD THING? Databases, Objects and the Future by Denise Caruso c. 1990 Media Letter Writing about databases is an act of raw courage, since the topic is instant Sominex to most of the population. But as we move forward into a world where heterogeneous network servers brim with video, still images, sound, animation and graphics, a database or its functional equivalent will be central to a company's ability to exploit the power of its vast stores of electronic data. The entrenched technologies, flat-file and relational, are at least adequate in handling multiple data types. But the concept of object-oriented programming in general is becoming popular because defining types of data as "objects" makes prototyping and writing software faster and more flexible. As great strides are made toward the widespread use of objects, new technologies make it easier to use them in databases and other applications. In the classical sense, an object is equal to the data itself (i.e., the picture, sound, paragraph of text, spreadsheet cell, whatever) plus the methods which define how it interacts with other objects and vice versa. It takes far less time to write a program that manipulates such an object than it does to get into the trenches and, for example, rewrite hirsute user interface code every time you want to create a new application. That's why NextStep's Interface Builder wins such high praise in the software development community. A reusable library of objects shaves an enormous amount of time off a product's development cycle, time which can always be better spent cooking up new applications or features. AND WE LIKE IT, TOO In multimedia, object orientation is especially valuable because by definition, most objects used in multimedia applications are complex and compound in their structure. In addition, there are tons of them, and they have to work closely together -- very often, video will be accompanied by sound, maybe text, maybe a spreadsheet cell, maybe a combination of all three, or new ones that haven't even been derived yet. The comparatively simple rules which govern relational and flat-file databases are not likely to be robust enough to handle the kind of sophisticated data maneuvering required in future multimedia applications. As a result, a growing number of technologists concerned with such things believe that what are thought of today as database functions -- storage and retrieval, as well as sophisticated data manipulation -- will actually become part of the underlying structure of either an application or a computer's operating system, or both. One means to this end is to define standard data types as classical "objects" (that is, data plus methods, as described earlier), then provide a layer through which they communicate with an application, a kind of brain trust of object intelligence that knows what and where they are and what they are able to do. This layer, sometimes called a "library," will ideally sit between the application and the file system, and provide a greatly simplified means for developers to access and manipulate, within their applications, any stored object. Though it's stretching the metaphor until it screams, picture the benefit of such a layer as the difference between ringing the butler to fetch a glass of port vs. going to the bar, opening the cupboard, rummaging around for the port bottle, finding the corkscrew, uncorking it, picking a clean glass, pouring the wine, and heading back to the parlor to finish watching "Cop Rock." It's simply the difference between "ask and you shall receive" and doing it all yourself. HOW YOU LOOK AT IT Though a wave of new object-oriented databases is breaking today, only one such company is using the "layer" approach to application development: Versant Object Technology of Menlo Park, CA. Versant, which has been shipping its object database since June on Sun Microsystems workstations and IBM's RS/6000, is readying just such a layer of software called Versant Star, which sits between the database and its applications. Star, says Versant CEO Mike Seashols, is a "universal communications layer" that takes the protocols generated by applications and interprets them for whatever data retrieval system is being used, whether object-oriented or flat- file or relational. "Our position is to take an enabling technology and apply it to the problem of integrating information -- records, text, objects, images and spatial data -- regardless of source," says Seashols. "Not even IBM can define how you lay data down on a disk, a central data dictionary and the architecture of getting data in and out of it. This is the first real technology on the market to start making effective integration happen." Patriot Partners, the new venture formed by IBM Corp. and Metaphor Computer Systems of Mountain View, CA, has an even larger picture in mind. Using the same object-oriented approach that Metaphor has successfully used in its Data Interpretation System (DIS), Patriot will spend the next two years crafting an application development environment for OS/2 and UNIX-based machines based on a layer of technology similar in function to Versant's, which will grant all software developers -- not just those writing database applications -- easy access to a large library of objects. Both Patriot and Versant, then, are approaching the problem in a similar fashion -- make the use of objects, and subsequently the porting of applications, an elegant no-brainer for developers. However, a slight difference in approach aside, both companies are being fairly proprietary about who they serve -- Versant by working only with database applications, and Patriot by its choice of platforms. WHO NEEDS STANDARDS? But one new company called Common Knowledge, based in Saratoga, CA, and founded by Ann Arbor Softworks founder and former Ashton-Tate chief scientist Scott Wiener, is taking a broader approach. Wiener, whose team cut its teeth handling databases and multiple data types for its work on both FullWrite Professional and at A-T, is working on a product designed to be a replacement for any application's file system which will reside on a network server and support any computer, operating system or application. Called the WaveServer Access Library, Wiener says it's a kind of database for applications -- not users -- to talk to. Sitting between the operating system and the application, WaveServer is both a server pool sorting the stuff applications are interested in -- paragraphs, spreadsheet cells, graphics, digitized sound -- and the communication between the pool and applications. Thus applications actually talk to a smart server as opposed to "dumb, passive files" as Wiener calls them. What makes the server smart is the way WaveServer describes the objects within the pool, a method for which the firm is seeking patent protection. Each object has a dictionary for indexing which includes both its name and its value -- which can include anything from a keyword to another name to a group to "has anything changed?" rules, and ad infinitum. Applications query the pool like a user would query a database, and receive data based on anything included in an object's dictionary. The code overhead for such indexing is small enough that Wiener believes it will work on a 1MB Macintosh. Designed to work with any network (AppleTalk, TokenRing, whatever) with nodes (Mac, PC, UNIX boxes, it doesn't matter) and a server (Mac, OS/2, UNIX, Vax, IBM 390, you pick), WaveServer is especially designed to ease the pain of groupware authors stymied by the wide range of operating systems and hardware found on large networks. "Network complexity is just not the kind of stuff that applications developers want to deal with," he says. "We need to get rid of the file system and get down to objects. If it were still 1960 and the world was all ASCII, it would be okay. But it's not." WaveServer, at least in concept, has been greeted with open arms by many of the hardware companies which Wiener has approached about the project. He hopes it will eventually be built into the operating systems of such firms as Silicon Graphics, Apple, Sun, NeXT, IBM and Go. In addition, Wiener is already dealing with hand-picked software developers to help his team crystallize the product's final features. "We picture people integrating in cycles -- it takes six months, so we want to start talking to them now," he says. "The ideal case would be that we become a technical development company and license this technology to major platform players, so every applications developer could count on it being there. It's the Adobe position -- to be the 'standard' for data storage in the same way Adobe is the standard for page description."