Tuesday, May 27, 2008

Physical Architecture for PeopleFirST

Below given Image is the physical architecture of PeopleSoft Application






It can be logically divided into four components :-
Client , Network , Tuxedo Server (Application Server ) and
Database Server (Oracle 8.x).





1. Clients


The client has a token installation which is responsible for sending requests to the Application Server for data/actions to
be sent/done by the Application Server.
Though a 2-tier connection is possible , the standard connection
prescribed is a 3-tier connection. Both differ in the location where
the code enforcing business logic is executed .



2. Network


The network is LAN/WAN supported by the ST network across the
entire ST community. The development team has an added
architectural component in the form of a WTS client through which a
WTS server implemented in France accepts requests as acts as the real
‘client’. The majority though require simple TCP/IP connectivity.



3. Tuxedo Server


In real terms , it is a set of processes with efficient networking/
messaging and the application’s business logic implemented in it’s
code. It performs some of the processing that is done on the client in
two-tier operation. In network terms , the client connects to Tuxedo
and Tuxedo connects to the database.



Conceptually, the PeopleTools client in three-tier mode is the same in the
two-tier with the client cut in half. The front half consists of the
presentation layer and some of the application logic processing that is
still on the client. The back half has the rest of the application logic layer,
which makes the connection to the database. The two halves are
reconnected by Tuxedo.
Following diagram shows some detail of Tuxedo interaction to other
components .




4. Database Server
The database server is a flat DBMS . i.e The qualities of R-DBMSes like key Constraints , Server SQLs etc. are not used to keep the application DBMS-independent. It’s prime responsibility is data storage and retrieval on request from the application processes (Tuxedo in 3-tier , clients in 2-tier). PeopleSoft has a single database server implementation.


And Lastbut not the least.


Support H/W & S/W


A mention of the the Operating systems is not out of place here. Client
installation is essentially GUI (Windows) based. The Server side is
implementable on a variety of OS-es on which Tuxedo and Database
Servers reside.

For PeopleFirST architecture , these are :
Windows NT/95 for clients.
HP-UX 10.20 for Servers.

Details of the Server machine are :
HP Machine Model K580, HP UX 10.20
6 Processors , 1.8 GB RAM , 50 GB HDD.

Wednesday, May 21, 2008

PeopleCode Standards


On-line processing of data within PeopleSoft is controlled and managed by the Application Processor. PeopleCode programs are used to interact with this Application Processor to enhance and better control processing within a given panel or panel group. PeopleCode allows you to do such things as set default values on a panel upon panel entry, execute SQL statements to update the database, or conditionally change a panel based upon your own criteria.


PeopleCode programs are stored on the Data Designer and are associated with a specific field.For any field on a record, you may specify FieldDefault, FieldEdit, FieldChange, FieldFormula,RowInit, RowInsert, RowDelete, RowSelect, SaveEdit, SavePreChg, SavePostChg, SearchInit,SearchSave, and Workflow type programs. Each type of PeopleCode program executes at a different time within the processing flow of a panel or panel group. For more detailed information about PeopleCode types and programming, consult PeopleSoft's PeopleCode Guide.


UHS may require unique records/panels for which additional PeopleCode programs will need to be written. In order to differentiate changed and new programs from the delivered programs, a comment standard (see below) must be used when any existing PeopleCode programs are changed or new programs are written. For future upgrades, this will facilitate differentiating FlightPeopleCode from the vanilla PeopleCode that was delivered with the new release.


Each time a developer changes PeopleCode or creates new PeopleCode programs, this comment standard MUST be used. Reference the bold type in the following example.



/* UHS - MM/DD/YYYY – NAME (LAN ID) */
(UHS must be in uppercase letters and included in EVERY PeopleCode modification.)
/* Description of the change being made - as many */
/* lines of description as needed. Please reference */
/* the PS Fix # or Customization # . */
New line(s)of code
/* END */


Additional PeopleCode Standards include:


Do not change vanilla code; rather, comment out the original and add new lines with the change(s). This allows for a developer to see exactly what was changed from the original.

Check the value of the %panel or %panelgroup global variables to control execution of PeopleCode programs on various panels.

