Manage a Project
You manage a project from a single workspace, including creating project deployments, activating and deactivating project deployments or individual integrations, exporting projects, extending integrations in an accelerator project, upgrading accelerator projects, setting tracing levels on integrations, testing integrations, deleting projects, exporting projects, and more.
Topics:
- Create and Manage a Project Deployment
- Activate or Deactivate a Project
- Edit and Replace Dependent Resources in a Project
- Export a Project
- Clone a Project
- Invoke Child Integrations Inside or Outside of Projects
- Manage Accelerator Projects
- Activate or Deactivate an Integration in a Project
- Deploy Integration Endpoints to Oracle Cloud Infrastructure API Gateway
- Clone an Integration in a Project
- Update the Tracing Level of Integrations in a Project
- Test REST Adapter Trigger Connection-Based Integrations in Projects
- View the Dependent Relationships Between Project Resources
- View Run Details About Integrations in Projects
- View Project Status
- Edit Project Description Details
- Delete a Project
Create and Manage a Project Deployment
You can create and activate a project deployment consisting of multiple integrations. When you create the project deployment, you browse and select the specific integrations and their versions to include in the deployment. You can also perform project deployment management tasks on user-developed deployments, such as editing, cloning, and deleting the deployment.
Understand the Integration Versioning Life Cycle in a Project Deployment
When you create a project deployment, you must select the integrations and their versions to include. For example, you can select integration A/version 1 and integration A/version 2. You cannot select two or more minor versions of the same major version. By default, the latest version of the integration is selected.
- Project
- Integration_A
- Version 01.00
- Version 01.01
- Version 02.00
- Integration_B
- Version 01.00
- Version 02.00
- Integration_A
Because the project is all-inclusive and integrations are versioned, this project can be deployed in a number of different configurations.
- Project
- Integration_A
- Version 01.00
- Integration_B
- Version 01.00
- Integration_A
- Project
- Integration_A
- Version 01.01
- Integration_B
- Version 01.00
- Integration_A
- Project
- Integration_A
- Version 02.00
- Integration_B
- Version 01.00
- Integration_A
In this scenario, development of Integration_B/Version 02.00 can continue without disruption, as can delivery of the project (with Integration_B/Version 01.00).
Create a Deployment
- In the navigation pane, click Projects.
- Click the project name or click .
- Click the Deploy tab.
- Click Create.
The Create deployment panel appears.
- Enter a name, identifier, and optional description. The name is required for activating the project deployment.
- Scroll through the list of integrations included in the project and
select the ones to include in the deployment.
The available versions of each integration are displayed in the second column. By default, the most recently-created versions are selected when you create a deployment.
- Select the version to include for each integration in the
deployment. For this example, select one of the two available versions.
- Click Save, then exit the Choose integrations page.
- Click Activate
.
The Activate project panel is displayed. The name of the deployment is displayed automatically and cannot be changed.
- Select the tracing level:
- Production: All activities outside loops and invoke/logger activities inside loops (up to a 1000 iterations) are shown in the activity stream and the data is retained for 32 days.
- Audit: In addition to the production settings, wire payloads of trigger/invoke(s) are also shown in the activity stream and the data is retained for eight days.
- Click Activate.
Manage Project Deployments
The Deploy tab provides additional management tasks.
- In the navigation pane, click Projects.
- Click the project name or click .
- Click the Deploy tab.
- Select Actions
for a user-developed project deployment, and note the following
options. For accelerator projects imported into your instance, only the
View option is visible. See Understand an Imported Oracle Accelerator Project.
Action Option Description Edit Select to edit a project deployment. View Select to view a project deployment in read-only mode. Clone Select to clone a project deployment. Export Select to export a project deployment. Delete Select to delete a project deployment. Note: If you delete an individual integration, it is removed from all deployments in which it is a included.
Activate or Deactivate a Project
You can activate or deactivate a project. Project activation or deactivation results in bulk processing of the selected integrations in the project.
Activate a Project
Before you can activate a project, you must create a project deployment and explicitly select the integrations and their versions to include in the deployment. During activation, each contained asset is visited and activated. It's possible that an asset may already be in the necessary state, in which case no action is taken. Project activation is ideally all or nothing, although those assets activated individually are taken into consideration. Assets can be activated in any order. See Create and Manage a Project Deployment.
- In the navigation pane, click Projects.
- Click the project name or click .
- In the upper right corner, click Activate.
The Activate project panel opens.
- Select a project deployment name.
Note:
If there are no deployment names available, create a project deployment under the Deploy and select the specific integrations and integration versions to include. - Select a tracing level:
- Production: All activities outside loops and invoke/logger activities inside loops (up to a 1000 iterations) are shown in the activity stream and the data is retained for 32 days.
- Audit: In addition to the production settings, wire payloads of trigger/invoke(s) are also shown in the activity stream and the data is retained for eight days.
- Click Activate.
Deactivate a Project
A project is deactivated in its entirety. All assets are deactivated regardless of whether an asset was activated within the context of a project or individually. Assets can be deactivated in any order.
- In the navigation pane, click Projects.
- Click the project name or click .
- In the upper right corner, click
Deactivate.
The Deactivate project panel opens.
- Click Deactivate.
Edit and Replace Dependent Resources in a Project
You can edit dependent resources (connections, libraries, lookups, and JavaScript libraries) in a single integration in a project or all integrations in a project with a wizard that's accessible from the Configuration Editor page.
Edit Dependent Resources at the Project Level
- In the navigation pane, click Projects.
- Click Actions
, and select Configure.
The Configuration Editor page opens. A wizard is displayed at the top. This wizard guides you through configuration of all potential resources in a project (regardless of whether resources have currently been defined).
- If you want to edit the connection properties and security
properties, hover over the row and click Edit
.
- Edit the connection.
- Click Test, then
Save.
The active and inactive integrations using the connection are displayed.
- Click Save to save your changes or Save & Reactivate if the connection you edited is being used in a currently activated integration.
- Click Back .
- Click the Lookups icon. A green icon is
displayed for the Connections icon.
- If you want to edit a lookup, click Edit .
- Edit the lookup.
- Click Save.
- Click Back .
- Click the Libraries icon. A green icon is
displayed for the Lookups icon.
- If you want to edit a library, click Edit .
- Edit the library.
- Click Save.
- Click Back .
- Click the Integrations icon. A green icon is
displayed for the Libraries icon.
- Hover over the row of an integration.
- If you want to edit the integration, click Actions , then Edit.
- If you want to activate an integration, click
Activate
. You can also deactivate currently activated integrations.
If all connections are configured, the Activate integration panel is displayed. If you have incomplete connections, you are prompted to first configure the inactive connections and try activation again.
- Select a tracing level, then click Activate.
- Click the Deployments icon. A green icon is
displayed for the Integrations icon.
- Hover over the row of the project.
- If you want to edit the deployment, click Actions , then Edit.
- If you want to activate the project deployment, click Activate . If you have not created a deployment, you are prompted to create one.
Edit and Replace Dependent Resources at the Integration Level in a Project
- In the navigation pane, click Projects.
- Click the project name or click Edit .
- In the Integrations section, find the specific integration to configure.
- Click Actions
, and select Configure.
The Configuration Editor page opens. A wizard is displayed at the top. This wizard guides you through configuration of all current resources in an integration. If resources have not been defined, the wizard does not display steps for configuring them.
- If you want to replace a connection with a different one, click
Replace
.
Note the following connection replacement guidelines:
- Only connections of the same role type (trigger, invoke, or trigger and invoke) are displayed for selection. You can only replace a connection resource with another resource of the same role.
- The connection status must be displayed as Configured. You cannot replace a connection with a connection whose status is Draft. If a compatible connection resource does not exist, a message is displayed.
- You cannot replace connections used in integrations
with the following state:
- Active
- Activation in progress
- Deactivation in progress
- Locked
- If you replace a connection, a Revert icon is displayed in the row that enables you to change back to the previous connection.
- If you want to edit the connection properties and security
properties, click Edit
.
- Edit the connection.
- Click Test, then
Save.
The number of active and inactive integrations using the connections are displayed.
- If there are no active integrations, reactivation of integrations is not available.
- If you made changes, click Save & Reactivate to apply the connection changes to active integrations. Schedule integrations with an active schedule are excluded. Any queued/in-progress schedule integration instances are canceled.
- Click Back .
If your integration includes lookups, the Lookups icon appears at the top.
- Click the Lookups icon.
- If the connection selected in the previous step is in a configured state, a green icon is displayed for the Connections icon.
- If the connection selected in the previous step is not in a configured state, an error icon is displayed for the Connections icon. Hover over the icon to show information about the error.
- If you want to edit a lookup, click Edit .
- Edit the lookup.
- Click Save.
- Click Back .
If your integration includes libraries, the Libraries icon appears at the top.
- Click the Libraries icon. A green icon is
displayed for the Lookups icon.
- If you want to edit a library, click Edit .
- Edit the library.
- Click Save.
- Click Back .
- Click the Activation icon. A green icon is
displayed for the Libraries icon.
- Hover over the row of an integration.
- If you want to edit a deactivated integration, click Actions , then Edit.
- If you want to activate an integration, click Activate . You can also deactivate currently activated integrations.
- Select a tracing level, then click Activate.
Export a Project
You can export a project for import into another instance. This action exports any integration resources (connections, lookups, JavaScript libraries, and events) and healthcare resources (HL7 messages, schemas, and integrations using the healthcare action).
- In the navigation pane, click Projects.
- Click the project name or click .
- In the upper right corner, click Export
.
The Export project panel opens.
- Select a project deployment name.
Note:
If there are no deployment names available, create a project deployment under the Deploy tab and select the specific integrations and integration versions to include. See Create and Manage a Project Deployment. - Click Export.
Clone a Project
You can clone a project for consumption by other teams that require access to similar integration resources (connections, lookups, JavaScript libraries, and events) and healthcare resources (HL7 messages, schemas, and integrations using the healthcare action). You can also clone an accelerator project to gain full control over its resources. When you clone an accelerator project, it is converted to a developer project.
- Integrations and their dependent resources such as lookups, connections, JavaScript libraries, and events are cloned.
- Project deployments are cloned.
- Runtime data visible under the Observe tab is not cloned.
- Role-based access control (RBAC) settings are not cloned.
- All cloned connections are in a draft state with no connection property or security information defined.
- In the navigation pane, click Projects.
- Hover over the row of the project to clone.
- Click Actions
, then select Clone.
The Clone project panel opens.
- Enter a name, unique identifier, optional keyword, and optional description.
- Click Clone.
A message appears indicating your cloning request was submitted.
- Click Refresh
.
The cloned version is displayed on the Projects page.
Invoke Child Integrations Inside or Outside of Projects
You can configure a parent integration to invoke a child integration in the same project, a child integration in a different project, or a child integration that is not part of any project (known as an integration that is globally available).
Capabilities
- A parent integration in a project can be configured
to invoke a child integration located:
- In the same project.
- In a different project, if that integration is set as public. See Set a Project Integration as Public.
- Globally available (that is, the integration is not included in any project).
During runtime, all integration behavior is consolidated into a single activity stream for viewing, regardless of the location of all the integrations.
As an example, the following parent-to-child invokes are supported:- Parent Integration 1 in Project A invokes child integration 6 that is globally available (integration is not in any project). Child integration 6 then invokes child integration 7, which is also globally available.
- Parent Integration 2 in Project A invokes child integration 3 in Project B.
- Parent Integration 5, which is globally available, cannot invoke integration 1 in Project A because this type of invocation is not allowed.
- A parent integration in a project can dynamically invoke either of two child integrations at runtime, regardless of location. For example, both child integrations can be in the globally available or one child integration can be globally available and the other child integration can be in another project. See Dynamically Invoke a Child Integration.
Restrictions
- Only REST, SOAP, and schedule integration endpoints are supported.
- Only activated integrations are available when selecting a child integration in the Integration Adapter Wizard. See Invoke a Child Integration from a Parent Integration.
- A parent integration that is globally available (outside a project) cannot invoke a child integration inside any project. Parent integrations that are globally available can only invoke child integrations that are also globally available.
- If you select to activate or deactivate a project deployment, all child integrations outside that project (whether in another project or globally available) must already be activated or deactivated, respectively. The project deployment cannot activate or deactivate integrations outside that project. See Create and Manage a Project Deployment.
- When exporting a project deployment, none of the integrations from outside that project are included in the exported file. You must separately export those integrations and import them along with the referencing projects into the target instance.
- References to an integration in another project may specify an integration that itself has external references. A chain of references can span multiple projects.
Set a Project Integration as Public
Setting a project integration as public enables that integration to be invoked by a parent integration in a different project. If you don't set a project integration as public, it can only be invoked by a parent integration in the same project.
Set a project integration as public in either of two ways:
Create a new integration:
- In the Integrations section, click Add if no integrations currently exist or + if integrations already exist.
- Select the type of integration to create (application or schedule).
- Select the Available to other projects check box.
- Go to the integration canvas for the integration to make public.
- Click Primary Info .
- Select the Available to other projects check box.
When selected, the Available to other projects check box enables an integration in a different project to appear for selection in the Integration Adapter Wizard that is invoked when you drag the Integration action into the integration canvas. See Invoke a Child Integration from a Parent Integration.
Prerequisites to Dynamically Invoke a Child Integration from a Parent Integration After Import into a Project
To dynamically invoke a child integration from a parent integration in a project, you need the project ID, integration code, and integration version. This differs from globally-available integrations (integrations not included in any project), where you can dynamically invoke a child integration from a parent integration with only the integration code and integration version.
If you import a globally-available parent integration and its child integrations into a project and then attempt to dynamically call the second child integration from the parent integration, the child integration is not called from the project. Instead, the globally-available child integration is called. This occurs because only the integration code and integration version are available to configure in the mapper, and not the project code.
You must create and map a project code query parameter in the mapper for dynamic invocation of the second integration in a project to succeed.
- Configure a parent integration to invoke two child integrations. All three integrations are globally available, meaning they are not part of a specific project.
- Export the three integrations and import them into a project.
- Edit the mapper of the imported parent
integration.
Note that there is no value for the target Project Code node under Localintegration to configure.
- In the integration canvas, select to edit the integration action.
- Click Continue on the pages of the Integration Adapter Wizard without making changes, then click Done on the final page. This action creates the project code entry in the mapper.
- Open the mapper and note that the target
Project Code node for the
project under
Localintegration is now
visible.
You must now create a target query parameter and map it to Project Code.
- Exit the mapper.
- Open the REST Adapter trigger connection for editing in the Adapter Endpoint Configuration Wizard.
- On the Request Parameters page, create a
new query parameter. For this example,
ProjectCode
is created.
- Click through the remaining pages of the wizard, then click Done.
- Return to the mapper.
The new source query parameter is now visible.
- Drag the source Project
Code query parameter to the target
Project Code.
When you later run the parent integration from the Configure and run page, the integration version, integration code, and project code parameters are available.
- Click Run. The child integration in the project is now invoked, instead of the globally-available version.
Information about dynamically invoking a child integration is provided. See Dynamically Invoke a Child Integration.
Manage Accelerator Projects
You can install accelerator projects from the Integration Store. You can extend (customize) integrations in the accelerator project and later upgrade an accelerator project to a newer version automatically without losing any extensions you made to the previous version.
Extend an Integration in an Accelerator Project
You can extend (customize) an integration in an accelerator project by adding and configuring an extension group. An extension group enables you to extend your integration by adding invoke connections; stitch, for-each, switch, map, and integration actions; and global variables to the integrations in your accelerator project.
- Learn About Accelerators Available in the Integration Store
- Extend an Integration Before or After an Invoke Connection
- Add a Stitch Action to an Extended Integration
- Add an Ad-Hoc Map Action to an Extended Integration
- Add a For-Each Action to an Extended Integration
- Add a Switch Action to an Extended Integration
- Add an Integration Action to an Extended Integration
- Add an Invoke Connection and Associated Map to an Extended Integration
- Add a Global Variable to an Extended Integration
- Add an Extension Group Before a Stage File Action Configured with a Write File Operation
- Merge Extension Group Changes into Updated Accelerator Projects
Learn About Accelerators Available in the Integration Store
The Integration Store provides accelerator projects that you can install and extend in a project. Newer, updated versions of accelerator projects can also become available in the Integration Store for you to re-install, as necessary.
See Find Recipes and Accelerators and Install Recipes and Accelerators in Getting Started with Oracle Integration 3.
Extend an Integration Before or After an Invoke Connection
- Stitch action
- For-each action
- Switch action
- Map action
- Integration action (and associated map) for invoking a child integration
- Invoke connection (and associated map)
- In the navigation pane, click Projects.
- Find the accelerator project to extend. The
Accelerator and Oracle labels
identify these types of projects. You can also use the
Filter
to display a specific project type (all, user-developed, accelerator,
extended accelerator, or recipe). For example:
- Click the project name or click .
- In the Integrations section, find the specific integration to extend.
- Click Actions
, and select Extend. The
Extend option is only available in accelerator
projects. This option behaves similar to the Edit option
in non-accelerator integrations.
The integration is displayed in the canvas.
- Perform one of the following actions before or after an invoke
action.
- Add at the location where you want to add the extension, then select Extension Group.
or
- Click Actions inside the invoke action.
- Based on where you want to place the extension, select
Extend before or Extend
after. Both options are available if you have not yet
added an extension to either side of the invoke.
Note:
If Extend before and Extend after are not available for selection and you have not added an extension to either side of the invoke, your administrator has restricted the use of extensions on the invoke connection. You cannot extend restricted invokes.
The extension group is added to the integration.
- If you want to update the name, click Edit in Edit extension group.
- Click Integration actions
and drag an invoke or action into the integration or click
Add
inside the extension group to add an invoke or action to the
integration. For example, if you click Add
, the following menu is displayed.
See the following sections for details:- Add a Stitch Action to an Extended Integration
- Add an Ad-Hoc Map Action to an Extended Integration
- Add a For-Each Action to an Extended Integration
- Add a Switch Action to an Extended Integration
- Add an Integration Action to an Extended Integration
- Add an Invoke Connection and Associated Map to an Extended Integration
Add a Stitch Action to an Extended Integration
- If you select Actions, then Data
stitch:
You can incrementally build a message payload from one or more existing payloads with a stitch action. For example, a data stitch enables you to customize the sales order created in an inbound application. Assume you have a use case in which whenever a sales order is created in an inbound application, your integration must retrieve and push information in a custom object to an outbound application. In the inbound application, the custom object consists of the following attributes.
The Configure stitch panel opens.
- Configure the stitch. This action enables you to customize
the integration with mappings to or from attributes of custom objects.
For this example, a stitch variable is created to process the order
status attribute in the custom object.
See Build Complex Assignment Statements with a Stitch Action.
- When integration design is complete, click
Save.
Assume you later need to further customize the custom objects in the inbound application that triggers your integration. For example, an additional field to handle the Item Number is added to the custom object.
This use case is not about installing a newer version of the accelerator project available from the Integration Store. Rather, this is an informal user update to the custom objects. You can handle this use case by refreshing the endpoints to pick up the new object and editing the data stitch action to process the new object. You must use a new identifier and/or version. You can also set the name, keywords, and description.
- Configure the stitch. This action enables you to customize
the integration with mappings to or from attributes of custom objects.
For this example, a stitch variable is created to process the order
status attribute in the custom object.
- Click Actions , then select Refresh Endpoints. This action fetches the latest attributes added to the custom object.
- Open the stitch action in the extension group and add the latest
custom attribute mapping to the extension group. For this example, a second
stitch variable is created to process the item number attribute in the custom
object.
Add an Ad-Hoc Map Action to an Extended Integration
- If you select Actions, then
Map:
The Add Map panel opens to show the endpoints available to which to map. Endpoints both inside and outside the extension group are shown.
If there are no endpoints available to which to map, the following message is displayed:No outputs available to map to
- Select the endpoint, and click Create.
The mapper opens.
- Map appropriate source elements to target elements.
A map action is visible in the Extension Group.
Add a For-Each Action to an Extended Integration
- If you select Actions, then For
each:
A for-each action is added to the Extension Group.
- Configure the for-each action. For this example, an
Account element is defined as the repeating action.
- Perform further configuration, as necessary. For this example, a
stitch action is added. For each iteration of the Account
element, a value is updated to the current time.
The extension group design looks as follows:
Add a Switch Action to an Extended Integration
- If you select Actions, then
Switch:
A switch action is added to the Extension Group.
You can add routing expressions in an integration with a switch action.
You can add a stitch action inside the switch action.
- Click , then select Stitch.
- Configure the stitch action. For example:
- Inside Route 1, click
Actions
, then select Edit.
The Configure route panel opens.
- Configure the switch action. For example:
The extended portion of the integration looks as follows.
- Click , then select Stitch.
Add an Integration Action to an Extended Integration
- If you select Actions, then
Integration:
The Integration Adapter Wizard is displayed.
- Click through the pages of the wizard to select the child integration to
invoke.
An integration action and associated map action are added to the Extension Group.
Add an Invoke Connection and Associated Map to an Extended Integration
- If you select Invokes, then select an invoke
adapter connection:
The Adapter Endpoint Configuration Wizard is displayed for the selected invoke connection.
- Click through the pages of the wizard and configure the invoke connection.
-
When complete, the configured invoke connection and an associated map action are added to the Extension Group.
- Double-click the map action and map appropriate source elements to target elements.
Add a Global Variable to an Extended Integration
- In the Integrations section, find the specific integration to extend.
- Click Actions
, and select Extend.
The integration is displayed in the canvas.
- In the right pane, click Global Variables
.
There are two types of global variables:
- Extended global variables: Variables that you can create to extend the accelerator for your business requirements.
- Default global variables: Variables that are defined by the producer of the extended accelerator. You cannot edit these variables.
- Click to add your own extended global variable. For this example,
extended_global_variable
is added.
- Add an Extension Group to the integration.
- Add an action in which to use the extended global variable. For this example, a
stitch action is added.
- Configure the stitch action to use the extended global variable.
Note:
If there is a naming conflict with global variables (for example, two global variables have the same name), the entire merge is canceled. This cancellation occurs because a global variable can be used in any extension group. For example, if you create an extended global variable named conflict_gv, and a default global variable of the same name already exists, the merge is canceled, and an error is displayed.
Add an Extension Group Before a Stage File Action Configured with a Write File Operation
- Perform one of the following actions before the stage file
action.
- Add at the location where you want to add the extension, then select Extension Group.
or
- Click Actions inside the stage file action and select Extend before.
- Add the appropriate action (for example, a data stitch
action).
Merge Extension Group Changes into Updated Accelerator Projects
Oracle can periodically update and upload newer versions of accelerator projects to the Integration Store for your consumption. You can upgrade an accelerator project to this newer version automatically without making manual changes to the existing installation. During upgrade, you are prompted to automatically merge any customizations you performed in the extension group of the previous version into the newer version of the accelerator project. See Upgrade an Accelerator Project and Merge Extensions.
on an invoke connection also includes options for Extend before or Extend after. This enables you to install the supported accelerator actions before or after the invoke connection.Upgrade an Accelerator Project and Merge Extensions
You can install and then extend (customize) accelerator projects in your instance. Oracle can periodically update and upload newer versions of these accelerator projects to the Integration Store for your consumption. You can upgrade an accelerator project to this newer version automatically without losing any extensions you made to the existing installation.
Understand the Rules for Merging Extensions
Before upgrading an extended accelerator project, it is important to understand the rules for merging extensions.
Rule | Example |
---|---|
When you have multiple extended (customized) versions of an accelerator project installed, and select to install a newer version, the installer checks for extensions in the previously installed highest version. If that version includes extensions, they are automatically merged into the newer version. | You currently have the following accelerator project versions
installed:
|
When you have multiple versions of an accelerator project installed, and select to install a newer version, the installer checks for extensions in the previously installed highest version. If that version does not include extensions, nothing is merged into the newer version. | You currently have the following accelerator project versions
installed:
|
When you have a single version of an accelerator project installed, and select to install a newer version, the installer checks for extensions in the previously installed highest version. If that version includes extensions, they are automatically merged into the newest version. | You currently have the following accelerator project
version installed:
If you install a higher version of the accelerator project (for example, version 2.0.0, 3.0.0, 4.0.0, or higher), the extensions are applied to the newly installed version. |
When you have multiple extended versions of an accelerator project installed, and select to install an older version, the installer does not check for extensions because you are installing a lower version. | You currently have the following accelerator project versions
installed:
|
Automatically Merge Extensions
This section provides an overview of how to upgrade to a newer extended accelerator project and automatically merge your extensions (customizations). This process automatically merges the extensions in all integrations in the project.
Assume you have an accelerator project that includes two integrations on version 1.0.0.
Both integrations include an extension group with a stitch action that you added.
Oracle Automerge1 Integration | Oracle Automerge2 Integration |
---|---|
|
|
Newer versions of this accelerator project are then uploaded to the Integration Store. You want to install a newer version and not lose the extensions you made to your current version (1.0.0).
- On the Oracle Integration Home page, scroll to the Accelerators & Recipes section.
- Find the accelerator project to upgrade. The Get latest label indicates that a new version of the accelerator project is available for installation.
- Click Get latest.
You can also configure and delete installations from this location.
The Install accelerator panel opens and shows the latest accelerator versions to which you can upgrade.
- Select the version to which to upgrade (for this example, v1.0.1 is selected).
- If you want to merge the extensions you added (for this example, the stitch actions you added to both version 1.0.0 integrations), then click Merge latest extensions.
- Click Install.
- Click the link in the Confirmation message that is displayed. This takes you to your project to view installation progress.
- Click Refresh periodically.
- Note that the latest installed versions (1.0.1) are successfully
merged above the initial integration versions (1.0.0).
- Click the latest integrations (1.0.1) to see that your
customizations have been merged.
- Click Merge report
to view a report about the merge.
- Exit the integration.
- Click Save when prompted.
Manually Merge Extensions
If you do not select the Merge latest extensions check box described in Step 5, your customizations are not applied. However, you still have the opportunity to manually merge your extensions.
- Select the version to install, but do not click Merge
latest extensions.
- Go to the project.
- In the Integrations section, click the newly
installed version. Note that the status label is listed as
Configured, and not Merge
Successful for the two newly-installed integrations.
The Extended accelerator versions dialog prompts you to select to merge your extensions.
- Click Select to merge your extensions. You can also click Skip if you do not want to merge your extensions.
- Repeat these steps for any remaining integrations that include extensions you want to manually merge.
Activate or Deactivate an Integration in a Project
You can individually activate or deactivate an integration in a project.
To define a local invoke, the target integration must be activated.
Activate an Integration
- In the navigation pane, click Projects.
- Click the project name or click .
- In the Integrations section, find the specific integration to activate.
- Click Actions
, and select Activate.
The Activate integration panel opens.
- Follow the steps to activate an integration. For REST Adapter-triggered and AS2 Adapter-triggered integrations, a selection is available for replaying the integration during runtime on the Instances page. See Activate and Deactivate Integrations and Replay Integration Instances.
Deactivate an Integration
Assets can be deactivated individually regardless of whether they were activated individually or as part of a project.
- In the navigation pane, click Projects.
- Click the project name or click .
- In the Integrations section, find the specific integration to deactivate. Activated integrations are identified by the Active label.
- Click Actions , and select Deactivate. See Activate and Deactivate Integrations.
Deploy Integration Endpoints to Oracle Cloud Infrastructure API Gateway
You can deploy individual integration endpoints as routes to Oracle Cloud Infrastructure API Gateway. An Oracle Cloud Infrastructure API Gateway instance supports a maximum of 20 deployments. Each deployment can contain up to 50 routes (each routing to individual endpoints). This provides you with a capacity of 1000 integration endpoints to which to deploy.
- Restrictions
- Create a Dynamic Group and Policy to Grant Gateway Access
- Create a Virtual Cloud Network and an Internet Gateway
- Create an Oracle Cloud Infrastructure API Gateway and Deployment in Oracle Cloud Infrastructure Console
- Deploy an Integration to API Gateway
Note:
To perform tasks in the Oracle Cloud Infrastructure Console, you must have the ServiceAdministrator role.Restrictions
- Deployment to Oracle Cloud Infrastructure API Gateway only works in identity domain-enabled environments.
- Only integrations in a project can be deployed to Oracle Cloud Infrastructure API Gateway. The integration must be publicly available. That is, the Available to other projects check box must be selected for this integration.
- The integration must be activated.
- You can only deploy a REST Adapter trigger-based integration.
- REST Adapter trigger connections that expose multiple entry points to a single integration are not supported. See Receive Requests for Multiple Resources in a Single REST Adapter Trigger with a Pick Action.
See API Limits.
Create a Dynamic Group and Policy to Grant Gateway Access
- Create a dynamic group.
- Create a policy to grant access to Oracle Cloud Infrastructure API Gateway.
You create the required dynamic group and assign a policy to that group to allow your Oracle Integration instance to access Oracle Cloud Infrastructure API Gateway. The policy defines the permissions for the dynamic group and determines which operations the dynamic group can perform in the Oracle Cloud Infrastructure API Gateway.
- Log in to the Oracle Cloud Infrastructure Console.
- Obtain the client ID of the OAuth application for the Oracle Integration instance.
- In the upper right corner, select Profile, then click the identity domain.
- In the left navigation pane, click Oracle Cloud
Services.
The Oracle Cloud Services page for your domain appears.
- In the Name column, click your service instance.
- Scroll down to the General Information section and copy the client ID value to use to create your dynamic group.
- Scroll to the breadcrumbs at the top and click Default
domain.
- In the left navigation pane, click Dynamic groups.
- Click Create Dynamic Group.
- Enter the following details:
- In the Name and Description fields, enter values. These fields are required.
- In the Matching Rules section, enter the
required rule. The resource ID you specify must match the client ID of the OAuth
application of your Oracle Integration instance. Ensure that you enclose the value
in single quotes. For
example:
resource.id = 'client_ID'
- Scroll to the breadcrumbs at the top and click
Identity.
- In the left navigation pane, click Policies.
- Click Create Policy.
- Select the compartment in which to create the policy.
- Enter the following details:
- In the Name and Description fields, enter values. These fields are required.
- In the Policy Builder section, build the
required policy for the dynamic group. For
example:
allow dynamic-group dynamic_group to manage api-gateway-family in compartment compartment_name
Where:dynamic_group
: Is the dynamic group name you created.compartment_name
: Is the compartment in which your Oracle Integration instance is located.
This enables the Oracle Integration instance associated with the dynamic group to call Oracle Cloud Infrastructure API Gateway in this particular compartment.
Create a Virtual Cloud Network and an Internet Gateway
You must create a virtual cloud network and internet gateway before you can create an Oracle Cloud Infrastructure API Gateway.
- In the navigation menu, go to Networking.
- Click Virtual cloud networks.
- Click Create VCN.
- Enter the following information, then click Create
VCN.
Element Description Name Enter a virtual cloud network name. Compartment Displays the compartment you previously selected. IPv4 CIDR Blocks Assign up to five IPv4 CIDR blocks to a VCN. At least one is required. See VCN and Subnet Management. Use DNS hostnames in this VCN If you plan to use VCN DNS or a third-party DNS, this is required for instance hostname assignment. This selection cannot be changed after the VCN is created. See DNS in Your Virtual Cloud Network DNS Label This value is generated from the virtual cloud network name if not specified. DNS Domain Name This value is generated from the virtual cloud network name if not specified. The details page for the virtual cloud network is displayed.
- Click Create Subnet.
- Enter the following information, then click Create Subnet.
Element Description Name Enter a subnet name. Compartment Displays the compartment you previously selected. Subnet Type Select a subnet type: - Regional (Recommended)
- Availability Domain-specific
IPv4 CIDR Block Enter the IPv4 CIDR block. Route Table Compartment Select the route table compartment. Subnet Access Select an access type: - Public Access
- Private Access
Use DNS hostnames in this VCN If you plan to use VCN DNS or a third-party DNS, this is required for instance hostname assignment. This selection cannot be changed after the VCN is created. DNS Label This value is generated from the virtual cloud network name if not specified. DNS Domain Name This value is generated from the virtual cloud network name if not specified. Dhcp Options Compartment Select the default DHCP options. Select Security List Compartment Select the security list. Resource Logging Select to enable resource logging. - Under Resources, select Internet Gateways.
- Click Create Internet Gateway.
- Enter the following information, then click Create Internet
Gateway.
Element Description Name Enter an internet gateway name. Compartment Displays the compartment you previously selected. - Under Resources, select Security Lists.
- In the Name column, click the default security list.
- Click Add Ingress Rules.
- Specify the source CIDR value.
- Leave the Source Port Range field blank.
- Enter
443
in the Destination Port Range field. - Click Add Ingress Rules.
- Return to the details page for the virtual cloud network you created.
- In the Resources section, click Route Tables.
- In the Name column of the Route Tables section, click the default route rule.
- Click Add Route Rules.
- Enter the following information, then click Add Route
Rules.
Element Description Target Type Select Internet Gateway. Destination CIDR Block Enter the destination CIDR block. Target Internet Gateway Select the API gateway. Description Enter an optional description. - In the Resources section, click Network Security Groups.
- Click Network Security Group.
- Enter a name.
- Leave the compartment as is.
- Click Next.
- Select CIDR in the Source Type list.
- Select TCP in the IP Protocol list.
- Specify
All
in the Source Port Range field. - Specify the value in the Source CIDR field.
- Specify
443
in the Destination Port Range field. - Click Create.
- In the breadcrumbs at the top of the page, click the link for the virtual cloud network that you created.
- In the Resources section, click Security
Lists.
If egress rules do not exist, you must define them.
- In the Resources section, click Egress Rules.
Create an Oracle Cloud Infrastructure API Gateway and Deployment in Oracle Cloud Infrastructure Console
You must create an Oracle Cloud Infrastructure API Gateway. Each gateway instance supports a maximum of 20 deployments. Each deployment can handle up to 50 routes. This means that one gateway instance can protect up to 1000 APIs. You can select an existing deployment, enabling a new route to be created in that deployment. You can also create a new deployment.
- In the navigation menu, go to Developer Services.
- Under API Management, select Gateways.
- Select the compartment to use for deployment.
- Click Create Gateway.
- Enter the following information, then click
Create Gateway.
Element Description Name Enter a gateway name. Type Select Public. Compartment Displays the compartment you previously selected. Network Select the following networking details: - Virtual cloud network: Select a virtual cloud network.
- Subnet: Select a VCN with at least one regional subnet added.
See Networking Overview.
Enable network security groups Select the check box, then select a compartment with at least one network security group. Certificate Select an SSL/TLS certificate that has been added to Oracle Cloud for use with a custom DNS configuration or use the default certificate provided by the gateway. See Setting Up Custom Domains and TLS Certificates. The new gateway is displayed in the Name column on the Gateways page.
- Click the gateway name.
- Under Resources, click Deployments.
- Click Create
deployment.
The Create deployment wizard is displayed.
You can create deployments based on categories appropriate to your business environment. For example, you may want to create separate deployments for applications, functional areas within an application, client requirements (for example, all APIs for a client-facing portal), and so on. You then deploy the integration endpoints to the appropriate deployment category.
- Enter the following information, then click
Next.
Element Description Name Enter a deployment name. For this example, Netsuite
is entered.Path prefix Enter a prefix. For this example, /netsuite
is entered.Compartment Displays the compartment you previously selected. API request policies Select API request policies as required for your environment: - Mutual-TLS: Select to enable mTLS.
- CORS: Configure CORS access.
- Rate limiting: Configure rate limiting.
- Usage plans: Configure usage plans.
API logging policies Select a logging level. Tags (under Show advanced options) Add tags to organize your resources. - Select an Authentication
method, and specify additional details, then click Next
- No Authentication: Any client that has network access to the gateway can make requests to all routes in this deployment.
- Single Authentication: Configure integration with
a single identity provider. You can optionally limit access for all routes to
authenticated clients only.
If you select this option, authentication, validation, and other security fields are displayed for configuration.
- Multi-Authentication: Configure integration with
one or more identity providers. You can optionally limit access for all routes to
authenticated clients only.
If you select this option, additional authentication fields are displayed for configuration.
Route 1 is displayed.
Individual integration endpoints are deployed as routes to an Oracle Cloud Infrastructure API Gateway deployment.
- Enter the following information, then click
Next.
Element Description Path Enter a path (for example, /order
).Methods Select one or more methods based upon your requirements (for example, GET, POST, PUT, or others). Add a single backend This option enables all requests for this route to be sent to the same backend. Select a backend type. Each selection causes additional fields to be displayed for you to configure. - HTTP
- Oracle functions
- Stock response
- Logout
Add multiple backends Route to different backends based on criteria at runtime. To configure your route to support multiple backends, first define the request context element to use as the selector. The gateway uses the selector at runtime to choose the backend based on a matching rule defined for the backend.
Selector: Select the request context table. Some selections cause additional fields to be displayed for you to configure.- Auth
- Headers
- Host
- Path
- Query parameters
- Subdomain
- Usage plan ocid
Backends: Add one or more backends for your route. Each backend needs a matching expression that the gateway uses to match based on the request context in the selector at runtime.
Specifies the type of the backend service Expand and specify polices as required for your environment. - Show route request policies
- Show route response policies
- Show response caching policies
- Show route logging policies
- Review your selections on the Deployment
page, then click Create.
Route 1 is configured.
Note that HTTP is selected and the URL field shows the REST Adapter-trigger based integration to later publish from your project in Oracle Integration.
- Create additional routes, as needed.
For this example, a second route is created with a second REST Adapter-trigger based integration to later publish from your project in Oracle Integration.
- Follow Step 8 through Step 12 to create any additional deployments and routes. For this
example, a second deployment (Oracle Rest Say Hello World) is
created that includes a single route:
When complete, the two deployments are listed on the details page for the gateway.
You are now ready to deploy individual integration endpoints as routes to Oracle Cloud Infrastructure API Gateway.
Deploy an Integration to API Gateway
After completing all prerequisites and gateway and deployment configuration tasks, you can deploy individual integration endpoints as routes from a project to Oracle Cloud Infrastructure API Gateway.
- In the navigation pane, click Projects.
- Click the project name or click .
- In the Integrations section, find the already-activated integration to publish. Only active REST Adapter, triggered-based integrations can be deployed.
- Click Actions
, and select Publish to API
Gateway.
The Publish to API gateway panel opens.
- Enter the following information:
Element Description REST endpoint Displays the endpoint of the integration. This endpoint cannot be deselected. Search or select compartment Select the compartment created in the Oracle Cloud Infrastructure Console that includes Oracle Cloud Infrastructure API Gateway. Search or select API gateway Select the Oracle Cloud Infrastructure API Gateway instance created in that compartment. Select or create API gateway deployment Select a deployment inside the gateway instance. You can also create a gateway from this field. For this example, the test-oic-apigw gateway and NetSuite deployment created in Create an Oracle Cloud Infrastructure API Gateway and Deployment in Oracle Cloud Infrastructure Console are selected.
- Click Publish.
The deployment is visible in Oracle Cloud Infrastructure API Gateway. Use the Observe tab in the project to check if the API calls are being reached when invoked by the Oracle Cloud Infrastructure API Gateway deployment URL.
- If you want to unpublish your API gateway deployment, click Undo publish.
Clone an Integration in a Project
Cloning an integration in a project creates a new copy with identical connections and data mappings. The cloned version must have a unique identifier and/or version. You can also specify a name, keyword, and description. You cannot specify a package name. The remaining configuration is the same. You can reconfigure the clone after you create it. You can also clone a locked integration.
Update the Tracing Level of Integrations in a Project
You can change the tracing level of an active integration without having to deactivate and reactivate it. You can also set the tracing level globally for all integrations in a project.
- In the navigation pane, click Projects.
- Click the project name or click .
- In the Integrations section, hover over the active integration on which to set tracing.
- Click Actions and select Tracing.
- Follow the steps to set the tracing level. See Manage Tracing Levels on Integrations.
Test REST Adapter Trigger Connection-Based Integrations in Projects
You can test application integrations in projects that are designed with a REST Adapter trigger connection.
View the Dependent Relationships Between Project Resources
You can view the dependent relationships between all integrations, connections, lookups, JavaScript libraries, and events in a project, in another project, or outside a project.
View Project Dependencies
- In the navigation pane, click Projects.
- Click the project name or click .
- Click View dependencies
.
A view of the dependencies between all resources in the current project and other projects is displayed. If you are invoking an integration in a different project, that integration is shown in a container with the label Project and the project name as the container title. If the diagram is dependent upon an integration that is outside of any project, the container is labeled Not in project.
- Hover over a resource to display its dependencies.
For this example, the integration uses one connection and three integrations, including one in another project. Hovering over the lines connecting the nodes also shows the relationship between the nodes in the tool tip.
- Hover over a connection to see its dependent resources. For this
example, the connection is used in two integrations.
- Click the nodes to drill down into the resource-specific view, and keep clicking to drill down further.
- Click Back to return to the previous view until you return to the beginning of the navigation.
- From the View list, select to view specific resources (integrations, connections, lookups, JavaScript libraries, and events). By default, All is selected to show all resources in the project.
- From the Filter list, select to view a
specific integration or connection and its dependencies. When you select a
specific integration or connection, the View list changes
to show the same resource type. For example:
View a Project Summary Report
- Click View dependencies .
- Click Project summary
.
The Summary panel shows tabs for the dependent resources in the current project, the dependent resources being used in other projects, the unused dependent resources, and the dependent resources being used that are not in projects.
- Click a tab, and expand the resource category.
- Click a specific resource to highlight its location in the
dependency diagram.
View Lookup Usage
You can view the specific action in an integration in which a lookup is being used.
- Click View dependencies .
- Hover over a lookup in the dependency diagram to see the
integrations in which it is used.
- Click the lookup for a closer view.
- In the lookup, click Actions
, and select Usage.
The Usage panel is displayed.
- Expand the integrations in the panel to see the actions using the
lookup. For this example, log actions in two integrations are using the
lookup.
- Hover over a log action name to display a copy icon for copying the name.
- Go to the specific integration and click Search to open the Search panel.
- Enter the name to find its location in the integration.
Navigate to the Dependency Diagrams of Remote Projects
If your dependency diagram includes dependent resources in other (remote) projects, you can access the dependency diagrams for those projects.
- Click View dependencies .
- Hover over a remote project in the dependency diagram. These projects are identified by the word Project and the project name.
- Click Actions
, and select Open.
The remote project opens in a second browser tab.
- View resources in the second project, then close the browser tab when done.
View the Dependency Diagrams of Different Integration Versions
The latest active minor version of an integration is shown by default in the dependency diagram. You can also view all minor versions of an integration in the dependency diagram.
- Click View dependencies
for a project with multiple integration versions. For this example,
LocalInvoke1 has three minor versions.
- From the Minor versions list, select
Show.
- Hover over the integrations to see the versions and their dependent
resources. For this example, minor version 1.0.2 is shown.
View Integrations that are Shared Between Projects
Integrations that are shared between projects are identified by a green circle in the dependency diagram.
- Click View dependencies .
- View the round circle for the second integration in the dependency
diagram. This circle indicates that this integration is shared between projects.
Integrations that are not shared with other projects are identified by a green
square.
- Hover over the shared integration and note that the tool tip
indicates this integration is available to other projects.
View Run Details About Integrations in Projects
You can view run details about active application integrations in projects.
- In the navigation pane, click Projects.
- Click the project name or click .
- In the Integrations section, hover over the specific integration to view.
- Click Actions and select Run details. The metadata URL of the integration is displayed.
Edit Project Description Details
You can edit naming description details in user-developed projects that you specified during creation, such as the name, description, and keyword selections. You cannot change the project identifier value.
- In the navigation pane, click Projects.
- Click the project name or click .
- In the upper right corner, click Edit details .
- Optionally change the project name, description, and selected keywords.
- Click Save changes.