X

The Integration blog covers the latest in product updates, best practices, customer stories, and more.

  • November 21, 2019

Calling JD Edwards Orchestrations from Oracle Integration: Quickly and Easily

Prakash Masand
Senior Principal Product Manager

Background

JD Edwards orchestrations empowers army of citizen developers/business analyst resources to design business applications REST APIs without writing a single line of code. JD Edwards orchestrations exposes business process steps tied together graphically through the robust semantics of REST standards. JD Edwards orchestrations are great way to simplify, integrate and automate repeated tasks through digital technologies. JD Edwards orchestrations are executed at AIS Server however they are designed via a tool called as Orchestrator studio, with JD Edwards tools release 9.2.4.0, Orchestrator studio is also part of AIS Server that further simplifies deployment of Orchestrator studio. Orchestrator studio is a low code, no code tool that allows business analyst to leverage their knowledge of business applications and create the flow using series of application tasks/steps and expose them as a REST end point. As JD Edwards AIS/Orchestrations are gaining traction & momentum, it has become tool of choice for JD Edwards customers who are looking to Integrate JD Edwards with Cloud SaaS applications, PaaS services or any other on premise applications. 

Sample Use Case

Consider you want to return all sales orders that are at a particular state lets say 540 i.e. Print Pick in JD Edwards Sales Order application. This means you need an REST end point that takes Sales Order state as an input with default being 540, and return in response array of JD Edwards sales orders. This information can be consumed to update any other third party applications with the state of the orders, or can be simply consumed from process application to show the list of the orders.

Basic Ingredients 

  1. JD Edwards Installation with below components (Latest and great EnterpriseOne Tools Release is recommended, with least being 9.2.1.x).
    1. Orchestrator Studio
    2. AIS Server 
    3. OIC Agent (If JD Edwards is installed on premise or not accessible directly from the Oracle Integration.)
  2. JD Edwards artefacts
    1. JD Edwards Orchestration to query order at particular state as described above.
  3. OIC Instance

Steps 

Creating Connection with JD Edwards AIS Server

  1. Login to the OIC instance.
  2. Go to the Integrations page.
  3. Go to the connections page and click "Create" button.
  4. Search for REST adapter and click Select.

  1. Give the connection a meaningful Name and Identifier and click OK, please take note of this name you will need this name later.
  2. Provide information for following fields:
    1. Connection Type: Please select "REST API Base URL" from drop down.
    2. Connection URL: Enter AIS Server host and port as per your configuration, http://<aisserver>:<port>/jderest
    3. Select Basic Authentication in Security Policy
    4. Enter user name and password
    5. If required, Click "Configure Agents" button and select the respective agent 

  1. Click on Test to test the connection.
  2. Click on Save to save the connection.

