Monday, May 13, 2024

OIC HCM - High level HCM HDL Overview

  • The Oracle HDL Job is used to load bulk data into HCM business object from a delimited data (.dat) files. Integration architect can generate the delimited data file in oracle integration using business object template files provided by Oracle HCM Cloud.
  •  Because the business object template file contains every attribute including flex fields, it can be further simplified and personalized by removing the excess attributes. The business object template file must be associated with a stage file action in Oracle Integration to generate the delimited data file .This greatly simplifies generation of delimited data files for Oracle HCM business objects through Oracle Integration. 
  • We can load business objects for most HCM cloud products such as
    • Oracle fusion absense Management
    • Compensation 
    • Global Human Resources
    • Global Payroll
    • Performance Management
    • Profile management
    • TalentnReview and succession management
    • Workforce Management
  • Oracle HCM Data Loader expects the .zip file containing the one or multiple .dat files each for one business object(Organization, Location etc.)

At a high level, an Oracle HDL job pattern can be implemented in three steps:


1) Generate the HCM HDL compliant delimited data (.dat) file.
2) Submit the Oracle HDL job.
3) Monitor the job status until completion


High level HDL overview diagram:


The Oracle HDL job is a bulk data load process that runs in a batch mode, to support this Oracle HCM Cloud Adapter supports two Oracle HDL operations:

  1. Submit the Oracle HDL job: The Oracle HCM Cloud Adapter uploads a ZIP file containing a .dat file to Oracle Universal Content Management (UCM) and invokes the Oracle HDL importAndLoad operation. This operation returns the Oracle HDL process ID.

     Note that the ZIP file can contain multiple business object .dat files, as supported by the Oracle HDL job.
  2. Get Oracle HDL process status: The Oracle HCM Cloud Adapter invokes the HDL getDataSetStatus operation to get the status of the specific Oracle HDL process

Reference:

https://blogs.oracle.com/integration/post/a-simple-guide-to%C2%A0oracle-hcm-data-loader%C2%A0hdl-job-support-in-oracle-hcm-cloud-adapter

Thursday, May 9, 2024

OSB Interview Questions

Working...

Q1: What is Proxy and Business service?

Proxy service:

It is used in OSB which is exposed to source system or application.

Business service:

It is a service in OSB which is used to connect to target system ot application.

Q2: what is Message Flow?

Message flow is there in proxy service, we do all types of transformation, routing and other processing in messgae flow only.

Q3: why we use split join in OSB?

To do parrale processing. Two types : static and dynamic.

Q4:  why do use throtting?

https://soalicious.blogspot.com/2019/10/12c-osb-throttling.html

Q5: How to call Java code from OSB?

By using java callout activity

https://soalicious.blogspot.com/2019/09/12c-osb-java-callout.html

Q6: Can we use more than one route node in message flow?

No, we cant use more than one route node in proxy service messagw flow.

Q7: To transform from binary to XML or XML to binary format what we will usw in OSB?

We use MFL

Q8: Can we use MDS in OSB?

No, Oracle service bus does not support MDS.

Q9: Can we use DVM in OSB?

No, we cant use dvm in OSB.

Q10: When we use service Account?

We use Service Account when we are invoking a service which required static authentication. we can re-use Service Account for other Business Services as well.

Q11: How Security works in OSB?
Oracle Service Bus leverages Weblogic Security Framework. we can use OWSM to secure OSB services. To secure OSB proxy service, we use OWSM service side policy. we can use OWSM client policy and invoke secure web service from OSB.

Q12: Webservice Security - Message level and Transport level

What is Transport-Level Security?
It refers to transport protocol security means secure the connection over which messages are transferred. E.g. HTTPS means HTTP over SSL.

What is Message-Level security?
Message level security is used when we want to protect the message exchanged between two applications.

Q13: Types of pipeline available in OSB?
We have two pipelines in OSB, Request and Response pipeline.

Q14: How file pooling works in OSB?
There are below two ways to poll a file in OSB.

·      Use OSB file protocol: We can use file protocol available in proxy service to poll the file. Refer below post for more

·    Use File adapter: we can create file adapter in Jdeveloper and import JCA, WSDL & XSD file of that adapter into OSB and generate proxy service from that.

      Q15: What is Service pooling in OSB?
In OSB we can group together more than one service so that whenever one service goes down, request will route to next available service and end user can continue his work without any interruption.

Service callout

QOS

Parking lot pattern

Route vs publish

Workmanager


Tuesday, May 7, 2024

OIC HCM - How to Generate Business Object Mapping File in HCM

How to Generate Business Object Mapping File in HCM

To load data using OIC for HDL, we  need following 2 information:

  1.  Integration mapping file (nxsd file) of the relevant business object 
  2. Along with a sample .dat  template file.

If we go to the HCM environment and View Business Objects, the default setting only provides you the sample template file (.dat file) but it does not give you the relevant integration mapping file i.e. nxsd file.





Now to enable nxsd file, the following steps are required by the System Administrator of your HCM environment or relevant HCM Admin Roles.

