P6 EPPM is a Java 2 Enterprise Edition (J2EE platform) web application. P6 EPPM uses the J2EE specification to build a flexible and scalable cross-platform solution. The J2EE platform consists of a set of industry-standard services, APIs, and protocols that provide functionality for developing multi-tiered, web-based, enterprise applications.
The division of tiers enables the application to scale according to customers’ performance demands. The main tiers of P6 EPPM are:
- The application layer – A web server layer rendering JSPs, JavaScript, Applets, and so on to present a feature-rich user interface accessible through supported browsers.
- The functional layer – A J2EE application server forms the middle tier where all business logic for P6 EPPM is implemented. This layer runs the business logic for both P6 and P6 Services.
- The database layer –The database layer consists of a standalone or clustered RDBMS environment utilizing Java Database Connectivity (JDBC) to integrate with the functional layer.
The following image provides an overview of the P6 EPPM architecture.
P6 EPPM resides on an application server, and the application data repository resides on the database server.
Typical P6 EPPM deployments consist of the following components:
- A clustered web server load balanced using a load balancing router or software solution. End-users, including administrators, interact with P6 through these web servers.
- A clustered J2EE application server on which P6 EPPM is deployed.
- RDBMS as a data repository for P6 EPPM. Depending on the dataset size, the database server can be a standalone or clustered server. In the following sample architecture, the database is clustered. For optimized performance, Oracle recommends that the application servers and RDBMS are co-located, for example, within the same subnet, to avoid network latency.
The following illustrates a sample P6 EPPM deployment.