Understanding PeopleSoft Internet Architecture

This chapter discusses:

Click to jump to parent topicPeopleSoft Architecture Fundamentals

Your PeopleSoft application runs within the PeopleSoft Internet Architecture (PIA), which requires a variety of software and hardware elements, including:

It's important to understand the role of each element before you can decide which configuration options will work best for your implementation. The following diagram illustrates, at a high level, the physical relationship between the basic elements of the PeopleSoft architecture:

Distinct tiers of the architecture starting with the database, moving to the application server and Process Scheduler server, to the web server, then out to the browser

Configuring the PeopleSoft infrastructure is not just about enabling internet application deployment through a browser. PeopleSoft enables you to take advantage of numerous PeopleSoft intranet, internet, and back-end solutions, including:

All of these additional technologies stem from the basic architecture depicted in the previous diagram.

Click to jump to parent topicDatabase Server

The database server houses a database engine and your PeopleSoft application database, which includes all the PeopleTools metadata, application definitions, system tables, application tables, and application data. The database server simultaneously handles the application server connections, development environment connections, and batch programs running against it.

The PeopleSoft database is the repository for all information managed by your PeopleSoft application. Both application data and PeopleSoft metadata are stored and maintained in the database. Application Designer, the main tool of the development environment, enables you to define, modify, and maintain this metadata, which the system uses to drive the runtime architecture. This collection of metada defines a PeopleSoft application.

With Application Designer you can create dozens of different types of application definitions, such as fields, records, and pages. When an application developer saves an application definition, the system saves this definition to the metadata repository in the PeopleSoft database. At runtime, the application server retrieves the most recent application object definitions from the metadata repository, compiles and caches the application definition into memory, and runs the business rules based on the most current definitions.

Click to jump to parent topicApplication Servers

This section discusses:

Click to jump to top of pageClick to jump to parent topicApplication Servers

The application server is the core of PeopleSoft Internet Architecture. It runs business logic and submits SQL to the database server. An application server consists of numerous PeopleSoft server processes, grouped in domains. Each server process within a domain provides unique processing abilities, enabling the application server to respond effectively to a multitude of transaction requests generated throughout the PeopleSoft architecture.

Application servers require database connectivity software installed locally to maintain the SQL connection with the RDBMS. You must install the required connectivity software and associated utilities for your RDBMS on any server on which you intend to run the PeopleSoft Application Server.

After the application server establishes a connection to the database, any device that initiates a transaction request through the application server takes advantage of the application server's direct connection to the database.

Click to jump to top of pageClick to jump to parent topicOracle Tuxedo and Oracle Jolt

PeopleSoft uses Oracle Tuxedo, a middleware framework and transaction monitor, to manage transactions between the application server and the database. PeopleSoft also uses Oracle Jolt, a Java API and class library, to facilitate communication between Tuxedo running on the application server and the PeopleSoft software running on the web server. Tuxedo and Jolt are required elements of the PeopleSoft application server.

Note. Tuxedo doesn’t actually perform processing on the application server; it schedules PeopleSoft server processes to perform the transactions.

Click to jump to top of pageClick to jump to parent topicDomains

A domain is the collection of server processes, supporting processes, and resource managers that enable the database connections required to fulfill application requests. You manage each domain with a separate configuration file, and you configure each application server domain to connect to a single database. A single application server machine can support multiple application server domains running on it. You configure an application server domain using the PSADMIN utility.

There can be a one-to-one or a many-to-one relationship between application server domains and a database. In the simplest case, you configure a single application server domain to connect to a single PeopleSoft database. In a more sophisticated environment, you may configure multiple application server domains, with each domain connecting to the same PeopleSoft database. The opposite is not valid; a single application server domain cannot be used to connect to multiple PeopleSoft databases.

For example, suppose you have installed three application databases. In this case, you must configure at least three application server domains, one for each database. As demand increases, you may need to configure multiple application server domains per database, for redundancy, fail-over, and performance reasons.

You can configure multiple application server domains under a single PeopleSoft configuration home directory, or PS_CFG_HOME. In this context, PS_CFG_HOME refers to the PeopleSoft high-level directory on the application server. PS_CFG_HOME is the directory to which you installed the PeopleSoft application server configuration files creating a domain.

