LANSAのルールエンジンの基本的な考え方は、アプリケーションがデータベースに直接アクセスしないように分離することです。データサービス層でこれが可能になります。ビジネス・ルール・エンジンの有効範囲を最大化するために、LANSAデータサービス層は、どのプラットフォームのどのプログラムからでもアクセスできます。
データベース、アプリケーション外で管理
通常、ルールはソースコードまたはデータベースレベルで管理されます。ソースコードにルールを格納する欠点は、コードの重複、潜在的な矛盾、変更管理の難しさです。ストアド・プロシージャ、列の検証、トリガーなどを介してデータベースにルールを格納することの欠点は、DBMSにルール、トリガー、ストアド・プロシージャを実装する独自の方法があるため、データベース・ロックインが生じることです。
LANSAは異なるアプローチを提供します。
完全に独立したデータサービス層
LANSAは、独立したデータサービス層を設計し、フォーマット、ロケーション、コンベンションに関係なく、すべてのデータに単一のアクセスポイントを提供しています。
データサービスプログラムはビジネスルールエンジンによって生成され、すべてのビジネスルールと妥当性検査ロジックをカプセル化します。LANSAプログラムは、データベースにアクセスするときにデータサービスプログラムを使用することで、アプリケーション層とデータベース層を完全に分離させています。
ビジネス・ルール・エンジン内のルールに対する変更は、データサービスプログラムに反映され、既存のすべてのアプリケーションに再コンパイルなしで新しいルールが適用されます。また、データサービスレイヤーによって、最初のDBMSから別のDBMSへの移行がずっと迅速かつ容易になります。