Components of a PeopleSoft System


PeopleSoft installations have evolved over the years into a combination of technologies that are used to develop and deliver PeopleSoft applications to desktop Internet (HTML) browsers. PeopleSoft calls this its “Pure Internet Architecture” (PIA).


The Database PeopleSoft is designed to run on various database platforms. The majority of installations are on Oracle, but there are also many companies using IBM’s DB2 and Microsoft SQL Server, and a few still use Sybase and Informix. Both the PeopleSoft application and the application data are stored in the database:

              The database catalogue describes all the objects in the database.
              The PeopleTools tables describe the application data and contain the source code for much of the PeopleSoft application.
              The application tables contain the users’ data.
The PeopleTools tables and the application tables all coexist in the same database schema.

The Application Designer
When the Application Designer saves a development object, it writes to the PeopleTools tables. When the application is executed, that information is compiled into a cache format that is then interpreted by the application server. Upon execution, much of the application SQL is generated dynamically, based on the contents of the PeopleTools tables.

The Application Designer is also responsible for defining data structures in PeopleSoft applications and for building database objects, so it is inevitable that some of the PeopleTools tables that describe data structures will correspond closely to the Oracle database catalogue views. This means that in a PeopleSoft database we are dealing with two data dictionaries rather than one: the database’s catalogue defines all of the objects that exist in the database, and the PeopleSoft dictionary defines all the objects that should exist in the PeopleSoft schema and that can therefore be referenced by the application.
Tuxedo Application Server
PeopleSoft has selected various “best of breed” solutions for its system architecture, including BEA Tuxedo for their application server.

At run time, the application server interprets the application data in the PeopleTools tables, executes the business logic of the application, and even generates the HTML pages that are served up to the browser. The “publish and subscribe” technology that generates and accepts XML messages has also been incorporated into the application server.

The middleware and batch processes run on the major Unix platforms and Windows. However, some components only run on Windows.
PeopleTools
All of the PeopleSoft products listed so far are developed using PeopleSoft’s proprietary devel­opment tools, namely PeopleTools. The development tools are also available to PeopleSoft customers so that they can develop their own customizations and apply PeopleSoft upgrades and patches.

Following are some object and tools example
Defining records: The data model for the application is defined in the Application Designer. A record in PeopleSoft can correspond to a table or view on the database, or to a set of working storage variables. The Application Designer will also generate the data definition language (DDL) to build the database objects. Column definitions in the DDL will differ on differ­ent database platforms. Different databases also specify different physical attributes for objects.
Creating PeopleCode: PeopleCode is PeopleSoft’s proprietary programming language. It is used to perform additional processing in the PIA and in some Application Engine batch processes. PeopleCode is specified on records in the Application Designer. The Application Designer can also be used as an interactive debugging tool in which you can step through the application including PeopleCode programs as they are executed.

Defining pages: Page were drawn in the graphical design tool, and they corresponded exactly with how they appeared in the Windows client. Then, at run time, HTML pages are generated by the application server and are served up to the web browser. Thus, the developer can produce a web application without having to code any HTML or JavaScript, although additional HTML and Java can be included in a PeopleSoft application.

Defining menus: The Application Designer also maintains the menu navigation for the application.

Upgrading: The Application Designer is used to migrate sets of source code, called projects, between PeopleSoft systems.

Data Mover is capable of exporting and importing data to and from a PeopleSoft database. It is used during installation to import all the objects and the data they contain into the database. PeopleSoft also uses Data Mover to deliver standing data to go with patches. The same Data Mover export file can be imported into any database platform. Therefore, it can be used to migrate a PeopleSoft database from one platform to another, although it may not be fast enough for large databases. It is also capable of running some SQL scripts. It only connects in two-tier mode.

Application Engine is PeopleSoft’s proprietary batch processing utility.

SQR is used to perform some reporting and batch processing. It is a procedural language into which SQL statements can be embedded.

PeopleSoft Query tool (Query) still exists as a Windows client utility, although this functionality is also available in the PIA. Users can use this tool to develop and run ad hoc SQL queries without knowledge of SQL. Queries can be migrated with the Application Designer.

Crystal Reports is used for reports that require a sophisticated look and that include graphics. Crystal is capable of connecting directly to the database via an ODBC driver. Within PeopleTools it connects via a PeopleSoft ODBC driver that presents PeopleSoft queries as database procedures. The ODBC driver can connect in either two- or three-tier mode. Crystal only runs on Windows, so reports can only be scheduled on a Windows process scheduler.

nVision is a reporting utility that plugs into Microsoft Excel. Although it can be used in any PeopleSoft module, it is most extensively used in General Ledger reporting. A user can drill down into a report, unrolling hierarchical data, such as a chart of accounts.