This article gives an overview of Documentum’s Content Server OEM Edition, a version of the Content Server that can be embedded as a back-end component in other software products.
EMC Documentum Content Server 5.3 OEM Edition (a.k.a., the Embedded Content Server) is a new version of the Content Server that promises to simplify the task of creating and distributing standalone software applications that leverage the Documentum platform. Using the Embedded Content Server can reduce development costs and simplify deployment, while still providing many of Documentum’s most commonly-used features. Read on to find out how to the Embedded Content Server may be able to help you!
Imagine that you’re developing an online system to help people manage personal finances. Your application will allow uses to search for mutual funds, track stock prices, and plan budgets. You may also want to enable users to store tax returns and financial statements. Users will want to import documents, search for documents, apply metadata, and possibly manage the security of these financial documents. These features are commonly referred to as “library services” in the Enterprise Content Management world, and are the type of services provided by the OEM Edition of the Content Server. A GUI interface is not provided; these services are indented to be embedded as a back-end-component of a software system, such as your (imaginary) online system to manage personal finances.
It would not be cost effective to build your own relational database when you can simply select an existing database solution. Why then would you consider building your own solution for managing documents? Yet, this is what many independent software vendors (ISVs) do. Content Server OEM Edition allows these ISVs to deliver software applications built on top of Documentum’s best-of breed-content management platform. This enables ISVs to build better solutions (more robust with more comprehensive functionality) for lower development cost. In effect, the OEM Edition moves content management systems closer to what databases have become: a component to be embedded as needed inside of applications.
The OEM Edition can be deployed using a silent installer. This silent installer is designed to be embedded inside of another installer, allowing applications to install the Embedded Content Server as simply as if it were a typical 3rd-party library. The Content Server is pre-configured for typical usage, with settings pre-tuned for a production environment. As a bonus, the silent installer can customize your newly installed document repository by automatically installing one or more DocApps after Content Server installation. Once the silent installer has finished, the Content Server is ready for use by your application.
Documentum OEM Edition provides ISVs with a turnkey solution. Documentum OEM Edition bundles the Content Server, a database, and a full-text indexing system into a single package. Both Microsoft Windows and Linux are supported, so you can build your applications on the platform of your choice. This first release of the OEM Edition includes an embedded version of the Sybase ASE-15 database server, and Lucene v1.9.1 is installed as the full-text index server. (The FAST index server is used by the standard Documentum Content Server, but Lucene provides mostly the same functionality.)
The Embedded Content Server is indented to provide a content management service which runs entirely behind the user interface of your custom application. The OEM Server does not include Webtop, Documentum Administrator, or an application server. You will need to install the appropriate runtime environment for your application and acquire licenses for any add-on Documentum products that your application requires.
Another important difference is that the Embedded Content Server can only support one content repository. If your application requires more than one repository, you will need to either run multiple instances of the Embedded Content Server, or use the standard Content Server. There is also a hard limit of 10 million total objects in the repository.
Other differences have to do with the full-text indexing engine, Lucene. The Embedded Content Server is tuned to only index a maximum of 5,000 objects per hour. Also, unlike the FAST indexer in the standard Content Server, the Lucene integration currently only supports English, does not support XML zone searching, and does not support
grammatical normalization (lemmatization).
A key feature of the Embedded Content Server is its silent installer, which is designed to be run by your own custom installer (a.k.a. the “embedding installer”). The silent installer is the tool which allows you to effectively embed the OEM Content Server inside your application. Your embedding installer installs any additional components your system requires, prompts the user for required information (such as installation directory and administrator password), and then passes that information on to the silent installer. The silent installer can also be used to silently install one or more DocApps after installing the Embedded Content Server.
All required system environment variables are managed by the silent installer. DOCUMENTUM, DOCUMENTUM_SHARED, and DM_HOME will be configured for Windows servers, so you should not try to setup these values prior to running the silent installer. The Linux installer does not setup environment variables for the entire system, but instead provides a setup script that defines the correct values and is called as needed. Also, be aware that the silent un-installer will remove the DOCUMENTUM, DOCUMENTUM_SHARED, and DM_HOME system environment variables when it runs. If the embedding uninstaller needs to perform additional cleanup, it may want to read the values of these environment variables prior to running the silent un-installer.
One thing you will likely notice is that the silent installer takes considerably longer to complete installation than the standard Content Server. This is because where the standard Content Server installs only the Content Server itself, the silent installer is setting up multiple components: the Content Server, a database, and an index server. (EMC’s documentation indicates a typical 20 minute installation time, but your installation time may take longer depending on your hardware and installer options.) With the “-silent” command line option, the only feedback you will have regarding the installation progress is the final return code when the installer exits: a non-zero indicates an error. To debug installer problems, you may temporarily leave off the “-silent” flag when calling this installer. On Windows, this will cause various dialog boxes to pop up during installation. While this defeats the purpose of an automated, silent installation, the visual feedback provided may prove helpful when creating your custom install script.
The database component of the Embedded Content Server is intended to be maintenance-free. It is initially configured with 1GB of disk space allocated for data, and 1GB allocated for logs. The disk space allocation will auto-expand as the system grows and needs more space. Transaction log files are automatically managed (truncated) by the database server, but error log files are not. Your application should monitor, manage, and delete the error log files as required to avoid running out of disk space in a production environment.
Because the Embedded Content Server is restricted to the embedded Sybase ASE-15 database, you will need to verify that all of your application customizations are compatible with the repository. One of the most common compatibility problems arises from the maximum field length allowed by different databases. For example, a custom type with a 4000-character string attribute will work fine with an Oracle or MS-SQL backed Content Server, but causes problems with the Embedded Content Server, because, by default, the Sybase database is configured such that string attributes support a maximum of 2000 characters. You do not have an opportunity (via the silent installer) to change any of the database configuration parameters prior to installation. Increasing the maximum length of a field is impractical, as is would require significant changes to the Sybase database after installation.
Although Webtop and Documentum Administrator are not included with the Embedded Content Server, the standard IDQL and IAPI command line tools are installed. Please refer to the Content Server Administration Guide for documentation about these utilities.
When you install the Embedded Content Server, the silent installer configures your system for automatic startup and shutdown of the Content Server using system services for Windows and shell scripts for Linux. If your Windows server has problems automatically starting and stopping the content server (as, for example, may happen in a volatile testing environment, or in an environment with intermittent network resources) you may want to consider modifying the Windows service “Recovery” options. I have found that selecting “First Failure: Restart the Service” and “Second Failure: Restart the Service” allows the system to recover from most unusual startup issues without manual intervention.
The silent installer performs two checks for available disk space when it installs. This may be a problem for a testing environment, such as a minimal VMware virtual machine with limited disk space. The OEM Edition developers guide states that “you must have a minimum 15 GB of free disk space and 3 GB free temporary space.” Note that temporary space typically refers to the “temp” directory or partition that resides on a machine’s main (system) drive. This means that even if your target installation directory has 50 GB of available disk space, the installer will still abort if the main (system) drive is “full”, with only 1 GB of free space. (With production use, the content repository can quickly consume disk space, and you should consider using the EMC system sizing spreadsheet for estimating disk space usage.)
When the content repository is first created, the silent installer creates a set of standard system jobs. Some are disabled, and some scheduled to run once per week. Because the Content Server is embedded, it is important to have the system automatically repair problems and send out email notifications. Although the jobs are pre-configured for common usage scenarios, you may still need to activate or reschedule jobs to effectively maintain the content repository for your application.
The EMC Documentum Content Server 5.3 OEM Edition provides a flexible embedded content repository. With very few differences, it offers basically the same level of functionality provided by the traditional Documentum Content Server. By leveraging the silent installer to both install and apply customizations to the content repository and leveraging the OEM Edition’s self-maintaining aspects, you are free to focus on developing the application itself, rather than Content Server administration. While not the best choice for every situation, it certainly is worth considering for new or existing applications that require content management features.
For more information about the Embedded Content Server, you may want to reach out to EMC’s partner program. This program assists ISVs in building solutions using the Documentum platform and provides participants with technical support, training, interoperability testing, certification, and early releases of new products. Partners can explore embedding Documentum into their products, and may participate in joint marketing activities.