The fundamental tenet of the LANSA Rules Engine is to keep applications separated from the databases with which they work. The Data Services Layer makes this possible. In order to maximize the reach of the Business Rules Engine, the LANSA Data Services Layer is accessible from any program on any platform.
Not in the Database and Not in the Application
Typically, rules are either maintained in code or at the database level. The downside of storing rules in source code is code duplication, potential inconsistencies, and difficulty managing changes. The downside of storing rules in the database via stored procedures, column validations, triggers, etc. is database lock-in because each DBMS has their own way of implementing rules, triggers, and stored procedures.
LANSA provides a different approach.
A Completely Independent Data Services Layer
LANSA architected its Independent Data Services Layer to provide a single access point for all data, regardless of format, location and convention.
Data service programs are generated by the Business Rules Engine, encapsulating all of the business rules and validation logic. LANSA programs inherently leverage the data service programs when accessing databases, making the application and database layers completely independent of each other.
Changes to rules inside the Business Rules Engine are reflected in the data service programs, allowing all existing applications to enforce the new rule without being recompiled. The Data Services Layer also makes migrating from one DBMS to another much quicker and easier.