This is the first blog in the FlexDeploy Loves OIC blog series:
- FlexDeploy Loves OIC: Series Overview
- FlexDeploy Loves OIC: Manage Integrations with Connections
- FlexDeploy Loves OIC: Manage Connection Property Replacement
- FlexDeploy Loves OIC: Continuous Integration
- FlexDeploy Loves OIC: Automated Testing
- FlexDeploy Loves OIC: Continuous Delivery with Pipelines and Releases
- FlexDeploy Loves OIC: Manage Connections, Lookups and Libraries
Oracle Integration Cloud (OIC) provides the ability to develop an integration in the cloud. The integration can connect cloud and/or on-premise applications, however, these integrations are maintained directly in the cloud and not in any Source Code Management (SCM) system. Deploying an integration from one OIC instance to another OIC instance is a manual process. It requires exporting an integration from one instance and importing that integration into the next instance. In addition, the associated connections must be sync’d between instances. Due to the manual nature of managing the integrations, there is very limited delivery lifecycle management.
FlexDeploy provides build, deploy, release automation and delivery lifecycle management to eliminate the manual deployment process and easily show what integration version is in which environment. In this blog, we will show how to configure FlexDeploy to
- communicate with an OIC instance
- export/import an integration
- manage the associated connections in a single operation to simplify the integration deployment
At a high level we will walk through the following steps:
- Create the workflows for building and deploying OIC Integrations
- Create the OIC Cloud Account
- Update all of the topology with the Cloud Account
- Configure the Project
- Revel in our glorious work
The setup process outlined throughout this article can be expedited by using FlexDeploy Blueprints.
Ditch limited delivery lifecycle management and switch to agile, high quality, and cost-effective software delivery.
Workflows
This section will walk through the process of creating the build and deploy workflows for OIC.
To create the build workflow, go to the Workflows page and click Create in the upper right corner to create a new workflow. This will be the configuration for the build workflow:
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-1.png?lossy=1&strip=1&webp=1)
After clicking on Save, the workflow canvas will be open. Workflows are sequences of plugin operations that will be executed by FlexDeploy to achieve the build process. Workflows can be as simple or as complicated as needed. Search for and drag the exportIntegration(Oracle Integration Cloud) operation from the plugin palette (lower right pane) on to the workflow canvas. Once the operation is placed on the canvas, it will open up for additional configuration as shown below.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-3-1024x537.png?lossy=1&strip=1&webp=1)
There are 5 inputs that can be configured and we will leave everything as defaulted. If Manage Connections is unchecked, the user will have to manage the connections in a different manner such as using the exportConnections/updateConnections operations within the same or a different workflow. Click Done to head back to the canvas. Activate this workflow so it can be executed. The workflow should look like this:
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-4-1024x238.png?lossy=1&strip=1&webp=1)
Now we need to create the deploy workflow. Click workflows in the breadcrumbs or menu to get to the workflow listing and click on the create button in the upper right corner again to create a second workflow. This will be the configuration for the deploy workflow:
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-6.png?lossy=1&strip=1&webp=1)
After clicking on Save, the canvas will be open again. Search for and drag the importIntegration (Oracle Integration Cloud) operation from the plugin palette (lower right pane) on to the workflow canvas.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-7-1024x537.png?lossy=1&strip=1&webp=1)
Similar to the build workflow, we are going to leave everything as default here. The most noteworthy input, OIC Connection Plan, allows the user to provide a connection plan file that would allow a connection property to be changed by environment through the use of FlexDeploy property replacement. If no file is provided, the connection information will be the same in each environment. Click Done, and activate the workflow. The workflow should look like this:
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-9-1024x500.png?lossy=1&strip=1&webp=1)
Cloud Account
OIC, being a cloud platform, makes use of FlexDeploy Cloud Accounts to reduce repeated information throughout FlexDeploy. We are going to create a Cloud Account for the OIC development environment. Navigate to Integrations->Cloud and click the Create button to create a new Account. You will make one cloud account for each OIC environment that you are connecting to.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-10-1024x526.png?lossy=1&strip=1&webp=1)
A new page will have you enter the url for the OIC instance as well as the username/password. Be sure to set the Provider as OIC! See the documentation about how to setup your OIC environment and FlexDeploy for authentication as it is a bit challenging.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-11.png?lossy=1&strip=1&webp=1)
This account can now be referenced throughout the application rather than specifying these properties over and over.
Topology Creation
The configuration starts with the creation of several topology components such as environments, instances and endpoints. I won’t cover the creation of these components however each of the links will provide the user guide pages for each component. Once the topology components, workflows, and a project are created, the targets will be created to allow configuration of each OIC environment. This will be the main configuration to be able to communicate with the OIC instance. Use the menu to go to Topology. This will bring you to the Targets page. Create a new target and name it OIC.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-14-1024x263.png?lossy=1&strip=1&webp=1)
Now create one or more environments for each cloud account that you added. Make sure that the dev environment has its build environment flag checked.
Now we will create a project and setup our workflow and target group mappings, which links the workflow properties to our targets.
Project
Now we can create the project that will utilize these workflows and allow us to execute the build and deploy processes. Click the Plus(Quick Create) in the very top near the right edge of your screen and choose Create Project. Choose Blank Project.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-12-1024x154.png?lossy=1&strip=1&webp=1)
Name the project for the integration that you will be migrating and click Save.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-13-1024x695.png?lossy=1&strip=1&webp=1)
The project will open when you save it. Click configuration in the project menu and scroll down to the Build and Deploy sections to enter the workflows and target groups. Press Ctrl+S or scroll down and click Save.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-15-1024x607.png?lossy=1&strip=1&webp=1)
Now the target group and the workflows are associated, so let’s go back tot he topology screen and configure our properties.
Topology Configuration
Go back to the topology screen. Search for OIC if you already have a lot of targets and it is hard to find. Click on the circle for one of the environments.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-17-1024x157.png?lossy=1&strip=1&webp=1)
Select your OIC Account.
Click Save.
If you have more environments to update, use the environment drop down to choose another to work on.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-20-1024x780.png?lossy=1&strip=1&webp=1)
Repeat this setup for QA and PROD creating necessary cloud accounts along the way. The topology overview should look like the following with all green circles once completed.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-21-1024x157.png?lossy=1&strip=1&webp=1)
We are now ready to start executing the project.
Execution
Now that we have everything configured, it is time to execute the build workflow that will export the given integration and create the appropriate artifacts. Then we will be able to deploy this artifact to any number of environments and understand what version of the integration is in an environment at any given time. On the project, click the Build button to initiate the Build Request Form. Select the build environment and click on Submit to start the execution.
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-22-1024x460.png?lossy=1&strip=1&webp=1)
Upon completion of the build, a project version is associated to this build and an executionId link will be available that will allow you to see the workflow execution, created artifacts, logs and properties.
Now that we have a successful build and artifacts created, we can deploy this artifact to the next environment by clicking the Deploy button on the row. Select the following options:
![](https://b1286009.smushcdn.com/1286009/wp-content/uploads/2019/01/image-23-1024x407.png?lossy=1&strip=1&webp=1)
By using FlexDeploy, organizations establish an automated and repeatable process for building, packaging, and safely deploying code, APIs, meta-data changes, and data migrations from development through test to production environments.
Conclusion
This was the initial blog for the FlexDeploy Loves OIC series and covered a large portion of the configuration that is required for the entire series. Many of these configurations won’t change over time and we will build on the work done. In this blog, we have shown how FlexDeploy can work with an application that doesn’t follow the standard build/deploy scenario and provide the lifecycle management that we desire. In the next blog, we will build on this and cover how to manage connection properties that change per environment.
Previous Post: FlexDeploy Loves OIC: Series Overview
Next Post: FlexDeploy Loves OIC: Manage Connection Property Replacement