Chapter 8. User clients 203
For more information about ODWEK viewers and conversion support, see “Windows client 
viewers” on page 187.
Before Content Manager OnDemand Web Enablement Kit (ODWEK) Java API V9.5, the only 
API that allowed documents to be added to the Content Manager OnDemand archive was the 
ODFolder.storeDocument API, which resulted in an archive request to the Content Manager 
OnDemand server for each document. This API is suitable for low-volume ad hoc storage.
In ODWEK V9.5, new APIs were introduced to allow documents to be loaded in bulk, which 
provides high-volume storage similar to the arsload command. To accomplish bulk loading by 
using the ODWEK Java API, you perform these steps:
1. Call the ODServer.loadInit API to initiate the load process.
2. For each document to load, call the ODServer.loadAddDoc API, which passes the number 
of pages, a hash table of index values to store, and the document data.
3. Call the ODServer.loadCommit API, which specifies the application group and application 
to send the load data and load request to the Content Manager OnDemand server.
For special client needs, the Java API provides access to the object model (application group 
and application) of Content Manager OnDemand and facilitates an ARSXML pass-through, 
which can be used to perform administrative tasks.
Native library dependency
Because of the nature of the Content Manager OnDemand architecture, ODWEK requires the 
use of native libraries. 
In addition to the physical presence on the system, Java applications must be aware of the 
native libraries. The ODWEK native libraries are loaded as shared memory objects and 
cannot be reloaded multiple times. If you run multiple ODWEK applications in one web 
application server, consider this restriction. 
For a description of how the native library reference is managed for the ODWEK client in IBM 
Content Navigator in IBM WebSphere Application Server, see “Accessing the native libraries” 
on page 195.
ODWEK web client design considerations
When you design a web client for Content Manager OnDemand that is based on ODWEK, 
consider the following items:
/SM590000Dependency on a native shared library affects deployment and general options, such as 
the message language, which can be set only for the whole environment.
/SM590000Be careful with multithreading document access. Access to a single session with the 
Content Manager OnDemand server must be in a single-threaded fashion. Only one 
thread can access objects of a specified Content Manager OnDemand session at a time.
/SM590000Every session that is established with a Content Manager OnDemand server consumes 
memory on the ODWEK system. For high-usage applications that support many 
concurrent users, for example, web clients that work with non-named users, we suggest 
the use of connection pooling. 
/SM590000Ensure that a timeout concept is implemented in your application that meets the Content 
Manager OnDemand user activity timeout. Sessions that do not time out might lead to 
memory leaks or high memory consumption on the Content Manager OnDemand and 
ODWEK machines.