PeopleTools Tables: The Application Repository in the Database



Similar documents
PeopleSoft DDL & DDL Management

How To Monitor Performance On Peoplesoft.Org

MS-40074: Microsoft SQL Server 2014 for Oracle DBAs

Course 6232A: Implementing a Microsoft SQL Server 2008 Database

Phire Architect Hardware and Software Requirements

Implementing a Microsoft SQL Server 2008 Database

SQL Server Training Course Content

Performance rule violations usually result in increased CPU or I/O, time to fix the mistake, and ultimately, a cost to the business unit.

PROGRESS DATADIRECT QA AND PERFORMANCE TESTING EXTENSIVE TESTING ENSURES DATA CONNECTIVITY THAT WORKS

PATROL From a Database Administrator s Perspective

Data Integration and ETL with Oracle Warehouse Builder: Part 1

Programa de Actualización Profesional ACTI Oracle Database 11g: SQL Tuning Workshop

<Insert Picture Here> Extending Hyperion BI with the Oracle BI Server

PERFORMANCE TUNING FOR PEOPLESOFT APPLICATIONS

SQL Server. SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases

Optimizing the Performance of the Oracle BI Applications using Oracle Datawarehousing Features and Oracle DAC

Course Outline: Course 6317: Upgrading Your SQL Server 2000 Database Administration (DBA) Skills to SQL Server 2008 DBA Skills

OWB Users, Enter The New ODI World

Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap.

HP Quality Center. Upgrade Preparation Guide

High-Volume Data Warehousing in Centerprise. Product Datasheet

Consolidate by Migrating Your Databases to Oracle Database 11g. Fred Louis Enterprise Architect

Senior Oracle Developer Call us today to schedule this resource. CORP: (214) CENDIEN

ORACLE DATABASE 11G: COMPLETE

Oracle USF

Getting Started on PeopleSoft Installation

Microsoft SQL Server for Oracle DBAs Course 40045; 4 Days, Instructor-led

Toad for Oracle 8.6 SQL Tuning

SAP Data Services 4.X. An Enterprise Information management Solution

Sivakumar Software Engg, Zagro Singapore Pte Ltd .

An Oracle White Paper February Oracle Data Integrator 12c Architecture Overview

Oracle Database 11g: SQL Tuning Workshop

Chapter 1: Introduction to ArcGIS Server

PeopleSoft Technology Update

Data Access Guide. BusinessObjects 11. Windows and UNIX

Category: Business Process and Integration Solution for Small Business and the Enterprise

An Oracle White Paper March Managing Metadata with Oracle Data Integrator

A WHITE PAPER By Silwood Technology Limited

<Insert Picture Here> Move to Oracle Database with Oracle SQL Developer Migrations

ETL Overview. Extract, Transform, Load (ETL) Refreshment Workflow. The ETL Process. General ETL issues. MS Integration Services

Is ETL Becoming Obsolete?

Dedicated Real-time Reporting Instances for Oracle Applications using Oracle GoldenGate

Oracle BI 11g R1: Build Repositories

Upgrading Your SQL Server 2000 Database Administration (DBA) Skills to SQL Server 2008 DBA Skills Course 6317A: Three days; Instructor-Led

PeopleTools 8.51 PeopleBook: PeopleSoft Change Impact Analyzer

PeopleSoft Enterprise Directory Interface

Wait-Time Analysis Method: New Best Practice for Performance Management

Oracle Architecture, Concepts & Facilities

IBM InfoSphere Optim Test Data Management solution for Oracle E-Business Suite

Developing Microsoft SQL Server Databases MOC 20464

SAP Data Services and SAP Information Steward Document Version: 4.2 Support Package 7 ( ) PUBLIC. Master Guide

Compared to MySQL database, Oracle has the following advantages:

How To Use Peoplesoft (Peoplesoft)

Increasing Driver Performance

Guide to the MySQL Workbench Migration Wizard: From Microsoft SQL Server to MySQL

Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress*

Postgres Plus Advanced Server

Facilitating Efficient Data Management by Craig S. Mullins

Implementing a Microsoft SQL Server 2005 Database

Demystified CONTENTS Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals CHAPTER 2 Exploring Relational Database Components

Data Archiving - Solutions, Challenges, Considerations & 3rd Party Tools. Putting Customer First

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

<Insert Picture Here> Introducing Data Modeling and Design with Oracle SQL Developer Data Modeler