Go to Setup and Maintenance >> Go to Functional Areas -> HCM Data Exchange and click on Configure HCM Data Loader task >>Here look for Generate Business Object Mapping Files and select the Yes on Override option and click on Save and Close.




Now if you go back to View Business Objects in HCM, you will have a new option available named Integration Mapping File.

By default, there are no files available here. So select the business object that you would like the nxsd file for and click on Refresh Object and it will generate the Integration Mapping File (nxsd file) that can easily be downloaded.





Reference:

https://blogs.oracle.com/integration/post/practical-guide-to-use-hcm-data-loader-with-oracle-integration


Monday, May 6, 2024

OIC - How to Pass the Payload as URL-Encoded Form Data

 Pass the Payload as URL-Encoded Form Data

You can pass the payload as URL-encoded form data with the REST Adapter.

  1. Add a REST Adapter as an invoke connection in an integration.
    The Adapter Endpoint Configuration Wizard is displayed.
  2. On the Basic Info page, make the following selections:
    1. Select the POST verb.
    2. Select the Add and review parameters for this endpoint and Configure a request payload for this endpoint options.

      The POST verb is selected as the action to perform on the endpoint. Below this, the Configure a request payload for this endpoint and Add and review parameters for this endpoint options are selected.

  3. On the Request Parameters page, specify the query parameters and values to use.

    The Specify Query Parameters section is shown. It includes a Detach link, Add (+ sign) link, and Delete (X link). Below this is a table with columns for Name and Data Type.

  4. On the Request page, scroll to the bottom and select the Send Query Parameter as form data in message body checkbox. This enables the query parameters you defined on the Request Parameters page to be sent as URL-encoded form data in the payload.
    The Send Query Parameter as form data in message body checkbox is shown.
Reference:

Thursday, May 2, 2024

VBCS - Load data before the page load in oracle visual builder | vbEnter event in VBCS

Usecase: 

We will load a variable , data fetched from a rest service and then used to a page table before the page loads using vbenter event listener.

It’s a very common requirement in the web application where you need to load common data before the page load so the data can be used at multiple places. Whenever you have such a requirement in Visual Builder vbEnter will help you to load data before page load.

vbEnter Event in VBCS

Dispatched after all the page-scoped variables have been added and initialized to their default values, values from URL parameters, or persisted values. The event is used to trigger data fetches, which may occur concurrently.

Implemented steps:

  1. Create a visual application
  2. Create a web application.
  3. Create a service connection using below rest endpoints:
    1. https://jsonplaceholder.typicode.com/users
    2. https://jsonplaceholder.typicode.com/users/{id}
  4. Create a type on app level using service connecrion endpoint.
  5. Create a adp variable on app level using step4 type.
  6. Create a even listener on app level and select VbEnter event.
  7. In the vbenter action chain,
    1. Add a call rest action and select the all users endpoint
    2. Add an assign variable and assign the endpoint reaponse body to adp variable data.
  8. In the web app, open main-start page and drag and drop table and go to properties and data section and select the adp vaeiable to fetch the selected fields data.
  9. Test to Preview.

Detailed steps with screenshots:
































VBCS - work with events and events listeners

  • An event occurs when something happens in your application.
  • Some examples are when a page loads (lifecycle event), a button is clicked (component event), and when a variable's value changes (variable event). 
  • An event's type depends on how it is triggered; for example, a button or a menu would trigger a component event

Type of events:

Component events:

  • An event associated with a UI component in a page, including those in dynamic components.
  • It’s possible to choose which event the component triggers, but available events will depend on the component. For example, an event like ojAction is available to a button but not to an input text field.

Variable events:

  • An event specific to a variable that occurs when the value stored in the variable changes.
  •  The only available variable event is onValueChanged.

Custom events:

  • A user-defined event that can only be triggered by the Fire Event action (fireCustomEventAction) in an action chain.
  • You use custom events to trigger an action chain from another action chain or JS function.

Lifecycle events:

Predefined events that are automatically triggered during a page’s lifecycle:

  • vbBeforeEnter is triggered before navigating to a page.
  • vbEnter is triggered when all flow or page variables have been initialized.
  • vbBeforeExit is triggered before leaving a page.

    The vbBeforeExit event optionally allows navigation to be canceled (say, when a page has unsaved changes) by returning an object with the property cancelled set to true. When using the browser (back or forward button), the event's payload is an object containing default parameter values. 

  • vbExit is triggered before leaving a flow or page.
  • vbAfterNavigate is triggered when navigation to the page is complete.

You can associate action chains with these events to augment a page or flow's default lifecycle. For example, if you want to initialize some component variables when a page opens, you can create an event listener in your artifact that listens for the vbEnter event, then set the event listener to trigger an action chain that assigns values to the component's variables.


Reference:

https://docs.oracle.com/en/cloud/paas/app-builder-cloud/visual-builder-developer/define-events-your-application.html







Featured Post

11g to 12c OSB projects migration points

1. Export 11g OSB code and import in 12c Jdeveloper. Steps to import OSB project in Jdeveloper:   File⇾Import⇾Service Bus Resources⇾ Se...