What exactly is a rule engine?

    Many people may not know what a rule engine is, or what is the use of a rule engine. We all know the workflow engine, and we have heard that there is Drools under JBoss, or we know that weblogic or Oracle also has its own Business Rule, and we may have heard that ILOG was acquired by IBM. If we study Microsoft's WWF, we may also Know that there are things like RuleSet in it. Some domestic web rapid development platforms also mentioned the rule engine.
    In our impression, we feel that the rule engine is to solve the implementation problem of the business logic layer. Therefore, we take it for granted that the logic processing of a node in the workflow should be solved by the rule engine, and the logic of the workflow itself should also be solved by the rules engine. In addition, we also feel that the business logic in the usual project should be solved by the rule engine. But when we use the above rule engines, we find that it is difficult to correspond to the business logic implementation of the business logic layer of our actual application.
   Let's take JBoss' Drools as an example. Since its rule engine uses the method of matching rules, when applying these rule engines. First of all, we need to abstract the business logic in our specific application, abstract it into a rule, and then package it into a rule package. A rule pack is equivalent to a smart block. When data is passed to this smart block, the system applies logic processing that satisfies the condition in a matching manner. When adopted this way, it should be said that the logic is more abstract, and the definition is abstracted at a higher level. But it also limits the application of the rule engine. First of all, this abstraction itself requires a complex analysis process, which requires strong analysis and design capabilities. In addition, in the business logic layer of our usual specific applications, a large amount of logic is the processing of actual data, which is often a batch of data processing, and even some parameters required by the logic cannot be defined in the rules, but in the database table. in the configuration. Therefore, in the development of our common business logic layer, it is not possible to design a data model first, and then abstract the logic on this basis. So we find rules engines like Drools difficult to use and not what we need at all. We've been working on rule engines for a while now. Sometimes we find ourselves making a rules engine that is not a rules engine. Because we are very different from rule engines like Drools. But we did solve the business logic configuration problem of the business logic layer. It should be said that ours are more practical. But we can't implement the JSR94 standard. We not only deal with business logic, but also use the form of rule configuration for all operations that need to be processed by the business logic layer, including database processing logic.
    Next, let's talk about Visual Rules Solution (for follow-up introduction: "VRS" instead of "Visual Rules Solution"), it is a business rules management system based on the visualization of custom business logic implemented by the rule engine, and it also has the ability to rapidly develop java software projects. Function. VRS can independently manage the business logic involved in the software project outside the program, and provides API interfaces in multiple languages ​​for external program calls. VRS can be integrated into existing software projects, and the parts of the software that are often prone to change are independently managed by the rule base. It can be used to directly develop web projects. Visual Rules can generate more than 90% of the program code for software projects, save more than 50% of software development time and reduce more than 80% of software maintenance workload.
   VRS is a powerful tool for developing B/S structure software projects, especially suitable for rapid development of software projects based on J2EE structure. The principle is that for J2EE projects, its architecture is generally divided into interface layer, business logic layer and data layer. VRS provides a database manager that can generate almost all database layer code; provides a rule editor to visualize and rapidly develop business logic; provides a rule engine to dynamically load and execute business logic; provides a page template editor and page builder to Generate most of the interface layer code; provide an online business logic management platform, which can directly allow customers (including non-technical personnel) to directly modify the business logic implemented in the software project. The advantage of VRS is that it can solve the problem that the business logic layer can only write code manually in software development, and provides a natural language-like (language that business personnel can understand) for the realization of the business logic layer. Visual development tools, as well as online methods The business logic editing tool is directly available for business personnel to modify the logic. 
   

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326857515&siteId=291194637