Contents Index Supported platforms for Java applications UltraLite development tools pdf/preface.pdf

UltraLite User's Guide
  Introduction to UltraLite

UltraLite architecture


SQL database products typically use a client/server architecture. The database is normally stored in one or more files in the file system, or directly on a storage device. The database server receives and processes SQL requests from client applications, maintaining the database according to the requests. The server protects you from failures by guaranteeing that complete transactions are recovered in case of a failure and incomplete transactions are rolled back.

UltraLite has the same client/server architecture as other SQL database systems. However, the UltraLite database engine is not a separate process, but is instead a library of functions that is called by an application. If you build your application using C/C++, this engine can be accessed either as a DLL or from a statically linked library. If you build your application in Java, the engine is accessed from Java byte code stored in a JAR file.

C/C++ deployment 

If you build your application using C/C++, the UltraLite development tools generate C/C++ source code that is compiled along with your application source code. When you link your application, you link all of the compiled C/C++ together with the UltraLite runtime library or imports library. The result is a single executable file containing application logic and database logic required by the application.

When first executed on a new device, this executable automatically creates the UltraLite database for your application. This database is initially empty, but you can add data, either explicitly or through synchronization with a central database.

Java deployment 

If you build a Java UltraLite application, the UltraLite development process generates Java source code that represents the database schema. The generated source file is to be compiled into classes that you deploy as part of your application with the UltraLite runtime JAR file. You may wish to package all files together into a single JAR file for ease of deployment.

When first executed on a new device, the UltraLite runtime automatically creates the database for your application. This database is initially empty, but you can add data, either explicitly or through synchronization with a central database.

Persistent memory 

UltraLite provides protection against system failures. Some UltraLite target devices have no disk drive, but instead feature memory that retains content when the device is not running. The storage mechanism for the UltraLite database is platform-dependent, but is managed by the UltraLite runtime library, and does not need explicit treatment from the application developer.

Fixed schema 

UltraLite does not allow the schema of an UltraLite database to be modified once the application is deployed. When a newer version of the application requires more tables or more columns, the newer version of the application is deployed and the UltraLite database is repopulated through synchronization.


UltraLite development tools

Contents Index Supported platforms for Java applications UltraLite development tools pdf/preface.pdf