This chapter provides an overview of building an ObjectStore application. The basic steps are the same, regardless of the compiler or platform you use.
The schema source file is a C++ file with a specified format used as input to the schema generator (ossg). The schema source file includes the files that define
See Chapter 3, Generating Schemas, for further information.
When you use Visual C++, the schema generator creates the object file directly. On all other platforms, you must compile the application schema source file yourself.
Make sure your makefile is modified to link the following (to create the executable):
Third-Party Compilers You Can Use
Third-party compilers you can use include those in the following list. Consult the ObjectStore C++ Interface Release Notes, Platforms and Compilers in Chapter 1 for the specific compiler version numbers supported by this release of ObjectStore.
When using a third-party library or application with an ObjectStore application, you must ensure that all persistent data is read/written inside a transaction.
A virtual file system provides a user with a logical view of a file system. When you use a virtual file system, it appears as if all sources and executables reside in the current directory path, when only local modifications actually reside there. The purpose of a virtual file system is to hide the actual locations of files from users.
When you use ObjectStore with a virtual file system, you must specify pathnames that would work without the virtual file system. This is usually some kind of absolute pathname.
This requirement applies to any ObjectStore database stored under a virtual file system and includes any file that the Server must access. The Server must be able to access whatever pathname is provided. This can be a virtual file system pathname if the Server is running under a virtual file system.
You can run ObjectStore clients and utilities in directories where ObjectStore can find all files. However, the opening of a database is always performed by the Server. In a virtual file system, the Server cannot determine where a file actually resides unless you specify the true location.
You can run the Server under a virtual file system if there is only one view of the virtual file system and the view is shared by all users. It is not possible for the Server to recognize more than one view. In some virtual file systems, machines and users can have their own views.
You can maintain schema databases in a virtual file system because the schema generator embeds the absolute pathname of the schema in the database. However, when you generate schema databases you must specify pathnames that the Server can use.
Some virtual file systems, such as ClearCase, provide a way to return an absolute (nonvirtual) pathname for a given element in a virtual file system. This pathname can enable the ObjectStore Server to locate the element. It does mean the loss of the ability to use relative names (such as eng_1.ldb in the following example) as arguments to ObjectStore utilities.
> pwd
/home/clients/libschemas
> ls
test_1.ldb eng_1.ldb qa_1.ldb
> ossize eng_1.ldb
ossize: The database was not found <err-0025-0351>The database "/home/clients/libschemas/eng_1.ldb" does not exist (err_database_not_found)
>
ObjectStore/Single includes the Server and Cache Manager functionality as part of the same library as the client application rather than as separate processes. Those who benefit from ObjectStore/Single are application developers who develop applications for a nonnetworked environment. Therefore it is most useful for applications that have no requirement for
If you use dynamic library load paths, you can decide at execution time whether an application should be an enterprise ObjectStore or an ObjectStore/Single application. This allows you to develop applications using full ObjectStore, but package the application using ObjectStore/Single as a replacement. This replacement eases integration of embedded applications.
A summary comparison of full ObjectStore and ObjectStore/Single follows.
See Chapter 6, Working with ObjectStore/Single, for additional information about ObjectStore/Single.
Updated: 03/26/98 19:56:48