UserLand Software
Powerful, cross-platform web scripting.
 

Frontier 5: Object Database Engine

What is Frontier?

Download

Tutorials

Directory

Mail

Community

Migrating

Feedback

Scripting News

A free cross-platform library for C developers that builds on Frontier's powerful and fast persistent storage system.

Last year we released a Mac-only toolkit for C developers that allows you to build and manage Frontier-compatible object databases. Now, in June 1997, we're ready to release the cross-platform object database toolkit.

What it is

The object database is a low-tech, high performance hierarchic storage system. It stores large amounts of structured data that's quickly and easily accessible. It has the performance characteristics of a file system and symbol tables.

The Frontier scripting system builds on this object database technology. Files managed with this library can be accessed by scripts running in the Frontier environment.

Databases are disk-based. Tables are loaded into memory as they are accessed. Newly-added and changed data remains in memory until a Save. Data accesses are hash-indexed and are very fast.

The library can be included in applications or system software without license fee or royalty. UserLand Software retains a copyright on this software. If you incorporate the ODB Engine library in your software please give us appropriate credit.

Macintosh and Win32 libraries are included.

Advantages

Here are the advantages of using the object database to store your information:

  • It's efficient at storing small things and large things. An object database cell containing a number or a string is stored in the table that contains it, not in a separate chunk on disk, so the storage required for a small object is reasonable.

  • Easy addressing. An object called newMexico stored in the states subtable of scratchpad is addressed as scratchpad.states.newMexico. Library calls make it easy to traverse the database, store pointers to other objects, create new hierarchies of tables and sub-tables.

  • It's faster. Many file systems don't maintain an efficient index for each folder or directory; the object database keeps a hash table for each level, meaning that table lookups are fast. As file system directories get large, things can slow down. The object db's performance curve handles large collections of data better.

  • It's native. On the Macintosh, the object database runs at RISC speeds, unlike the Macintosh file system which runs as emulated 68K code.

  • It's mature. We started developing the object database in 1988, first shipped commercially in 1992. Lots of tweaks and fixes over the years. Millions of hours of burn-in.

  • Simple API. Unlike file systems that often have horrendous APIs, the object database has a very simple API.

  • It's free. The ODB Engine library is provided on a royalty-free basis, for any purpose, including commercial software products.

  • It's compatible. The object database is the same structure that Frontier uses as its persistent storage system for scripts. So you and others can build compatible functionality in scripts.

  • It's independent. It has a philosophy, it's not about defeating Microsoft, it's a bit of software that's very useful and goes somewhere.

Significance

It's the first piece of Frontier to go cross-platform.

It's a very exciting event for us at UserLand!

Getting down to business

First, have a look at the API.

Then have a look at a sample app.

Want some ideas?

See what's new in the "1.0b6 Update" and 1.0b7 Update.

Now, download the software...

Downloading

It's available in ZIP and StuffIt formats, via HTTP or FTP:

The testing process

We're releasing a test version of the toolkit on Wed, Jun 4, 1997.

If you're a C developer, please download the library, run the test apps, build your own test app and report the results on the Frontier-code mailing list.

Please read the docs on this page and linked pages, and the readmes in the download folder.

The first release will only have C headers. The next step for ODB Engine is to release C++ and Java bindings.

It's possible that the cross-platform file format will change before the final release of Frontier 5. Unless absolutely necessary, the APIs will not change.

Pointers

The database cribsheet for Frontier users provides a very quick intro, and links to other pages about the object database for more detailed information.

Frontier SDK provides additional toolkits that are still Mac-only. Some of them may be ported to Windows if demand warrants it.

Brad Pettit is maintaining a separate ODB Engine website with C++ bindings. Thanks Brad!

   


 
Site Scripted By Frontier
© Copyright 1996-98 UserLand Software. This page was last built on 2/14/98; 3:12:26 AM. It was originally posted on 8/22/96; 9:55:07 AM. Webmaster: brent@scripting.com.