Tag Archives: boomi connector

Tip of the Week – Dell Boomi Connector Design

Looking at developing a Dell Boomi Connector?  here’s our tips to get you started:

  1. Understand what type of Web Services API the app is using. For example: REST or SOAP, etc. What about the supported document format? XML or JSON?
  2. Most applications have an authentication layer. Some authenticate using BasicAuth, some  use an API Key in the HTTP Request Header, some use OATH. This information should ideally be captured in the Connector Connection. It is highly recommended to encode any password related field for security best practice.
  3. Decide the supported operations. Does the API support QUERY? UPDATE? CREATE?
  4. The browser and schema generation. A Boomi Connector is capable of generating the schema each operation supports. Some applications provide a metadata API that you can connect to and describe the schema on the fly. Some  use a fixed schema.
  5. The final step is to design the Operation. When your Connector receives a response from the API, how do you want to process it? Serve it raw as is or does it need any further manipulation. Error handling should also be considered here.

Boomi Connector: Using JSON Schema

In the latest Boomi connector SDK, you can now write a custom connector to work with JSON profile instead of using the convention XML profile. So how to do this?

Let’s take the following JSON schema as an example:

{  
   "$schema":"http://json-schema.org/draft-04/schema#",
   "title":"Product set",
   "type":"array",
   "items":{  
      "title":"Product",
      "type":"object",
      "properties":{  
         "id":{  
            "description":"The unique identifier for a product",
            "type":"number"
         },
         "name":{  
            "type":"string"
         },
         "price":{  
            "type":"number",
            "minimum":0,
            "exclusiveMinimum":true
         }
      }
   }
}

The main object element in the JSON schema is “item”. In the connector browser, we just need to declare “item” as the element name (or they call in pointer in the connector) and specify the input and output type as below:

ObjectDefinition objDef = new ObjectDefinition();
objDef.setElementName("/" + elementName);
objDef.setInputType(ContentType.JSON);
objDef.setOutputType(ContentType.JSON);

objDef.setJsonSchema(jsonStr);

That’s all! Happy coding 😀

The REST API in JIRA 5

Recently, we’ve had a number of customers requesting us to integrate JIRA 5 with their on-premise applications (Bugzilla, Microsoft Dynamics AX and some home grown apps) or cloud applications (Salesforce and RightNow).
This is not the first time we have delivered JIRA integrations.  For our previous JIRA integrations we used the Boomi Atomsphere JIRA 4 connector that we had written, that connector uses the SOAP API.
However, the exposure to JIRA 5 is a pleasant surprise for us as it is bundled with the latest, cleaner and simpler web service – JIRA REST API.
The new JIRA REST API (https://developer.atlassian.com/static/rest/jira/5.0.html) has made our life easier as now we have more flexibility in accessing or updating the data in JIRA remotely.  In addition the performance is far better than the deprecated SOAP API.
The REST API Browser (RAB – https://developer.atlassian.com/display/RAB/Overview+of+the+Atlassian+REST+API+Browser) allows us to understand the REST operations available in JIRA better. We can  run the test using RAB against our customer development sandbox before deploying the integration into production. This helps to save the customer’s resources and reduce the risk when the integration goes live. If you want to know more about RAB, you can try it out by installing the Atlassian Plugin SDK (https://developer.atlassian.com/display/DOCS/Atlassian+Plugin+SDK+Documentation).
Another useful tool that we used in our integration development is the JIRA REST Java Client (https://studio.atlassian.com/wiki/display/JRJC/Home). Oh yes, you might find this helpful only if you are familiar or in LOVE with Java 😀