PSADMIN creates a directory beneath PS_CFG_HOME\appserv for each application server domain that you configure. For example, suppose you create three domains: HCMDMO1, HCMDMO2, and HCMDMO3. In this case, PSADMIN creates subdirectories \HCMDMO1, \HCMDMO2, and \HCMDMO3 beneath the PS_CFG_HOME\appserv directory.

Click to jump to top of pageClick to jump to parent topicPeopleSoft Server Processes

When you boot an application server domain, it starts the set of server processes associated with that domain. Numerous server processes run in a domain. Each server process establishes a persistent connection to a PeopleSoft database, and this connection acts as a generic SQL pipeline that the server process uses to send and receive SQL. Each server process uses its own, exclusive, SQL connection to facilitate requests from multiple sources. From the RDBMS perspective, each server process within a domain represents a connected user.

A server process is executable code that receives incoming transaction requests. The server process carries out a request by making calls to a service, such as MgrGetObject. The server process waits for the service to complete, then returns information to the device that initiated the request, such as a browser. While a server process waits for a service to complete, other transaction requests wait in a queue until the current service completes. A service may take a fraction of a second to complete or several seconds, depending on the type and complexity of the service. When the service completes, the server process is then available to process the next request in the corresponding queue.

The number of server processes of each type is configurable and typically varies within a domain, depending on the requirements of your application or the main purpose of the domain. For example, if a domain's primary function is to handle application requests, you might see more of the server processes devoted to that task within that domain, such as PSAPPSRV, PSQCKSRV, and PSQRYSRV. Likewise, if a domain's primary function is to handle Integration Broker SOA requests, you might see more of the server processes devoted to that task in the domain, such as the messaging server processes.

You need to configure only those server processes that your implementation requires per domain. The minimum server processes that a domain requires are PSAPPSRV, PSSAMSRV, and PSWATCHSRV.

Note. PSWATCHSRV is a process that always starts in a domain. It is not an optional server process.

You can configure multiple instances of the same server processes to start when you boot the application server domain. This helps you to handle predicted workloads.

The following tables describes the PeopleSoft server processes. Not all of the server processes will necessarily be a part of every domain as that depends on the configuration options you select.

The required server processes are:

Server Process

Description

PSAPPSRV

This process performs functional requests, such as building and loading components. It also provides the memory and disk-caching feature for PeopleTools objects on the application server. PSAPPSRV is required to be running in any domain.

PSSAMSRV

This SQL application manager process handles the conversational SQL that is mainly associated with Application Designer. This process is required to be running on any domain.

PSWATCHSRV

Monitors the domain and detects any orphaned application server processes.

Other server processes that you can elect to configure based on your system requirements, include:

Server Process

Description

PSQCKSRV

Handles quick, read-only SQL requests. This is an optional process designed to improve performance by reducing the workload of PSAPPSRV.

PSQRYSRV

Handles any query run by PeopleSoft Query. This is an optional process designed to improve performance by reducing the workload of PSAPPSRV.

PSMSGDSP, PSMSGHND, PSPUBDSP, PSPUBHND, PSSUBDSP, PSSUBHND

Used for "Publish-Subscribe" processing for Integration Broker and the PeopleSoft service oriented architecture (SOA).

PSANALYTICSRV

Performs processing and requests required for Analytic Calculation Engine.

PSRENSRV

Enables real-time event notification (REN) used in various PeopleTools technology, such as MultiChannel Framework and report distribution.

PSUQSRV, PSMCFLOG

Used within the MultiChannel Framework to manage queues and transaction logs.

PSPPMSRV

Handles the processing of all the data recorded by the Performance Monitor.

PSDBGSRV

When debugging PeopleCode, this server process maintains an independent connection to the database to avoid conflict.

Click to jump to top of pageClick to jump to parent topicServices

When a PeopleSoft application sends a request to the application server, it sends a service name and a set of parameters, such as MgrGetObject and its parameters. Tuxedo then queues the transaction request to a specific server process that is designed to handle certain services.

When a server process boots, it advertises to the system the predefined services it handles.

Note. When discussing PeopleSoft architecture mechanics and system features, the term service is used in various contexts. The following statement may help to clarify this term within the context of an application server domain: An application server domain calls server processes, such as PSAPPSRV, which in turn invoke services, such as MgrGetObject, which run against the database. The services called by domain server processes are not to be confused with the services and service operations associated with the service oriented architecture (SOA) provided by Integration Broker.

Click to jump to top of pageClick to jump to parent topicListeners, Handlers, and Queues

