The Coding Studio Inc. Tips
Though we recommend going through the previous article by the authors to understand the motivation behind this one, let us brief it here. Business rules and managing them are crucial in enterprise applications. A business rule may be perceived as an action taken by a decision and mostly are IF-ELSE branches that describe how the business must function. While a number of free and solutions, such as JRule, IBM Drools, Blaze (FICO), Oracle Rules SDK etc. already exist with highly sophisticated features, often their licensing and maintenance become a lingering burden, moreover when the product is underutilized. Nowadays, thanks to the growing popularity of microservices, development teams are often small, and a member might wear multiple hats. Writing and maintaining rules and rule engines, therefore, may be carried out by different members and teams. Business Rule Engines come with their respective learning curve, and it's difficult to always have a person with the right skill set in the team solely for managing a BRMS. To mitigate this gap, we need the flexibility to use different programming languages, at least the common ones. This article illustrates how a low-cost, lightweight solution helps here with the flexibility to create rules in a programming language of one's choice (currently, support for Java, JavsScript, and Pyhton is available). It also helps abstract the storage of rules, which can be literally anywhere -- from local file systems to cloud storage, databases, CMS, etc.