Santa Clara, CA, June 2, 2021 (GLOBE NEWSWIRE) – More companies are turning to cloud-native applications that incorporate APIs, events, data, microservices, serverless apps, and other digital assets across their business and ecosystems, in which they take part. ballerina is the open source language for cloud-native programming and integration designed to assist these organizations with a unique bi-directional mapping of sequence diagrams and code. The new Swan Lake Beta, available today, radically simplifies the development and deployment of cloud-native applications with an intuitive syntax for developing services and APIs, seamless JSON support, and built-in concurrency control.
“Modern applications are not islands – nor are the development teams responsible for them,” said Dr. Sanjiva Weerawarana, Founder and Head of the Ballerina Project and Founder and CEO of WSO2. “The Ballerina language enables developers to create cloud-native applications that are inherently integrations of services, data, transactions and processes. The new Swan Lake Beta version extends this functionality and enables companies to break down the barriers between app development and integration and between highly skilled and ad hoc developers in order to accelerate the delivery of innovative, new digital products and services. “
Ballerina is a 100% open source project created and sponsored by WSO2. All parts of the project are being developed openly at https://github.com/ballerina-platform.
Simplify cloud-native app development
Ballerina is an open source programming language for the cloud based on the concept that modern application programming revolves around the creation and use of APIs and was developed for cloud-native applications and microservices. Ballerina has all the universal functions of a modern programming language and offers unique language abstractions that facilitate the use, combination and creation of network services.
What is remarkable is that ballerina is the only language where the diagram is the code and the code is the diagram. Abstractions and syntax for parallelism and network interaction are included in the language to closely correspond to sequence diagrams, which enables a bidirectional mapping for each Ballerina source code between its textual representation and its graphic representation as a sequence diagram. Highly skilled developers have the flexibility to switch back and forth between coding with text or diagrams, while others have a low-code option to contribute to the company’s app development – while remaining true to code.
Ballerina also has a unique structural type system that is more flexible and allows for looser coupling than traditional statically typed language. This is particularly useful when combining data from multiple, independently designed systems. The type system can be used as a schema to define data sent and received over the network, including native data types for JSON and XML, which in many cases eliminate serialization and transform processing. In other words, the data on the line is the same as the data in memory for general use cases.
In addition, as a data-oriented language, Ballerina emphasizes simple data that can be used independently of any code that processes the data. It includes simple mapping of raw data to and from JSON, built-in queries with a SQL-like syntax, table and decimal data types, and XML support similar to XQuery.
New Ballerina Swan Lake features
With the Swan Lake version, Ballerina introduces several features to help developers build and deploy enterprise-class cloud-native applications. In particular, it has been redesigned with an intuitive syntax for developing APIs and services, including procedure call (RPC) and RESTful-style services, and seamless support for JSON. Ballerina now also offers both client and service objects that can be configured to use several different protocols, either with an RPC-based interface type or a RESTful interface type such as HTTP or GraphQL. Other important functions are:
Simultaneity control. Ballerina is simultaneous by nature, taking advantage of asynchronous functions with a simpler programming model. Now it automatically determines when it is safe to run the concurrent components in an application in parallel with the concurrency control functions added in Swan Lake.
Powerful constructs for working with data. Ballerina has a language-integrated query function for querying data using a SQL-like syntax and enables type-safe and declarative transformation of JSON, XML and table data. The function has now been worked out to support sorting and joins. Besides, the table has been redesigned to be more ergonomic and to work consistently with other structure types. Tables in Ballerina are collections of records in which records are uniquely identified by one of their fields, similar to a primary key in SQL.
Automated deployments for Kubernetes. With the Swan Lake versions, Ballerina offers the ability to automatically create deployments for Kubernetes and Docker to further simplify the development and deployment of Ballerina code in the cloud. This allows developers to focus on the business logic instead of having to become experts in various cloud-native provisioning and configuration technologies.
Complete development platform
The Ballerina platform offers comprehensive support for modern software engineering processes and toolchains, including:
- A framework for package / module management, including dependency and version control; the new version with Swan Lake also produces repeatable builds for the same source code
- Ballerina Central, a public web service for sharing modules among developers
- IDE tool plug-in for Visual Studio Code that supports both textual and graphical development and debugging of Ballerina programs
- A framework for documenting and testing ballerina programs
- Integrated tools for OpenAPI (Swagger) and gRPC
- New update tool with Swan Lake that has built-in functionality to keep Ballerina installations up to date with the latest versions
- New Shell, an interactive command line tool that allows developers to quickly learn Ballerina code and prototype
- A comprehensive standards library with support for many network protocols, data sources, and data formats to facilitate language adoption
Availability and support
The Ballerina Swan Lake Beta is available starting today. As a fully open source implementation released under the Apache License 2.0, there are no license fees and can be downloaded for free at https://ballerina.io/downloads. Users can find support from the growing open source community on ballerinas Slack channel, Google group, or GitHub. You can also find resources like the Quick Tour and Ballerina by Example at https://ballerina.io/learn/by-example.
Sponsored and developed by WSO2
WSO2 invested in Ballerina development to address significant shortcomings identified in developing middleware for the cloud-native world. The founder of WSO2, Dr. Sanjiva Weerawarana, launched the project in August 2016 and in collaboration with. managed the technical design James Clarkwho bring their decades of experience in software development and business integration. Sanjiva’s professional career has focused on developing technologies that enable large-scale distributed systems, including co-development of WSDL, BPEL4WS, and several domain-specific programming languages. James co-founded XML and led the design of XPath, XSLT, and RELAX NG. WSO2’s development work for Ballerina has included more than 300 person-years of investment in its nearly five-year development.
Founded in 2005, WSO2 is radically simplifying the way businesses create, deliver, and scale digital experiences. Our cloud-native API-first approach helps developers and architects innovate quickly and accelerate time-to-market. Customers choose us because of our broad, integrated platform and our expertise in API management, enterprise integration, and identity and access management – the cornerstones of any successful digital transformation initiative. With offices in Australia, Brazil, Germany, Sri Lanka, Great Britain and the USA, WSO2 employs over 750 engineers, consultants and professionals worldwide. Today, hundreds of leading brands and thousands of global projects conduct 18.2 trillion transactions annually using WSO2 technologies. visit https://wso2.com to learn more.
Ballerina offers cloud-native middleware as an easy-to-use programming language whose syntax and platform address the difficult integration problems of today’s distributed applications and services. Ballerina is a statically typed, simultaneous programming language with both textual and graphical syntax. It brings basic concepts, ideas and tools of distributed system integration into the language. These include distributed transactions, reliable messaging, stream processing, workflows and container management platforms. Ballerina is an open source project under the Apache 2.0 license and is developed by the ballerina community, sponsored by WSO2. To learn more, visit https://ballerina.io.
Trademarks and registered trademarks are the property of their respective owners.