Finally Oracle has released ATOM Feeds feature for Oracle HCM Cloud Release 10. I had been waiting for this useful feature for 2 years :-).
This is a very powerful feature for building outgoing integration. For example, you can consider Oracle HCM Cloud as a host system for master data such as Locations, Organizations, Job, Employees, etc. Third-party systems can consume this master data.
HCM Atom feeds provide notifications of Oracle Fusion Human Capital Management (HCM) events. When an event occurs in Oracle Fusion HCM, the corresponding Atom feed is delivered automatically to the Atom server. The feed contains details of the REST resource on which the event occurred. Subscribers who consume these Atom feeds use the REST resources to retrieve additional information about the resource.
Oracle currently supports creation of Atom feeds for the employee and work structure resources for the following events:
- Employees: hire, update, termination
- Assignments: create, update, end date
- Work Structures(Organization, Job, Position, Grade, Location): create, update, end date
You can subscribe to or read ATOM News Feeds using the following methods:
- Using Your Browser’s Built-in Support
- Using a Standalone Feed Reader Software – I prefer to use Mozilla Thunderbird
- Using your own program script
Employees and Work Structures can be accessed through the following base URLs:
Work Structure collections:
You can use some parameters for ATOM Feeds.
I would like to pay attention on two of them:
- updated-max – returns all the new entries with Atom:updated date on or before the specified date.
- updated-min – returns all the new entries with Atom:updated date after the specified date.
Full list of parameters you can find in the MOS document “Oracle HCM Cloud REST Services and Atom Feeds User Guide” (Doc ID 2060899.1). Please note that both ATOM Feeds and REST services are still under “Controlled Availability” and you need additional approval to gain access to them.
Feed Invocation from Python script
As mentioned before you can use different tools to consume ATOM Feeds.
I would like to show a simple python script that reads new hires from Oracle HCM Cloud and sends e-mails with new hire information to responsible person. There is a very powerful and easy to use feed parser module in Python that’s why I picked out The Python Programming Language. Universal Feed Parser is a Python module for downloading and parsing syndicated feeds. It parses feeds in all known formats, including Atom, RSS, and RDF. For more information see documentation: https://pythonhosted.org/feedparser/
You can see a working example below:
As you can see the script uses one input parameter xDate and It reads information from given date and sends e-mails to my gmail address.
So let’s check out how it works. First of all I have created pending worker. Pay attention that a new event will be published after final approval in the system.
Now I am going to run my script for current date.
And I received notification about new event:
You can schedule script to run hourly, daily, weekly, etc.
This post demonstrates how to consume HCM Atom feeds and process it for downstream applications using Python.
Of course If you are going to build complicated integration scenarios with a lot of downstream applications, perhaps, you should consider Oracle SOA Suite as a main integration platform. Oracle SOA Suite simplifies application and service integration across cloud.
But in any cases you have to estimate balance between costs, reliability and complexity.
I appreciate your time and ready to continue our discussion/collaboration in the Oracle HCM Cloud area.
Hi Volodymyr, thanks for posting this — I’m working on something similar in HCM Cloud. One question that I had was how you handled the authentication while accessing the Oracle Atom server. I’m not a Python guy so thought I’d ask. Thanks!
Pingback: Building Oracle HCM Cloud outbound integration scenarios based on OCI resources | HCM Cloud Hub