Sunday, June 7, 2009

Features

The main goal of JADE was to give programmers what they wanted — a seamlessly integrated programming language that would allow developers to just create one application that would go from end-to-end instead of having to write three separate applications for the database server, application server and presentation client and then write the code for them to communicate with each other.


The most striking difference between JADE and other object-oriented programming languages is that its object database is a native part of its language. For example, when creating an object in JADE, it can be created as transient or persistent. Creating an object as transient is just the same as creating objects in other object-oriented programming languages.


The object is simply created in memory, and then lost when the program ends. On the other hand, when an object is created as persistent, when the program ends, the object will still exist and be there the next time the program starts up. In other words, when an object is persistent JADE automatically works in the background to store and retrieve the object in the database when necessary. Persistent objects can be distributed across multiple co-operating servers, with JADE automatically handling object caching and cache coherency.

There are very few differences between manipulating transient and persistent objects. It has been said that JADE makes it appear to the programmer as if all the objects in the entire database were in local memory. Most of the time, JADE's object-oriented database is used in a multi-user system, and so this statement could be extended to say that JADE makes it appear to the programmer as if all the objects in the database were stored in some shared memory that all users connected to the system could access, even from different computers.

With all of the program code centralized on the database server as well the data, JADE achieves its goal of an end-to-end system, as JADE presents such a level of abstraction that all the client nodes can be programmed as if they were running on the database server. This is very desirable to most database programmers as they don't have to take a number of different technologies and link them together; they just create one application for everything.


JADE's database is also inherently object-oriented, and so it eliminates the performance loss in an object-relational mapping system where objects must constantly be converted from their object-oriented form to their relational form. Like all other commercial database products, JADE is ACID-compliant and has all of the standard features such as atomic transactions, locking, rollback, crash recovery and the ability to keep one or more secondary database servers synchronized with the main database for backup, disaster recovery and performance reasons.


JADE also provides a Relational Population Service that enables the automatic replication of objects from the main database to one or more relational databases. This allows JADE systems to interoperate with relational databases for reporting, business intelligence and data warehousing purposes. Currently, Microsoft SQL Server 2000/2005/2008 is the relational databases supported by this feature.
Three-tier model

No comments:

Post a Comment