Introduction to the Data Migration Framework (DMF) in Microsoft Dynamics WHITEPAPER

Introduction. Introduction: Database management system. Introduction: DBS concepts & architecture. Introduction: DBS versus File system

Oracle Essbase Integration Services. Readme. Release

Security and Control Issues within Relational Databases

Database FAQs - SQL Server

Migrating Non-Oracle Databases and their Applications to Oracle Database 12c O R A C L E W H I T E P A P E R D E C E M B E R

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001

A complete platform for proactive data management

1. INTRODUCTION TO RDBMS

Test Data Management Concepts

Oracle Warehouse Builder 10g

DB2 Application Development and Migration Tools

Topics Advanced PL/SQL, Integration with PROIV SuperLayer and use within Glovia

Introduction: Database management system

Managing Objects with Data Dictionary Views. Copyright 2006, Oracle. All rights reserved.

Report and Dashboard Template User Guide

Oracle Data Integrator 11g New Features & OBIEE Integration. Presented by: Arun K. Chaturvedi Business Intelligence Consultant/Architect

Oracle 11g Database Administration

Duration Vendor Audience 5 Days Oracle Developers, Technical Consultants, Database Administrators and System Analysts

An Oracle White Paper June Migrating Applications and Databases with Oracle Database 12c

Oracle Database 11g: New Features for Administrators DBA Release 2

CONFIGURING AND OPERATING STREAMED PROCESSING IN PEOPLESOFT GLOBAL PAYROLL IN PEOPLETOOLS 8.48/9

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April Page 1 of 12

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

Oracle Enterprise Manager 12c New Capabilities for the DBA. Charlie Garry, Director, Product Management Oracle Server Technologies

<Insert Picture Here> Application Change Management and Data Masking

PUBLIC Performance Optimization Guide

Can I customize my identity management deployment without extensive coding and services?

ORACLE OLAP. Oracle OLAP is embedded in the Oracle Database kernel and runs in the same database process

W I S E. SQL Server 2008/2008 R2 Advanced DBA Performance & WISE LTD.

Course 20464C: Developing Microsoft SQL Server Databases

Microsoft SQL Server versus IBM DB2 Comparison Document (ver 1) A detailed Technical Comparison between Microsoft SQL Server and IBM DB2

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

Transcription:

PeopleTools Tables: The Application Repository in the Database by David Kurtz, Go-Faster Consultancy Ltd. Since their takeover of PeopleSoft, Oracle has announced project Fusion, an initiative for a new generation of Oracle Applications building on the best of existing Oracle and PeopleSoft products. This is the first in a series of articles in which I will examine some aspects of PeopleTools, the proprietary technology developed by PeopleSoft, and speculate about Fusion. One of the fundamental design aspects of PeopleSoft technology is that the online part of the application, that PeopleSoft called their Pure Internet Architecture (PIA), and much of the batch programming is stored as meta-data in the database along side the application data. The traditional diagram of a PeopleSoft database comprises three parts. The database catalogue describes all the objects in the database. The structure of the database s catalogue varies from platform to platform, but the concept is common to all. In Oracle, the catalogue is exposed through the underlying fixed objects (tab$, col$, etc.) and is visible in a more user-friendly format through views (DBA_TABLES, DBA_TAB_COLUMNS, etc.) The PeopleTools tables contain most of the definition of the PeopleSoft application as either meta-data or PeopleCode (PeopleSoft s proprietary 3GL). This includes some tables that also describe the application data, so PeopleSoft maintains its own data dictionary. The application tables contain the users data. They are in the same database schema as the PeopleTools tables. PeopleSoft s decision to store their application in the database has a number of implications. Much of the SQL submitted by the application to the database is dynamically generated from the meta-data in the PeopleTools tables. Thus developers spent less time coding SQL themselves for the on-line application. Although it can then

be difficult to work out from where a particular SQL statement is coming, and impossible to tune it by adding hints. PeopleSoft provide their proprietary development tools to customers. Some companies have also licensed PeopleTools to develop entire applications themselves. Over the years, the Application Designer has matured into a complete development environment. It is used to apply patches, customise and debug the delivered application, and control migration of application elements between environments. This permits vendor patches and customisations to be progressed from development, via test to production environments in a controlled fashion. When an object in a PeopleSoft application is saved in the Application Designer, rows are written to a variety of PeopleTools tables in the database. When a PeopleSoft application executes it is effectively interpreting the content of the PeopleTools tables. The application must connect to the database anyway, so the database is a convenient and secure location to store this information. Rather like recursive SQL issued by the database to interrogate its catalogue, at runtime PeopleTools applications will query the PeopleTools tables. There is considerable overhead in retrieving the application from the PeopleTools tables every time, so PeopleSoft programs maintain a local cache of PeopleTools objects in both memory and flat files. The PeopleSoft architecture is usually distributed across a number of physical servers. The application server layer can be scaled horizontally by configuring additional application servers on additional physical servers. There is mostly no

