People Tools Advanced Tips and Techniques

78
© 2010 Oracle Corporation – Proprietary and Confidential

Transcript of People Tools Advanced Tips and Techniques

Page 1: People Tools Advanced Tips and Techniques

© 2010 Oracle Corporation – Proprietary and Confidential

Page 2: People Tools Advanced Tips and Techniques

<Insert Picture Here>

PeopleTools Tips and Tricks

Stephen Wills ([email protected])

PeopleSoft Application Technology Sales Consultant, Oracle

Page 3: People Tools Advanced Tips and Techniques

The following is intended to outline our general

product direction. It is intended for information

purposes only, and may not be incorporated into any

contract. It is not a commitment to deliver any

material, code, or functionality, and should not be

relied upon in making purchasing decisions.relied upon in making purchasing decisions.

The development, release, and timing of any

features or functionality described for Oracle’s

products remains at the sole discretion of Oracle.

Page 4: People Tools Advanced Tips and Techniques

<Insert Picture Here>

Program Agenda

• Communities and resources

• Extend the user interface

• Browser extensions

• iScripts

• Ajax: Zero impact customizations… almost• Ajax: Zero impact customizations… almost

• PeopleTools – the extensible foundation

• Extend the app server

• Extend the web server

• Extend Integration Broker

• Web Services-less Real-time Integrations

• Custom target connectors

Page 5: People Tools Advanced Tips and Techniques

<Insert Picture Here>

Communities and Resources

Page 6: People Tools Advanced Tips and Techniques

Forums

• http://mix.oracle.com

• http://forums.oracle.com/forums/category.jspa?categoryID=152

• PeopleSoft General

• Business Intelligence

• Security

• Upgrades

• http://peoplesoft.ittoolbox.com/groups/technical-

functional/peopletools-l

• Caveat

• Forums don’t replace the Global Support Center!

• Don’t Post Confidential Information

Page 7: People Tools Advanced Tips and Techniques

Blogs

• http://blogs.oracle.com/peopletools/

• http://jjmpsj.blogspot.com/

• http://blog.greysparling.com/

• IT Toolbox groups ERP > PeopleSoft

• http://blogs.ittoolbox.com/peoplesoft/rob• http://blogs.ittoolbox.com/peoplesoft/rob

• http://xtrahot.chili-mango.net/

• http://peoplesofttipster.com/

• http://campus-codemonkeys.blogspot.com/

• http://gasparotto.blogspot.com/

Page 8: People Tools Advanced Tips and Techniques

RSS FeedsChoose A Feed Reader, And Subscribe

Page 9: People Tools Advanced Tips and Techniques

Oracle Customer SupportTrouble Navigating The Flash Site?

• Default flash site is:

• https://support.oracle.com

• But…

• … there’s an HTML version of the site at:• … there’s an HTML version of the site at:

• https://supporthtml.oracle.com

Page 10: People Tools Advanced Tips and Techniques

Oracle Web Site – Useful LinksDid You Know About These?

• Online PeopleBooks:

• http://www.oracle.com/pls/psft/homepage

• Downloadable PDF PeopleBooks

• http://www.oracle.com/technology/documentation/psftent.html• http://www.oracle.com/technology/documentation/psftent.html

• PeopleTools Viewlets

• http://download.oracle.com/peopletools/viewlets.html

Page 11: People Tools Advanced Tips and Techniques

PeopleSoft Business Process Maps

and Entity Relationship Diagrams

Available On

• Available on My Oracle Support

• Business Process Maps

• (r9.0 Doc ID 989289.1)

• (r9.1 Doc ID 1061003.1)

• Entity Relationship Diagrams

• (Doc ID 1051533.1)

Page 12: People Tools Advanced Tips and Techniques

PeopleSoft Enterprise

Integration Point Diagrams

Available On

• Available on My Oracle Support – Document ID 1157149.1

Page 13: People Tools Advanced Tips and Techniques

PeopleSoft Upgrade Home

Pages on Oracle Support

• One page for each upgrade path per product line,

serves as a homepage for that specific upgrade path

• Upgrade Files including the Getting Started Guide

• Change Assistant User Guide (link)

• Upgrade instructions

Available On

• Demo to Demo Compare Reports

• Upgrade code files.

• Install/Upgrade Information Development team posts

installation documentation, hardware/software

requirements documentation, and certification

information on a separate Oracle Support page for

Install & Hardware/Software

Page 14: People Tools Advanced Tips and Techniques

Example Upgrade Pages

On My Oracle Support

Available On

Page 15: People Tools Advanced Tips and Techniques

Oracle Tweets on Twitter

Page 16: People Tools Advanced Tips and Techniques

<Insert Picture Here>

