HCI: Transferring Integration Package Content from WebUI to Eclipse and back
HCI provides the following two different development environments for developing integration content.
- WebUI – web-based application for online development mode
- Integration Designer – Eclipse based tool capable of offline local development mode
WebUI is suited for fast consumption and deployment of pre-packaged integration content with minimal modifications; whilst the Eclipse IDE is suited for full fledged development of custom integration contents. This allows integration developers to choose the appropriate development environment based on their particular needs or circumstances.
However, as of the current tenant version, there is a disparity of features between both environments. Here are some examples of certain features available only on one of the environments but not the other:-
- XSL mappings cannot be created or edited in WebUI
- Certain Message Routing elements like Multicast or Aggregator cannot be created in WebUI
- Message Mappings cannot be tested in Eclipse (like how it is tested in NWDS for PI)
As such, this may necessitate the developer to switch between the two environments. However, there is no quick and fast way to achieve this as of the current tenant version.
In this blog, I will share the procedure how Integration Content (pre-packaged or custom) can be exported from the WebUI environment to Eclipse for further editing, and then reimported back into WebUI.
As HCI is a cloud solution with automatic rolling updates, future updates may incorporate changes to allow a more seamless transition between the two environments. Therefore these steps are only valid for the following versions and may be invalidated in the future.
Below are component versions of the tenant and Eclipse plugins.
HCI Tenant Version: 2.8.5
Eclipse Plugin Versions: Adapter 2.11.1, Designer 2.11.1, Operations 2.10.0
Step by Step Guide
We will use an example of transferring a pre-packaged integration content from WebUI to Eclipse and back.
Step 1 – Export Integration Package from WebUI
Login to WebUI, go to Discover to select an existing pre-packaged content. Select Copy to Workspace button.
Switch to the Design tab. Select the integration package and click Export.
The content will be downloaded as a ZIP file.
Step 2 – Extract project from ZIP file
Open the ZIP file in a ZIP file manager (example 7-Zip below). The ZIP file will contain several entries. One of the entries which ends with “_content” is listed as a file but is actually a folder.
Double click on that file and it will display a list of files and folders similar to an Eclipse project.
Extract the contents of the project folder into a local folder on the PC.
Step 3 – Import project into Eclipse
Start up Eclipse (which already has the HCI plugins installed). Select File > Import and choose Existing Projects into Workspace.
Browse to the folder with the extracted contents and select the available project(s).
Complete the import step and the project will be shown in the Project Explorer.
Step 4 – Determine content that needs to be changed
In this example, we will change the following three contents. The screenshots below display the content in WebUI prior to any changes. Some of the changes can actually be performed in WebUI, but this example is just to showcase the before/after details of changes done in Eclipse.
a) Content Modifier step with Message Header values
b) XSL mapping step which cannot be viewed/edited in WebUI
c) Groovy script
Step 5 – Modify content in Eclipse
Now we can modify the above three items in Eclipse.
a) Modify the value of one of the message header
b) Create a new XSL mapping and update the mapping step to use this new XSL mapping
c) Update the Groovy script with some comments
Step 6 – Update ZIP file with changed content
We will need to update the ZIP file downloaded in Step 1 with the contents that have changed.
Open the ZIP file in the ZIP manager, copy the files that have changed from the Eclipse workspace to the ZIP file. In the example below, the new XSL mapping file is copied into the src\main\resources\mapping folder of the ZIP file. This is repeated for the iFlow file and the Groovy script file into their corresponding folders.
Once all the relevant files are copied, return back to the main folder of the ZIP file. There will be a prompt that the “_content” file was modified, select OK to update it in the archive.
The file will be displayed with the latest details.
Step 7 – Import ZIP file back into WebUI
Switch back to WebUI. Before importing back the ZIP file, it is advisable to delete the existing package. I’ve tried importing to overwrite it but the process runs indefinitely.
Select Import and browse to the ZIP file.
Once the import is completed, it will be displayed in the Design Overview page.
Step 8 – View and verify the changes in WebUI
Select the Integration Flow and view it. Both changes (a) and (b) above can be viewed.
Select the Script element and view the underlying logic. The added comments are displayed.
Additional Steps for Custom Integration Package
For custom integration packages, they cannot be exported directly at first.
The content will be shown with a Draft version and there will be the following error message when trying to export it from WebUI.
In order to export it, select the draft Integration Flow to view the diagram and change to Edit mode. Then select Save as version. After saving a version, it can be exported into a ZIP file.
With this approach, we are now able to export content that was designed in WebUI into Eclipse for further enhancement and reimport it back to WebUI.