Connecting to IBM FileNet 4.0 Outside of a Java Application Server
FileNet was founded in 1982 and released one of the first commercially successful document imaging solutions. At the time, the solution required custom software and hardware. Over the years, it has evolved into more of a software-based solution that today contains much more than just document imaging. FileNet was acquired by IBM in 2006 and has retained the FileNet moniker for the software product line. In its most recent form, it is called the IBM FileNet P8 4.0 Platform (FileNet P8 for short, but I've used FileNet and FileNet P8 interchangeably throughout this article).
FileNet P8 is a suite of enterprise software that is known for enabling businesses to integrate process and content management in one solution. The suite also contains products such as records management, electronic forms, and compliance management, just to name a few. As an example of the flexibility and integration capabilities provided, the IBM FileNet Business Process Framework provides a user interface that is built on a highly extensible and configurable framework that incorporates the core products in FileNet P8.
This article will focus on the core FileNet P8 functionality of business process and content management. Both products provide a mixture of thick-client and Web-based user interfaces to configure and use. Most standard uses of the software can be handled through this out-of-the-box functionality. However, a key feature of FileNet is the capability to access its functionality through APIs for Java, .NET, or XML Web services. This opens up the capability to create standalone applications (Web or desktop based) that use FileNet as the foundation.
Initially, the FileNet API may seem large and complex but through this article I'll cover the basic steps needed to connect to both the process and content management products using the FileNet Java API. This will serve to help navigate the APIs for those new to FileNet and also help veterans get started connecting to FileNet P8 4.0 quickly.
FileNet P8 Architecture
Before you dive into the API code, it is helpful to understand the basic architecture for FileNet P8 4.0. The two main core components that yu'll focus on are the FileNet Content and Process Engines.
Figure 1: High-level FileNet Architecture (Image from Reference 1)
The FileNet Content Engine (CE) stores content and its metadata as part of business objects that are classified by Document Classes. These classes can define different objects such as images, documents, search templates, custom objects, workflow objects, and many others. They are organized by folders in an Object Store. The CE is able to store these items in a variety of storage mediums, including the file system, a relational database or external devices.
The CE runs as a J2EE application that enables web service access. Configuration is mainly done in a thick-client application called FileNet Enterprise Manager (FEM) that allows configuration of the Object Stores and Document Classes. Once this main configuration is done, the fine tuning can be done either in FEM or the web-based FileNet Workplace application.
Figure 2: High-level Content Engine Architecture (Image from Reference 2)
The FileNet Process Engine (PE) drives the cqpability to create and simulate business processes in Workflows. These Workflows are stored as content in the CE and can be configured through Workplace. The PE relies heavily on the CE for access to certain resources such as Directory Services, and communication between the two is handled over IIOP.
Figure 3: High-level Process Engine Architecture (Image from Reference 2)