Top Banner
© 2010 Oracle Corporation – Proprietary and Confidential
78

PeopleTools Advanced Tips and Techniques

Apr 18, 2015

Download

Documents

vema222
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PeopleTools Advanced Tips and Techniques

© 2010 Oracle Corporation – Proprietary and Confidential

Page 2: PeopleTools Advanced Tips and Techniques

<Insert Picture Here>

PeopleTools Tips and Tricks

Stephen Wills ([email protected])

PeopleSoft Application Technology Sales Consultant, Oracle

Page 3: PeopleTools 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: PeopleTools 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: PeopleTools Advanced Tips and Techniques

<Insert Picture Here>

Communities and Resources

Page 6: PeopleTools 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: PeopleTools 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: PeopleTools Advanced Tips and Techniques

RSS FeedsChoose A Feed Reader, And Subscribe

Page 9: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools Advanced Tips and Techniques

PeopleSoft Enterprise

Integration Point Diagrams

Available On

• Available on My Oracle Support – Document ID 1157149.1

Page 13: PeopleTools 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: PeopleTools Advanced Tips and Techniques

Example Upgrade Pages

On My Oracle Support

Available On

Page 15: PeopleTools Advanced Tips and Techniques

Oracle Tweets on Twitter

Page 16: PeopleTools Advanced Tips and Techniques

<Insert Picture Here>

Extend the

User Interface

Page 17: PeopleTools 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: PeopleTools 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: PeopleTools Advanced Tips and Techniques

<Insert Picture Here>

IScripts – The Swiss Army Knife

Page 20: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools Advanced Tips and Techniques
Page 26: PeopleTools Advanced Tips and Techniques
Page 27: PeopleTools Advanced Tips and Techniques
Page 28: PeopleTools Advanced Tips and Techniques
Page 29: PeopleTools Advanced Tips and Techniques
Page 30: PeopleTools Advanced Tips and Techniques
Page 31: PeopleTools Advanced Tips and Techniques
Page 32: PeopleTools Advanced Tips and Techniques
Page 33: PeopleTools Advanced Tips and Techniques
Page 34: PeopleTools Advanced Tips and Techniques
Page 35: PeopleTools Advanced Tips and Techniques
Page 36: PeopleTools Advanced Tips and Techniques
Page 37: PeopleTools Advanced Tips and Techniques
Page 38: PeopleTools Advanced Tips and Techniques
Page 39: PeopleTools Advanced Tips and Techniques
Page 40: PeopleTools Advanced Tips and Techniques
Page 41: PeopleTools Advanced Tips and Techniques
Page 42: PeopleTools Advanced Tips and Techniques
Page 43: PeopleTools Advanced Tips and Techniques
Page 44: PeopleTools Advanced Tips and Techniques
Page 45: PeopleTools Advanced Tips and Techniques
Page 46: PeopleTools Advanced Tips and Techniques
Page 47: PeopleTools Advanced Tips and Techniques
Page 48: PeopleTools Advanced Tips and Techniques
Page 49: PeopleTools Advanced Tips and Techniques
Page 50: PeopleTools Advanced Tips and Techniques

<Insert Picture Here>

PeopleTools Foundation

Page 51: PeopleTools 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: PeopleTools Advanced Tips and Techniques

<Insert Picture Here>

Extend the App Server

Page 53: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools Advanced Tips and Techniques

Access PeopleSoft from JavaAdditional References

• Enterprise PeopleTools 8.50 PeopleBook:

PeopleCode API Reference > Java Class

Page 63: PeopleTools Advanced Tips and Techniques

<Insert Picture Here>

Extend the Web Server

Page 64: PeopleTools Advanced Tips and Techniques

Extensible Options

• Standard J2EE web server options

• Servlet filters

• JSP

• JSF

• Custom Servlets

• CGI

Page 65: PeopleTools 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: PeopleTools 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: PeopleTools Advanced Tips and Techniques

<Insert Picture Here>

Extend Integration Broker

Page 68: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools Advanced Tips and Techniques

<Insert Picture Here>

Want More?

Page 72: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools 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: PeopleTools Advanced Tips and Techniques
Page 78: PeopleTools Advanced Tips and Techniques

© 2010 Oracle Corporation – Proprietary and Confidential