On today’s competitive and fast changing telecom market, it’s become critical for operators to rapidly implement new business logic in their operational systems. As a result, they demand for solutions which allow the quick implementation of changes and are easy to adapt to future business scenarios, many of them unknown at the moment of the initial product deployment.
Traditionally, to achieve such product flexibility, vendors have used proprietary means of configuration (file based or GUI). However, on the longer run, such configurations have significant shortcomings for the operator as flexibility is counterbalanced by increased costs and difficulty of use.
Being system specific, proprietary configurations require very good understanding of the product technical details. The more flexible the solution, the more difficult to use are the GUIs and the more advanced is the scripting language. This calls for specialised internal resources, dedicated trainings and even additional effort to re-train the customer support teams, which all translate into additional costs for the operators.
Ultimately, even if the product is essentially configurable, the operator is often unable or unwilling to take the risk to configure the product by himself and requires the intervention of the vendor or a specialized system integrator.
The implementation of the rule engines has proven a successful alternative in helping operators tackle these challenges and achieve flexibility and vendor independence.
A rule engine is a software expert system which separates the business logic of operational decisions from the application code and then easily exposes it as a set of rules for modifications. Thus modified business logic can be implemented in the production system without changing code.
From the user’s perspective, the system configuration becomes quite straight forward. Logic definition is provided in the form of a simple, semi natural language, describing business rules as a set of conditional sentences. This makes it easily readable even for non-technical people, who are not familiar with rule syntax, and modifications can be done by the operator’s business users or internal IT teams; changes are immediately reflected in the production systems, without need for software updates.
Available for many years already, rule engines are reliable products with established support communities around them. In the case of open source rule engines, relevant training materials and details on rule definition language syntax are also easily accessible. Most business rule engines also ship with user-friendly GUIs to simplify creating and editing rules. Eventually, the rules get translated to plain text so changes may be done with just a text editor or via spreadsheet like interface reflecting decision tables.
In R Systems we have solid experience of working with CLIPS and DROOLS open source products which allow the easy integration with all popular programming languages (Java, C/C++/C#, PHP).
Our experience with implementing the rules engines lies mainly in telecom projects – such as the deployment of SMS router, SS7 firewall and real-time anti-fraud systems -, but the paradigm can be successfully applied in any software system with complex business processes or when the logic itself may be simple but the rules change often. As business processes become increasingly large and difficult to manage, the Rule Engine paradigm provides the needed agility to implement new business scenarios or changes in the software configuration while requiring the minimum of time, IT knowledge and budget resources from the customer.
For more details on this topic and our references, please check the full presentation delivered at MWC Shanghai 2016 available here.