Extend the

User Interface

Page 17: People Tools Advanced Tips and Techniques

Site Specific Browsers

• No noise

• No distractions

• More real estate

• Fewer browser-related

user errorsuser errors

• No back button

• No Favorites/Bookmarks

• No plugins

• Although you can add plugins

• Implementations

• Mozilla Prism

• Microsoft HTA

Page 18: People Tools Advanced Tips and Techniques

UbiquityCommand your Browser

• Delivered scripts

• Map location

• Vendor, customer, offices, training rooms, etc

• PeopleSoft transaction specific

• View employee• View employee

• Open vendor

Page 19: People Tools Advanced Tips and Techniques

<Insert Picture Here>

IScripts – The Swiss Army Knife

Page 20: People Tools Advanced Tips and Techniques

What is an IScript?

• A function that can be called from a URL

• http:…/EMPLOYEE/EMPL/s/WEBLIB_ADS_FB.ISCRIPT1.Fi

eldFormula.IScript_GetFriends

• Takes no parameters and does not return a valueFunction IScript_GetFriends()

...

• Contained in a record named WEBLIB_XXXXXXXX

• Provides access to %Request and %Response

...

End-Function;

Page 21: People Tools Advanced Tips and Techniques

What Can They Do?

• Custom user interfaces

• Not bound to Page/Component paradigm

• Ajax/Flex/Applet request/response handlers

• Serve JSON, XML, or HTML in response to Ajax requests

• Excellent for testing PeopleCode snippets• Excellent for testing PeopleCode snippets

• Just about anything… but choose wisely (see

disadvantages)

Page 22: People Tools Advanced Tips and Techniques

Advantages of IScripts

• Unstructured Request/Response handling

• PeopleCode version of JSP/ASP

• Very few rules

• Full PeopleCode/Database access

• Leverage PeopleSoft security model• Leverage PeopleSoft security model

• Great for non-UI development

Page 23: People Tools Advanced Tips and Techniques

Disadvantages of IScripts

• No META-DATA

• No upgrade

• No component processor

• Event processing

• More difficult to develop and maintain• More difficult to develop and maintain

Page 24: People Tools Advanced Tips and Techniques

AJAX InjectionLight-weight User Interface Customizations

• Design• Modify PT_COPYURL HTML definition

• Use AJAX/IScript to load page specific JavaScript

• Advantages• Reduce modification footprint (<20 lines of JavaScript)

• Only way to modify search pages• Only way to modify search pages

• Global or page specific

• Disadvantages• Minimal access to component buffer

• Only access page (not component) fields

• Visible or

• Interact with JavaScript

Page 25: People Tools Advanced Tips and Techniques
Page 26: People Tools Advanced Tips and Techniques
Page 27: People Tools Advanced Tips and Techniques
Page 28: People Tools Advanced Tips and Techniques
Page 29: People Tools Advanced Tips and Techniques
Page 30: People Tools Advanced Tips and Techniques
Page 31: People Tools Advanced Tips and Techniques
Page 32: People Tools Advanced Tips and Techniques
Page 33: People Tools Advanced Tips and Techniques
Page 34: People Tools Advanced Tips and Techniques
Page 35: People Tools Advanced Tips and Techniques
Page 36: People Tools Advanced Tips and Techniques
Page 37: People Tools Advanced Tips and Techniques
Page 38: People Tools Advanced Tips and Techniques
Page 39: People Tools Advanced Tips and Techniques
Page 40: People Tools Advanced Tips and Techniques
Page 41: People Tools Advanced Tips and Techniques
Page 42: People Tools Advanced Tips and Techniques
Page 43: People Tools Advanced Tips and Techniques
Page 44: People Tools Advanced Tips and Techniques
Page 45: People Tools Advanced Tips and Techniques
Page 46: People Tools Advanced Tips and Techniques
Page 47: People Tools Advanced Tips and Techniques
Page 48: People Tools Advanced Tips and Techniques
Page 49: People Tools Advanced Tips and Techniques
Page 50: People Tools Advanced Tips and Techniques

<Insert Picture Here>

PeopleTools Foundation

Page 51: People Tools Advanced Tips and Techniques

The Extensible Foundation

The “Tech Stack”

• Relational database

• Programmable

• Functions, procedures, triggers

• App Server

• Java VM• Java VM

• Native libraries

• J2EE web server

• JSP/JSF

• Servlets

• EJB

• Web Browser

Page 52: People Tools Advanced Tips and Techniques

<Insert Picture Here>

Extend the App Server

Page 53: People Tools Advanced Tips and Techniques

Language DiversityBest Practices

• How many languages are

delivered with PeopleTools?

• Others?

– PeopleCode

– SQR

– DMS

