Data Integration with WSO2 Enterprise Integrator (WSO2 EI) part I

Hasunie Adikari
4 min readOct 17, 2017

--

Introduction

Wso2 Enterprise Integrator is a collection of profiles for comprehensive integration solutions. It handles the application communication through the EI without directly communicating each of them with various formats by routing and transforming to the right destinations. It contains four runtimes, Enterprise Service Bus profile for short running stateless integration flows and dataservice, Business Process Server is for long running stateful business processes and Analytics runtime for continuous monitoring and Message Broker makes sure the reliable messaging.

It is available as a single downloadable runtime or public cloud.These profiles can be run together or separately according to the business use case.

Let’s see the business scenario that I need to address in here.

Business use case 1 : Manager wants to trigger an operation to create an incident/ issue on the serviceNow portal and create a JIRA ticket while updating the relevant records in the Salasforce account through a single interface.

Diagram:

We need to have third party products interactions in order to achieve the particular business scenario.It makes sense to handle the usecase through the WSO2 connectors which allows to interact with functionalities and data of third party products from the WSO2 ESB message flow.It enables to access the relevant service (twitter, facebook..etc) apis and receive the requested information into the message flow. We can use any number of connectors to achieve the goal. It’s totally rely on the relevant business scenario that you may want to address.

By considering the aforementioned task, we have to engage with three type of connectors.

  • ServiceNow.
  • Salesforce.
  • JIRA.

No more additional cost. We can download and install them from here.

ServiceNow connector:

ServiceNow is a software platform that supports IT service management and automates common business processes.

ServiceNow connector allows to access ServiceNow Rest APIs. Here, we are about to create Service Now incidents. Incident Management allows IT to capture incidents through a self‑service portal, chat, email, phone, and incoming events and prioritize them based on agreed service level targets.

Sales force REST connector:

Salesforce is a best customer relationship management platform. WSO2 salesforce REST connector allows you to access the salesforce account records by triggering CRUD operations. Salesforce connector uses the Salesforce REST API to interact with Salesforce.

JIRA Connector:

WSO2 JIRA connector allows you to connect to JIRA while it access the JIRA REST API version 6.1 to connect to JIRA, view and update issues, work with filters, and more

Here find the steps to configure the environment.

  1. Download the WSO2 EI 6.1.1 from here
  2. Download the Eclipse and install the wso2 developer studio plugin on it.

WSO2 developer studio provides graphical and editing view of integration artifacts.

3. Create the developer accounts for

Salesforce (https://login.salesforce.com/)

Service Now (https://developer.servicenow.com) -

create an instance through the serviceNow developer account.

JIRA (https://intede.atlassian.net/)

And keep its credentials for access relevant account records.

1 STEP

Open the wso2 developer studio dashboard and create an ESBConfig project to save the all artifacts such as sequences, proxy services, endpoints sequences and synapse configurations.

To create an ESB Config project

Open the Developer Studio Dashboard (click Developer Studio > Open Dashboard) and click ESB Config Project in the Enterprise Service Bus category.

  1. If you want to create this ESB project from existing configuration files, select Point to Existing Synapse-configs Folder. Otherwise, leave New ESB Config Project selected. Click Next.

Do the following:

  1. Type a unique name for the project.
  2. If you selected the option to point to an existing Synapse-configs folder in the previous step, click Browse and navigate to the folder containing the configuration files.
  3. Optionally specify the location where you want to save the project (or leave the default location specified).
  4. Optionally specify the working set, if any, that you want to include in this project.
  5. A Maven POM file will be generated automatically for this project. If you want to include parent POM information in the file from another project in this workspace, click Next, click the Specify Parent from Workspace check box, and then select the parent project.
  6. Click Finish.
  7. If you specified a folder with existing configuration files, specify whether you want to open those files now.

The new project has now been created in the workspace. If you browse inside the project, you will see a project structure as below, with folders created for different resources such as endpoints, local entries, proxy services, and sequences.

2nd Step

Configure the connectors

  1. Right click on the project where you want to add the connectors and click on Add or Remove Connector.
  2. Select Add Connector and click Next on the wizard.
  3. If you have not downloaded any connectors, select the Connector Store location option to connect to the connector store from Developer Studio and import the required connectors into the workspace. Set https://store.wso2.com:9448 as the connector store location and click Connect. Select the required connectors and click Finish.

Here we import serviceNow,JIRA and Salesforce connectors.

Since we are going to expose single API to create JIRA, incident and SF record

We can create rest api through the developer studio Esbconfig project

Right click on the api folder and create a REST api by provding the name and the context.

--

--

Hasunie Adikari
Hasunie Adikari

Written by Hasunie Adikari

Ex Associate Technical Lead— WSO2

Responses (1)