Packaging a Custom Boomi Connector

Having created a custom Boomi connector, the next step is packaging it as a Jar file for testing and release. This requires setting some configuration files that allow the Atom process to load and run your files.

Connector configuration file

The first configuration we need to set is the META-INF/connector-config.xml file. This file tells the Atom process which class implements your custom connector. This file must have a root XML element named GenericConnector and specify the class name of your connector — which must be the class that extends the BaseConnector class.

<?xml version="1.0"?>
<GenericConnector>
  <connectorClassName>com.sookocheff.boomi.connector.GitHubFollowerConnector</connectorClassName>
</GenericConnector>

Packaging a connector

The code for your connector and the connector-config.xml file should be packaged in a .zip file with the following structure:

  • lib/*: Jar files that implement your connector
  • META-INF/connector-config.xml: The connector config file

The connector descriptor files describe the capabilities of your connector. The Boomi user interface will use these files to display documentation and information about your connector to users.

Boomi offers an Eclipse plugin to help with packaging your connector according to this format. As an alternative, you can create Jar files from the command line using the jar command. First, navigate to the directory with your source code, then execute:

$ jar cf GitHubFollowerConnector.jar com/*

Lastly, you can zip this file together with your connector-config XML file.

Connector descriptor file

A connector descriptor file is required to publish your connector through the Boomi interface. The descriptor provides documentation to users on your connectors capabilities. The connector descriptor file is an XML file describing the authorization requirements for the connector, and provided some information on the available operations. A sample descriptor file is listed below.

<?xml version="1.0"?>
<GenericConnectorDescriptor
    browsingType="cloud"
    requireConnectionForBrowse="false">
    <description>GitHub follower example connector</description>
    <field id="url" label="URL" type="string">
        <helpText>A URL for getting help</helpText>
        <defaultValue>https://sookocheff.com</defaultValue>
    </field>
    <operation types="GET"/>
</GenericConnectorDescriptor>

Releasing a connector

Releasing a Boomi connector requires uploading the package to Boomi through the Boomi interface. This available from the Setup page where you first downloaded the Boomi SDK. Connectors are released and managed as part of connector groups. Each group is a collection of versioned connectors, allowing you to manage development, QA, and production connectors separately. To release a development connector requires first creating a connector group and specifying the package and connector descriptor file you created earlier. By default the uploaded package and description is added as the intitial connector version.

Wrapping Up

After publishing your connector, you should be able to use it during an integration process. All source code for this project is available at https://github.com/soofaloofa/BoomiConnectorSample.

comments powered by Disqus