7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 1/53
Peoplesoft: Building
and Consuming WebServices
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 2/53
Program Agenda
Why/When Web Service?Web Service EnablingPeopleTools Objects
TIBCO SOA and PeoplesotIntegration bro!erArchitect"re Over vie#Provide Web Service $singCo%ponent Interaces &CI'Provide Web Service $singApplication Pac!agesProvide ("ery Access WebServiceProvide )est"l Web ServiceCons"%ing a *rd Party WebServiceWeb services Sec"rity
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 3/53
Web Services with PeopleTools : Whenare they the right option
Web Services are only one of many integration options
When are Web Services good options?
!ultiple consumers of a single interface
"f consumer is e#ternal and needs to be Authenticated
Consuming partner integrations
"ntegrating with Standards Based Tools
$ S%A technology
$ &evelopment Tools
$ Business "ntelligence
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 4/53
Tibco S%A Architecture
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 5/53
"ntegration Bro'er
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 6/53
"ntegration Bro'er
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 7/53
Web Service (nabling PeopleTools
PeopleTools %b)ects deployed as Web Services
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 8/53
Web Service (nabling PeopleTools
PeopleTools %b)ects deployed as Web Services
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 9/53
Web Service (nabling PeopleTools
Web Service *outing is always Any+To+,ocal
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 10/53
"ntegration Bro'er Web Services
S%AP or *est?
Component "nterface or AppClass?
*owset or non+rowset message?Parts and containers or &ocument?
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 11/53
Provide Web Service :-sing a Component "nterface
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 12/53
Provide Web Service :-sing a Component "nterface
Synchronous Service %peration for eachComponent "nterface methods
Automatically creates .onrowset+based !essages
with Schemas based on the C" de/nition
Builds handler de/nition that points the C"
Any to ,ocal routing is de/ned
.aming convention for Web Service is C"01name2
Supports user de/ned methods
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 13/53
Provide Web Service :-sing a Component "nterface
3 Step Process
Step 4: C"+Based Services Wi5ard
$ 6enerates !essages and Schemas7 Services7
Service %perations7 S% 8andlers7 and S%*outings via C"+Based Services Page
Step 3: Provide Web Service Wi5ard
$ Publish as Web Service by selecting theabove generated Service de/nition
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 14/53
Provide Web Service :-sing a Component "nterface
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 15/53
Provide Web Service :-sing a Component "nterface
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 16/53
Provide Web Service :-sing a Component "nterface
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 17/53
Provide Web Service :-sing a Component "nterface
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 18/53
Provide Web Service :-sing a Component "nterface
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 19/53
Provide Web Service :-sing a Component "nterface
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 20/53
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 21/53
Provide Web Service :-sing a Component "nterface
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 22/53
Provide Web Service :-sing a Component "nterface
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 23/53
Provide Web Service :-sing a Component "nterface
,imitations
$ This is the easiest way to provide a Web Service but itcomes at a cost
$ The interaction between the Web Service andComponent "nterface is 6enerated and Can .ot be!odi/ed
State !anagement can be a problem
There is no support for level deletes
$ Consider using an AppClass that manipulates theComponent "nterface as an alternative
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 24/53
Provide Web Service :9uery Access Service
Peoplesoft has delivered Service and Serviceoperation to e#ecute a uery from an e#ternalsource
!ultiple delivered service operations to e#ecuteueries and retrieve results
9ueries can be e#ecuted realtime or throughbatch
*esults can be obtained realtime ;<!,P7 8T!,etc=> or through /le ;(#cel etc=>
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 25/53
Provide Web Service :9uery Access Service
• Client applications consume the WS&, by accessing the
WS&, -*, from the repository
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 26/53
Provide Web Service :9uery Access Service
*euest !essage (#ample
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 27/53
Provide Web Service :9uery Access Service
*esponse !essage ;<!,P>
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 28/53
Provide Web Service :-sing Application Pac'ages
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 29/53
Provide Web Service :-sing Application Pac'ages
Web Services can be provided using any of the PeopleTools messagetypes
*owset+based
$ PeopleSoft to PeopleSoft with proprietary <!,
$ ,egacy + PSCA!A tags
.onrowset+based ;schema based>
$ rd Party "ntegration
!essage Parts and Containers
$ Web Services
$ Standard <!,
PT @= + &ocument+based !essages
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 30/53
-sing Application Pac'age +
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 31/53
-sing Application Pac'age +&ocuments
!eta data that de/nes structured data
$ Binding to <!, schema or PeopleSoft record
$ Pac'age=&ocument=ersion naming standar
$ Structure composed of elements:
primitives7 compounds ;document>7 andcollections ;of primitive or compounds>=
Primitives represent scalar types ;int7 bool7etc>=
Compounds represent comple# types
Collections represent multiple occurrencesof an element
$ *ich PeopleCode AP" that does not reuireparsing
Provide Web Service :
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 32/53
Provide Web Service :-sing Application Pac'age &ocuments
Provide a light+weight structural speci/cation that describes any<!, &ocument
$ 6reat reuse with compound documents
$ Single programming api for the document de/nition
$ Support mapping to dierent physical types
$ "nsulation from change to physical layer
$ Support for <!,7 namespaces7 attributes7 non+rowset structures=
$ (asy construction or generation of &ocuments ;create from#sd7 wsdl7 or record>
$ !anaged ob)ect in PeopleTools
Provide Web Service :
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 33/53
Provide Web Service :-sing Application Pac'age &ocuments
PeopleTools &ocument %b)ect
Strengthens PeopleTools Consume Web Service model
$ &ocuments are built from <!, schemas ;<S&>$ Creates a /rst+class Tools %b)ect li'e a rowset
*eplaces the need to use non+rowset based messages
$ Provides De#ibility with the ease of use of rowsets and
rowset parts Can be e#tended to support other physical types in the future
Eramewor' that will be used for future "B enhancements
Provide Web Service :
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 34/53
Provide Web Service :-sing Application Pac'age +&ocuments
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 35/53
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 36/53
Provide Web Service :-sing Application Pac'age
&e/ne Service
,ogically group Service %perations
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 37/53
Provide Web Service :-sing Application Pac'age
Con/gure Service %perations
Ties !essages7 9ueues and Service %peration ersions
&e/nes *outings and 8andlers for %perations
Service %peration ersions Create new version when message structure is updated
Previous version is inactive unless transformation is implemented forthe message structure
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 38/53
Provide Web Service :-sing Application Pac'age
&e/ne Service %peration 8andlers
Contains the main operation logic for inbound messsages
AppClass must e#ist before the Service %peration
"mplemented via Application Class7 Component "nterface or Bul' ,oad ;&!S>
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 39/53
Provide Web Service :-sing Application Pac'age
&e/ne Service %peration *outings
*outings can be generated automatically e#cept for Point+To+Point
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 40/53
Provide Web Service :-sing Application Pac'age
Provide Web Service Wi5ard
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 41/53
Provide Web Service :*(ST
*(ST is
Architecture that consists of clients and servers ;orreuestors and providers>
There e#ist a number of resources that can be any
arbitrary ob)ect *esource has a representation that captures thecurrent state of the resource
A resource may contain lin's to other resources
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 42/53
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 43/53
Provide Web Service :*(ST
$ A new Service Type is added
*(STful or .on+*(STful
&e/ned at the Service7 not Servic%peration
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 44/53
Provide Web Service :*(ST
• &istinguish between provider andconsumer
$ -se Web Access &escriptive ,anguage;WA&,> not Web Service &escriptive
,anguage ;WS&,>
$ *est !ethod is an 8TTP method7 notService %peration
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 45/53
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 46/53
Provide Web Service :*(ST
"n this e#ample7 the -*, to call the service is:http:FFwpibmH4I:JJHHHFPS"6WFPS"6WF*(ST,isteningConnectorF(mployees=v4Femployees
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 47/53
Provide Web Service :*(ST
*(ST Service Content Type
<!, for standard messages
GS%. ;Gava Script %b)ect
.otation> for -" based messag
Provide Web Service :
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 48/53
Provide Web Service :*(ST
Erom this:
To This: http:FFwpibmH4I:JJHHHFPS"6WF*(ST,isteningConnectorF(mployee0&etails=v4FdetailsFKEHH4L
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 49/53
Consuming rd Party Web Service
Wi5ard to create the PeopleTools Components
WS&, can be read from a -&&" Server7 WS&,-*,7 WS", -*,7 ,ocal Eile or ,egacy WS&,
6enerates !essages and Schemas7 Services7Service %perations7 and S% *outings based onthe WS&, &e/nition
PT @= !essages generated are &ocument+based
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 50/53
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 51/53
Web Services: WS Security
WS+Security is used to secure web services
&esigned to secure open e#posed endpoints
Authentication happens at endpont
Something is passed ac'nowledging the
authentication Certi/cate or -sernameFPW
!any dierent policies for dierent levels and typesof security
.ot all policies will wor' with PeopleSoft
7/21/2019 Peoplesoft WebService Architecture
http://slidepdf.com/reader/full/peoplesoft-webservice-architecture 52/53
Web Services: WS Security
*ules of integration bro'er determine the userthat is used process the reuest
"f no ws+security in S%AP header then the user ista'en from the Anonymous .ode
"f username to'en or clear te#t password ws+security then the user is ta'en from the ws+security name tag
"f security assertion mar'eup language ;SA!,>
based ws+security7 then user is derived from thesaml user table based on the value in the ws+security name tag