検証ロジック(validation logic)

Business Components for Javaには、ビジネス・ロジック層で検証ロジックを定義、実装および実行するためのフレームワークが用意されている。検証フレームワークでは、内部の実装の詳細が隠された、一貫したプログラミング・モデルが提供される。これにより、ユーザーが無効な値をデータベースに入力できないようにする規則に集中できる。

検証は、整合性(またはデータベースの)制約とは異なる。整合性制約は、表の列にビジネス・ルールを定義する宣言である。整合性制約は、表で定義され、表定義の一部として、データベースのデータ・ディクショナリに主として保存される。これによって、すべてのデータベース・アプリケーションに同じ規則が適用される。Business Components for Javaを使用しないクライアントには、(検証の他に)整合性制約を使用できる。

次のプログラムによる手法(Java)または宣言による手法(XML)を使用し、検証ロジックを定義および適用できる。検証に様々なレベルが定義されている場合は、その検証は一貫してこの順序で起動される。

ビジネス・コンポーネント・フレームワークは、様々な検証レベルをサポートする。属性、エンティティおよび論理ビジネス・オブジェクトを検証できる。JDeveloperは、データが作成または変更された際に適切なレベルで検証ロジックをコールするが、表にすでに存在しているデータは有効であると仮定する。問合せにより、無効な値(たとえば、検証ロジックが適用される前に入力されたレガシー・データからの値)が含まれた結果セットが返されることがあるが、ユーザーが表に無効な値を入力することはできない。フレームワークでは、最上位レベルのオブジェクトで規則が起動される前に、これに含まれるオブジェクトで規則が起動される。