Listeners, handlers, and queues provide the basis of a domain's functionality. They receive requests, route requests, store requests, monitor requests, and return request responses.

The following diagram illustrates how listeners, handlers, and queues interact with incoming requests and server processes:

Listeners route application requests to handlers where they are placed in queues monitored by server processes that submit requests to the database

Note. For simplicity, the diagram does not depict every server process that runs on the application server.

The following table describes each component depicted in the previous diagram:

Item

Description

Browser

Enables internet and intranet access to all PeopleSoft applications, including many PeopleTools system administration interfaces.

Development Environment

A Microsoft Windows workstation used for specific application development and system administration tasks. For example, an application developer accesses Application Designer in the development environment to modify a page or record definition. Likewise, a system administrator would access PeopleSoft Data Mover in the development environment to import a data file. Using the development environment you can connect directly to the database (a two-tier connection) or through the application server (a three-tier connection).

Note. Using the PeopleTools development environment in Microsoft Windows, you can connect directly to the database, or through an application server.

Note. No end user applications are deployed to the C++/Windows platform. All end user applications are deployed through the browser.

Workstation listener (WSL)

The workstation listener monitors Tuxedo ports for initial connection requests sent from the PeopleTools development environment (as in Application Designer). After the workstation listener accepts a connection from a workstation, it directs the request to a workstation handler. From that point, the workstation interacts only with the workstation handler to which it is assigned.

Workstation handler (WSH)

The workstation handler processes the requests it receives from the workstation listener. A unique port number identifies a workstation handler. The port numbers for the workstation handler are selected (internally by Tuxedo) from a specified range of numbers. You can configure multiple workstation handlers to start automatically if demand increases and other handlers become overloaded.

Jolt server listener (JSL)

The Jolt server listener applies only to browser requests. The Jolt server listener monitors the Jolt port for connection requests sent from the browser through the web server. After the Jolt server listener accepts a connection, it directs the request to a Jolt server handler. From that point, the browser interacts with the Jolt server handler. This is analogous to the relationship between the workstation server listener and workstation server handler.

Jolt server handler (JSH)

The Jolt server handler applies only to browser requests. The Jolt server handler processes the requests it receives from the Java server listener. The port numbers for the Jolt server handler are selected internally by Tuxedo in sequential order.

Request queues

Each type of server process has a service request queue that it shares with other server processes of the same type. For example, PSAPPSRV processes use the queue, APPQ, and PSQCKSRV processes use the queue, QCKQ. The workstation handler and Jolt server handler insert requests into the appropriate queue, and then the individual server processes complete each request in the order that it arrives.

Server processes

The server processes act as the core of the application server domain. They maintain the SQL connection and make sure that each transaction request gets processed on the database and that the results are returned to the appropriate origin.

Click to jump to parent topicPeopleSoft Process Scheduler Server

The PeopleSoft Process Scheduler environment can also be thought of as the "batch" environment. It is the location where many of your batch programs, such as Application Engine programs, run, and in most situations, this is also where you have COBOL and SQR executables installed.

In a multiserver environment, you can decide where your Process Scheduler environment resides based on available servers and performance requirements. In the PeopleSoft topology, you can install Process Scheduler on a separate server, or it can run on either the application server or the database server.

While you can install PeopleSoft Process Scheduler on any supported application server, database server, or batch server, it's important that you choose a location that’s supported in your PeopleSoft environment, which varies per RDBMS platform. In most database environments, you have at least two options.

You use PSADMIN to configure and administer both the application server and PeopleSoft Process Scheduler server. The PeopleSoft Process Scheduler setup procedure in PSADMIN provides a menu-driven interface to configure PeopleSoft Process Scheduler parameters and administer the Process Scheduler server agent, and it is very similar to the PSADMIN menus for configuring an application server domain.

Even though the application server and PeopleSoft Process Scheduler have PSADMIN as a common interface, take advantage of Tuxedo middleware, and share directories under PS_HOME and PS_CFG_HOME, they are separate entities. For instance, you boot, configure, and shut down the application server and the PeopleSoft Process Scheduler server separately, and the two environments can exist on separate server machines.

See Also

Understanding PeopleSoft Process Scheduler

Click to jump to parent topicWeb Server