If one field from a record (except for Related Display fields like Descrs) appears on a panel, all of the Row Level PeopleCode programs will execute.

Restrict the use of field level PeopleCode as it hinders on-line performance.

Any messages required through PeopleCode should not reference existing PeopleSoft Message Set numbers. Use Message Set numbers between 20000 and 29000 to add custom messages to the Message Set Catalog under the Utilities Menu. Individual messages within range can be sequentially assigned.

To cut PeopleCode within the PeopleCode editor, use CTRL-X or use the Cut command button.

To copy PeopleCode within the PeopleCode editor, use CTRL-C or use the Copy command button.

To paste PeopleCode within the PeopleCode editor, use CTRL-V or use the Paste command button.

Determine whether anyone is making a change to the record you will be working on. If so, coordinate efforts.

When making PeopleCode changes, if PeopleCode does not work, don’t leave for the day with an error. Temporarily remark out code until you can start working on it again.

Document change within the PeopleCode per UHS Naming Conventions.

NEVER add new functions to the PeopleSoft function libraries:
FUNCLIB,
FUNCLIB_XXXX

where XXXX is a PeopleSoft functional extension (i.e. BEN, HR, PAY)

Create new derived records and function libraries for NEW derived fields and functions, e.g.

UHS_DERIVED
UHS_FUNCLIB

Use functions--whenever possible—for code that is performed in more than one place to ensure consistent processing and ease of maintenance.

Friday, May 16, 2008

Improved System Performance of your PeopleSoft system Makes a Happy User



Search questions related to Improved System Performance of your PeopleSoft system Makes a Happy User on  MyAnswerBank

If you run PeopleTools 8.4 or above and want to increase performance by eliminating extra trips to the database and unnecessary caching, then here is a PeopleSoft Performance tip that you need!


As delivered, the application server cache works by an Application server domain
using separate cache files for each process. This means, that even if one of your
users opened the GL Inquiry Page, the next user may have to cache it all over
again and this will result in additional trips to the database. However, you can
set the various psappsrv processes in a particular application server domain so
that it uses a single set of cache files rather than separate cache files for
each process. All managed objects are included in the shared cache files so that
objects are not loaded from the database multiple times. What does this mean to
you? Increased system performance and happy users!

Search questions related to Improved System Performance of your PeopleSoft system Makes a Happy User on  MyAnswerBank



Now, here is the next piece of information that will save you time and save your
users time when loading those pages. Why not load your cache ahead of time, so
that your users don't have to? In the past, many PeopleSoft customers created
scripts that would access the most commonly used pages. Some of these scripts
were created using software tools like SQA Robot and had to be created by
recording every page access. Not only did these scripts take a lot of time to
create, but they could sometimes be a nightmare to maintain considering all of
the changes, updates, and new releases that occur in your application.


Well, if you check your PeopleSoft installation CD, you will find a nifty little
Application Engine program called LOADCACHE. This is a program that will allow
you to generate and pre-load the shared cache we mentioned above.


Enabling shared cache and running the LOADCACHE program can save you disk space
and greatly speed up the performance of your system. And we all know a zippy
system means a happy user!


Here's how to run the LOADCACHE program:


1. Make sure that the database that the application server runs against

produces clean SYSAUDIT runs. If SYSAUDIT is not clean, the LOADCACHE program may fail.


2. Make sure the user who is executing the program has the "Load Application Server
Cache" component defined to its Permission List in User Profile. Find or add the
Utilities page for the users permission list and add the component Load Application Server Cache.


3. Check your psprcs.cfg file (Process Scheduler configuration file). psprcs.cfg is
where you specify the type of objects to cache using the EnableServerCaching
parameter. For PeopleTools 8.4 set it to 2. The LOADCACHE reads this setting and
caches metadata according to the value specified in the Process Scheduler configuration.


Performing these steps is easy and provides a tremendous benefit to your end users.
Follow these simple steps and you can increase your system performance by
reducing/eliminating extra trips from the application server to the database.
And most of all, make your users happy - happy - happy!

Search questions related to Improved System Performance of your PeopleSoft system Makes a Happy User on  MyAnswerBank