Reference: KIE
Kie is widely used in Drools jbpm Uberfire, following a brief introduction to several important components of KIE-API
Maven Dependency
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-api</artifactId>
<version>6.0.2.Final</version>
</dependency>
Several components
Kieservices:kie integral entry that can be used to create container,resource,filesystem etc.
Kiecontainer:kiecontainer is a kiebase container that can be used to obtain specific kiesession according to the kiebase information described in Kmodule.xml.
Kiebase:kiebase is a knowledge warehouse, contains a number of rules, processes, methods, etc., in the drools is mainly rules and methods, Kiebase itself does not include the runtime data, such as, if you need to implement rules kiebase rules, You need to create kiesession based on Kiebase
Kiesession:kiesession is a session that deals with the Drools engine, which is created based on Kiebase, which contains run-time data, contains "fact facts," and rules operations on runtime data facts.
Kiemodule: is a container that contains multiple kiebase definitions. Generally used Kmodule.xml to express
Kiemodulemodel: Is the Java representation of the Kmodule.xml file, it can be built without adding an XML file, but in the form of program code,
Kiefilesystem: A complete file system, including resources and organizational structure
Kiebuilder: When all the rules files are added to the Kiefilesystem, the virtual file system can be built by passing the Kiefilesystem to a kiebuilder. There is a Buildall () method that will automatically build the virtual file system after it is built Kiemodule
Kierepository: is a kiemodule warehouse that contains all the kiemodule descriptions, using a ReleaseID to differentiate
Kieresources: is a factory that defines how resources are obtained, including Url,classpath,filesystem, etc.
Kiemodule.xml is probably an XML that looks like this:
<kmodule xmlns= "Http://jboss.org/kie/6.0.0/kmodule" >
<kbase name= "Rules" packages= "rules" >
<ksession name= "Ksession-rules"/>
</kbase>
<kbase name= "Dtables" packages= "Dtables" >
<ksession name= "Ksession-dtables"/>
</kbase>
</kmodule>
Kbase Name: Unique designation
Packages: The directory where the resource files reside
Ksession Name: Unique identity
KIE-API Introduction and use