A Java-enabled web server is required to extend the PeopleSoft architecture to the internet and intranet. When you install the PeopleSoft Internet Architecture on the web server, you install a collection of PeopleSoft Java servlets designed to handle a wide range of PeopleSoft transactions originating from the internet or an intranet.

This section discusses:

Click to jump to top of pageClick to jump to parent topicWeb Server Software

PeopleTools provides and supports the following industry-standard web servers for use within your PeopleSoft implementation:

The following software runs on the PeopleSoft web server:

Software Component

Description

Web server services

Web server services software manages the web server and provides the HTTP/S 'listener' for browser and remote system requests.

J2EE Web container

The web container (or servlet engine) is the J2EE environment in which the PeopleSoft servlets run. This component is embedded within the web server software.

Java servlets

Java is the platform-independent programming language used widely for web-based programs, web applications, and servlets. Servlets are Java programs that run on the web server, unlike 'applets' which are downloaded to a client browser to run. During the PeopleSoft installation, a variety of PeopleSoft Java servlets are installed on the web server.

Note. By default, PeopleTools installs PIA domains into the current PS_CFG_HOME location.

Web server running web server services and the web container where PeopleSoft servlets are installed

Click to jump to top of pageClick to jump to parent topicPeopleSoft Servlets

The following PeopleSoft servlets reside on the web server:

Servlet

Description

PORTAL

The portal servlet handles all of the requests and formatting for the users accessing PeopleSoft through PeopleSoft portal technologies. It manages various functionality, such as browser requests, search, content management, and homepage personalization.

PSIGW

The gateway servlet transmits service requests and responses between defined nodes as part of the PeopleSoft Service Oriented Architecture. The gateway handles PeopleSoft-to-PeopleSoft, PeopleSoft-to-third party, and third party-to-PeopleSoft services.

PSEMHUB

Supports the Environment Management Framework, used by various lifecycle management tools, such as Change Assistant, to collect and monitor system information.

Report Repository

This report repository servlet enables users to easily access and distribute the output of batch reports, such as Crystal and SQR, run through PeopleSoft Process Scheduler. This servlet retrieves the report output in the report repository and serves it to the browser.

PSINTERLINKS

Used with the deprecated product PeopleSoft Business Interlinks.

Click to jump to top of pageClick to jump to parent topicOracle Jolt

When you install Tuxedo, Jolt gets installed by default. The PeopleSoft servlets on the web server transmit requests and data through a connection to Jolt, which runs on the application server. Jolt extends Tuxedo capabilities by acting as the communication layer between the Java-based environment of the servlets and the C++ environment of the application server. You configure the servlets to direct requests from the web server to a predefined Jolt port on the application server.

The following diagram shows the relationship between Jolt and servlets on the web server:

PeopleSoft servlets on the web server sending messages to the application server through Jolt

Web browsers and integrated systems don't send requests directly to the application server. Instead, they send HTTP/S requests to the PeopleSoft servlets running on the web server. The web server translates the HTTP/S request into a Jolt request that is sent to a specified Jolt port. Then the application server, running on Tuxedo, submits the appropriate SQL to the database.

Click to jump to top of pageClick to jump to parent topicWeb Browser

A supported web browser is the primary means by which end users access PeopleSoft applications and system administrators access administrative tools. You do not need to install other software on the workstation running the browser, such as connectivity software or downloaded applets.

The PeopleSoft system sends only the following to the browser:

Because the browser processes only this basic internet content, the client workstation is not burdened with unnecessary processing responsibility. All processing occurs at the server level.

After the system authenticates a user during signon, PeopleTools security deploys web browser cookies to store a unique access token for each user session. As the user navigates around the system, perhaps to a separate PeopleSoft application, the token in the browser cookie is used to reauthenticate the user and bypass the sign-in process. The browser authentication cookie is:

Note. To access PeopleSoft applications, the browser option to allow session cookies must be enabled.

Click to jump to parent topicServer Configuration Options

Depending on a variety of variables, such as your server operating system, your hardware resources, and your site's performance requirements, you can configure your environment to support physically separate or logically separate servers. In some cases, the PeopleSoft standard installation procedure recommends one or the other depending on, for example, the combination of your database type and operating system. Any platform-dependent configuration requirements are discussed in your PeopleTools installation documentation.

See PeopleTools 8.52 Installation for your database

Click to jump to top of pageClick to jump to parent topicLogically Separate Server Configuration

A logically separate server environment means that multiple servers share the same physical machine. The servers are logically, but not physically, separate.

