Develop your applications with code or no code with Choreo

Chanaka Fernando
WSO2 Best Practices
4 min readApr 27, 2022

--

How Choreo allows both developers and citizen integrators to build applications

Introduction

One key factor when selecting a platform for enterprise software development is the skill levels of the developers and the availability of talent for the selected technology. This is where the argument of pro-code vs low-code comes into the picture. Most IT graduates coming with software engineering degrees have the required skills to write code (pro-code) and they might like that approach instead of using an approach where they don’t have to write much code. At the same time, there are people coming with IT management degrees who love learning business-related aspects more and like developing applications and services with a minimum amount of code. There can be exceptions in both streams as well. But the important thing to consider here is that you cannot find a set of developers who likes only one approach 100%. That means you will have folks supporting both approaches. In terms of developer productivity, people will deliver more when they develop applications with their preferred approach, or until they realize that the other approach is more useful than what they are already using. That means if you go with a technology that supports only 1 approach, you would not be able to get the maximum out of your developers.

Choreo methodology

Choreo takes a different approach to solving the problem of code vs no-code conversation in the Integration/iPaaS market by developing a programming language “Ballerina” which provides both “code” representation as well as “diagram” representation of your program. This allows Choreo to cater to the requirements of both pro-code and no-code developers in an IT organization. The figure below depicts the side-by-side view of an application developed in Choreo using the “Ballerina” language.

Figure: Choreo pro-code and low-code support

As depicted in the preceding figure, the middle section shows the visual (graphical) representation of the program while the leftmost section shows the code representation. Developers can always switch between the two views while using one approach to write the program. The visual representation is useful to select the code constructs that have some templated codes. A few examples are connectors to external systems and data mapper components which are easier to program in the visual mode. On the other hand, if you are implementing a complex program logic with conditionals or loops, you can take the benefits of the source code view to write the code quickly.

Choreo is the only platform (as of this writing) that allows the development of applications and services in both low-code and pro-code manner. It provides a low-code interface that developers can use to start building applications quickly.

Templates to get started with common integrations

Choreo provides pre-built templates that can be used for real-world applications with only a configuration change such as adding details of the connected platform such as Salesforce. All the low-code applications that developers build have a code representation that is automatically generated as well. This approach reduces the time spent on writing code since the low-code syntax provides higher-level components to build applications fast. The figure below depicts some common templates that are available on the Choreo platform.

Figure: Choreo integration templates

These sample integrations allow the users to quickly build the required use cases without spending much time on writing boilerplate code. Instead, developers as well as citizen integrators can start with these templates and convert them into production-grade services in a quick time.

Developer assistance with AI

On the other hand, if a team member is happy to take control of the development and write code, they are provided with AI-assisted features such as autocomplete, IntelliSense, and performance feedback to develop optimal code with minimum iterations. This would improve the overall quality and performance of the code. More details on this are covered in the below link.

Smart development with Choreo

Ballerina programming language for pro-code developers

If you are a developer who prefers having more control over what you develop, Choreo provides one of the best programming languages available to write enterprise software which is Ballerina. It provides many advantages over traditional programming languages such as Java and C# for enterprise software development. Some advantages include

  • Cloud-native — network primitives to write services and run them on the cloud
  • Flexibly typed — Structural data types with openness for handling dynamic data
  • Data-oriented — native support for JSON, XML, and tabular data
  • Concurrent — Native support for concurrency with language-managed threads
  • Robust — Explicit error handling with built-in concurrency safety
  • Graphical — Code has a textual and graphical representation based on sequence diagrams

You can learn more about Ballerina from the below link.

Ballerina programming language

Running Integrations developed for WSO2 ESB/EI/MI

In addition to these 2 development options, Choreo also allows running integrations that are developed with WSO2 Integration Studio which is an IDE to develop services based on synapse configuration language (DSL). If you are a user of the WSO2 technology platform prior to using Choreo, you may have integrations that are developed to run on WSO2’s Integration platform. These services can also be deployed into Choreo.

--

--

Chanaka Fernando
WSO2 Best Practices

Writes about Microservices, APIs, and Integration. Author of “Designing Microservices Platforms with NATS” and "Solution Architecture Patterns for Enterprise"