Write Integrations as Code with Ballerina

Ballerina is an open source language designed for cloud native applications and seamless integrations. It excels in enabling APIs, supporting event-driven integrations, and automating workflows.

With powerful network data type support and a wide range of connectors, Ballerina facilitates robust interactions across systems. Its built-in concurrency and resiliency make it ideal for developers aiming to streamline complex integrations efficiently.

Download Learn More

Why Ballerina

Integration is development. Why make life harder for developers to write integrations by giving them restricted drag-and-drop tools / DSLs or generic languages?

Just write the code using the only language with integration-friendly abstractions.

Solve Any Integration Challenge

Rich ecosystem of network protocols, data formats, and connectors

Edit/view source code textually or graphically as sequence diagrams and flowcharts

Built-in, easy, and efficient concurrency with sequence diagrams and safety primitives

Automate anything

  • Automation is just code after all - write a main() and do whatever you want.
  • Use the Ballerina library to connect to any system, speak any protocol, process any data, and run it anywhere (on a VM, in Kubernetes, or just as a script).
  • Powerful data transformations that can be simultaneously programmed graphically and as code makes data integration a breeze.

Event-driven integrations

  • Events are core to the responsive enterprise. Ballerina makes it simple to consume or produce events.
  • Subscribe to any event source, including WebHooks, Kafka, GraphQL, gRPC, AMQP, and email, or react to system events like file uploads. A type-safe development model handles subscriptions, data binding, and error handling, allowing you to focus on your application logic
  • Be an event producer in any protocol you like.

Integrations as APIs

  • Ballerina's service creation abstractions make it simple to take any integration and make it reusable as an API.
  • Use Ballerina service types for HTTP services, WebSockets, GraphQL, gRPC, and more to take your integration code, parameterize it, and make it a reusable integration.
  • APIs are the new DLLs. Exposing your integrations as APIs is how your integrated capability adds new value to your business.

What is Ballerina Swan Lake?

Why should you start programming
with Ballerina?

Tutorial: Creating a service
in Ballerina

Powerful Visual Features

Instead of deciphering lines of code, Ballerina programs can be viewed and edited as sequence diagrams with flow charts. Service designers, data mappers, and entity relationship diagrams enhance efficiency throughout the development lifecycle, making maintaining and understanding integration applications a breeze.

WSO2 Subscription: Simplify Your Development

Design and implement integration applications with Ballerina effortlessly using a WSO2 subscription.

  • Custom library support
  • Migrate support from existing integration solutions
  • Updates for enhancements, security fixes, and performance boosts.
  • Expert support from professionals.
  • Optional services like architecture and code reviews

You can also explore our Ballerina community and tap into assistance from our Discord community. For more details, visit our community page.