HCM Cloud Web Services Autom Feeds 20180306
HCM Cloud Web Services Autom Feeds 20180306
HCM Cloud Web Services Autom Feeds 20180306
Pavan Kumar
Rima Dey
Nikhil Podduturi
1
Contents
• Objective
• SOAP Services
• HDL DI
• REST Introduction
• HCM Cloud REST Services
• HCM Cloud Atom Feeds
• REST services design considerations
• Atom feeds design considerations
• Typical integration architecture with REST services
• REST integration – use case
• Challenges in using REST services
• Q&A
2
Objective
The objective of this session is to understand the high level architecture of SOAP
Services, REST services, Atom feeds, HDL di in HCM cloud and various tools required
to build and test the SOAP and REST services.
This session will also cover the capabilities, challenges and limitations in leveraging
REST services to build real time integrations.
3
SOAP Services
4
What is Soap and WSDL?
SOAP
SOAP (Simple Object Access Protocol) is a way for a program running in one operating system to
communicate with a program running in either the same or a different operating system, using HTTP (or
any other transport protocol) and XML.
WSDL
Web Service Description Language (WSDL) is an XML based definition language. It’s used for describing
the functionality of a SOAP based web service.
5
SOAP Request/Response
request message
SOAP SOAP
Sender Receiver
response message
6
Prerequisites to use SOAP
1. Download SoapUI (SoapUI is an open-source web service testing application for service-oriented
architectures (SOA) and representational state transfers (REST))
2. Derive the WSDL for your POD
Each web service has its own WSDL file. Below are the list of WSDL files
available in Cloud.
HCM Extract: "https://<host>/hcmProcFlowCoreController/FlowActionsService?WSDL“
PBL:
"https://<host>/hcmProcFlowCoreController/FlowActionsService?WSDL"
HDL:
"https://<host>/hcmCommonDataLoader/HCMDataLoader?wsdl"
BI Publisher:
"https://<host>/xmlpserver/services/ScheduleService?wsdl"
ESS Scheduler:
"https://<host>/ess/esswebservice?WSDL“
UCM:
"https://<host>/idcws/GenericSoapPort?Wsdl"
7
How to run SOAP service?
Steps to run a
SOAP reque
8
HDL DI
9
What is HDL di?
• HDL di is a stand-alone
desktop application that
can assist with file
transfer and registration
involved in HDL
Conversion
• It can be used as a
learning tool
• It can be used via
command line or Java
program to automate
inbound integration
• It also provides sample
files tailored for setup
data
10
Pros and Cons - HDL di
Pros
Cons
• Sample files are available with
• HDL di is not supported by
the installation of the tool
Oracle. No SRs or Bugs can
• Simplifies the manual steps be logged for this. However
involved in the HDL process Enhancement requests can
• Supports encrypted file transfer be logged for this tool
• Provides Java API and • There is no control over the
command line for easy processes submitted
automation through HDL di. It is
• Leaning HDL is made simpler completely asynchronous
by supporting key steps and hence the submitting
involved in the data loading program cannot identify
process when the process completes
• Provides a very up to date
demo database
11
Getting started
• Verify Java(JRE) is installed and classpath is set
• Download the tool in from Oracle Support Note
• Setup the data. Below are some of the business objects supported by
HDL di
Hire, Promotion, Transfer, Termination, Rehire, etc
Multiple Assignments
Contacts
Salary Information
Flexfields
Photos and Attachments
Area of Responsibility
Document of Records
Talent Profile
Grade/Grade Family/Job Family/Job
• Run the jar file and follow the sequence
Select File->Upload to UCM->File registration
12
Automation
Command Line
usage: upload ucm [-prop <arg>] -f <arg> [-i [-ime <arg>] [-lme <arg>] [-lct
<arg>] [-lgs <arg>] [-et <arg>] [-dsf <arg>]] [-proxy -host <host> -port
<port>] [-output <xml_file>]
HDLdi can be invoked from a java program by simply using the below snippet-
oracle.hcm.cx.app.CommandInvoker class
public String invoke(String[] args) throws Exception
usage:
CommandInvoker ci = new CommandInvoker();
String result = ci.invoke(new String[]{"ucm", "-
prop","D:/ucmdata/MXF_HDL.TM", "-f", "D:/ucmdata/person1.zip", "-i", "-ime",
13
"100", "-lme", "100", "-lct", "1", "-lgs", "200", "-et", "PGPSIGNED", "-dsf", "Y"});
Rest Services
14
What is REST?
• Standardized
• Light weight
• Accessible through Non expensive tools
• Language, Platform & Transport
independent
• Smaller learning curve
• Fast & Efficient
15
REST - Key Terms
16
Why REST is stateless?
17
HCM Cloud - REST Services
Oracle HCM Cloud delivers Representational State Transfer (REST) APIs to support
integration requirements. The REST APIs enable easy integration of data between
HCM Cloud and other third party systems.
The following REST APIs are available for Oracle Global Human Resources Cloud:
• Employees
• Grades
• Job Families
• Jobs
• Locations
• Organizations
• Positions
• Time Event Requests
• Wellness Activities
These resources are limited and controlled in nature and cannot be customized
specific to client needs.
18
REST Services Design Considerations
The HCM REST resources are designed based below key considerations:
• All the commonly used child attributes are flattened onto the parent.
• Create or update many common child resources of an employee in a single
Flattened operation.
Resources
• Oracle has attempted to ensure that the defaulting of fields that happens through
the UI is also applicable to REST service calls.
• Only those attributes that you have to enter through the UI are required via the
UI Defaulting
Paradigm REST service.
• When creating a resource, the client application can follow the LOV link for the
resource and retrieve valid values.
LOV links • When a parent resource has child resources, the child resource links are also
provided for
all LOVs
returned when you query the parent resource.
Note: Similar to SOAP services, REST services do not implement the HCM
Transaction Model, and therefore approvals are not initiated when an action (create,
update, delete, and so on) occurs on the resources.
19
HCM Cloud – How to use REST Services ?
To use REST Services, user must have any HCM Cloud role that inherits the following
privileges:
PER_REST_SERVICE_ACCESS_EMPLOYEES_PRIV
PER_REST_SERVICE_ACCESS_WORKSTRUCTURES_PRIV
PER_ATOM_WORKSPACE_ACCESS_EMPLOYEES_PRIV
PER_ATOM_WORKSPACE_ACCESS_WORKSTRUCTURES_PRIV
20
HCM Cloud – REST URL & Resources
http://<host>:<port>/<apiName>/resources/<version>/<resource>
21
HCM Cloud REST Integration– Typical Architecture
Subscription Systems
Middleware
HCM Cloud does provide real time integration services in the form of rest services
and atom feeds. These tools are built based on advanced technology and very
efficient and quick for retrieving data.
But, these tools are in the stage of evolution and has some challenges in
implementing them for the clients. Some of the challenges are discussed with use
cases in the upcoming slides.
22
REST Integration– Use Case
23
REST Integration– Supported Applications
24
REST - Inbuilt Security
Oracle HCM Cloud REST services and Atom feeds are secured like all other Oracle
Cloud REST services implemented on ADF-BC, using OWSM, with approved policies.
• All services require secured connection (HTTPS/TLS) over the standard port 443.
• All services are secured by Oracle Web Services Manager (OWSM) using the
Oracle standard policy.
• This policy enforces one of the following secured authentication policies based on
the token sent by the client:
• HTTP Basic over SSL
• SAML 2.0 Bearer token in the HTTP header over SSL
• HTTP OAM security (non-SSL)
• SPNEGO over HTTP security (non-SSL)
25
REST Client Postman - Quick Look
26
Atom Feeds
27
HCM Cloud – Atom Feeds
Atom feeds enable you to keep track of any changes made to feed-enabled resources
in Oracle Global Human Resources Cloud.
For any updates that may be of interest for downstream applications, such as new
hires, terminations, employee transfers and promotions, Oracle Global Human
Resources Cloud publishes Atom feeds. Your applications will be able to read these
feeds and take appropriate action. The following primary Atom feeds are supported:
Employee feeds:
• New hire
• Employee update
• Termination
• Assignment creation, update, and end date
• Grades
• Jobs
• Locations
• Organizations
• Positions
28
Atom Feeds Design Considerations
The HCM Atom feeds are designed based below key considerations:
• The atom server data can be periodically purged, improving the performance
greatly.
Easy
Maintenance &
• Simple to subscribe to atom feeds, sort and organize your feed subscriptions.
Subscription
Note: If approvals are configured, Atom feeds are triggered only after the
transactions are approved. Feed entries are created for all future-dated changes.
29
ATOM Feeds & REST Services Challenges
• REST services does not have the ability to retrieve the assignment data of
contingent workers.
• REST services does not return the assignment data once the employee is
terminated.
• Lack of ability to create/update Employee Full time/Part time field using REST API
• Future dated transactions – Atom feeds will always trigger the feed on the day of
the transaction rather than the effective date for future dated transactions
30
HCM Cloud – REST Metadata Catalog
Metadata Catalog for REST Services will help us in retrieving information about REST
resources from the metadata catalog (Real time reference manual for REST).
For example:
To retrieve metadata for the HCM resources refer to url
https://<host>:<port>/<hcmRestApi>/resources/<version>/describe
Tools to Use:
31
32