Peoplesoft: Building
and Consuming Web
Services
Program Agenda
Why/When Web Service?
PeopleTools
Web ServiceObjects
Enabling
Integration
TIBCO
SOA
and
Peoplesoft
broker
Architecture Over view
Component
Provide Web
Service Using
Interfaces
(CI)
Application
Provide Web
Service Using
Packages
Service
Provide Query Access Web
Provide Restful Web Service
Service
Consuming a 3rd Party Web
Web services Security
Web Services with PeopleTools : When
are they the right option
Web Services are only one of many integration options
When are Web Services good options?
Multiple consumers of a single interface
If consumer is external and needs to be Authenticated
Consuming partner integrations
Integrating with Standards Based Tools
SOA technology
Development Tools
Business Intelligence
Tibco SOA Architecture
Integration Broker
Integration Broker
Web Service Enabling PeopleTools
PeopleTools Objects deployed as Web Services
Web Service Enabling PeopleTools
PeopleTools Objects deployed as Web Services
Web Service Enabling PeopleTools
Web Service Routing is always Any-To-Local
Integration Broker Web Services
SOAP or Rest?
Component Interface or AppClass?
Rowset or non-rowset message?
Parts and containers or Document?
Provide Web Service :
Using a Component Interface
Provide Web Service :
Using a Component Interface
Synchronous Service Operation for each
Component Interface methods
Automatically creates Nonrowset-based Messages
with Schemas based on the CI definition
Builds handler definition that points the CI
Any to Local routing is defined
Naming convention for Web Service is CI_<name>
Supports user defined methods
Provide Web Service :
Using a Component Interface
2 Step Process
Step 1: CI-Based Services Wizard
Generates Messages and Schemas, Services,
Service Operations, SO Handlers, and SO
Routings via CI-Based Services Page
Step 2: Provide Web Service Wizard
Publish as Web Service by selecting the
above generated Service definition
Provide Web Service :
Using a Component Interface
Provide Web Service :
Using a Component Interface
Provide Web Service :
Using a Component Interface
Provide Web Service :
Using a Component Interface
Provide Web Service :
Using a Component Interface
Provide Web Service :
Using a Component Interface
Provide Web Service :
Using a Component Interface
Provide Web Service :
Using a Component Interface
Provide Web Service :
Using a Component Interface
Provide Web Service :
Using a Component Interface
Limitations
This is the easiest way to provide a Web Service but it
comes at a cost
The interaction between the Web Service and
Component Interface is Generated and Can Not be
Modified
State Management can be a problem
There is no support for level deletes
Consider using an AppClass that manipulates the
Component Interface as an alternative
Provide Web Service :
Query Access Service
Peoplesoft has delivered Service and Service
operation to execute a query from an external
source
Multiple delivered service operations to execute
queries and retrieve results
Queries can be executed realtime or through
batch
Results can be obtained realtime (XMLP, HTML
etc.) or through file (Excel etc.)
Provide Web Service :
Query Access Service
Client applications consume the WSDL by accessing the
WSDL URL from the repository
Provide Web Service :
Query Access Service
Request Message Example
Provide Web Service :
Query Access Service
Response Message (XMLP)
Provide Web Service :
Using Application Packages
Provide Web Service :
Using Application Packages
Web Services can be provided using any of the PeopleTools message
types
Rowset-based
PeopleSoft to PeopleSoft with proprietary XML
Legacy - PSCAMA tags
Nonrowset-based (schema based)
3rd Party Integration
Message Parts and Containers
Web Services
Standard XML
PT 8.53 - Document-based Messages
Provide Web Service :
Using Application Packages
PeopleTools Document Object Goals
Better XML support
Increase Developer Productivity
Light-weight structure definition
Geared for reuse
Insulated to change
Using Application Package Documents
Meta data that defines structured data
Binding to XML schema or PeopleSoft record
Package.Document.Version naming standard
Structure composed of elements:
primitives, compounds (document), and
collections (of primitive or compounds).
Primitives represent scalar types (int, bool,
etc).
Compounds represent complex types
Collections represent multiple occurrences
of an element
Rich PeopleCode API that does not require
parsing
Provide Web Service :
Using Application Package
Documents
Provide a light-weight structural specification that describes any
XML Document
Great reuse with compound documents
Single programming api for the document definition
Support mapping to different physical types
Insulation from change to physical layer
Support for XML, namespaces, attributes, non-rowset structures.
Easy construction or generation of Documents (create
xsd, wsdl, or record)
Managed object in PeopleTools
from
Provide Web Service :
Using Application Package
Documents
PeopleTools Document Object
Strengthens PeopleTools Consume Web Service model
Documents are built from XML schemas (XSD)
Creates a first-class Tools Object like a rowset
Replaces the need to use non-rowset based messages
Provides flexibility with the ease of use of rowsets and
rowset parts
Can be extended to support other physical types in the future
Framework that will be used for future IB enhancements
Provide Web Service :
Using Application Package Documents
Provide Web Service :
Using Application Package
Documents
New message of document type can be defined
Provide Web Service :
Using Application Package
Define Service
Logically group Service Operations
Provide Web Service :
Using Application Package
Configure Service Operations
Ties Messages, Queues and Service Operation Versions
Defines Routings and Handlers for Operations
Service Operation Versions
Create new version when message structure is updated
Previous version is inactive unless transformation is implemented for
the message structure
Provide Web Service :
Using Application Package
Define Service Operation Handlers
Contains the main operation logic for inbound messsages
AppClass must exist before the Service Operation
Implemented via Application Class, Component Interface or Bulk Load (DMS)
Provide Web Service :
Using Application Package
Define Service Operation Routings
Routings can be generated automatically except for Point-To-Point
Provide Web Service :
Using Application Package
Provide Web Service Wizard
Provide Web Service :
REST
REST is
Architecture that consists of clients and servers (or
requestors and providers)
There exist a number of resources that can be any
arbitrary object
Resource has a representation that captures the
current state of the resource
A resource may contain links to other resources
Provide Web Service :
REST
Support for Representative State Transfer
(RESTful) Services
Defined as a Service type in Integration Broker
Alternative to WSDL/SOAP based web services
Support for
HTTP Based operations (post, get, put, delete, head)
Supported type JSON, XML, HTTP, Text
Gives developers more options one that is being
heavily adopted
Easier to build/use expect gains in developer
productivity
Provide Web Service :
REST
A new Service Type is added
RESTful or Non-RESTful
Defined at the Service, not Service
Operation
Provide Web Service :
REST
Distinguish between provider and
consumer
Use Web Access Descriptive Language
(WADL) not Web Service Descriptive
Language (WSDL)
Rest Method is an HTTP method, not
Service Operation
Provide Web Service :
REST
Provide Web Service :
REST
In this example, the URL to call the service is :
http://wpibm019:44000/PSIGW/PSIGW/RESTListeningConnector/Employees.v1/employe
es
Provide Web Service :
REST
REST Service Content Type
XML for standard messages
JSON (Java Script Object
Notation) for UI based message
Provide Web Service :
REST
From this:
To This: http://wpibm019:44000/PSIGW/RESTListeningConnector/Employee_Details.v1/details/KF0016
Consuming 3rd Party Web Service
Wizard to create the PeopleTools Components
WSDL can be read from a UDDI Server, WSDL
URL, WSIL URL, Local File or Legacy WSDL
Generates Messages and Schemas, Services,
Service Operations, and SO Routings based on
the WSDL Definition
PT 8.53 Messages generated are Documentbased
Consuming 3rd Party Web Service
Web Services: WS Security
WS-Security is used to secure web services
Designed to secure open exposed endpoints
Authentication happens at endpont
Something is passed acknowledging the
authentication Certificate or Username/PW
Many different policies for different levels and types
of security
Not all policies will work with PeopleSoft
Web Services: WS Security
Rules of integration broker determine the user
that is used process the request
If no ws-security in SOAP header then the user is
taken from the Anonymous Node
If username token or clear text password wssecurity then the user is taken from the wssecurity name tag
If security assertion markeup language (SAML)
based ws-security, then user is derived from the
saml user table based on the value in the wssecurity name tag