need to install any PeopleSoft application code on these machines. It will simply be retrieved from the database and build its own cache. A lot of batch processing is performed with PeopleSoft s Application Engine. This also uses source code stored in the PeopleTools tables. However, many PeopleSoft application modules still make extensive use Cobol programs. Most of the reporting is done with Crystal and SQR. These all require the files to be installed on the batch servers. Shortly after the takeover, Oracle started to talk publicly about aspects of the PeopleSoft technology that they admired. One of these was that PeopleSoft developers are several times more productive than Oracle application developers. They were also complementary about the ability of the Application Designer to control the upgrade process. I expect to see Fusion with an integrated development workbench that will bear more than a passing resemblance to Application Designer, probably with a code repository somewhere in a database. PeopleCode will be replaced, almost certainly with Java. The Application Designer is also responsible for defining data structures in PeopleSoft applications and for building database objects, so 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. Except when building DDL scripts, PeopleTools never interrogates the database s catalogue, but instead relies upon its own. The importance of keeping the dictionaries synchronised cannot be overstated. Any discrepancy will cause PeopleSoft to generate invalid SQL. Platform Agnosticism From its very beginning, PeopleSoft applications were designed to run on various database platforms and various operating systems. In fact platform independence has been an overriding principle in PeopleSoft. The majority of installations are on Oracle, but there are also many companies using Microsoft SQL Server, and IBM s DB2, and a few still use Sybase and Informix. Therefore, as far as possible,

PeopleSoft delivers the same SQL code to all database platforms. Where SQL is dynamically generated from the meta-data in the PeopleTools tables it conforms to a lowest common denominator code set that will function on all supported databases. Where SQL is coded directly within the application it will also by coded in a platform generic manner. Only occasionally and when forced by performance considerations does PeopleSoft deliver platform specific, but functionally equivalent, variations. As a direct result of this platform generic approach, a PeopleSoft database does not contain certain elements that are implemented differently on different platforms. It does not include referential constraints; instead this is maintained by the application. PeopleSoft does not use Oracle sequences; instead it uses ordinary tables to maintain sequence numbers. Consequently, the application sometimes must hold locks in order to serialise processing. Ordinarily this would lead to scalability problems. However, in the PIA this is very rarely a problem because data is not locked while the user enters data into a page. Instead, at save time the application re-queries the data in order to check that it has not changed in the meantime, at which time it does lock the data. It then performs the update, and any other save-time processing and then commits without waiting for further user response. Only if the data has changed is an error raised. This optimistic locking strategy minimises the time for which a lock is held. Application auditing is usually performed by PeopleTools. Column changes to be are also held as meta-data in the PeopleTools tables. Although when PeopleSoft is implemented on Oracle, there is an option to build database triggers to perform auditing. In the latest release of PeopleTools, triggers are also used to maintain control data to facilitate synchronisation of subsets of data to PDAs. With these two exceptions there are no database procedures or other stored-code executed by the database server. Instead PeopleSoft uses PeopleCode executed by either the PIA or Application Engine. Nor is the PeopleSoft Application Designer capable of building partitioned, indexorganised or global temporary tables or function based indexes. Tables have unique indexes rather than primary key or unique constraints. The Application Designer cannot maintain function-based indexes. There is no support for maintenance of cost-based optimiser statistics anywhere within PeopleTools. The DBA is very much on their own, although some of the batch applications analyse some working storage tables.

A platform generic application may be easier and cheaper for a vendor to develop and maintain, but it virtually guarantees sub-optimal response on the customers chosen platform, whichever one they choose. Oracle has hinted that Fusion will operate database platforms other than their own RDBMS, although there is not clear statement to that effect. David Kurtz is a performance specialist working Enterprise PeopleSoft applications and Oracle (www.go-faster.co.uk). He is the author of PeopleSoft for the Oracle DBA, published by Apress (www.psftdba.com). He is also the chair of UKOUG s UNIX SIG.