Skip to content

Commit

Permalink
WMS: 11626 - Getting Started with Rapid Adapter Builder (Content Upda…
Browse files Browse the repository at this point in the history
…te) (#73)

* escape character fix

* syntax fix

* review by Kishore

review by Kishore

* review

review by Subhani Mar 08

* QA By Kishore

* qa business services ll

* image fix business services ll

* BIP Report setup

BIP Report setup

* Update setup.md

* qa bulk extract

* Updates as suggested by LiveLabs QA

* qa directory sync

* qa get started. fixed oic3 provision path

* qa getstarted fixed file server path

* typo

review

* Minor spell check bulk import

* spell check

spell check

* exp lab prereqs

exp lab prereqs

* ERP extract ll. fixed Configure certificates md reference in manifest

* spell check

* Feedback

Feedback from Bootcamp and Ingrid and Lucy

* LL understand rest adapter-first branch commit

* minor update

* bucket changes

* image fix

* pr corrections

* pr rec changes

* lab fixes post ORDS version changes

* fixed the ords pl/sql code

* folder structure commit for cloud world usecase

* Updated as per the latest release

Updated as per the latest release

* OPA flow

OPA flow

* naming convention

naming convention

* Aug 02

Aug 02 modification, done until creating structured process.

* Aug 02

Aug 02 modification

* Aug 03 modifications

Aug 03 modifications

* Aug 04 modification

Aug 04 modification

* Aug 05

Aug 05

* Aug 05 changes

Aug 05 changes

* Aug 07 noon

Aug 07 noon

* final review

final review

* intro,getstarted,lab1,2,3,4 additions

* subhanis work opa commit

* Vijayas ODA changes

* connector url

connector url

* ODA peer review

ODA peer review

* Aug 09 peer review 8pm

Aug 09 peer review 8pm

* create oda

create oda

* oda and integrations fix

* section added:opa add app roles to users

* opa peer review KK

* peer review changes

peer review changes

* Peer review changes

Peer review changes

* architecture diagram added

* Peer review Aug 11

Peer review Aug 11

* Peer review Aug 11

Peer review Aug 11

* title change

* Integration style modification

Integration style modification

* Peer review

Peer review

* oda changes and image updates -KK

* Aug 12

Aug 12

* remove opa folder

remove opa folder

* Removed OIC Flow

Removed OIC Flow

* added opa and oic flows

added opa and oic flows

* duration

duration

* conclusion sections added to all labs

* link fixed

* fixed copy tags

* table properties updated

* image link and naming convention fixed

* image references fix

* image name ll qa compliance

* oda qa compliance fixes

* copy tag allignment fix

* copy text image allignment fix

* ocw folder addition for getting started oic 3

* ocw folder update and minor instruction fixes

* ocw folder update and instruction fix

* ocw update and additional info added

* minor change of po creation in erp cloud

* fixed xpath filter expression,cloud shell,lab sequence swaps to meet pre conf requirements

* critical changes per product updates

* changed the adw deployment type to serverless

* architecture ocw template

* Oct 03 changes

Oct 03 changes. by Subhani

* HCM Updates done

HCM Updates done

* Common modification

Common modification

* Oct 10

Oct 10 bulk extract, bip report and events

* Oct 11

Oct 11 updates

* Oct 11 changes

Oct 11 changes

* new LL hcm journeys booster opa

* added get started section

* minor edit

* added couple of tasks in get started section

* filename corrections

* PAR resources link

PAR resources link

* oic3 b2b structure commit

* B2B Outbound

B2B Outbound by Subhani

* Update of outbound

Update of outbound

* b2b outbound

b2b outbound

* Inbound started

Inbound started

* Inbound update

Inbound update

* Inbound update

Inbound update

* Updates

Updates of the links

* Feb 16

Feb 16 changes

* Formatting

Formatting

* Format modification

Format modification

* Feb 20 update

Feb 20 update

* Update b2b-trading-partner-manager.md

* get started hc lab

* underscore issues

* from subhani

Outbound and inbound labs

* lab numbering fixed

* title fix

* updates

* added images with rename

* review changes by livelabs team

review changes by livelabs team

* Delete switchAction.png

* b2b file path modification

b2b file path modification

* b2b file path modification

b2b file path modification

* rab ll commit

* lab artifacts par fixed

* added video link in intro

* petty formatting fixes

* peer review changes

* minor updates and typo fixes

* ocw 24 live lab

* updated db invoke changes

* contributor update

* last update change

* removed tbd video link

* fixed lab 6 task 6 indentation

* oic3 provision path fix

* oic provision copied to opa common

* features 2024

* updates on Aug 02

updates on Aug 02

* updates on Aug 03

updates on Aug 03

* architecture diagram

architecture diagram added

* architecture diagram added

architecture diagram added

* Modified in main branch

Modified in main branch

* as per the wms feedback

Updated as per the wms feedback

* old images deleted

* new images

new images added

* oic native actions publish

* final flow added

* estimated time updated

* few updates of labs

* index.html updated as per merge comments

* common updates

common updates

* Updates as on Sep 26

Updates as on Sep 26

* Sep 26 updates

Sep 26 updates

* Sep 27 updates

Sep 27 updates

* Oct 04 updates

Oct 04 updates

* Oct 04

Oct 04

* Oct 07 updates

Oct 07 updates

* business events and services

business events and services update on Oct 09

* FBDI Import

FBDI Import Oct 11

* ERP Cloud bulk extract

ERP Cloud bulk extract

* Bulk extract completed

Bulk extract completed

* BIP report

BIP report

* Revert "BIP report"

This reverts commit f875e5c.

* Reapply "BIP report"

This reverts commit 7d2dc65.

* Revert "Reapply "BIP report""

This reverts commit 746662e.

* Revert "Bulk extract completed"

This reverts commit 1b37bc9.

* Revert "ERP Cloud bulk extract"

This reverts commit 63978ca.

* fbdi import

fbdi import

* FBDI Import review

FBDI Import review

* Business events

Business events

* modified erp-extract sync/async and hcm-ds and pending worker to support project context

* Connections modified

Connections modified

* commons folder created

commons folder created

* architecture explanation

architecture explanation

* typo

typo

* get started lab changes- intro and get started sections

* updated ack last updated date

* removed oic homepage img

* homepage img added back

* Business services and events split

Business services and events split

* Business services Nov 15

Business services Nov 15

* update on Nov 15

update on Nov 15

* Removed Business Services

Removed Business Services

* ack section modified

ack section modified

* business services

business services

* ack update

ack update

* updates in the description of high level architecture

* Intro updates

Intro updates

* modified intro section and added additional common sections in the manifest

* business events review

business events review

* File server notes

File server notes

* File Server updates

File Server updates

* connection sharing diagram

* error fixed

error fixed

* imaged added

imaged added

* rab workshop updates

* acks changed

---------

Co-authored-by: Subhani Sahib Italapuram <subhani.italapuram@oracle.com>
Co-authored-by: Ravi Chablani <ravichab@hotmail.com>
Co-authored-by: Subhani Sahib Italapuram <81370602+isubhani006@users.noreply.github.com>
Co-authored-by: Hope Fisher <127253314+hope-fisher@users.noreply.github.com>
Co-authored-by: Subhani Sahib Italapuram <isubhani006@gmail.com>
  • Loading branch information
6 people authored Dec 2, 2024
1 parent b75ff39 commit 11b2e30
Show file tree
Hide file tree
Showing 8 changed files with 104 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Create a connection with the Oracle Autonomous Data Warehouse Adapter.

![Shared Connection](images/lldemosharedconnection.png)

You can share adapter connection resources across projects. For example, you may have two projects that need to integrate with a common system, such as Oracle ERP Cloud. The connection you created is referencing the shared connection in the instance.
You can share adapter connection resources across projects. For example, you may have two projects that need to integrate with a common system, such as Oracle ERP Cloud. The connection you created is referencing the shared connection in the instance.

![Shared Connection](images/connection-sharing.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,7 @@ This lab assumes you have successfully completed all previous lab sections
- misc: You can save all Postman collections in this folder. Ensure that the file names of all Postman collections are appended with .postman_collection.json.
- logo.svg: A default logo file for your adapter is created under the root folder. You can replace this file with the required image. The logo should be of svg format only.

5. Open postman collection that you downloaded earlier using any text editor. Navigate to the **variable** section which is almost at the end of the file. Provide the ORDS url in the value property.

![Configure Baseurl In Postman Collection](images/configure-baseurl-postman-collection.png)

6. Navigate to the local directory structure **misc** directory. Copy and paste the updated postman collection into the **misc** directory. You may delete the existing postman collection generated as part of the workspace initialization.
5. Navigate to the local directory structure **misc** directory. Copy and paste the updated postman collection into the **misc** directory. You may delete the existing postman collection generated as part of the workspace initialization.


## Task 3: Configure the publisher profile for the extension.
Expand All @@ -76,7 +72,7 @@ This lab assumes you have successfully completed all previous lab sections

2. In the resulting view, click Edit in the Publisher Profiles section. The publisher-profiles.yaml file opens in the editor.

3. Update the file with the client credentials you obtained earlier. In addition, update the active field with the name of the profile to use. The following example shows the details of 3 Oracle Integration instances, named dev, uat and oic3demo, stored in a .yaml file. See highlighted below and provide the values as per your client application configuration.
3. Update the file with the client credentials you obtained earlier. In addition, update the **active** field with the name of the profile to use. The following example shows the details of 3 Oracle Integration instances, named dev, uat and oic3demo, stored in a .yaml file. See highlighted below and provide the values as per your client application configuration.

| **Field** | **Value** |
| --- | ----------- |
Expand Down Expand Up @@ -111,7 +107,7 @@ Click *Done*

4. In the dialog box that appears, click *Update main*. Now, the VS Code extension converts the data from the Postman collection and adds it to the default adapter definition document (main.add.json) within the definitions directory of your workspace. In addition, the document opens in the VS Code editor.

5. Copy the **acme-order.svg** (downloaded from lab-artifacts zip) into your workspace under root folder. You may delete the default logo.svg file generated as part of workspace initialization. The copied graphic will be the icon used in OIC for the custom adapter.
5. Copy the **logo.svg** (downloaded from lab-artifacts zip) into your workspace under root folder. You may delete the default logo.svg file generated as part of workspace initialization. The copied graphic will be the icon used in OIC for the custom adapter.

## Task 5: Understand the Adapter definition document (Read Only Task)

Expand Down Expand Up @@ -211,11 +207,13 @@ In this section you will configure **info** section and also add security polici
| publisherInfo &gt; name | Oracle Live Lab |
{: title="Info Section Property Values"}

2. In the **connection** section Right Click anywhere in the **Connection** section, and click on *RAB: Insert Authentication Scheme* and Select *No Authentication*. You should see a dialog box to override the existing **NONE** section, Select *Yes*.
2. Navigate to the **connection** section and observe that *No Authentication* is already added. The API do not use any authentication and the auth type is captured from the postman collection automatically.

![Add No Auth Security Policy](images/add-connection-section-no-auth.png)

A new code snippet is added in the **connection** &gt; **connectionProperties** section. Change the property value of **hidden** to *false*. Observe a new property named **baseURL** is added to allow the end user to provide host url of the ACME OM Application. This property **baseURL** will be used in the respective flows to construct the concrete endpoint of the operations API supports.
In the **connection** &gt; **connectionProperties** section, change the property value of **hidden** to *false*. Observe a new property named **baseUrl** is automatically added to allow the end user to provide host url of the ACME OM Application in the adapter connection in OIC. This property **baseUrl** will be used in the respective flows to construct the concrete endpoint of all the operations API supports at runtime.

Note: baseUrl is a variable defined in the Postman Collection

![New No Auth Code Snippet](images/connection-property-hidden-value-true.png)

Expand All @@ -225,49 +223,43 @@ Assume ORDS API will be secured by Basic Authentication in future. In such case

A code snippet is added in the Connection section with **BASIC_AUTH** security policy.

3. In the **flows** section go to the **testConnectionFlow** snippet, verify the **get all customers** concrete endpoint url is configured. The endpoint of **get all customers** is captured automatically based on the choice made in **Task 4**. However, we want the test connection flow to use the baseURL specified by the user when configuring the ACME adapter connection instead of a concrete url. Construct a uri as below to get the **baseURL** value dynamically.
3. In the **flows** section go to the **testConnectionFlow** snippet, verify the **get all customers** concrete endpoint url is configured. The endpoint of **get all customers** is captured automatically based on the choice made in **Lab 4 - Task 4**. The test connection flow will use the **uri** generated by the RAB plugin so that ACME adapter connection concrete url is generated based on expression value used in baseUrl. The **uri** is constructed dynamically at runtime.

Note: We can use .connectionProperties.&lt;property-name&gt; configured in the Connection Properties section.
```
<copy>
"${.connectionProperties.baseURL +\"/customers\"}"
</copy>
"${.connectionProperties.baseUrl +\"/customers\"}"
```

Provide the above copied snippet in the **uri** value


> Note: We need a valid endpoint which do not accept any parameters or so to make sure test connection is working. API endpoints of GET VERB are appropriate to configure in the test connection flow.
> Note: We need a valid endpoint which do not accept any parameters or so to make sure test connection is working. API endpoints of GET VERB without any parameters are appropriate to configure in the test connection flow
![Configure Test Connection Endpoint](images/add-flow-section-test-connection.png)

4. Save the ADD file

5. In the **flows** section for every flow action uri modify the **uri** value as you did for the test connection flow. Use the below values for your reference and modify accordingly.
5. In the **flows** section for every flow action observe the **uri** value. All of them have a dynamic expression which evaluates to a concrete endpoint at runtime.

> If you plan to implement adapter for only Customer Resource you may change just the customer related flow actions as per your choice.
> If you have selected all resources you would see a flow action generated for each of the CRUD operation. As per below reference
| **uri** | **Value** |
| --- | ----------- |
| CreateANewCustomerFlowAction | "${.connectionProperties.baseURL +\"/customers\"}" |
| DeleteCustomerFlowAction | "${.connectionProperties.baseURL +\"/customers\"}" |
| GetAllCustomersFlowAction | "${.connectionProperties.baseURL +\"/customers\"}" |
| UpdateCustomerFlowAction | "${.connectionProperties.baseURL +\"/customers\"}" |
| GetCustomerPaymentsAndOrdersFlowAction | "${.connectionProperties.baseURL +\"/payments/{p\_customer\_id}\"}" |
| GetSingleCustomerFlowAction | "${.connectionProperties.baseURL +\"/customers/{p\_customer\_id}\"}" |
| GetAllOrdersFlowAction | "${.connectionProperties.baseURL +\"/orders\"}" |
| GetSingleOrderFlowAction | "${.connectionProperties.baseURL + \"/orders/{p\_order\_id}\"}" |
| CreateANewOrderFlowAction | "${.connectionProperties.baseURL +\"/orders\"}" |
| UpdateAnOrderFlowAction | "${.connectionProperties.baseURL +\"/orders\"}" |
| CancelOrderFlowAction | "${.connectionProperties.baseURL+\"/orders\"}" |
| GetItemsForOrderFlowAction | "${.connectionProperties.baseURL+\"/order\_items/{p\_order\_id\"}" |
| CreateANewOrderItemFlowAction |"${.connectionProperties.baseURL +\"/order\_items\"}" |
| UpdateAnOrderItemFlowAction | "${.connectionProperties.baseURL +\"/order\_items\"}" |
| DeleteAnOrderItemFlowAction | "${.connectionProperties.baseURL +\"/order\_items\"}" |
| GetAllProductsFlowAction | "${.connectionProperties.baseURL +\"/products\"}" |
| CreateANewProductFlowAction | "${.connectionProperties.baseURL + \"/products\"}" |
| UpdateAProductFlowAction | "${.connectionProperties.baseURL + \"/products\"}" |
| DeleteAProductFlowAction | "${.connectionProperties.baseURL +\"/products\"}" |
| CreateANewCustomerFlowAction | "${.connectionProperties.baseUrl +\"/customers\"}" |
| DeleteCustomerFlowAction | "${.connectionProperties.baseUrl +\"/customers\"}" |
| GetAllCustomersFlowAction | "${.connectionProperties.baseUrl +\"/customers\"}" |
| UpdateCustomerFlowAction | "${.connectionProperties.baseUrl +\"/customers\"}" |
| GetCustomerPaymentsAndOrdersFlowAction | "${.connectionProperties.baseUrl +\"/payments/{p\_customer\_id}\"}" |
| GetSingleCustomerFlowAction | "${.connectionProperties.baseUrl +\"/customers/{p\_customer\_id}\"}" |
| GetAllOrdersFlowAction | "${.connectionProperties.baseUrl +\"/orders\"}" |
| GetSingleOrderFlowAction | "${.connectionProperties.baseUrl + \"/orders/{p\_order\_id}\"}" |
| CreateANewOrderFlowAction | "${.connectionProperties.baseUrl +\"/orders\"}" |
| UpdateAnOrderFlowAction | "${.connectionProperties.baseUrl +\"/orders\"}" |
| CancelOrderFlowAction | "${.connectionProperties.baseUrl+\"/orders\"}" |
| GetItemsForOrderFlowAction | "${.connectionProperties.baseUrl+\"/order\_items/{p\_order\_id\"}" |
| CreateANewOrderItemFlowAction |"${.connectionProperties.baseUrl +\"/order\_items\"}" |
| UpdateAnOrderItemFlowAction | "${.connectionProperties.baseUrl +\"/order\_items\"}" |
| DeleteAnOrderItemFlowAction | "${.connectionProperties.baseUrl +\"/order\_items\"}" |
| GetAllProductsFlowAction | "${.connectionProperties.baseUrl +\"/products\"}" |
| CreateANewProductFlowAction | "${.connectionProperties.baseUrl + \"/products\"}" |
| UpdateAProductFlowAction | "${.connectionProperties.baseUrl + \"/products\"}" |
| DeleteAProductFlowAction | "${.connectionProperties.baseUrl +\"/products\"}" |
{: title="Flow Action URI Configuration"}

## Task 7: Validate the Adapter Definition Document
Expand Down Expand Up @@ -310,4 +302,4 @@ You may now **proceed to the next lab**.

## Acknowledgements
* **Author** - Kishore Katta, Director Product Management, OIC & OPA
* **Last Updated By/Date** - Kishore Katta, April 2024
* **Last Updated By/Date** - Kishore Katta, November 2024
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ This lab assumes you have:
- Completed all the previous labs.


## Task 1: Create a database objects using an SQL script
## Task 1: Create database objects using an SQL script
Follow these steps to create a Database objects which will be used as part of this workshop.

1. From you ATP Database Details page, click the **Database Actions** button and Select **SQL**.
Expand Down Expand Up @@ -559,10 +559,6 @@ Follow these steps to create a Database objects which will be used as part of th
## Task 5: Create a Client Application and Obtain Credentials
In Oracle Identity Cloud Service (IDCS), create a client application for your Oracle Integration instance and obtain the client credentials.
> Note: If your tenancy is enabled with domains launch the Confidential application creation from OCI Console &gt; Identity & Security &gt; domains &gt; <your domain> &gt; Integrated Applications. The steps below are pretty much the same.
You'll use these client credentials in your publisher-profile details while publishing an adapter using the Rapid Adapter Builder.
You must obtain the following details for your Oracle Integration instance:
Expand All @@ -575,7 +571,56 @@ You must obtain the following details for your Oracle Integration instance:
- clientSecret
- scope
1. In the Oracle Identity Cloud Service Console, go to the **Applications** section to create a new application that allows you to trigger an integration with OAuth.
Steps are given below to create a confidential application in IDCS/Domains. Based on how your tenancy is enabled follow the steps in respective sections as per below:
***If you tenancy is enabled with Domains follow the below steps:***
1. In the OCI Console, Navigate to **Identity & Security &gt; domains &gt; <your domain> &gt; Integrated Applications** section to create a new application
2. Click **Add application**.
3. Select **Confidential Application** and select *Launch Workflow*.
4. Complete the **Application Details** page as per below, and click **Next**.
| **Field** | **Value** |
| --- | ----------- |
| Name | rab-oauth-app |
| Description | OAuth App for RAB|
{: title="Configure Confidential App Details Page"}
5. In the **Configure OAuth** page, select **Configure this application as a client now**, and complete the following:
- Select **Client Credentials** from the **Allowed Grant Types** list.
- Select **Client Type** as *Confidential*
- Under the **Token issuance policy** section, Select **Specific** in the **Authorized Resources**
- Select **Add resources** check box
- Click **Add Scope** under the **Resources** section.
- Search for your OIC Instance, and Select the instance. Click on *Add*. You should see below 2 scopes added
| **Resouce** | **Scope** |
| --- | ----------- |
| &lt; oic-instance &gt; | https://xxxxx.integration.<region>.ocp.oraclecloud.com:443urn:opc:resource:consumer::all |
| &lt; oic-instance &gt; | https://xxxxx.integration.<region>.ocp.oraclecloud.com:443/ic/api/ |
{: title="Scopes of the OIC Instance"}
- Click on *Next* and Select *Finish*. Do not configure anything in the web tier policy.
6. Click through the remaining wizard pages without making changes and save the application
7. Click on *Activate* to activate the application for use.
Make a note of below
- ClientId
- Secret
- Scope (that ends with urn:opc:resource:consumer::all)
![OAuth Confidential App](images/oauth-confidential-app.png)
***If you tenancy is enabled with IDCS follow the below steps:***
In Oracle Identity Cloud Service (IDCS), create a client application for your Oracle Integration instance and obtain the client credentials.
1. In the Oracle Identity Cloud Service Console, go to the **Applications** section to create a new application.
2. Click **Add**.
Expand All @@ -594,23 +639,38 @@ You must obtain the following details for your Oracle Integration instance:
6. Click through the remaining wizard pages without making changes and save the application
7. Activate the application for use.
7. Click on *Activate* to activate the application for use.
Make a note of below
- ClientId
- Secret
- Scope (that ends with urn:opc:resource:consumer::all)
## Task 6: Add roles to the client application
To successfully use the client credentials, assign the integration-instance developer role to the client application you created previously.
## Task 6: Add client application to the OIC Service Developer Role
To successfully use the client credentials, assign the integration instance **Service Developer** role to the client application you created previously.
***If you tenancy is enabled with Domains follow the below steps:***
1. Go to **Identity & Security &gt; Domains &gt; Oracle Cloud Services** in the OCI Console.
2. Search for your OIC instance, and Select the instance. Under **Resources** section Select *Application Roles*
3. From the list of Application Roles, expand the **Service Developer** role, and then click **Assign Applications**. Select the *Show available applications*, and Search for the confidential app created in the previous section.
3. Select the client application and click **Assign**. Now, IAM assigns the integration-instance a service developer role to the application.
***If you tenancy is enabled with IDCS follow the below steps:***
1. Go to the **Application Roles** tab of the Oracle Identity Cloud Service application. The list of all applicable roles appears.
2. Locate and click the ServiceDeveloper role, and then click **Assign Applications**. The Assign Applications dialog appears, displaying the client application you created previously.
2. Locate and click the **ServiceDeveloper** role, and then click **Assign Applications**. The Assign Applications dialog appears, displaying the client application you created previously.
3. Select the client application and click **OK**. Now, IDCS assigns the integration-instance developer role to the application.
## Task 7: Download and Install the Required Software
To use the Rapid Adapter Builder, you require additional applications or software installed on your system.
Expand All @@ -635,4 +695,4 @@ You may now **proceed to the next lab**.
## Acknowledgements
* **Author** - Kishore Katta, Director Product Management, OIC & OPA
* **Last Updated By/Date** - Kishore Katta, April 2024
* **Last Updated By/Date** - Kishore Katta, November 2024

0 comments on commit 11b2e30

Please sign in to comment.