– COBOL

– Java

– XML

– XSL

– JavaScript

– HTML– COBOL

– SQL

– HTML

– Stored Procedures

– Shell scripting (batch, bash,

etc)

– C++

– Java interpreted script engines:

• JRuby, Groovy, Jython, etc

– … Unlimited

Page 54: People Tools Advanced Tips and Techniques

Extend the PeopleCode Language

• Operating system native libraries

• DLLs

• so’s

• Java VM

• Standard Java API• Standard Java API

• Custom Java classes

Page 55: People Tools Advanced Tips and Techniques

Extend the PeopleCode LanguageWhy?

• Some things are easier to do in Java

• Java regular expressions versus PeopleCode String

manipulation

• Take advantage of existing libraries

• Apache POI for reading binary Microsoft Excel files • Apache POI for reading binary Microsoft Excel files

(integration)

Page 56: People Tools Advanced Tips and Techniques

Extend PeopleCode LanguageUsing the Java API

Function ResolveMetaHTML(&html as string) returns stringLocal JavaObject &pattern;Local JavaObject &matcher;Local String &node_url;

REM ** Resolve %NodePortalURL(NODENAME) tags;&pattern = GetJavaClass("java.util.regex.Pattern")

.compile("(?i)%NodePortalURL\((\w+)\)");

&matcher = &pattern.matcher(CreateJavaObject("java.lang.String", &html));

