The TN2 framework is software by “TN2 Solutions EESV” (https://tn2.solutions).
The TN2 framework provides a distributed software system set-up consisting of the following base functionality:
A number of services are provided in the framework:
These services can be used by means of the message-based communication framework.
A rules engine is all about providing an alternative computational model. Instead of the usual imperative model, which consists of commands in sequence with conditionals and loops, a rules engine is based on a Production Rule System. This is a set of production rules, each of which has a condition and an action - simplistically you can think of it as a bunch of if-then statements.
The subtlety is that rules can be written in any order, the engine decides when to evaluate them using whatever order makes sense for it. A good way of thinking of it is that the system runs through all the rules, picks the ones for which the condition is true, and then evaluates the corresponding actions.
A rules engine is a tool that makes it easier to program using this computational model. It may be a complete development environment, or a framework that can work with a traditional platform. Most of what I’ve seen in recent years are tools that are designed to fit in with an existing platform. …
… And here we stop quoting the article of Martin Fowler, the TN2 Rules Engine is based on the message-based protocol used by the framework. The rules engine works on top of a communication protocol endpoint.
Web-based user interfaces are provided for:
To serve the web-based user interfaces and other (static) content.
Extension of the system is possible by add-ons, based on the framework with access to the services using the provided communication. The extension can be implemented in different programming languages. Deployment of extensions can be distributed. Currently available extensions based on external software include support for:
External (developer) tools are available for development and maintenance of reports definitions.
All web-based software is based on current HTML5 and ECMAScript 6 standards, requiring up-to-date web browsers.
Server-based software components assume a 64-bit hardware platform capable of running a 64-bit Linux OS with container support and 64-bit Java JDK 8 environment.
Extensions can be run on any platform assuming the required protocol stack is available. Currently, the requirements per programming language are:
These required software versions are subject to change.