Oracle IPM Component Characteristics

Configuring High Availability for Enterprise Content Management 11-3 retrieved, and viewed frequently during the day. It is the movement of document content in and out of the system that has the largest impact on performance. Oracle IPM stores TIF documents that average about 25K bytes in size. However, TIF documents can have multiple pages, which increases their size. Oracle IPM also supports 400 other file formats of varying sizes, including larger sizes.

11.1.1.1 Oracle IPM Component Characteristics

Oracle IPM is a JEE application that runs in the WebLogic Server Managed Server environment. It includes the following components and subcomponents: ■ Servlets: Oracle IPM has a servlet for internal use that provides a mechanism for the REST API and IPM Applet Viewer to access the public API functions of the system. ■ EJBs: Oracle IPM uses some EJB concepts internally; however it has no external facing EJBs. ■ Oracle IPM leverages JMS to drive both its Input Agent and its BPEL Agent message-driven beans MDBs. In Figure 11–1 , the BPEL Agent is the collection of BPEL MDBs. These queues should be persistent and provide guaranteed delivery. They should also distribute work across clusters. ■ Oracle IPM leverages JAX-WS and JAX-B to implement its Web services and serialization mechanisms. ■ Oracle IPM leverages TopLink for its definition persistence as well as configuration. The objects are generally the definitions for applications and searches. In addition, TopLink is used to get user and system preferences. ■ Oracle IPM leverages Java Object Cache JOC for an internal cache of documents retrieved from the repository and being processed for viewing. These caches exist only locally, and are not shared across the servers. ■ The interaction between AXF and BPEL is done through the BPEL remote API, which uses RMI via EJB.

11.1.1.1.1 Oracle IPM State Information Because Oracle IPM has a stateful UI but does

not support session replication, it requires a sticky load balancing router. Invocations to the Oracle IPM services using the Oracle IPM API are stateless.

11.1.1.1.2 Oracle IPM Runtime Processes Oracle IPMs core uses a service-based

architecture with a central API, UI and Web Service interface. The UI, which is ADF based, uses Oracle IPMs public API to access the core services. End users can access this API via Web Services. Oracle IPM also provides a thin Java client library that exposes those Web services in a more convenient packaging for Java developers. Oracle IPM has these agents to perform background processing: ■ The Input Agent watches an input directory for incoming lists of documents to ingest. ■ The BPEL Agent responds to document create events and creates new BPEL process instances with metadata from the document and a URL to the document attached. In Figure 11–1 , the BPEL Agent is the collection of BPEL MDBs. Note: Oracle IPM does not use Java Transaction API JTA because Oracle IPM does not support multi-component transactions. 11-4 Oracle Fusion Middleware High Availability Guide ■ The Ticket Agent is a stateless EJB that is invoked off a timer. It is not shown in Figure 11–1 . The Ticket Agent is responsible for identifying and removing expired URL tickets. These tickets are used to create clean URLs without parameters. The Oracle IPM service uses the Oracle UCM document repository for the storage of its scan documents. The Oracle UCM repository is a standalone product to which Oracle IPM communicates via a TCPIP socket-based connection mechanism provided by Oracle UCM called RIDC.

11.1.1.1.3 Oracle IPM Process Lifecycle Oracle IPM is a JEE application which runs in a

WebLogic Server managed server. It does not provide any specific death detection, but WebLogic Server Node Manager can be used to keep the server running. The steps in the Oracle IPM process lifecycle are: 1. Oracle IPM is mostly initialized after the domain configuration is performed. The remaining initialization happens when Oracle IPM starts and the first user logs on. 2. When the first user logs on, full security is granted to the user under the assumption that he can subsequently grant permissions to others. Oracle IPM provides a self seeding database security mechanism. If Oracle IPM starts and there is no security defined, the first user logging into the system is granted access to all things. 3. After Oracle IPMs first startup Oracle IPM is empty. It is the administrative users responsibility to create connections to the Oracle UCM document repository and BPEL servers. 4. Once the first UCM connection is created, the Oracle UCM repository initializes for Oracle IPMs use. 5. Then, appropriate business object must be created including Applications, Searches, and Inputs. The administrative user may choose to import these business objects rather than create them from scratch. 6. If the Agent User is specified in step 1, the agents will be waiting for JMS queue events to begin their work after the servers has been restarted 7. After the server is running and the JAX-WS mechanics are ready, Oracle IPM can receive client requests.

11.1.1.1.4 Oracle IPM Configuration Artifacts Oracle IPM has the following

configuration artifacts: ■ All Oracle IPM configuration data is stored within the Oracle IPM database. Configuration does not reside in local files. The configuration parameters are exposed either through the appropriate MBeans available form Enterprise Manager or WLST or through Oracle IPMs UI. ■ The other Oracle IPM configuration artifacts are the definition objects, which are described in Section 11.1.1.1.5, Oracle IPM External Dependencies. ■ Oracle IPM uses Oracle UCM mechanisms for customizing Oracle UCM for use with Oracle IPM, including management of UCM Profiles and Information Fields.

11.1.1.1.5 Oracle IPM External Dependencies Oracle IPM has the following external

dependencies: Configuring High Availability for Enterprise Content Management 11-5 ■ Oracle IPM requires a database to store its configuration. The database is initially create via RCU and is managed through WebLogic Server JDBC data sources. The database is accessed via TopLink. ■ Oracle IPM leverages a variety of Oracle and Java technologies, including JAX-WS, JAX-B, ADF, TopLink, and JMS. These are included with the installation and do not require external configuration. ■ Oracle IPM provides Mbeans for configuration. These are available through WLST and the EM Mbean browser. Oracle IPM provides a few custom WLST commands. ■ Oracle IPM depends on the existence of an Oracle UCM repository. The following clients are dependent upon Oracle IPM: ■ The Oracle IPM UI is built on its public toolkit the Oracle IPM API. The UI and core API are distributed in the same EAR file. ■ Oracle IPM provides Web services for integrations with other products, and provides a set of Java classes that wrap those Web services as a Java convenience for integrating with other products. ■ Oracle IPM provides a URL toolkit to facilitate other applications interacting with Oracle IPM searches and content. ■ Oracle IPM provides a REST toolkit for referencing individual pages of documents for web presentation. Clients connect to Oracle IPM as follows: ■ Either through JAX-WS for the Web services andor Java client. These connections are stateless and perform a single function. ■ Through HTTP for access to URL and REST tools: – REST requests are stateless and perform a single function. – URL tools log into the Oracle IPM UI and provide a more stateful experience with the relevant UI components.

11.1.1.1.6 Oracle IPM Log File Location OracleIPM is a JEE application deployed on

WebLogic Server. All log messages are logged in server log files of the WebLogic Server that the application is deployed on. The default location of the diagnostics log file is: WL_HOME user_projectsdomainsdomainNameserversserverNamelogs serverName -diagnostic.log You can use Oracle Enterprise Manager to easily search and parse these log files.

11.1.2 Oracle IPM High Availability Concepts