While &matcher.find() SQLExec("SELECT URI_TEXT FROM PSNODEURITEXT WHERE MSGNODENAME

= :1 AND URI_TYPE = 'PL'", &matcher.group(1), &node_url);&html = Substitute(&html, &matcher.group(), &node_url);

End-While;End-Function;

Page 57: People Tools Advanced Tips and Techniques

Extend PeopleCode LanguageCustom Java Classes

REM ** Generate MD5 checksum;

Function test_md5() Returns stringLocal JavaObject &jMD5;

&jMD5 = GetJavaClass("com.oracle.ads.peoplesoft.MD5");&sig = &jMD5.encodeString("String to encode");

End-Function;End-Function;

Page 58: People Tools Advanced Tips and Techniques

Access PeopleSoft from Java

• Within a PeopleSoft session (app or process

scheduler server)

• PeopleCode objects

• Record, SQL, Field, File, XMLDoc, etc

• PeopleCode functions

• Func.SQLExec, Func.SendMail, etc

• PeopleCode system variables

• Sysvar.UserId(), Sysvar.Roles()

• TIP: Add peoplecode.jar to your Java IDE’s classpath

Page 59: People Tools Advanced Tips and Techniques

Java Integration Scenario

• Vendor e-mails invoice in Microsoft Excel format

• You need to create a voucher from that invoice

• Solution

• Use Apache POI (http://poi.apache.org/) and PeopleCode

objects/functions to copy spreadsheet to staging table (Java) objects/functions to copy spreadsheet to staging table (Java)

• Use a component interface based on VCHR_EXPRESS to

create vouchers (PeopleCode)

Page 60: People Tools Advanced Tips and Techniques

Java Integration ScenarioJava Component

public static void processSpreadsheet(int processInstance) {//POI variable initilization, etc...// 20 insert bind valuesObject[] parms = new Object[20];parms[0] = row.getCell(0).getStringCellValue();// column 2 contains an integerParms[1] = newParms[1] = new

Integer(row.getCell(1).getNumericCellValue().intValue());...

// use Meta-SQL to simplify retrieving SQL from// stored SQL objectFunc.SQLExec("%SQL(MYSQLOBJECT)", parms);

...}

Page 61: People Tools Advanced Tips and Techniques

Advantages of UsingPeopleCode Data Objects from Java

• Avoid JDBC configuration, data access,

authentication, etc

• Simplicity of SQLExec

• Simplicity of SQL objects/cursors

• Meta-SQL expansion• Meta-SQL expansion

• Avoid updating PS database directly

Page 62: People Tools Advanced Tips and Techniques

Access PeopleSoft from JavaAdditional References

• Enterprise PeopleTools 8.50 PeopleBook:

PeopleCode API Reference > Java Class

Page 63: People Tools Advanced Tips and Techniques

<Insert Picture Here>

Extend the Web Server

Page 64: People Tools Advanced Tips and Techniques

Extensible Options

• Standard J2EE web server options

• Servlet filters

• JSP

• JSF

• Custom Servlets

• CGI

Page 65: People Tools Advanced Tips and Techniques

ServletFilters

• Allow you to modify the HTTP request or response

• Examples

• Authentication

• Injection

• Monkeygrease• Monkeygrease

• Add additional HTML/JavaScript/CSS to pages

• Compression

• URLRewriting

• Encryption

• Encoding

• Request/Response header modification

Page 66: People Tools Advanced Tips and Techniques

Standard Request Response Cycle...

… and then ServletFilters

Web ServerApp Server

Request

Response

Client/Browser

Response

Web Server

ServletFilter Servlet

Request

Response

Modify Request

Modify Response

Page 67: People Tools Advanced Tips and Techniques

<Insert Picture Here>

Extend Integration Broker

Page 68: People Tools Advanced Tips and Techniques

The ProblemReal-time Integrations

• Integrate with web service challenged applications

• Common solution: Batch process

• Suffers from:

• Latency

• Complex logic• Complex logic

• Performance and resource utilization (caused by complex

logic)

Page 69: People Tools Advanced Tips and Techniques

Solution: Custom Target ConnectorsReal-time Integrations

• Create connectors to send Integration Broker

messages to targets not covered by delivered

connectors

• Databases via JDBC (JDBCTargetConnector)

• Other TCP/IP based protocols

• Anywhere, in any electronic way

Page 70: People Tools Advanced Tips and Techniques

AdvantagesCreating Custom Connectors

• Reuse delivered integration points

• Employees, vendors, transactions

• Eliminate complex identification logic

• No “was transaction modified?” logic

Page 71: People Tools Advanced Tips and Techniques

<Insert Picture Here>

Want More?

Page 72: People Tools Advanced Tips and Techniques

Includes direct links to PeopleBooks, PeopleBook Updates, Release Notes, Installation and Upgrade Guides, and more. All accessible from one convenient My Oracle Support location.

https://supporthtml.oracle.com/ep/f

PeopleTools 8.51

Documentation Homepage

PeopleTools 8.51 Information Development Deliverables

PeopleTools 8.51

Hosted PeopleBooks

PeopleTools Cumulative

Feature Overview Tool

Access a searchable HTML installation of our PeopleTools 8.50 PeopleBook suite. This hosted solution lets you access PeopleBooks using the help link in your applications without having to install PeopleBooks on your own server.

Dynamic tool provides concise descriptions of new and enhanced solutions and functionality that have become available between your starting and target releases.

The CFO tool can be found on My

Oracle Support and on our Doc Home https://supporthtml.oracle.com/ep/faces/secure/km/DocumentDisplay.jspx?id=1127534.1&h=Y

http://www.oracle.com/pls/psft/homepage

Oracle Support and on our Doc Home

Pages.

Page 73: People Tools Advanced Tips and Techniques

Cumulative Feature Overview Tool

• How do I know what changed between releases?

• You could read all the release notes…

• …or use the PeopleSoft Enterprise Cumulative

Feature Overview Tool

• Excel-based tool• Excel-based tool

• Choose your topics

• Choose your “from” and “to” releases

• Creates a summary of changes, by release, for the

topics chosen between the releases chosen

• Available for PeopleTools and PeopleSoft Apps

Page 74: People Tools Advanced Tips and Techniques

PeopleTools 8.50 Available Training

• PeopleTools 8.50 classes available now:

• PeopleSoft PeopleTools 1 Rel 8.50

• PeopleTools II Rel 8.50

• PeopleTools I/PeopleTools II - Accelerated Rel 8.50

• PeopleSoft PeopleCode Rel 8.50

• SQR for PeopleSoft Rel 8.50

• Application Engine Rel 8.50

• PeopleCode/SQR – Accelerated Rel 8.50

• PeopleCode/Application Engine – Accelerated Rel 8.50

• To view a schedule of these classes or new upcoming

classes visit the Oracle University booth in Moscone

West (W-144) or go to oracle.com/education

Page 75: People Tools Advanced Tips and Techniques

PeopleTools Tips and TechniquesNew PeopleTools book available now!

• A collection of code, documentation, and best

practices as presented by Jim Marion over the last

few years

• 600 pages of well written, thought provoking

techniquestechniques

• Available Now!

• Order from major book resellers

Page 76: People Tools Advanced Tips and Techniques

PeopleTools Tips and TechniquesNew PeopleTools book available now!

• What’s inside?

• The basics

• App Classes, Approval Workflow Engine, File Attachments

• The user interface

• Mobile, iScripts, Flex, JavaScript, AJAX, Pagelet Wizard

• How and when to use Java in PeopleSoft

• App server, Web server, and Integration

• Best Practices

• Fluent interface design, test driven development

• http://www.amazon.com/PeopleSoft-PeopleTools-

Techniques-Osborne-ORACLE/dp/0071664939

Page 77: People Tools Advanced Tips and Techniques
Page 78: People Tools Advanced Tips and Techniques

© 2010 Oracle Corporation – Proprietary and Confidential