ObjectDB - Object Database for Java Home | About Us | Customers | Free Download | Purchase
 
 
Product Info
Product Overview
List of Features
Visual DB Explorer

Documentation
Manual (HTML)
Manual (PDF)
JDO JavaDoc

Samples & Links
JDO Directory Demo    
Web App (JSP) Demo    
 



 

ObjectDB for Java/JDO - Overview

What is ObjectDB?

ObjectDB is a powerful yet compact Object Database Management System (ODBMS), written entirely in Java, and compliant with the new Java Data Objects (JDO) standard developed by Sun (JSR12). ObjectDB is designed to efficiently handle databases of various sizes, ranging from a few KBs to hundreds of GBs. Among its features are small footprint, high performance, rapid development, easy deployment and flexible architecture (1-Tier, 2-Tier or N-Tier).

ObjectDB Architecture

ObjectDB for Java/JDO can operate in two modes: embedded database mode and client server mode.

Client-Server Mode

In client-server mode, an ObjectDB server is running on a separate JVM (in a separate process). Applications running on different JVM's communicate with the database server using TCP/IP. Many client processes (running on the same machine or on different machines) can safely access the database simultaneously, because the database server manages an automatic lock mechanism.

Embedded Database Mode

In embedded mode, the application uses ObjectDB as a class library, so no server process is needed in another JVM. The database file is accessed directly by the application's process, using JDO and ObjectDB jar files that are added to the application's classpath. In this mode, the database file is locked for a single process, and multi user support may be achieved only by multithreading (several threads) in a single process.

Client-Server Mode vs. Embedded Database Mode

The embedded database mode is easier to use and faster because no server has to run in the background and no TCP/IP communication is needed. Adding JDO and ObjectDB jar files to the classpath is the only requirement. Client-Server mode, however, is useful for accessing remote databases and for database access of several processes simultaneously. Moving from one mode to the other can be done simply by changing a single string (the connection URL), because the JDO API is the same for both modes.

ObjectDB Editions

ObjectDB for Java/JDO is available in three editions: Free, Embedded and Server.

  • Server Database Edition
    This is the most advanced edition. It supports all ObjectDB features and both the embedded database operating mode as well as the client-server operating mode.

  • Embedded Database Edition
    This edition is limited to the embedded database operating mode. Otherwise, it is very similar to the server database edition.

  • Free Database Edition
    This is a special edition for personal non-commercial use. It is based on the embedded database edition, but has some additional restrictions and limitations.

A full feature comparison table is available on the List of Features page.

ObjectDB in Web Applications

ObjectDB for Java/JDO is specially designed for Java web applications. Each one of the ObjectDB editions can be easily integrated into any JSP/servlet web application. The JDO Guest Book sample provided with ObjectDB demonstrates a simple web application that uses ObjectDB and JDO.

Operating Modes

Naturally, the server database edition, supporting client-server mode, provides the highest flexibility for web applications and advanced features, like remote database administration and manipulation. However, web applications may also use the ObjectDB embedded database edition and the free database edition in embedded mode as long as the database and the web server are on the same machine. Because embedded database mode supports multithreading, and the web server handles simultaneous requests using threads, even in embedded database mode, multi user access to a database is supported.

JDO Web Hosting

The embedded database mode is especially important if you are considering deploying a Java web application on a virtual web hosting server rather than on a dedicated server. Using embedded mode, it is easy to deploy a web application with ObjectDB on any web hosting system that supports servlets/JSP. Just drop the JDO and ObjectDB jar files into the WEB-INF/lib directory of the web application, and database support (in embedded mode) is made available.



Copyright 2001-2007 ObjectDB Software. All rights reserved.