This section provides an overview of PPM architecture.
Overview of PPM Architecture
PPM is based on a three-tier architecture that consists of:
Client browsers (Client Tier )
One or more middle-tier J2EE servers (Application Server Tier)
A single Oracle relational database (Database Tier)
This arrangement is shown in the following figure.
Browser clients use HTTP or HTTPS (HTTPS requires an external Web server) to communicate with the PPM Web and application servers. PPM Workbench clients (Java™ applet) use Remote Method Invocation (RMI). The following sections provide information about each tier.
The PPM standard interface. The standard interface is rendered using Java Server Pages (JSP) and is accessed using a web browser.
The PPM Workbench interface is displayed using a Java applet installed on the client machine, and is started using the Oracle Java plug-in to a web browser.
The Administration Console. The Administration Console is embedded in the PPM standard interface.
The client and application server tiers communicate as follows:
For the standard interface, the client and application server communicate using HTTP or HTTPS, with no code required on client machines. The client accesses information from the database through the J2EE application server using a shared database session pool.
Note: To use HTTPS, you must also use an external Web server.
For the PPM Workbench interface, the client and application server communicate using Remote Method Invocation (RMI) or Remote Method Invocation over SSL (RMIS), which is optimized for use in PPM.
The architecture and communication protocols are created to minimize the number of round trips between the applet and server, and the volume of data transferred.
Application Server Tier
The application server (PPM Server):
Runs on the Microsoft® Windows®, Oracle Solaris, Micro Focus-UX, IBM AIX, Red Hat Linux, and SUSE Linux platforms
Uses the Tomcat Application Server
Houses workflow, scheduling, notification, and execution engines that drive automated tasks such as running scheduled reports and email notifications
Can run on multiple machines as a cluster to improve performance and scale hardware as usage increases
Can run with external Web servers such as Oracle Java System Web Server, Microsoft IIS, Apache HTTP Server, Apache-based Web Server (from Micro Focus), and IBM HTTP Server
Note: For detailed information on which Web server versions PPM supports, and on which platforms, see the System Requirements and Compatibility Matrix.
Maintains a database connection pool that caches connections to the database
Eliminates the need to restart the PPM Server if the database shuts down for scheduled maintenance or because of system failure
The application server and the PPM Web server communicate using Apache JServ Protocol version 1.3, or AJP13. The AJP13 protocol is similar to HTTP that has been optimized for performance. The application server and database tiers communicate using Java Database Connectivity (JDBC).
For more information about configuring an external Web server, see Configuring an External Web Server.
The database tier consists of an Oracle database that contains the tables, procedures, PL/SQL packages, and other components that the PPM products use. All transaction, setup, and auditing data are stored in the database. PPM can run on a single database instance, or it can leverage Oracle RAC (Real Application Cluster) configuration for load balancing and redundancy.
Note: The database consists of the following two database schemas:
- The central schema contains the core PPM Center data model and PL/SQL package code. The core data model contains all PPM Center configuration and transaction data.
- The Reporting Meta Layer (RML) schema contains a set of database views to facilitate reporting on PPM Center data.
Note: Running PPM on Oracle RAC is supported. However, the Oracle RAC failover feature is not available due to that PPM uses Oracle Thin JDBC Driver.
PPM supports the following Oracle database features:
A relational data model
Use of Oracle stored procedures to implement business logic (for example, workflow processing)
Use of a database connection pool to eliminate the need to create a separate database session for each user or transaction
Database caching of frequently-used data, programs, and procedures to improve performance
A database schema (separate from the PPM database schema) for implementing operation reporting in PPM
If you use MySQL database in the database tier for PPM
Since version 9.50, PPM no longer ships MySQL JDBC driver along with the release bundle, so if you use MySQL in the database tier of any Deployment Management environment object, you have to manually install MySQL Connector/J in the directory