www.Interoperate.org


INTEROPERATABILITY: The Unfulfilled Promise
Timeless quotation
"If modern computing was born with the first electronic computer, incompatibility was born with the second. Computing was conceived of as a better way to process information, and distributed computing was conceived of as a better way to share information. But the vision of distributed computing depends on the unspoken assumption that computers can operate efficiently together to share information.

Unfortunately, the assumption of interoperatability hasn't been supported by the realities of today's computing. Computing is still a world made up of many technicial directions, product implementations, and competing vendors. This diversity is causing growing problems as computers and networks proliferate. It is ironic that the real effect of computing is too often to prevent the sharing of data."

-- John W. Donovan, Senior Editor
State of the Art/Features, Byte Magazine, November 1991, page 185
Special Issue on Interoperatability.
Intersystems Cache
by Peter William Lount, July 28th, 2004

Intersystems has a very interesting set of database products that are well designed for interoperation and integration with a wide array of technologies from many vendors including Microsoft, Sun, HP, IBM. The Cache Database system is an excellent system for integrating many disparate systems together. It works well with other relational databases. It can be used to form federated databases by joining together a companies many databases into one unified view of the corporate data. For companies with many databases in production this can be invaluable. Cache works well with objects and relational data and is marketed as a "post relational" database that supports both paradigms. The object support is impressive with native scripting in "Object Script" and "Visual Basic". They are working on a Java Virtual Machine for server side Java. Currently they support C++ and Java based client applications with "code generators" that pump out interface connection classes that enable rapid hookup to the database.

The Entree one day seminar is worthwhile to attend to learn their technology quickly and see if your organization can benefit from it. It's a very fast paced one day event with over 300 slides in their presentation and hands on during most of the day. Not rest for anyone as it's a work session just keeping up.

They support rapid XML generation from the object-table schema. This is excellent for the generation of web services which enables various intra and inter-corporate applications to be quickly put together. Oh, the Cache database seems to support storing XML in a native XML format so it's not converted and twisted into the relational shoebox.

The Cache Server Pages are an excellent way to get end to end (database to web pages) web sites up and running fast. In combination with tools such as MacroMedia's Dreamweaver Cache and a excellent web designer Cache makes a powerful competitor to Microsoft's ASP and .NET, and SUN's Java JSP technologies. The Cache CSP seems to be much quicker to develop with. It's certainly very fast getting from concept to working prototype as I learned from the one day seminar. As with any set of tools going beyond the prototype to a working application is curcial. Cache seems to provide the foundations for extensive appilcation development. The object orientation of it's ObjectScript is quite nice and allows you to use the familar notions of objects: classes, instances, class inheritance, and polymorphism.

While Cache doesn't yet support pure languages like Smalltalk other languages can interaface with Cache on a SQL basis, via ODBC or JDBC, or by direct API calls. In addition Cache makes a lot of use of their own ObjectScript langauge and class inheritance to provide code generation and other features in the system. It's quite possible that your you might be able to subclass the code existing code genertors and generate code for your favorite languages! They also provide much of the source code for their ObjectScript classes with the system.

The more that I play with Cache the more it seems like the Swiss Army Knife of the database world. It just seems to have eveything essential for many database applications.

Cache seems to be based upon a very powerful and flexible data representation and persistent storage system that can adapt data to the relational view, object view, hierarchical XML view all via what they call a multi-dimensional data engine. It looks like it's working for them.

Cache is truely a multi-faceted tool that is worth checking out. They also have excellent pricing for a commercial database vendor and are reasonable in that they allow small developers to get started by simply downloading their product. Many users start paying Intersystems when you are ready to deploy with their product, which might be sooner than you expected as it's quite possible that you'll make excellent progress with this fine tool.
XML
by Peter William Lount, July 28th, 2004

What to say about XML? It's the lastest in a long line of "text formated" file formats designed at interoperation. It's also one of the most elegant and effective unless you get carried away as some have with the full XML specification. I suppose to be fair it all depends upon what your actual requirements are. The full XML specification is quite complex and there are few that can fully understand all of it at once any more. Complexity and the Cult of the Cryptic have unfortuately taken over the committee's that guide and add to XML. I suppose that this was inevitable with many competing interests needing their parts included to make XML work as a standard.

XML is designed to be written by humans and programs. XML that is written by programs, expecially large files, are not usually designed to be read by humans but that's ok as it's likely that those files have programs that read them and you'll simply work with them instead of manually editing the XML tags. In any event it's easy to adopt what is needed for your applcations and the applications that you'll need to interoperate with. That's part of the attraction of this flexible standard.

Interoperability Links

Database and Interoperation Systems
Intersystems Cache and Ensemble

Languages
Java
Smalltalk
Contact Interoperate.org
peter at interoperate dot org
Legal
Interoperate.org is a trademark of Active Information Corporation. All other trademarks are owned by their respective owners. This web site and all it's contents are copyright 2000-2004 by Active Information Corporation. All rights reserved. Some content and images may be copyright by others and is used either with permission or under fair use copyright provisions.
sensei