/ballerina-integrator

A powerful, simple-to-learn, code-driven approach to programming integrations

Primary LanguageJavaApache License 2.0Apache-2.0

Ballerina Integrator

Build Status License

A powerful, simple-to-learn, code-driven approach to programming integrations - based on the Ballerina programming language. It includes first-class cloud-native functions as well as a graphical sequence diagram tool.

The Ballerina Integrator appeals to those using decentralized integration architectures, microservices, and cloud-native apps.

Developers can now efficiently write code for their integration scenarios, merging the worlds of development and integration.

Ballerina

Ballerina is a new general-purpose programming language that makes it easy to write cloud-native applications.

Please visit ballerina.io to read more about Ballerina.

Key Highlights

Develop fast and resource-efficient integrations using code-based technology

Ballerina incorporates fundamental concepts of distributed system integration into the language and offers a type-safe, concurrent environment to implement microservices with distributed transactions, reliable messaging, etc.

Based on the interactions of sequence diagrams, Ballerina has built-in support for common integration patterns and connectors, including distributed transactions, compensation, and circuit breakers.

With first-class support for JSON and XML, Ballerina makes it simple and effective to build robust integration across network endpoints.

Cloud-native, microservices ready

The container-friendly super lightweight Ballerina Integrator runtime seamlessly works with Docker, Kubernetes, Prometheus, and other cloud technologies.

Enables a true agile approach to API-centric integration

With the use of Ballerina language, the Ballerina Integrator marks a revolutionary new phase of API-centric integration. Using this programming language, integration developers can apply agile methodologies, bringing a new degree of speed and agility to integration projects.

Easy to learn; complete with out-of-the-box templates

Easy adoption by any developer familiar with C-based languages. Tooling includes most popular integration templates.

Composition

Mainly consists of below-stated components.

  • Ballerina language runtime
  • Connectors that enable integrations with popular enterprise systems
  • Protocol level connectors to integrate with well known standard systems
  • Development tools (Visual Studio Code plugin)
  • Integration templates to quickly implement an integration

Key features

  • Protocol Connectors: HTTP, File, gRPC, AMQP, NATS, Kafka, JMS
  • Connectors: Salesforce, Amazon S3, Amazon SQS, SAP
  • Integration Templates: projects with all key integration scenarios using pre-built templates (EIPs, Samples, scenarios..).
  • Sequence diagram visualization of your integration scenario.
  • Connected design, development, test and deployment experience.

Getting started

You can use the following options to try out Ballerina Integrator and get started.

Contributing to Ballerina

As an open source project, the Ballerina Integrator team welcomes contributions from the community. To start contributing, read these contribution guidelines for information on how you should go about contributing to our project.

Reference to the list of Ballerina Integrator connectors can be found here.

Check the issue tracker for open issues that interest you. We look forward to receiving your contributions.

License

Ballerina Integrator code is distributed under Apache License 2.0.