- Software Development
- Choreo, WSO2’s New iPaaS Built on Top of Ballerina – InApps Technology 2022
Choreo, WSO2’s New iPaaS Built on Top of Ballerina – InApps Technology is an article under the topic Software Development Many of you are most interested in today !! Today, let’s InApps.net learn Choreo, WSO2’s New iPaaS Built on Top of Ballerina – InApps Technology in today’s post !
Read more about Choreo, WSO2’s New iPaaS Built on Top of Ballerina – InApps Technology at Wikipedia
You can find content about Choreo, WSO2’s New iPaaS Built on Top of Ballerina – InApps Technology from the Wikipedia website
Prior to the emergence of cloud computing, enterprise integration projects were either internal, serviced through an on-premises middleware platform, or external business to business (B2B) projects generally serviced through Electronic Data Interchange gateways. Increasingly though, many enterprises need to integrate data from a wider variety of sources, including IoT devices and mobile apps, causing a proliferation of APIs developers need to work with.
In addition, modern cloud architectures and Kubernetes, particularly when compared to earlier PaaS models such as Heroku, suffer from burgeoning complexity, prompting many companies to develop their own internal developer platforms.
At the same time, a shortage of skilled programmers means that businesses are struggling to recruit professional programmers to support ever more ambitious projects. This situation hampers IT leaders’ ability to deliver business automation in a rapid and reliable fashion.
An iPaaS provides capabilities to help integrate any combination of cloud and on-premises endpoints, including APIs and IoT devices. Key vendors in the space include Boomi, Informatica, Jitterbit, Microsoft (Azure Integration Services), MuleSoft, SnapLogic and Workato.
In June, a new integration platform entered the field, with features that are designed to help bridge the gap between low code and experienced developers: WSO2 has announced Choreo, currently in public beta, a low-code iPaaS for Kubernetes, built on top of the company’s open source programming language, Ballerina.
Round-Tripping Between Low Code and Pro Code
Increasingly, low-code application platforms, or LCAPs, have attempted to give business users without strong programming skills tools to help create apps. The idea is to help companies innovate faster and free up skilled developers’ time for tasks only they can do. A recent Gartner report claims that, by 2023, “over 50% of medium to large enterprises will have adopted an LCAP as one of their strategic application platforms.”
A long-standing issue with low-code platforms is that, while they can allow non-programmers to build applications, they tend to be a particularly egregious example of what Stack Overflow founder Joel Spolsky refers to as “leaky abstractions,” meaning that the implementation details tend to leak through.
A consequence of this is that, at some point, a professional developer must tinker with the code the tool generates in order to fix it. Skilled developers have their own tools, and won’t necessarily want to learn new ones in order to help repair something that a business user has written. Thus the visual low-code environment must be able to both reflect and cope with changes made to the underlying application code. If it can’t, subsequent changes in the low-code environment will undo changes made to the underlying source code, or may introduce bugs into the service.
“The difference between this era of low-code software and the attempts that precede it (4GL, RAD, etc.) is that business users and software developers can jointly contribute to the solution,” Doug Hudgeon, CEO of Managed Functions and a low-code expert wrote in a message to InApps Technology.
To support this collaboration, being able to easily round-trip between the visual development environment and the underlying source code is central to the design of Choreo. To achieve it Choreo uses Ballerina, its language designed for writing network-distributed applications.
“I’m a fan of Ballerina,” Hudgeon told InApps Technology. “It is in the sweet spot where it is usable by business users but also fits into standard enterprise software deployment workflows.”
Ballerina is still a young language, of course, with the 1.0 release having arrived in Sept. 2019. Since the 1.0 release there has been another major release — Ballerina Swan Lake — currently in beta. This is the version that Choreo uses under the hood.
Unsurprisingly given its youth Ballerina adoption is still quite limited. “We have 1,200 users on our Slack channel, and over 500 GitHub repos that actually use Ballerina in their code,” said Samudra Weerasinghe, campaign specialist at WSO2.
The graphical representation in Choreo’s low-code editor uses the semantics of sequence diagrams and flow charts to represent the program code. To make the round-tripping work, it uses a graphical representation of the actual Ballerina syntax tree, meaning that there are no translations between the visualization and the code that runs on the platform. This allows a developer familiar with Ballerina to make changes to the code, without causing issues for somebody working through the low-code editor who doesn’t understand the programming model.
Rendering is handled via the Language Server Protocol, an open, JSON-RPC-based protocol, originally developed by Microsoft, to standardize and provide required additional metadata for language tools. In Choreo, the low-code editor and the text-based “pro-code” editor continuously communicate with the Ballerina language server using LSP, based on the edits that happen on either end, to render the diagram or generate the code.
“The reason that this rendering is possible is because every Ballerina construct in the language has a visual representation,” said Srinath Perera, senior vice president and chief architect at WSO2.
In addition, extensions added to Choreo will automatically be supported by the low-code editor. For example, the connectors developed using Ballerina and exposed with OpenAPIs will render without making any user interface changes to the editor.
The Choreo platform stores the generated source file in a private Git repo associated with the user account. Users can clone the repo, edit the Ballerina code using Microsoft VS Code, commit their changes, and merge to the same repo. Choreo will pick up the updated code, display it in the graphical and text editors, and use it with the build pipeline.
Regardless of whether low code, full code or a combination of the two is used, Choreo provides a one-click deployment method to Kubernetes.
Currently, the full DevOps experience isn’t publicly available, but “we run a full CI/CD pipeline, and our goal is to give the full DevOps experience with the pipeline,” Perera said.
By default, Choreo collects telemetry data without the developer needing to add any instrumentation, including application- and container-level logs, alongside CPU, memory, and other metrics from the Kubernetes pods and machines where the application is running. The Ballerina language also has built-in tracing and telemetry collection, which can provide activity and performance data at the statement level.
The data generated is pushed through an OpenTelemetry spec compatible GRPC-based protocol to a message queue, and then saved to a NoSQL database.
The observability view presents the low-code diagram of a Choreo application with annotations about the success rates of different paths and the time taken by different statements in the system. An additional panel shows details on throughput, latency data, and logs.
As with any distributed system, support for monitoring is particularly important. As one API analyst, who asked to have their name withheld, wrote, “the danger with these LCAP tools is the loss of visibility (they don’t typically fit into existing monitor/perf ecosystems). LCAPs have the potential to become the new ‘shadow IT,’ and that is a big danger.”
Although the use of OpenTelemetry under the covers should in theory make it possible to send the data to enterprise-standard monitoring tools that support the emerging standard — such as Dynatrace, Honeycomb, Lightstep, Microsoft (Azure Monitor), New Relic and Splunk — the usefulness of this isn’t yet clear. Said Perera, “You would have some level of interesting data, but not a lot of detail.”
Choreo is currently in beta on Azure, with general availability and support for other cloud platforms expected later this year.
InApps Technology is a wholly owned subsidiary of Insight Partners, an investor in the following companies mentioned in this article: Workato.
List of Keywords users find our article on Google:
|mulesoft vs wso2|
|wso2 vs mulesoft|
|wso2 vs mule|
|gartner enterprise integration platform|
|splunk vs dynatrace|
|wso2 api manager monitoring|
|mulesoft integration developer|
|dynatrace vs splunk|
|mulesoft splunk integration|
|mulesoft it integration consultant|
|wso2 enterprise integrator|
|hrm run vs pro|
|new relic vs azure monitor|
|boomi vs mulesoft|
|ipaas vendors gartner|
|electronic data interchange specialist|
|dynatrace vs new relic|
|kubernetes vs mulesoft|
|website monitoring splunk|
|azure monitor logs|
|software devlopment companies in new hamper|
|mulesoft integration professional|
|integration case studies mulesoft|
|heroku view logs|
|custom application development|
|john deere wikipedia|
|what’s the correct sequence of the cloud adoption framework?|
|git create branch stack overflow|
|wso2 application server|
|the long shadow 2020 wikipedia|
|github new relic|
|account development representative mulesoft|
|jitterbit vs workato|
|workato vs jitterbit|
|mulesoft vs splunk|
|dynatrace supported technologies|
|splunk mission statement|
|boomi database profile|
|informatica metadata manager|
|middleware specialist jobs|
|gartner ipaas report|
|dynatrace vs azure monitor|
|jitterbit vs snaplogic|
|azure monitor pricing|
|heroku postgres data integration|
|hire dna sequencing analyst|
|splunk time difference|
|splunk vs azure monitor|
|ipaas gartner report|
|on premise deployment mulesoft|
|cloud application integration informatica|
|mulesoft on azure|
|b2b database custom query|
|dynatrace splunk integration|
|mulesoft vs boomi|
|dynatrace timeseries api|
|electronic data interchange analyst|
|ipaas market share gartner|
|azure devops mulesoft|
|splunk integration with mulesoft|
|mulesoft vs snaplogic|
|new relic vs dynatrace|
|dynatrace and splunk|
|splunk create app|
|pro built models|
|new relic azure integrations|
|dynatrace vs newrelic|
|splunk deployment server|
|microsoft ipaas solution|
|mulesoft developer jobs|
|what is informatica developer tool used for|
|new relic opentelemetry|
|case statement in informatica|
|microsoft azure iot course|
|new relic automation|
|commercial/b2b field service software|
|data integration & ipaas software ranking|
|gartner ipaas 2020|
|is splunk a programming language|
|snaplogic vs mulesoft|
|azure devops burn up chart|
|azure monitor metrics|
|heroku new relic|
|informatica metadata queries|
|splunk slack channel|
|azure iot developer specialist|
|gartner john deere|
|ipaas free trial|
Let’s create the next big thing together!
Coming together is a beginning. Keeping together is progress. Working together is success.