+91-7678211866  info@peppertechsolutions.com

PeopleSoft Web Server

PeopleSoft Administration

PeopleSoft Web Server (PIA) Explained: Architecture, Servlets, Configuration & Administration

A complete guide to the PeopleSoft web tier — how the PIA (PeopleSoft Internet Architecture) works on Oracle WebLogic, every servlet explained, domain types, web profiles, key configuration files, SSL setup, and day-to-day administration tasks.

📅 Updated: November 2024 ⏱ 15 min read 🏷 PIA · WebLogic · PeopleTools · Web Server

When a user logs into PeopleSoft, the first system they touch is the web server — specifically, the PeopleSoft Internet Architecture (PIA) running on Oracle WebLogic. Everything visible in the browser, every page render, every login, every navigation click — all of it flows through the PIA web tier before touching the Application Server or database.

Yet the web server is often the least understood component in a PeopleSoft stack. This article covers PIA from top to bottom — its architecture, the servlets it hosts, how WebLogic domain types affect your deployment, web profiles, key configuration files, SSL setup, and the administration tasks every PeopleSoft admin should know cold.

PIA PeopleSoft Internet Architecture — the web tier
WebLogic Oracle WebLogic Server hosts all PIA servlets
7001 Default WebLogic Admin Console port
JOLT Protocol connecting PIA to the App Server

What Is PIA (PeopleSoft Internet Architecture)?

PeopleSoft Internet Architecture (PIA) is the web tier component of PeopleSoft’s three-tier architecture. It is a J2EE Enterprise Archive (.ear file) deployed on Oracle WebLogic Server, consisting of a collection of Java web applications (servlets) that collectively deliver the PeopleSoft browser-based user interface.

PIA’s job is to act as the intermediary between the user’s browser and the PeopleSoft Application Server. It receives HTTP/HTTPS requests from the browser, translates them into JOLT protocol calls to the Tuxedo Application Server, receives responses, and renders them as HTML pages back to the browser.

💡 Key Point PIA does not contain business logic. It is a presentation and protocol translation layer. All PeopleCode, database access, and business rules run in the Application Server — PIA simply packages requests, sends them over JOLT, and renders responses as web pages.

Web Server Architecture & Request Flow

Understanding how a request flows through the PIA web server is fundamental to troubleshooting performance issues and errors.

Browser
HTTPS Request
WebLogic / PIA
PORTAL Servlet
→ JOLT →
App Server
PSAPPSRV
→ SQL →
Database
Oracle / SQL Server

Figure 1: Request flow — Browser → PIA (WebLogic) → App Server (Tuxedo/JOLT) → Database

