The growth of digital services, mobile apps, and connected devices are creating an explosion of endpoints, from APIs to events, data streams, microservices, serverless apps, and other digital assets. Developers today need a more modern and agile approach to connect to these endpoints than a traditional centralized enterprise service bus (ESB) can offer. Ballerina 1.0, now generally available, delivers on this by providing cloud native middleware as a programming language for the first time. As a result, the new language from Ballerina, the open-source project created and sponsored by WSO2, radically simplifies how developers will build and deploy cloud-native distributed applications and services.
"Modern applications are effectively integrations of services, data, transactions, and processes from a vast array of resources to deliver innovative, new services. But ESBs and other traditional integration approaches have failed to keep pace. The Ballerina programming language is facilitating a major evolutionary leap in the development of cloud-native distributed applications that are tearing down the outdated barriers between app development and integration to enable greater agility, performance, and resiliency. And it's accelerating the ESB's path to extinction in the process." said Dr. Sanjiva Weerawarana, founder and leader of the Ballerina Project.
Ballerina 1.0, which is available under the Apache License, is being announced in conjunction with ApacheCon North America 2019. Ballerina, an ApacheCon Gold Sponsor, will offer technical sessions and demos of the new Ballerina release at the event. WSO2 CTO Paul Fremantle will also hold a session on Tuesday, September 10 at 2:30 p.m., "Ballerina - Re-inventing Middleware in a Programming Language." ApacheCon North America 2019 is being held September 9-12, 2019 at the Flamingo in Las Vegas, Nevada.
Ballerina is the first language based on the concept that modern application programming involves creating and consuming APIs. Modeled on the notion of sequence diagrams, Ballerina programs are self-documenting and fit cleanly into the patterns of microservices and cloud-native development. Creating RESTful and gRPC APIs is concise, simple and clear. Early users report that developing APIs in Ballerina is more effective than other languages because the syntax is designed around services; endpoints; network types, such as JSON and ProtoBuf; and simple annotations automatically create deployments for Kubernetes, Docker, and Istio.
The Ballerina language has been architected to serve as the core of a language-centric platform for cloud-native applications and microservices. It has all the general-purpose functionality expected of a modern programming language but also introduces several unusual aspects that make it particularly suitable for programming and consuming APIs.
These include:
Existing ESBs have significant shortcomings in meeting the needs of modern app development and integration, including promoting the bottleneck of centralized development, poor fit with agile development, and underpowered configuration languages that result in a poor reputation with developers. Unlike ESBs and business process workflow tools, Ballerina is designed to fit into a modern development lifecycle—working properly with continuous integration and continuous delivery (CI/CD) tools, such as Jenkins, Travis and Codefresh; observability tools, such as Prometheus, Zipkin, and Honeycomb; and cloud orchestration systems like Kubernetes. And unlike an ESB configuration language, Ballerina is a full programming language, so developers don't run out of headroom when solving complex problems.
Ballerina 1.0 also includes experimental features that add constructs for other middleware functionality, such as event stream processing and distributed transactions. Workflow and reliable messaging capabilities are also in the pipeline.
"We were attracted by Ballerina's cloud-native features, such as the automatic generation of Docker, Kubernetes and Helm artifacts, as well as its small footprint and faster boot times. It also capable of running as Lambda function (serverless) in AWS. Together, these capabilities have enabled us to easily run microservices in containers at scale and integrate with CI/CD tools with less effort," stated Sri Harsha Pulleti, integration architect and senior manager, Motorola.
"Ballerina will enable fast, quality, 12-factor ready deployments out of the box. The strong annotation set is a great 'batteries included' approach that will have Devs and Ops collaborating from the start of development," said Jim Kittle, an application architect at a leading university in the United States. Read about the implementation here.
"[With Ballerina] you can get sequence diagrams automatically. When things start to get complicated and you need to understand and socialize with the rest of your team what it is that you're building, these diagrams become very helpful," stated Christian Posta, field CTO, solo.io.
Address:
1855 S Ingram Mill Rd
STE# 201
Springfield, Mo 65804
Phone: 1-844-277-3386
Fax:417-429-2935
E-Mail: contact@appdevelopermagazine.com