[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration

Post on 21-Jan-2018

224 views 1 download

Transcript of [WSO2Con EU 2017] Ballerina Connectors for Seamless Integration

Associate Technical Lead, WSO2

Ballerina Connectors for Seamless Integration

Maheeka Jayasuriya

Connectors for Integration

• Integration is dynamic• Convenient and fast• Adaptive and seamless

• Easy and fast integration• Hide complexity of direct

API access• Simple and clean API invocations

Abstraction of a Connector

“A connector represents a participant in the integration and is used to interact with an external system or a service

that’s defined in Ballerina.”

Ballerina Connectors

“An action is an operation you can execute against a connector. It represents a single interaction with a

participant of the integration.”

Actions in Ballerina Connectors

Visualizing Connectors

• Server connectors• Client connectors

Ballerina Connector Types

• Connector as a server– HTTP(s), WebSocket– JMS, File, IO

Server Connector

HTTP Server Connector

Invoking the HTTP Service

10

Client Connector

• Connector as a client– HTTP(s), WebSocket– Salesforce, Twitter– JMS, File, SQL

HTTP Client Connector

API Connectors

Writing a Connector

Ballerina Twitter Client Connector

https://github.com/ballerinalang/connectors/blob/master/twitter/src/org/wso2/ballerina/connectors/twitter/ClientConnector.bal

Defining a Connector

Defining Actions

Twitter API: Tweet

https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-update

Defining Tweet Action

Defining Tweet Action

Using the Twitter Connector

Further with connectors ...

Endpoint Declaration

Endpoint DeclarationBase Connector

Endpoint DeclarationBinding Connections

• Timeout• Retry• Circuit Breaker

Resiliency with Ballerina

• Connecting systems• Data transformations

Connector Integrations

• Complexity of direct invocation• Simple and fast• Readily available connectors• Frequency of access

When to Use a Connector?

wso2.com