Step-by-step request lifecycle:

  1. User’s browser sends an HTTPS GET/POST request to the WebLogic server (e.g., https://pshost/psp/ps/EMPLOYEE/HRMS/c/HRS_HRAM.HRS_APP_SCHJOB.GBL)
  2. WebLogic routes the request to the PORTAL servlet, which is the primary entry point for all PeopleSoft page requests
  3. The PORTAL servlet validates the user’s session cookie and web profile settings
  4. PORTAL packages the request and sends it over JOLT (port 9000) to the Application Server
  5. The App Server executes PeopleCode, retrieves data from the database, and returns structured response data
  6. PORTAL receives the response and renders it as HTML/JavaScript — the complete page sent back to the browser

Oracle WebLogic Server — The PIA Platform

Oracle WebLogic Server is the J2EE application server that hosts PIA. PeopleSoft has used WebLogic as its primary and only supported web server since PeopleTools 8.50+ (replacing the earlier support for BEA WebLogic, IBM WebSphere, and Oracle Application Server).

WebLogic provides the J2EE container that runs the PIA servlets, manages HTTP sessions, handles SSL/TLS termination, provides connection pooling, and delivers the WebLogic Administration Console (default port 7001) for domain management.

Key WebLogic Concepts for PeopleSoft Admins

Concept What It Means in PeopleSoft Context
Domain The WebLogic domain is the top-level unit — the entire PIA installation. Created during piainstall or DPK deployment. Located at PS_CFG_HOME/webserv/<domain>/
Admin Server The WebLogic Administration Server (WebLogicAdmin) manages the domain. Hosts the Admin Console on port 7001. In production multi-server domains, this is separate from the managed PIA servers.
Managed Server The actual PIA server instances (PIA, PIA1, PIA2 etc.) that serve user requests. In multi-server domains, servlets are distributed across these instances.
Cluster Multi-server domains use a WebLogic Cluster (peoplesoftCluster) for load balancing and failover across managed server instances.
Deployment Each PIA servlet (PORTAL, PSIGW, etc.) is a deployment targeted to one or more managed servers or the cluster. Managed via the WebLogic Admin Console → Deployments.

WebLogic Domain Types: Single vs Multi-Server

During PIA setup you choose between two WebLogic domain configurations. This is one of the most important decisions in your PeopleSoft web server architecture.

Single Server
Single-Server Domain
One WebLogic server instance hosts everything — admin console + all PIA servlets
Dev / Non-Prod

In a single-server domain, the WebLogic domain contains exactly one server named PIA. The WebLogic Admin Console, the PORTAL servlet, PSIGW, and all other web applications are all deployed to this single server instance.

Administration and user traffic share the same WebLogic JVM and resources. Since there is no isolation between admin and application workloads, this configuration is not suitable for production.

Best for: development environments, DBA sandboxes, training systems, and initial setup familiarization.

⚙️ Server: PIA (single) ✅ Use for: Dev, Training, Non-critical
Multi Server
Multi-Server Domain
7 unique server definitions + a WebLogic cluster — servlets isolated across managed servers
Production

A multi-server domain contains 7 unique WebLogic server definitions and a WebLogic cluster. The Admin Server (WebLogicAdmin) is isolated from the managed servers that serve user traffic. The PIA servlets are distributed across the managed server instances for resource isolation and stability.

The Distributed Managed Server option extends multi-server across multiple physical machines — the managed servers run on different hosts, and the Admin Server coordinates them. This is the architecture for high-availability production deployments.

The 7 server definitions in a standard multi-server domain are: WebLogicAdmin, PIA, PIA1, PIA2, PSIGW, PSEMHUB, and optionally PSINTERLINKS.

⚙️ Servers: 7 definitions + cluster 🔴 Required for: Production

PIA Servlets & Web Applications Explained

PIA is deployed as a J2EE Enterprise Archive and is made up of multiple web applications (servlets). Each servlet has a distinct role. Understanding which servlet handles which type of request is essential for troubleshooting and for correctly targeting deployments in a multi-server domain.

PORTAL
PeopleSoft Applications Portal
The primary servlet — handles all user page requests and navigation
Critical

PORTAL is the heart of PIA. Every page request from a PeopleSoft user — logging in, navigating menus, opening components, submitting data — goes through the PORTAL servlet. It handles session management, web profile enforcement, authentication cookie validation, and JOLT communication with the Application Server.

The PORTAL servlet is deployed at the root of the PIA site. In a single-server domain, pages are accessed without a servlet prefix in the URL. The URL structure follows this pattern:

https://<server>/psp/<site>/<portal>/<node>/c/<menu>.<component>.GBL
# Example:
https://pshost/psp/ps/EMPLOYEE/HRMS/c/MANAGE_PAYROLL.PAY_CALC_RUNCTRL.GBL
📁 Location: PORTAL.war ✅ URL prefix: /psp/ and /psc/
PSIGW
PeopleSoft Integration Gateway
Entry and exit point for all Integration Broker messages (SOAP, REST, HTTP)
Critical for IB

PSIGW is the Integration Gateway servlet — the web-tier component of PeopleSoft Integration Broker. All inbound SOAP/REST calls from external systems arrive at PSIGW, which validates them and forwards them to the Integration Engine in the Application Server via JOLT. Outbound messages from PeopleSoft to external systems also exit through PSIGW.

The PSIGW servlet has its own configuration file: integrationGateway.properties, located at PS_CFG_HOME/webserv/<domain>/applications/peoplesoft/PSIGW.war/WEB-INF/

In a multi-server domain, it is best practice to target PSIGW to a dedicated managed server (not the same instance as PORTAL) to prevent heavy integration traffic from impacting interactive users.

📁 Location: PSIGW.war ✅ URL: /PSIGW/PeopleSoftListeningConnector
PSEMHUB
Environment Management Framework Hub
Collects and stores environment health and monitoring data
Optional

PSEMHUB is the Environment Management Framework (EMF) Hub — the central collection point for environment monitoring data. It receives metrics and health information from EMF Agents running on all other PeopleSoft servers (App Server, Process Scheduler, web server) and provides this data to the PeopleSoft Performance Monitor.

EMF Hub data powers the Performance Monitor dashboards in PIA. If you are not using Performance Monitor, PSEMHUB can be left inactive without affecting core PeopleSoft functionality.

📁 Location: PSEMHUB.war ✅ Handles: Performance Monitor data collection
PSINTERLINKS
PeopleSoft Business Interlinks
Legacy web application for Business Interlinks integration (deprecated in modern PT)
Legacy

PSINTERLINKS is a legacy web application that supported the older PeopleSoft Business Interlinks integration framework. Business Interlinks has been superseded by Integration Broker in modern PeopleTools versions. In most current PeopleSoft deployments this servlet exists in the domain but is not actively used. Do not remove it as it is part of the standard PIA deployment package.

📁 Location: PSINTERLINKS.war ⚠️ Legacy — not actively used in modern PT

Servlet Quick Reference

Servlet Full Name URL Path Required?
PORTALPeopleSoft Applications Portal/psp/ and /psc/🔴 Yes
PSIGWIntegration Gateway/PSIGW/🟡 If using IB
PSEMHUBEnvironment Management Framework Hub/PSEMHUB/🟢 Optional
PSINTERLINKSPeopleSoft Business Interlinks/PSINTERLINKS/🔵 Legacy

Web Profiles & configuration.properties

A Web Profile is a PeopleSoft configuration object (stored in the database) that controls the behaviour of the PORTAL servlet — things like session timeout, SSL enforcement, debug logging, caching, and authentication settings. Every PIA site has one active web profile.

The Four Default Web Profiles

PROD
Default production profile. Caching enabled, debug off, strict cookie settings. Use for production.
DEV
Development profile. Caching disabled, debug mode on. Use for development to see real-time code changes without cache clearing.
TEST
Test environment profile. Balanced between PROD and DEV settings. Suitable for QA environments.
KIOSK
Kiosk/shared workstation profile. Stricter timeout settings, no persistent cookies. For shared-use environments.

configuration.properties

The configuration.properties file is the bridge between the web server and the web profile stored in the database. It tells the PORTAL servlet which web profile to load, the database connection credentials, and the PIA site name.

# Location:
# PS_CFG_HOME/webserv/<domain>/applications/peoplesoft/PORTAL.war/WEB-INF/psftdocs/<site>/configuration.properties

# Key settings:
WebProfile=PROD                   # Which web profile to use
UserId=PTWEBSERVER                 # Portal servlet user (minimal access)
UserPassword={encrypted}           # Encrypted password
AuthTokenDomain=.yourdomain.com    # SSO cookie domain
SiteAlias=ps                       # Site name in URL (/psp/ps/...)
AppServerURL=//appserver:9000      # JOLT connection to App Server
⚠️ Security Best Practice The PTWEBSERVER account (default web profile user) should have the minimum necessary permissions — it uses the PTPT1500 permission list which never times out. Never use a full-access admin account as the web profile user. Also ensure the web profile password (auditPWD property) is removed or changed from default in production environments.

Directory Structure & Key Files

Knowing the PIA directory structure is essential for locating logs, configuration files, and output directories.

PS_CFG_HOME/webserv/<domain>/
├── bin/                         # startWebLogic.sh, stopWebLogic.sh
├── config/
│   └── config.xml               # WebLogic domain configuration (auto-generated)
├── applications/
│   └── peoplesoft/
│       ├── PORTAL.war/
│       │   └── WEB-INF/
│       │       └── psftdocs/
│       │           └── ps/      # Site configuration
│       │               └── configuration.properties   ← Key file
│       ├── PSIGW.war/
│       │   └── WEB-INF/
│       │       └── integrationGateway.properties      ← IB Gateway config
│       └── PSEMHUB.war/
├── logs/
│   ├── PIA.log                  # WebLogic server log
│   ├── access.log               # HTTP access log
│   └── PSIGW/                   # Integration Gateway logs
└── servers/
    ├── PIA/
    │   └── logs/
    │       └── PIA.out          # Managed server stdout log
💡 Tip The most useful log for diagnosing PIA issues is servers/PIA/logs/PIA.out — this captures WebLogic stdout including PORTAL servlet startup messages and Java stack traces. For PSIGW issues, check the logs under applications/peoplesoft/PSIGW.war/WEB-INF/logs/.

SSL/TLS Configuration

All production PeopleSoft environments must use HTTPS. There are two approaches to SSL termination in a PeopleSoft web server deployment:

Option 1: SSL at WebLogic

SSL certificates are configured directly on the WebLogic server. WebLogic handles HTTPS termination. Configure via WebLogic Admin Console → Server → SSL tab.

Port: Default HTTPS port is 443 (or 8443 for non-root). Requires keystore containing the SSL certificate and private key.

Option 2: SSL at Reverse Proxy (Recommended)

A reverse proxy (Apache, nginx, F5, OHS) sits in front of WebLogic and terminates SSL. WebLogic receives plain HTTP internally. This is the recommended production pattern.

Benefit: Centralised certificate management, easier load balancing, WebLogic not exposed directly to the internet.

Key SSL Settings in Web Profile

After enabling SSL, update these settings in your Web Profile (PeopleTools → Web Profile → Web Profile Configuration):

  • Encrypt All Communications — Forces all pages to use HTTPS, redirects HTTP to HTTPS
  • Authentication Domain — Set to your domain (e.g., .yourdomain.com) for SSO cookie sharing
  • Secure Cookies Only — Ensures session cookies are only sent over HTTPS connections

Day-to-Day Administration Tasks

Starting and Stopping the Web Server

# Via psadmin (recommended)
psadmin -w start -d peoplesoft
psadmin -w stop -d peoplesoft
psadmin -w status -d peoplesoft

# Directly via WebLogic scripts
cd $PS_CFG_HOME/webserv/peoplesoft/bin
./startWebLogic.sh          # Start Admin Server + managed servers
./stopWebLogic.sh           # Graceful stop

# Check status
ps -ef | grep weblogic      # Verify Java processes running

Adding a New PIA Site

A single WebLogic domain can host multiple PeopleSoft sites (e.g., one for HRMS, one for FSCM). Each site has its own configuration.properties file and can use a different web profile and database.

Add a site via: psadmin → PeopleSoft PIA → PIA Management → Install Additional PeopleSoft Site. The new site is accessible at /psp/<sitename>/.

Clearing PIA Cache

# Stop the web server first, then clear:
rm -rf $PS_CFG_HOME/webserv/peoplesoft/applications/peoplesoft/PORTAL.war/WEB-INF/psftdocs/<site>/cache/*

# Or use PIA Admin menu:
# PeopleTools → Web Profile → Web Profile Configuration
# → Clear Cache button (available in PROD profile)

Monitoring Active Sessions

Monitor active HTTP sessions via the WebLogic Admin Console (port 7001): Servers → PIA → Monitoring → General. This shows active requests, open HTTP sessions, JVM heap usage, and thread pool status. Session Monitoring is automatically enabled for WebLogic.

Performance Tuning & Best Practices

JVM Heap Sizing

The WebLogic JVM heap size is the most impactful performance parameter. Set it in $PS_CFG_HOME/webserv/peoplesoft/bin/setDomainEnv.sh:

# Recommended production heap settings:
MEM_ARGS="-Xms2048m -Xmx4096m"

# For high-concurrency environments:
MEM_ARGS="-Xms4096m -Xmx8192m -XX:+UseG1GC"

Thread Pool Configuration

WebLogic’s default thread pool handles all HTTP requests. For PeopleSoft production environments, configure the Work Manager thread count in the WebLogic Admin Console → Environments → Work Managers. Default is 25 threads; increase to 50–100 for large user populations.

Key Best Practices

  • Always use the PROD web profile in production — DEV profile disables caching and significantly degrades performance
  • Use a reverse proxy (Apache/nginx) in front of WebLogic — never expose WebLogic directly to the internet
  • Enable WebLogic connection compression (gzip) to reduce page payload sizes
  • Place the WebLogic server on a dedicated host separate from the Application Server to isolate resource contention
  • Configure WebLogic Cluster with multiple managed PIA instances for horizontal scaling and failover
  • Target PSIGW to a separate managed server from PORTAL to isolate integration traffic

Troubleshooting Common Issues

PIA Won’t Start — WebLogic Fails to Boot

Check servers/PIA/logs/PIA.out for Java exceptions. Common causes: port conflict (port 7001 or 8000 already in use), incorrect PS_HOME in environment variables, stale lock file under servers/PIA/data/, or Java heap out-of-memory error (increase JVM heap).

Login Fails — “Unable to Establish Initial Session”

This error means PIA cannot connect to the Application Server over JOLT. Check: Is the App Server domain running? Is the JOLT port (default 9000) accessible from the web server host? Verify the AppServerURL in configuration.properties is correct. Firewall rules between the web server and app server host are the most common cause.

Pages Loading Slowly After Login

Check the WebLogic thread pool utilisation in the Admin Console. If thread count is maxed out, WebLogic is queuing requests — increase the Work Manager thread pool. Also check if the web profile is set to DEV (caching disabled) — switch to PROD profile if so. Review PIA.log for “Stuck Thread” warnings which indicate requests taking longer than 10 minutes.

PSIGW Returning HTTP 500 for Integration Calls

Check the PSIGW gateway log at PSIGW.war/WEB-INF/logs/ for the specific error. Enable Gateway Logging in integrationGateway.properties temporarily. Verify the gateway URL is correctly set in PeopleTools → Integration Broker → Configuration → Gateways.

Frequently Asked Questions

Q: What is the difference between PIA and WebLogic in PeopleSoft?
WebLogic is the J2EE application server (the container), and PIA is the PeopleSoft web application deployed on it. Think of WebLogic as the engine and PIA as the application running in that engine. You administer WebLogic (start/stop, JVM settings, SSL) and you configure PIA (web profiles, sites, JOLT connections).
Q: What is the difference between /psp/ and /psc/ in PeopleSoft URLs?
/psp/ is for a full PeopleSoft portal page — the complete page with navigation, breadcrumbs, and portal chrome. /psc/ is for component-only mode — the component renders without portal chrome (used for embedded content, iframes, and older integration patterns). Most users interact via /psp/.
Q: How many WebLogic managed servers do I need for production?
A standard production deployment uses a multi-server domain with at minimum: WebLogicAdmin (admin only), PIA (primary PORTAL server), and optionally PIA1/PIA2 for load balancing. PSIGW should be on its own managed server in integration-heavy environments. The exact number depends on your user load — start with the standard multi-server template and scale out managed PIA instances as needed.
Q: Do I need to restart WebLogic after changing the web profile?
Changes to the Web Profile itself (stored in the database) do not require a WebLogic restart — they take effect at the next page load or after clearing the web server cache. However, changes to configuration.properties (which profile to use, JOLT URL, site name) do require a WebLogic bounce to take effect.
Q: What port does PeopleSoft PIA use by default?
The default HTTP port for PIA is 8000 (or 80 if configured). HTTPS defaults to 443 (or 8443). The WebLogic Admin Console runs on port 7001 (HTTP) or 7002 (HTTPS). The JOLT port (App Server communication) defaults to 9000. All these can be customised during installation or via the WebLogic Admin Console.
PeopleSoft Admin Training

Master PeopleSoft Web Server Administration

Learn to configure, manage, and troubleshoot PIA and WebLogic with hands-on lab access, real PeopleSoft environments, and corporate expert instruction.

✅ 30+ Hours Instructor-Led Training
✅ Real-Time Lab Access
✅ PeopleTools Upgrade & Patching
✅ Interview & Resume Support

📞 Call / WhatsApp +91-7678211866
📧 Email info@peppertechsolutions.com
#PeopleSoft #PIA #WebLogic #PeopleSoftWebServer #PeopleTools #PeopleSoftAdmin #PSIGW #Oracle

Comments are closed