JavaScript ポリシーは、データ管理サービスのソース属性に適用され、 サービスの実行時に実行されます。サービス計画を使用することで、JavaScript ポリシーをサービスに追加します。
JavaScript ポリシーには、 サービスの属性に適用されるデータ変換を記述した JavaScript ファイルが含まれます。 JavaScript ファイルは、エンティティー内の複数の属性で使用できますが、 各属性を関連付けできるのは 1 つのファイルのみとなります。 サービスには、複数の JavaScript ポリシーを含めることができます。JavaScript ファイルは、 データ・プロジェクト・エクスプローラーの「その他のファイル (Other Files)」フォルダーに保管されます。
JavaScript を使用して、 属性のデータ変換を定義します。JavaScript を使用することで、 数値をランダム値でマスクする、サブストリングを抽出する、エンティティー値を連結する、 JavaScript で使用可能な他のデータ変換を実行するなどの処理が行えます。 JavaScript 関数を使用して、日付プライバシー、ID プライバシー、数値プライバシー、およびスクランブル・プライバシー・ポリシーを適用することも可能です。
JavaScript ポリシーで定義された変換は、 Optim™ がソース・データに対してルックアップまたはルール・ベースの変換を実行した後に行われます。
例えば DEMO スキーマの CUSTOMERS エンティティーのソース属性 ADDRESS を取り出すには、次の構文を使用します。
record.getItem('/DEMO/CUSTOMERS/ADDRESS')record.getItem() メソッドでソース値を処理する際、 値は JavaScript の処理で Java データ・タイプに変換されます。 JavaScript の処理の後、 値はターゲット・データベースのデータ・タイプに変換されます。
JavaScript の処理におけるソース・データ・タイプの変換方法については、 以下の表から判別してください。
ソース・データ・タイプ | Java タイプ |
---|---|
文字 | java.lang.String |
可変長文字 | java.lang.String |
国別文字 | java.lang.String |
可変長国別文字 | java.lang.String |
文字ラージ・オブジェクト | byte[] (IBM® DB2® では java.sql.Clob) (Oracle では char[]) |
国別文字ラージ・オブジェクト | byte[] (IBM DB2 では java.sql.Clob) (Oracle では char[]) |
バイナリー | byte[] |
可変長バイナリー | byte[] |
バイナリー・ラージ・オブジェクト | java.sql.Blob |
ブール値 | java.lang.Boolean |
日付 | java.util.Calendar |
時刻 | java.util.Calendar |
タイム・スタンプ | java.sql.Timestamp (Oracle では java.lang.Object) |
数値 | java.math.BigDecimal |
10 進数 | java.lang.String |
倍精度 | java.lang.Double (Oracle では java.lang.String) |
実数 | java.lang.Double |
浮動小数点 | java.lang.Double (Oracle では java.math.BigDecimal) |
短精度整数 | java.lang.Short |
整数 | java.lang.Integer |
64 ビット整数 | java.lang.Long |
インターバル | java.lang.Object |
XML | java.lang.Object |
データ・リンク | java.lang.Object |