Developer(s) | EIS & OpenL team |
---|---|
Stable release | 5.26.0 / May 22, 2022 |
Written in | Java |
Operating system | Cross-platform |
Type | Business rules engine |
License | LGPL 3 |
Website | openl-tablets |
OpenL Tablets is a business rule management system (BRMS) and a business rules engine (BRE) based on table representation of rules. Engine implements optimized sequential algorithm. OpenL includes such table types as decision table, decision tree, spreadsheet-like calculator.
The OpenL Tablets project was started as an in-house development project in 2003 and later in 2006 was uploaded to SourceForge. [1] Initially it was an open-source business rule engine for Java. Starting from version 5 it became a BRMS.
OpenL Tablets engine is specially designed for business rules and uses table rules presentation. Table format enforces rules to be structured and format itself is close to tables found in various business documents.
OpenL Tablets is based on OpenL framework for creating custom languages running on Java VM. The engine is designed to allow pluggable language implementations. Currently, it uses 2 languages: table structure for rules format and java-like for code snippets in rules. Java-like language is Java 5.0 implementation with Business User Extensions.
OpenL Tablets rules are mixture of declarative programming for rules logic and imperative programming for workflow control. Table formats are flexible enough to match the semantics of the problem domain.
Tests, traces, benchmarks are integral part of the engine. It also provides powerful type definition capabilities to handle rules domain model inside rules files.
The project is written in Java, but can be used at any platform using Service-oriented architecture approach, e.g. via web service.
The OpenL Tablets engine has patent pending validation feature. [2]
There are usages of OpenL Tablets which may be patented. [3]
OpenL Tablets includes several productivity tools and applications addressing BRMS related capabilities. They include web application to edit rules called OpenL WebStudio, web application to deploy rules as web services, Rules Repository to store and manage rules, Eclipse plug-ins to work with rules projects.
OSGi is an open specification and open source project under the Eclipse Foundation.
Jess is a rule engine for the Java platform that was developed by Ernest Friedman-Hill of Sandia National Labs. It is a superset of the CLIPS programming language. It was first written in late 1995. The language provides rule-based programming for the automation of an expert system, and is frequently termed as an expert system shell. In recent years, intelligent agent systems have also developed, which depend on a similar capability.
In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.
In computer software, business logic or domain logic is the part of the program that encodes the real-world business rules that determine how data can be created, stored, and changed. It is contrasted with the remainder of the software that might be concerned with lower-level details of managing a database or displaying the user interface, system infrastructure, or generally connecting various parts of the program.
Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging from widely used languages for common domains, such as HTML for web pages, down to languages used by only one or a few pieces of software, such as MUSH soft code. DSLs can be further subdivided by the kind of language, and include domain-specific markup languages, domain-specific modeling languages, and domain-specific programming languages. Special-purpose computer languages have always existed in the computer age, but the term "domain-specific language" has become more popular due to the rise of domain-specific modeling. Simpler DSLs, particularly ones used by a single application, are sometimes informally called mini-languages.
A business rules engine is a software system that executes one or more business rules in a runtime production environment. The rules might come from legal regulation, company policy, or other sources. A business rule system enables these company policies and other operational decisions to be defined, tested, executed and maintained separately from application code.
A BRMS or business rule management system is a software system used to define, deploy, execute, monitor and maintain the variety and complexity of decision logic that is used by operational systems within an organization or enterprise. This logic, also referred to as business rules, includes policies, requirements, and conditional statements that are used to determine the tactical actions that take place in applications and systems.
Drools is a business rule management system (BRMS) with a forward and backward chaining inference based rules engine, more correctly known as a production rule system, using an enhanced implementation of the Rete algorithm.
jBPM is an open-source workflow engine written in Java that can execute business processes described in BPMN 2.0. jBPM is a toolkit for building business applications to help automate business processes and decisions. It's sponsored by Red Hat, part of the JBoss community and closely related to the Drools and OptaPlanner projects in the KIE group. It is released under the ASL by the JBoss company.
ILOG S.A. was an international software company purchased and incorporated into IBM announced in January, 2009. It created enterprise software products for supply chain, business rule management, visualization and optimization. The main product line for Business Rules Management Systems (BRMS) has been rebranded as IBM Operational Decision Management. Many of the related components retain the ILOG brand as a part of their name.
Domain-driven design (DDD) is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts.
JBoss Developer Studio (JBDS) is a development environment created and currently developed by JBoss and Exadel.
d3web is a free, open-source platform for knowledge-based systems . Its core is written in Java using XML and/or Office-based formats for the knowledge storage. All of its components are distributed under the terms of the Lesser General Public Licence (LGPL).
iDempiere. Community Powered Enterprise, also known as OSGi + ADempiere, is an open source Enterprise Resource Planning (ERP) software that is fully navigable on PCs, tablets and smartphones, it also has customer relationship management (CRM) and supply chain management (SCM) functions. It is in contrast to proprietary or most other open source ERP solutions driven only by a community of supporters.