The first thing we will need to address when designing how Drools should interact with the rest of our application components is how they will fit in the overall architecture; we will have specific requirements regarding how data will be fed into the rule engine, either from our own application or from external sources. Also, we must decide how information should be published back to our application from the rule engine, or how it should be exposed to external applications. We've already seen many mechanisms throughout previous chapters to communicate between Drools and the rest of the application (to name a few):
We can use global variables to send and receive information outside the Kie Session, and to communicate with different systems. These global variables could represent any Java component, from simple lists, to database accessors, to web service client stubs, allowing the session to communicate with any part of our infrastructure.
We can use entry points...