2. 2
Presenter Profile
Robert van Mölken
Oracle Integration Specialist since
Oracle SOA Suite 12c beta tester,
frequent blogger, presenter and SOA
SIG Lead for the OGh.
Linkedin: linkedin.com/in/rvmolken
Blog: technology.amis.nl
Twitter: @robertvanmolken
4. 4
Designer Portal
• Integrations: Connect two cloud applications and define how they interact
• Connections: Define connections to the cloud and on-promises applications
• Lookups: Map the different values used by your applications to describe the same thing
• Packages: A package associates to integrations and can be used as a way to group them
5. 5
Connections
Before creating a integration between cloud applications the connections
to these applications need to be defined first.
Integrations: Connect two cloud applications and define how they interact
Connections: Define connections to the cloud and on-promises applications
Lookups: Map the different values used by your applications to describe the same thing
Packages: A package associates to integrations and can be used as a way to group them
Before creating a integration between cloud applications the connections to these applications need to be defined first.
All connections are listed by default; a connection can have the status draft, in progress or configured.
Configured connections are connections that are ready to be used in integrations
To find specific connection there is a searchbox which accepts the * as a wildcard character. Every type of adapter has its own cloud icon.
Click on the info icon to display the created and last updated details of a connection.
On a (configured) connection it is possible to execute a few actions. A connections can be edited, cloned and deleted. Some connection allow the metadata to be refreshed.
A connection can be edited on the fly…
so if WSDL URL is changed or …
the credentials are changed the settings can be updated.
Connections can be tested by clicking on the test button.
There are 9 kinds of connection types:
Oracle ERP Cloud: Connector for the Oracle ERP Cloud
Rest Adapter: Generic Connector for REST APIs
Web Service (SOAP) Adapter: Generic Connector for Web Services
Eloqua (Marketing Cloud): Connector for the Oracle Marketing Cloud
Messaging Cloud Service: Connector for the Messaging Cloud Service
Oracle HCM Cloud: Connector for the Human Capital Management Cloud
Oracle Sales Cloud: Connector for the Oracle Sales Cloud
Oracle RightNow: Connector for the Customer Service Support Cloud
Salesforce: Connector for the Salesforce CRM (SaaS)
To create a new connection click on the “Create new Connection” button at the top right corner.
For this connection we select the Rest Adapter.
Create the connection by giving it a unique name / identifier and a version number. You can have multiple versions with the same connection name. A description is optional but useful any day.
The initial connection is created. On this page the connection settings can be configured like the admin email address to report problems or changes of this connections and the URL and Security settings.
Clink on Configure Connectivity button to enter the REST URI
First enter the REST URL of the Service and click on the “OK” to accept the value.
Secondly add the security credentials when needed or select the no security policy option.
Finally click on the “Test” button to test the connection settings…
If the test is successful the connection will get the status “configured” and can be used by integrations. Save the connection by clicking on the “Save” button.
Click on the “Exit” button to return to the list of connections…
The newly created connection has the status “Configured” and is by default visible on the top of the list.
After defining the connections it is time to create a integration between two cloud apps.
All integrations are listed by default; a integration can have the status draft, in progress, configured, active or failed activation…
Integration with the status “Configured” are 100% valid and ready to be activated…
After succesfully activated the integration is active and the adapters can exchange messages, but…
When activation of an integration can fail, for example the created mapping(s) are not valid or one of the used connections has problems.
To find specific integration there is a searchbox which accepts the * as a wildcard character. This example shows all integration that start with the letters KV.
On a integration it is possible to execute a few actions based on its status. A connections can be viewed, edited, cloned, exported and deleted. Active connections can be deactivated. Some actions are disabled in certain statuses.
When viewing or editing an integration the Integration Canvas is used. It consist of a source and target adapter connection. Between the adapters you can create mappings for the request and for the response flow. It is also possible to enrich data by calling a second adapter. This is possible on both the request as response flow just after the source and target adapter.
When viewing or editing an integration the Integration Canvas is used. It consist of a source and target adapter connection. Between the adapters you can create mappings for the request and for the response flow. It is also possible to enrich data by calling a second adapter. This is possible on both the request as response flow just after the source and target adapter.
A Generic SOAP Connection can be created without the creation of a connection. First enter the basic information and choose to define it from an existing schema or in this example a WSDL.
Secondly enter the WSDL URL and choose the Port Type and Operation to use.
In this example it is also a Generic SOAP connection, it works just like the source SOAP connection, but uses a different UI.
Besides the source every integration needs a target.
If extra data is needed that is not available in the request or reponse message of an adapter it is possible to use callouts to a second adapter connection.
In this example it is also a SOAP connection to the same service as the target, but it collects extra data from another operation.
A integration is nothing without mappings. There is a request and response mapping, but first lets look at the request mapping…
The request mapping is straight forward. The input is mapped to the only field available.
Secondly lets look at the response mapping…
The reponse mapping, maps the response from the target adapter to the source adapter. If you have callouts the variable data is also available for this mapping. In the response mapping you can have access to a maximum of four data objects. To view the XSLT mapping behind it or to create more advanced mappings, click on the element name…
In this detailed view mode you can mapped source fields to target fields, view to used XSLT and possibility to edit the structure using Mapping Components.
Mapping Components include funtions for conversions, dates and strings, Operators and XSL elements like choice, when, other structures.
Other options include the view options for collapsing the structure and scrolling to first or last element…
It is also possible to filter on the available fields to show all fields, only mapped of unmapped fields, or to only show fields from a specific data object.
The source and target trees can be detached as well by clicking on the “Detach” button…
This view can be useful if you have a lot of indentions.
Intergrations differ based on the adapters and interface.
To create a new integration click on the “Create new Integration” button at the top right corner.
There are three kind of Integrations:
Map My Data: Drop source and target onto a blank canvas
Publish to ICS: Connect your source to send messages to ICS
Subscribe to ICS: Add targets to receive messages from ICS
To create a new integration click on the “Create new Integration” button at the top right corner.
There are three types of integrations. Map data between two cloud adapters, publishing messages to ICS or subscribing to message from ICS.
Create the integration by giving it a unique name / identifier and a version number. You can have multiple versions with the same connection name. A package name and a description is optional but using a package name you can group integrations together.
The initial integration is created. On the integration canvas the source and target adapters can be defined plus their mappings…
Let’s start by drag and dropping the Generic Web Service adapter from the Technologies catagory to the source.
Fill in the basic information. For this example the SOAP connections is defined from an existing WSDL. Click on the Details header to proceed.
Provide the WSDL URL and select the port type and operation. For this example I’m using a WSDL that is available publicly on the internet. Click on the “Done” button at the top right to accept the connection settings.
The source is created. The second part is to create the target. For the target we use the REST adapter we created ealier. The REST adapter can be found under the Connections list to the right. Drag en drop the adapter to the target dropzone.
Adapter connections are more advanced and more configuration is needed. This is done by a 5-step wizard.
In this first step give the endpoint a name and optional description. Define the endpoint relative to the given API url and HTTP method. It is possible to use template parameters in the Endpoint URI by using curly brackets with the name of the parameter in between. At last you can specify if you want to add / review request parameters.
When checking the “review Parameters” checkbox this step is shown where it is possibile to add query parameters and/or define the type of the template parameters.
Click on the “Next” button to proceed.
At the next step you can select the type of input the endpoint requests and using a schema of sample file you can define the data object.
Click on the “Next” button to proceed.
At the next step you can select the type of output the endpoint returns and using a schema of sample file you can define the data object.
Click on the “Next” button to proceed.
The last step contains the summary of the configured connection, like the service URI, method and response media type, but it also can show query parameters.
Click on the “Done” button to accept the settings and create the adapter.
The source and target is now created, I suggest to save the integration at this point, because it is not autosaved.
You can hide the connections palette to create more room for the integration.
Now it is time to create het request mapping, first click on the mapping image and secondly on the plus icon to create the mapping.
It is possible to map the source field CityName to the template parameter city, but for more advanced mappings click on the field you want to be mapped…
In the mapping builder you can also drag and drop the source to target fields, but you can also use mapping components to for example concatenate the two source fields.
This is the result, the mapping builder shows the created XSLT structure. To create the mapping, click on the “Save” button at the top right.
After saving return to the mapping to see the mapping you made visually.
Do the same for the response mapping.
This is also a easy mapping that can be done by dragging to source field to the target field.
If you exit the mapper without saving the latest changes a pop-up is show to ask if you want to save the changes that exist.
The integration now consists of a source, a target and the necessary mappings, but in the top right it is mentioned that the integration is still not completed.
Click on this image to find out why…
A pop-up is shown and list the tasks that are not completed yet. Every integration need to have tracking so lets add then.
Click on the “Close” button to return to the canvas.
Click on the “Configuration” button on top, to the right…
Configure the business identifiers to track this integration with. Drag and drop upto 3 fields to create business identifiers…
For each entry enter the mandatory tracking name and help text. A primary identifier is required. With multiple fields the primary identifier can be choosen.
Click on the “Done” button at the bottom-right corner to accept the values.
The integration is now 100% completed. Click on the “Save” button to save the latest changes and exit the canvas.
The integration is moved to the state “Configured” and is ready to be activated. To activate the integration click on the “Activate” button…
First a pop-up is shown. The activator has the choose to enable detailed tracing, but activation will take longer, because is add messageflow tracking.
Click on the “Activate” button ones more to activate the integration.
After a minute the integration is activated. The endpoint where the integration runs on is visible after clicking on the info icon.
Are there any question in this point of the presentations?
ICS also has a special kind of integration. It support the use of Lookups.
For everybody that uses SOA Suite, it’s a DVM.
The Lookups page show all lookups in one list. A few actions can be taken on each lookup. A lookup can be edited, cloned, expored and deleted.
A lookup is a table of connectors and domain value mappings. You can easily add other connectors or more values.
When adding a connector column you first need to select the connector for the values by clicking on the header name “Use Connector #”.
For example the Rest Adapter…
And enter the associated domain values.
A Lookup can also be exported to CSV
Or be imported by clicking on the “Import Lookup” button…
And selecting the CSV Lookup you want to import and click on the “Import” button.
The Lookup is imported and can be directly edited.
View and edit the Lookup where needed.
The lookup can be used in mappings using the lookupValue function.
The last feature of ICS are packages. With packages you can group integration together. Packages can also be exported and imported.
This is our package. To view all integrations part of this package click on the “Action” icon and select “View Integrations”.
It is possible the access the integration information and Enpoint URL.
This concludes the deep-dive. I’ll be answering questions these last few minutes.