[wso2con eu 2017] ballerina connectors for seamless integration
TRANSCRIPT
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