The following diagram depicts a logical configuration with two server machines. One server contains the web server, and the other contains the application server and database server:

Logical separation between the RDBMS and the application server with the two elements running on the same physical server machine

The solid line surrounding the application server and the database server represents one physical machine.

Although this diagram depicts a separate web server, the web server software could also reside on the same machine with both the application server and the database server. When installing multiple PeopleSoft architecture elements onto the same machine, the only requirement is that each element be supported by the underlying operating system.

If all servers are located on the same machine, however, you should consider security and performance issues. If you're deploying PeopleSoft applications to the internet, you will most likely want your web server outside of your network firewall and not on the same machine as the database server. Generally, having your application server on the same physical machine as the database server provides the best performance as this configuration has no network layer between the application server and the database.

Note. For development, testing, or training purposes, you might want to have all PeopleSoft architecture elements (or as many as possible) on the same server machine.

Click to jump to top of pageClick to jump to parent topicPhysically Separate Server Configuration

A physically separate server configuration means that the web server, application server, and database serer each reside on separate machines. The following diagram depicts a physically separate server configuration:

Physical separation between web server, application server, and RDBMS server with each server residing on different physical server machines

If the application server and database server don't reside on the same machine, then the application server and the database server should be connected to the same high-performance, backbone network. This ensures optimum performance.

Regarding performance, one advantage to keeping the architecture elements separate is that as demand on your system increases, you can add more server machines at each 'tier' to house more application servers or web servers in a modular fashion. If the server elements are installed onto a single machine, your options of increasing system performance are limited by the resources of that machine.

The following diagram illustrates how you can add multiple web servers and application servers when increased demand has pushed previous hardware to its limits.

Physical separation between web server, application server, and RDBMS promotes scalability, enabling the addition of multiple web servers and application servers to meet increased system demand

Within a PeopleSoft system, you can configure multiple PeopleSoft Internet Architecture installations on a web server as well as configure multiple domains on a single application server machine. If you reach the resource limits of a single server machine, you can incorporate more server machines to house additional PeopleSoft Internet Architecture installations or application server domains. Incorporating multiple, physically separate server machines provides increased:

Click to jump to parent topicImplementation Options

Once you have the basic PeopleSoft Internet Architecture elements configured, you can elect to incorporate additional PeopleTools technology to run within that architectural foundation, including:

Technology

Description

Portal

Oracle PeopleTools provides a variety of portal options ranging from the base portal technology provided by PeopleTools, to PeopleSoft Applications Portal and Application Portal Pack solutions. These portal solutions enable you to provide simple end user navigation, aggregate web-based content, share content with other portals, and more.

See PeopleTools 8.52 PeopleBook: PeopleTools Portal Technologies

See PeopleSoft Applications Portal 9.1 PeopleBooks

See Your PeopleSoft application portal pack documentation

Integration Broker

Integration Broker provides a service oriented architecture (SOA) for exposing PeopleSoft business logic as services and consuming external web services for PeopleSoft applications to invoke. Integration Broker supports synchronous and asynchronous messaging with other PeopleSoft applications and with third-party systems.

See PeopleTools 8.52 PeopleBook: Integration Broker

Performance Monitor

Performance Monitor enables you to capture and store detailed performance information for any transaction occurring within your PeopleSoft implementation. You can monitor performance in real-time as well as analyze stored, historical data to help identify trends and problem areas.

See PeopleTools 8.52 PeopleBook: Performance Monitor

MultiChannel Framework

MultiChannel Framework delivers an integrated infrastructure to support multiple interaction channels for call center agents or other PeopleSoft users who must respond to incoming requests and notifications on these channels. MultiChannel Framework supports voice, email, web-based chat, instant messaging, and generic event channels.

See PeopleTools 8.52 PeopleBook: MultiChannel Framework

Analytic Calculation Engine

Analytic Calculation Engine enables application developers to define both the calculation rules and the display of calculated data within PeopleSoft applications for the purposes of multidimensional reporting, data editing, and analysis.

See PeopleTools 8.52 PeopleBook: Analytic Calculation Engine

Search server

Configuring a search server enables you to off-load Verity search processing onto a remote server, rather than configuring search capabilities per domain. In this configuration, Tuxedo routes search requests from application server domains to the search domain running on the remote search server. Multiple application server domains may use the same search server to execute search requests.

See Configuring Verity Search Options.