Smart development with Choreo

Chanaka Fernando
WSO2 Best Practices
4 min readApr 27, 2022

--

How to use AI-assisted development tools to build great applications with Choreo

Introduction

Developers of today are on the move and they would love to develop code from wherever they go rather than worrying about moving all the IDEs, test tools, and other runtimes from machine to machine. That is the advantage of a web-based editor. It can be used from anywhere which has an internet connection and a device that is capable of running a web browser. If it is the same editor that developers work on their laptops, it is a win-win for both organization and the developer.

Choreo methodology

Choreo is a complete platform for developers to build great applications without any limitations. It gives developers the freedom to develop from anywhere and release applications at their will. Choreo has a web-based editor based on VS Code so that developers can build applications and manage their code repositories from that and a mechanism to push these changes to the development and production environments from the same interface. The figure below depicts the web-based editor in the Choreo platform.

Figure: Choreo web-based editor

Choreo provides a full-blown Integrated Development Environment (IDE) with VSCode to develop applications that are deployed on the platform. The web-based editor is based on GitHub codespaces and as a developer, you get the full capabilities of an IDE through a web browser. Everything needed to develop and deploy software is installed and configured so that developers can build services from anywhere. Developers can write code, test, and debug from the same web editor without even publishing the code to the GitHub repository where Choreo stores the final code. A local workspace will be created for each developer on a cloud-hosted computer and the developers can think of it as developing code locally. Once they are satisfied with the development-level testing, they can push the code to Choreo managed GitHub repository and start the deployment process from there.

AI Assistance for development

In addition to the standard features that are offered by the VS code editor, Choreo provides additional capabilities using AI for improved developer experience. It provides capabilities such as

  • Automated data mapping
  • Performance feedback
  • Code suggestions
  • Detecting code anomalies

These capabilities help developers to build robust, scalable, and high-performing applications.

Automated data mapping

When writing services for enterprise applications, transforming data across formats, and performing various types of data processing is a common requirement. If you have 100s or even 1000s of fields within a single data structure and mapping those fields to a new data structure manually would take a considerable amount of your development time which is a mere waste of your valuable time. An automated data mapper can intelligently identify the data types and fields from the source to the target and suggest mappings based on trained models. Choreo provides this capability through the “data mapper” functionality. The figure below depicts a sample data mapping generated automatically through AI.

Figure: Choreo data mapper

Once you provide the source and target data structures, it will automatically map the fields via connecting lines and you can always change and edit these mappings via the interface. You can find more details on the data mapper featured from the link below.

Introducing Choreo Visual Data Mapper

Performance feedback

Another key aspect of implementing enterprise applications is the performance impact it makes on the overall user experience. Choreo offers a feature to the developers to estimate the performance of the services they are developing during the development time. With this information, developers can write their code so that the performance is optimized when deployed into the production environment. The figure below depicts how Choreo provides performance feedback during the development phase.

Figure: Choreo performance feedback

As depicted in the preceding figure, Choreo provides performance feedback on the latency, TPS values as well as estimated time for backend invocations. It will also provide additional information on how the performance can vary with the increase in user counts. You can learn more about this feature from the following link.

Choreo performance feedback with AI

In addition to these unique capabilities, the VSCode-based editor provides intelligent feedback to the developers through code suggestions, error detections, and code anomaly detections which are provided through the editor interface.

--

--

Chanaka Fernando
WSO2 Best Practices

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