Introduction

The IBM Service Oriented Architecture Transfer Tool provides a command-line tool for transferring services and their metadata from IBM WebSphere Service Registry and Repository (WSRR) to API Connect. The tool can transfer SOAP and REST services from WSRR and take the service metadata from WSRR: properties, classifications, state. The tool takes a set of services belonging to an organization and transfers them into API Connect. The tool can also take a single service version and transfer it.

The tool can be customized to search for services and metadata in various ways, if you have a custom profile. The tool can be customized to change which data from WSRR is used to create the API definition, if you have custom metadata. The tool will transfer in production (“Operational”) services and applications, and can be customized to transfer services and applications in other states.

The tool can push APIs and Products to drafts and can optionally publish Products and APIs to Catalogs.

The tool can find consumers of a service in WSRR and create Applications in API Connect and subscribe these Applications to APIs, to represent the consumers of a WSRR service in API Connect.

For more details see the NPM page for the tool.

Installing

The tool relies upon the API Connect Toolkit which must be at a level of 5.0.8 or higher. This also needs NodeJS version 4 or 6 and NPM to be 3 or higher. Details requirements are in the Knowledge Center.

First you run the commands to check the various versions and see the output:

$node –v
v4.4.4
$npm –v
3.10.8
$apic –v
API Connect: v5.0.8.0 (apiconnect: v2.7.28)

To install the tool, you run the following command to install from the NPM public registry:

$npm install –g apiconnect-soa-transfer-tool
└─┬ apiconnect-soa-transfer-tool@1.0.0
├── abbrev@1.1.0
...

Next you validate the tool is installed:

$soatt –v
SOA Transfer Tool - Transfer Services from WebSphere Service Registry and Repository (WSRR) to IBM API Connect v5 - Version 1.0.0
apiconnect-soa-transfer-tool Transfer Tool version 1.0.0

Running a connection test

Next you configure the tool to talk to your WebSphere Service Registry and Repository (henceforth known as WSRR) server, and your API Connect Management server.

First you chose a directory to run the tool from. Because the tool is installed as a global command, you can run it from anywhere. However, the tool will look in the current working directory for its configuration file.

In the following example you create a directory “c:\temp\tooltest” to test in.

C:\temp>mkdir tooltest
C:\temp>cd tooltest
C:\temp\tooltest>

Next you copy the provided sample configuration file into this directory. The file is stored in NPM home/node_modules/apiconnect-soa-transfer-tool/connectionproperties.properties and should be copied into C:\temp\tooltest. On Windows the command to use (for the user “IBM_ADMIN”) is:

C:\temp\tooltest>copy "c:\Users\IBM_ADMIN\AppData\Roaming\npm\node_modules\apiconnect-soa-transfer-tool\connectionproperties.properties" .
1 file(s) copied.

Next you open the file in your favorite editor and configure the connections to WSRR and API Connect.

Configure the WSRR server

The details of a sample WSRR server are as follows:

Hostname: wsrr.hursley.ibm.com
Port: 443
Username: admin
Password: password
Protocol: https

The user and password for WSRR is someone who can read the services in WSRR.

Edit the connectionproperties.properties file and change the values at the top to match.

Save the file.

Next you test the WSRR connection by running the following command:

C:\temp\tooltest>soatt --testWSRRConnection
SOA Transfer Tool - Transfer Services from WebSphere Service Registry and Repository (WSRR) to IBM API Connect v5 - Version 1.0.0
2017-04-11 15:41:04:496: Connection to WSRR successful

The tool issues a success message if the connection works.

Configure the API Connect details

The details of a sample API Connect management server are as follows:

Username: apiuser@ibm.com
Password: password
Hostname: apimdev1248.hursley.ibm.com
The details of a sample API Connect developer organization are:
Username: apideveloper@ibm.com
Password: password
Developer organization name: wsrrdev_sb

The user and password for the API Connect server is someone who can log into the API Manager UI, and they need to have permission to create drafts.

The user and password for the developer organization should be the owner of the developer organization.

The tool configuration takes the username and password, but also uses the API Connect “apiIdentifier” string. This can be found by logging into the API Connect API Manager UI and navigating to the Dashboard:

Then click on the “Show app identifier” link:

Copy the value shown, for example “apic config:set catalog=apic-catalog://apimdev1248.hursley.ibm.com/orgs/wsrrdev/catalogs/sb

The name of the developer organization can be found by clicking on the Catalog and then clicking the Community tab:

The developer organization name is shown as “wsrrdev_sb”.

The tool will also work against the API Connect for Bluemix service. Your IBM ID credentials are used for the API Connect server credentials, and you need to create a new developer organization which is not a “Bluemix developer organization”, assign an owner, and then use the owner credentials for the developer organization.

Once you have gathered all the values, edit the connectionproperties.properties file and add them:

Save the file.

Next you test the API Connect connection by running the following command:

C:\temp\tooltest>soatt --testAPICConnection
SOA Transfer Tool - Transfer Services from WebSphere Service Registry and Repository (WSRR) to IBM API Connect v5 - Version 1.0.0 2017-04-11 16:04:30:342: Connection to API Connect Server successful

Conclusion

This blog shows how to install the IBM Service Oriented Architecture Transfer Tool and configure it to talk to WSRR and API Connect.

A follow on blog post describes Transferring a service from WebSphere Service Registry and Repository to API Connect.

Join The Discussion

Your email address will not be published. Required fields are marked *