Extending OOTB OIC Recipe - Extract New Hire Info (Continuation of Part 1)

Background

In the previous blog we have seen how to Install and Run a Recipe - Extract New Hire Info from Oracle HCM Cloud. Extract definition is created and executed in HCM Cloud as a pre-requisite for the OOTB Recipe to work. In this blog we will create an Integration Flow in OIC to extend and automate the whole process of executing the Extract instead of having it done manually from HCM Cloud. Also, there has been incredible uptake of cloud storage buckets which provides a simple, low cost mechanism to store both structured and unstructured data. Data Archiving is one of the key use cases for extracts. We will store the extracts in an OCI Storage bucket as part of the Integration Flow.

Usecase Flow

















Pre-requisites

Oracle HCM Cloud Extract

  • A Valid Oracle HCM Cloud Extract Definition
  • Configure Webcenter Delivery Option and an Integration Name
Note: Do not Submit the extract. We will invoke the same from OIC

OCI Object Storage Bucket

  • Login into OCI Console and Navigate to Object Storage, Create a Bucket

























  • In order to interact with Object Storage from OIC, the REST Adapter will be used to invoke REST API. For OCI API authentication, an API signing key pair needs to be generated for the API User. Generate the RSA Key in PEM format using OpenSSL
    • openssl genrsa -out oci_api_key.pem  2048
    • chmod go-rwx oci_api_key.pem
    • openssl rsa -pubout -in oci_api_key.pem -out oci_api_key_public.pem
  • Navigate to Identity->Users select the User to add API Key. Select API Keys and add API Key













Make a note of Fingerprint after the Key is added

Creating OCI Connection using REST Adapter

Configure Connectivity

  • Connection Type REST API Base URL
  • Get the object storage endpoint from here as per your region

Configure Security

  • Security Policy - OCI Signature Version
  • Tenancy OCID - OCI Console -> Administration -> Tenancy Details
  • User OCID - OCI Console -> Identity -> Users -> Select the User Account being used
  • Private Key - Key pair generated earlier
  • Fingerprint – Copy the finger print when public key is added to the user






















Designing the Integration Flow







































Below is the current Flow of the OOTB Recipe (Refer my earlier blog). We will extend this further as per the logic in the sequence diagram.












This is the final flow after the implementation.











I have provided the .iar for your reference. Lets's review the important parts of the design

  • Define Schedule parameters















  • Use HCM Connection and configure FlowActionsService -> submitFlow operation. This will trigger the Job in HCM Cloud 

  • In a "While" construct invoke FlowActionsService -> getFlowTaskInstanceStatus


















  • In a Switch Condition check if the result of getTaskInstanceStatus is "COMPLETED". Extract the New Hire file from UCM
  • Use the OCI Rest adapter connection which is configured and provide a placeholder for URI Params


























  • Define the Request payload as binary and media type as application/octet-stream
























  • Map the file reference from extractFile response to the streamReference in OCI Object storage













Activate and Run the Integration

Run the Integration with appropriate values
















View Extract Results in HCM Cloud. 











Once the job status is completed verify the New Hire Extract in OCI Object Storage

















Conclusion

While designing the integration we need to keep a few things in mind. We can decouple scheduler and integration logic (getFlowTaskInstanceStatus logic) into 2 difference flows and let scheduled Integration just invoke the child integration using Fire & Forget pattern so that we are not blocking the Scheduler threads. The child integration can expose a REST interface with just Request defined to make it Asynchronous Integration flow.

References: Oracle HCM Data Loader: User Guide (Doc ID 1664133.1)

















Comments

  1. Excellent article kishore.

    currently we have same requirement, but we are facing some issues. Request you to pl provide .iar file for my reference.

    Regards,
    Hari.k

    ReplyDelete
  2. The blog provides a well-defined background, but it could benefit from a summary of Part 1 to ensure continuity for new readers.
    Dust Collector in Delhi
    Axial Flow Fans in delhi

    ReplyDelete
  3. The listed prerequisites are clear and helpful, but adding a quick note on the skill level or knowledge required for this tutorial could enhance user experience.
    Dust Collector Manufacturer India
    Centrifugal Blower in Manufacturer

    ReplyDelete
  4. The images and diagrams used are comprehensive, but a legend or brief explanation for each image might help readers understand them better.
    Pulse jet Dust Collector manufacturer
    Wood Dust Collector

    ReplyDelete
  5. The OpenSSL commands are straightforward. Highlighting common errors or troubleshooting tips during the RSA key generation process could be beneficial.
    Air Ventilation System Manufacturer
    Manual Dust Collector

    ReplyDelete
  6. The blog does a great job of describing the flow; however, adding a simplified version of the sequence diagram for beginners could make it more inclusive.
    Industrial Exhaust Fan Manufacturer
    ms sheet distributors in bhubaneshwar

    ReplyDelete
  7. The blog outlines the critical steps well. It could also highlight common pitfalls in integration design to prevent errors.
    Colour Coated in Indore
    Centralized Dust collector in dElhi

    ReplyDelete

Post a Comment