Cloud Pak for Integration

 View Only

Connect ACE toolkit to Integration server running on CP4I

By Keshav Anand posted 8 days ago

  

Overview

Developers usually create a local ACE Integration Server on their workstations to develop and unit test their integration code quickly. Deploying bar files to local integration server is easy. Developers just need to "drag-and-drop" bar files onto the Integration Server.

However, there are scenarios where developers may want to deploy bar files directly onto a remote Integration server running on CP4I directly from their toolkits. Here is a quick recipe which helps you connect to a remote Integration Server running on CP4I underpinned by OpenShift. Towards the end, I also share steps to start a debugger on the remote integration server.

Recipe

1. Pick a sample bar file to deploy through the ACE dashboard from the Platform Navigator.

2. On the configurations page, add a server.conf.yaml configuration with the following parameters and finish deploying the Integration Server.
ResourceManagers:
JVM:
jvmDebugPort: 9997
RestAdminListener:
requireClientCert: false


3. After the Integration server is up and running,  find out the service name. This usually starts with the name of the integration server. Use the following command to get the service name.
oc get svc | grep <integration_server_name>

4. Use the service name to create a route to Admin UI running at port 7600.
oc create route passthrough <route_name> --service=<service_name> --hostname=<dns_address_of_route> --port=7600

For example:
oc create route passthrough dev-ace-toolkit --service=dev-ace-is --hostname=dev-tookit-cp4i.cp4i-dev-4c84f19c22c6eb1784ba9d2966faea77-0000.eu-gb.containers.appdomain.cloud --port=7600 -n cp4i


5. Now retrieve the admin credential to login to the Admin UI.
oc exec -it <Integration_Server_Pod> --cat initial-config/webusers/admin-users.txt

For example:
oc exec -it test-ace-is-is-96896cfcd-df6jg -- cat initial-config/webusers/admin-users.txt

6. On a browser window, access the Admin UI using the route address you created in  step 4 and login using the credentials you retrieved from step 5.


   You have now successfully verified the login credentials.

7. Open the IBM ACE toolkit, in the Integration Explorer window click on Connect to an integration server. Specify the following details
 
  • Hostname - dev-tookit-cp4i.cp4i-dev-4c84f19c22c6eb1784ba9d2966faea77-0000.eu-gb.containers.appdomain.cloud
  • Port: 443
  • Username: ibm-ace-dashboard-admin
  • Password: <retrieved from step 5>
  • Check the Use HTTPS option.

8. Click Finish to connect to the Integration Server.

Running Debugger on remote Integration Server

We added the debug port in Server Config yaml while creating the server. We can now use it to start a debugger on the Integration Server.

1. On the command line, start a port forwarding session at the debug port.
oc port-forward <Integration_Server_Pod> <debug_port>:<debug_port>

For example:
oc port-forward dev-ace-is-75d595c5c7-7hb9q 9997:9997


2. On the ACE toolkit, switch to the Debug perspective. Click on Debug Configurations..

3. Set the hostname to 127.0.0.1 and port to 9997 and click on Debug.


4. You can now start debugging your message flow.

Conclusion:

You have now successfully connected your ACE toolkit to a remote Integration Server. You can use this to do the following.
- Deploy bar files directly on the remote Integration Server with "drag-and-drop" feature on the ACE toolkit.
- Stop or start applications and message flows from the ACE toolkit.
- Start debugger on the Integration Server to troubleshoot any message flows.

Permalink