Corticon.js + KendoReact = Complex Logic Behind an Elegant Frontend

February 24, 2022 Digital Experience, Corticon

Learn how Corticon.js can make running complex business logic absolutely seamless.

As my colleague Thierry Ciot has blogged about comprehensively, Corticon.js provides for codeless authoring of business logic ready to plug and play as AWS Lambda functions, Azure functions, Google Cloud and Kinvey Flex functions.

Those platforms are a perfect fit for organizations shifting their applications’ business logic onto the cloud with an eye towards minimal effort spent on cloud server provisioning and tuning. But running serverless functions on cloud platforms isn’t inherently cheaper, safer or more reliable than other architectural options. Moreover, cloud vendor-specific architectures mean cloud vendor-specific dependencies accumulating across an enterprise architecture.

Before you know it, an organization’s successful migration from burdensome, monolithic legacy applications tech stack can quickly replace the headaches from maintaining the monolithic applications with headaches from managing monolithic cloud spend bill from hosting providers.

None of these concerns are inherent to JavaScript, nor to Corticon.js. JavaScript, unlike Java or .NET, is an "omni-platform" coding language. With it, one can build applications that run in the aforementioned serverless cloud platforms, but likewise directly on phones, tablets, laptops, and connected devices.

With the same rule development paradigm, Corticon.js can generate JavaScript bundles (meaning the complete set of rules are in a single JavaScript file) along with example code demonstrating how to integrate the rules into your application. This opens countless possibilities for running complex business logic—fully built by business domain experts, not coders—wherever JavaScript can run.

That means that if you’re reading this now (and haven’t disabled JavaScript on your browser), you can try it for yourself right now:

This part of the page will be loaded later.

In the CodeSandbox embedded above, you’ll find KendoReact components to enter inputs that will calculate the future value of a deposit into a bank account based upon variables a user submits. When you hit calculate, you’ll see a rapid response (thanks to client-side decision logic), which will return the JSON that comes back as a response from the decision service, and a ‘rule message’ that summarizes the calculation performed.

When a decision service is invoked, Corticon maps the JSON payload to the internal data model of the Corticon rule vocabulary, allowing the external service to pass in canonically formatted JSON into enable rules to execute the decision.

In your Corticon vocabulary, you can define properties on entities, attributes, and associations to provide guidance for Corticon when mapping a JSON payload to the vocabulary. In Corticon.js Studio, you can also set the JSON Path property on entities and the JSON Element Name property on attributes and associations. JSON Path syntax can be complex, but fortunately Corticon.js can set it for you by populating a vocabulary from a JSON file.

Want to see how the business logic was created in Corticon.js Studio? Just click ‘Open Sandbox’ in the calculator widget above, download the exported rule project called ‘interest on savings.zip’ and import it into Corticon.js Studio. If you don’t already have Corticon.js Studio installed, you can get a free copy here.

Install Corticon.js Studio

Seth Meldon

Seth Meldon is a Pre-Sales Engineer with a primary product focus area of Progress Corticon Business Rules Engine. His work is focused on educating and demoing Corticon’s expansive functionalities, use cases, and architectural strategies to internal and external audiences. You can follow Seth on LinkedIn.

Read next Quick Corticon.js Applications with React Native