Monday, 30 September 2013

REST Web Services - PART 1

PeopleTools REST Web Services Part 1

I recently presented at Oracle OpenWorld on the subject of REST web services in PeopleSoft.  REST based web services were introduced in PeopleTools 8.52 and I'm hoping this series of blog posts will help newcomers to both Web Services and REST.

What is REST?

REpresentational State Transfer (REST) is a style of doing Web services that is becoming increasingly popular among web developers due to it's simplicity over SOAP and other methods.

REST follows 4 basic principles
1) All content has a unique id by which it is referenced (URI)
2) services are invoked using standard WWW operations of GET, POST, PUT, DELETE
3) all REST services are stateless in that they retrieve a representation (copy) of the content requested
4) REST is synchronous only. Designed for point to point communication

You can invoke a REST web service simply by using it's URI.  For example an example REST web service to GET PeopleSoft operator details might look like this.



Understanding the PeopleTools Document object is necessary to building REST based web services in PeopleSoft so let's cover some of the basics.

What is a Document?

Documents represent a hierarchical data structure a lot like a Rowset object.  They have a logical representation and a physical representation in the form of XML, HTML and JSON (from Tools 8.53).

Documents can be grouped together in a Package and like other Integration Broker object definitions can be versioned.

Document Data Types

A document is a tree structure representing data.  As such, every document has ROOT element that is the name of the Document.

There a four basic data types
*Primitive.  An element that has one of the simple data types of integer, string, character, date, time, etc.
*Compound.  An element that contains 1 or more primitives (think Record definition)
*Complex Primitive Compound.  A primitive element that has attributes. (think XML attributes ElementValue )
*Collection.  An element that is a repeating group of Compound and/or Primitives. (think Rowsets)

What Role do Documents play in REST Web Services?

A Document is required to collect the inbound URI parameters from a REST web service call.  This is done by mapping the URI parameters to document element names.  This is called the Document Template.

The next post will show how to create Service, Service Operations and Handlers.
All the code used in this series on REST can be downloaded from here

Wednesday, 25 September 2013

CON7553 PeopleTools REST: Everything you need to know

Thank you to everyone that attended my session on PeopleTools REST web services this afternoon. I hope you found it useful.

If you missed the link to download the App Designer project containing all the examples I talked about then here it is.  I hope you find the code samples in here useful.

Well for all those who are already feeling weary from OpenWorld Conference fatigue .... I hope you got enough REST from my presentation.

Tuesday, 24 September 2013

OOW 2013 Monday

I can't believe it's a year since I was last here in San Francisco for Oracle OpenWorld conference.  Great to be here with other Oracle technologists, PeopleSoft users and the staff from the PeopleSoft Division of Oracle.

Not all work at OpenWorld
This annual event run by Oracle attracts over 50,000 customers, partners and Oracle staff and it's organisation is breathtaking.  It's a great place to network, to learn about existing and new technology and applications.  I always leave inspired with new ideas, solutions and encouraged by the strong community of people that are always so willing to share their knowledge.  I heard today that of all the thousands of sessions being run this week at OpenWorld that the PeopleSoft ones always feature prominently in the Top 10 best attended.  Shows how strong the product and it's associated community is.

Paco Aubrejuan, (Senior VP PeopleSoft Enterprise Development) gave a great roadmap session covering high level overview of what's coming in future releases.  He was even brave enough to throw in a few live demos and just enough information on MAPS (Mobile Applications for PeopleSoft) and the Next Generation User Interface (NUI) to leave me intrigued enough to head straight  for the demo grounds to find out more.  

My favourite quote of the day was from Paco in his PeopleSoft Roadmap session "The pressure [on companies] to do things cheaper is hockey sticking".

Oracle has a proven track record for year on year investment in developing PeopleSoft software and I left the Roadmap session with the strong impression that this was going to continue ( " least until 2027" quotes Paco) .  Whatever the amount Oracle is investing in the PeopleSoft Apps and Tools the developers are continuing to pack in more and more awesome new and innovative features.  More details to follow soon.
Paco Aubrejuan, SVP PeopleSoft Enterprise Develoipment

Saturday, 21 September 2013

Integration Broker Gateway default Application Server

When an inbound integration does not specify an NODE then the message is processed by the Default Application Server.  This is an optional default found on the Gateway > Gateway Setup Properties.

I've noticed that some delivered Oracle images don't have the correct configuration for the default.

The Tools Release field must include the patch release number.

If this is not present or is incorrect then you'll get a null response when you invoke a service and an error is logged in PSIGW/errorLog.html (note: this is case sensitive).

Response in Google Chrome if PATCH is missing from Tools Release

IntegrationServiceClient: sendRequestToServer(). Invalid ToolsRel