PeopleSoft Simple Web Services - User Documentation

Introduction

Simple Web Services (SWS) is a PeopleSoft bolt-on that allows a power user to expose a SQL statement as a REST web service. This is all done via configuration. After you have installed the product, no additional code migrations are required to create or modify web services.

This document will guide the user on how to use the service to expose web services and all aspects of the product.

Getting Started

Before configuring a new web service there are a few things to think through. We will cover them here at a high level then go into detail in the subsequent sections.

  • URL “Path” - A REST API is generally laid out with an intentionally designed structure that manifests in the URL Paths. In SWS, the URL path will be used to find the SQL statement to run. Thinking about the path hierarchy gives the API clients a good structure to reason about. The URL path will be global to the target database and it will have a prefix that SWS applies. A URL Path structure could be something like this:
    • {prefix}/person/{emplid}
    • {prefix}/person/{emplid}/phone
    • {prefix}/person/{emplid}/address/
  • Security - Security is always very important with sensitive data. SWS is based on the PeopleSoft REST services. The only viable authentication mechanism for REST based services is “Simple Authentication” which is tied to a PeopleSoft OPRID and password stored in PSOPRDEFN. There is a very thorough document on REST Security in our Integration broker book. That should be your reference on how REST authentication works and the best practices.
  • SQL: SWS looks up configure SQL Statement, applies SQL criteria from the request, executes the query and encodes the data and returns it to the API client. So you need to plan the SQL statement carefully. The API client can send in parameters in the URL or query string that bind to SQL statement criteria.
  • Output field names: You can define the output field names that map to the SQL columns returned. These will be the field names in the output encoding. If you don’t provide output field names then “COLUMN1”, “COLUMN2”, “COLUMNx” will be returned.

Configuring a new web service