By | 03 February 2011

Will PeopleSoft Support REST Web Services?

Short Answer

For PeopleTools 8.51 and lower the answer is No. PeopleTools 8.52 (released October 2011) has some REST support. In PeopleTools 8.53 there is some support for JSON but it is buggy.

Long Answer – For PeopleTools Less Than 8.52

In PeopleTools 8.51 and lower, PeopleSoft Integration Broker does not suport RESTful web services. If a third party is trying to talk to PeopleSoft in a RESTful way it will not will not work. Why?

REST has very descriptive URLs

In the REST model, the URL specifies a unique resource on the web. For example a RESTful url may look something like this:

http://cedarhillsgroup.com/users/cmalek/roles.xml

In the above URL the request is asking for and xml file containing all the roles assigned to the cmalek user id from the user module. (read from right to left).

If a third party is posting to the PeopleSoft Integration Broker one URL is used. That URL may look like the following:

http://cedarhillsgroup.com/PSIGW/HttpListeningConnector

The contents of the message and it’s ultimate destination are designated using a Operation query string parameter or header value. PeopleSoft cannot handle dynamic URLs that are required by REST. In the REST model the parameters are in the query.

What about an IScript?

Iscripts have the same issue. An iScript sits on a static URL like this:

https://cedarhillsgroup.com/psc/nuss9dev/EMPLOYEE/HRMS/s/WEBLIB_CHG.ISCRIPT1.FieldFormula.IScript_Users

The iscript cannot respond to information being passed in an RESTful way in the URL. Information can be passed in the query string but that does not adhear to the REST methodology.

REST Relies on HTTP return codes

PeopleTools cannot handle returning different return http status codes. If a client posts some xml to the Integration broker, the IB may return an http 200 but the returned xml document has detailed information that needs to be parsed for success or failure of the message.

In the REST methodology, HTTP status codes have special meaning and they should be used.

REST Relies on HTTP verbs

REST makes use of GET/PUT/DELETE/POST methods to infer if the data should be updated, restrieived, deleted, etc. PeopleTools cannot handle this.

Updates in PeopleTools 8.52

PeopleTools 8.52 has some support for rest via a new RESTListeningConnector. For further information checkout the Managing REST Service Operations PeopleBook.

Updates in PeopleTools 8.53

Further Reading