Creating Integration Flow

  1. Go to the main Integrations Page.
  2. Click on the "Create" button.
  3. Select the "App Driven Orchestration" as Integration Style, you can select "Scheduled Orchestration" Integration style based on your business requirements.
  4. Give Integration a desired name.
  5. For simplicity and demo purpose I am adding REST trigger to this Integration, Click "+" button and select "Sample REST Endpoint" as shown below.

  1. Provide your endpoint meaningful name and click Next button.

  1. Define endpoint relative resource URI, please note this is OIC resource URI hence you can give any meaningful resource URI as desired.
  2. Select options to add/review request parameters as well as response, as shown below.

  1. Add desired parameters for the OIC Orchestration, this time I am giving OrderStatus as discussed above this can be much more than order status.

  1. Select JSON payload response and click enter sample JSON <<<inline>>> link.
  2. Add response of the OIC Orchestration to have array of orders with field order number, customer number and customer name.

  1. Click on the "Ok" button.
  2. Click on the "Next" button.
  3. Click on the "Done" button and save endpoint, please note summary should look like below:

  1. Hover over the Integration flow on the canvas and click plus icon, you will be prompted to select the desired connection. Type the initials of connection created earlier in the process earlier and connections will be filtered based on the text.

  1. Select connection you have created earlier in the process.
  2. "Configure REST Endpoint" wizard shall be prompted, follow the wizard to configure JD Edwards Orchestration invoke through REST adapter.
  3. Provide information on following fields, please refer to below picture for more details:
    1. What do you want to call your endpoint? as "GetShippedSalesOrders".
    2. What is the endpoint's relative resource URI? as "/v3/orchestrator/JDEGetSalesOrders".
      • Please note "v3" in the above URI depends on your Orchestration version, refer to this link for more information.
      • In this URI, "/JDEGetSalesOrders is an orchestration name, you can replace this with your orchestration.
    3. What action you want to perform on the endpoint? Please select "POST" from drop down.
    4. Turn on "Configure a request payload for this end point".
    5. Turn on "Configure this endpoint to receive the response".

  1. Click on the "Next" button.
  2. Select request payload format as JSON, and click enter sample JSON <<<inline>>>, please find my sample payload below.
  3. Enter your sample JSON request for the configured Orchestration, as shown below.

  1. Click on the "Ok" button.
  2. Click  on the "Next" button.
  3. In the Response payload screen as well select response payload format as JSON and click enter sample JSON <<<inline>>>.
  4. Paste your Orchestration response here, you might get an error related to empty array notations as shown below:

  1. JD Edwards Orchestration response typically include's empty array notations in response, please replace those "[]" empty array notations with null as shown below.

  

  1. Click on the "Next" button.
  2. Click on the "Done" button and save the invoke operation.
  3. Now that JD Edwards Orchestration has been added on the canvas, OIC has added two mapper to the canvas to map parameters from OIC flow to JDE orchestration and map the response of JDE orchestration to OIC flow response.
  4. Click on the edit icon of mapper request added by OIC between Trigger and JD Edwards REST Orchestration invoke, as shown below:

  1. Map Parameters as shown below, please note here we are mapping parameter from trigger REST call to JD Edwards Orchestration.

  1. Click Edit Icon of mapping response from JDE Orchestration to OIC Orchestration, by hovering mapper added by OIC between JD Edwards REST Orchestration invoke and OIC flow terminal, as shown below:

  1. Here we will map the response from JD Edwards Orchestration to the main Integration response. Please note the complexity of the structure of JD Edwards orchestration response, this is because this particular Orchestration is sending application grid information in response. We will simplify the structure response using Oracle Integration mapper. For that please drop the desired nodes from JD Edwards grid data row set element to Oracle Integration response sub-element as desired. This will automatically include for-each node to generate the array of orders based on the array of JD Edwards grid rowset element. This greatly transforms complex JD Edwards business application REST response to simple JSON structure without writing a single line of code.

  1. Click on the "Validate" button to validate the mapping.
  2. Click on the "Close" button.
  3. Click on the "Save" button.
  4. Now let's add tracking field to the Integration, click hamburger icon on top right hand side of Integration canvas and click Tracking menu option.
  5. Drop field "OrderStatus" as a primary tracking field for this Integration.

  1. Click on the "Save" button and close the "Business Identifier For Tracking" dialog.
  2. Save and Close the Integration.
  3. Activate the Integration.
  4. Test the Integration, In my case here is the response from Integration. Please note here response has been transformed into the simplified JSON structure containing array of JD Edwards orders without writing single line of code.

Summary

JD Edwards Orchestrator opens up all JD Edwards business applications through REST interface including custom business applications, this greatly simplifies how JD Edwards applications can be integrated with Cloud SaaS or any third party applications. Having the ability to invoke JD Edwards Orchestrations from Oracle Integration enables OIC customers to transact, interact and integrate with JD Edwards business applications.

Benefits of calling JD Edwards Orchestrations from OIC

  1. Easily integrate JD Edwards application with Oracle Cloud applications like ERP Cloud, HCM Cloud, Engagement Cloud etc.
  2. Simplifies creation of business workflows spawning across JD Edwards and Oracle Cloud applications using Process applications in OIC.
  3. Transforms the response from complex JD Edwards business applications JSON to more simple JSON structures.

What's Next

I have plans to write more blogs on leveraging JD Edwards Orchestrations with OIC in due course of time, on the same endeavor I need your feedback on which one is critical for you. Hence I appreciate if you could please drop your vote through comments here on the blog or tweet me directly @prakash_masand on which one you would like to see first coming out of below.

  1. Leveraging JD Edwards Orchestrations for outbound integration with Cloud applications i.e. Integrating with Cloud application on occurrence of business application event in JD Edwards.
    • Through table trigger event in JD Edwards.
    • Through interactive application update in JD Edwards.
  2. Leveraging a business process application built in Oracle Integration to meet workflow requirements in JD Edwards. As an example you want to trigger a sales order change approval process (workflow) designed in OIC interactively from JD Edwards business applications.

Join the discussion

Comments ( 2 )
  • Akshaya Behera Thursday, December 5, 2019
    Very well articulated and explained. Thanks for sharing. Hope it will work for JDE 9.2.2.4 version. I am now working with a customer where I am doing a lift-n-shift to OCI.
  • Prakash Masand Tuesday, August 4, 2020
    Yes Akshaya its supported! As JD Edwards Orchestrator studio support came from JDE version 9.2.0.2.

    Let me know if you are stuck anywhere or if you have any questions on using JD Edwards Orchestrations with Oracle Integration.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.