- OESに認可判定を依頼する
- 認可されると、責務(obligation)を問い合わせを絞る追加のwhere句として解釈する
このケースでは、Oracle Databaseの機能を使ってJavaクラスをロードし、ストアドプロシージャからJavaクラスを呼び出すことができます。OESは、Web ServiceのXACMLインターフェイスを提供していますので、OESを呼び出すJavaコードをロードできます。別の方法として、以前のエントリでご紹介したOESゲートウェイを使い、適切なURLに向けてHTTP GETを発行するような簡単なJavaクラスを使って、OESゲートウェイを呼び出す方法もあります。
A RESTful interface to Oracle Entitlements Server 11g
http://blogs.oracle.com/robsayin/entry/a_restful_interface_to_oracle
[訳注]ロジ子訳はこちら。
http://orablogs-jp.blogspot.com/2011/10/restful-interface-to-oracle.html
このZipファイル(スクリプトとSQLを含む)で、JavaクラスをOracle Databaseにロードし、データベース機能を構成してJavaクラスをサンプルのSQLスクリプトから呼び出せるようにする方法を説明しています。Oracle Database 10gを使用している場合、DatabaseにJDK 1.4が含まれているため、JDK 1.4でクラスをコンパイルする必要があります。Oracle Database 11gの場合はJDK5を含むため、JDK5を使ってクラスをコンパイルする必要があります。
手順は次のとおりです。
- 適切なJDKを使ってJavaクラスをコンパイルする(mk.shスクリプトを使用)
- DatabaseにJavaクラスをロードする(OES- loadjava.shスクリプトを使用)
- データベースの準備スクリプトを実行し、Javaクラスへのインターフェースのための機能を定義し、データベースユーザの適切な権限でJavaコードを実行できるようにする。この例では、ユーザーSYSTEMの使用を前提とする
- SQLスクリプトを実行して、OESの呼び出し方を表示する。制約のないscott.emp表に対して生のクエリを実行し、その後OESゲートウェイを呼び出すJavaクラスを呼び出して、OESからの認可を回復する。責務が返された場合、プロシージャはscott.empの責務のキーを検索し、見つかった場合にはその値(例えば SAL<2000)を、制約としてテーブルを問い合わせるときに使用する。
- Oracle® Database Java Developer's Guide 11g Release 1 (11.2) (英語) http://download.oracle.com/docs/cd/E11882_01/java.112/e10588/toc.htm (日本語) http://download.oracle.com/docs/cd/E16338_01/java.112/b56280/toc.htm
- DBMS_JAVA Package
(英語) http://download.oracle.com/docs/cd/E11882_01/java.112/e10588/appendixa.htm
(日本語) http://download.oracle.com/docs/cd/E16338_01/java.112/b56280/appendixa.htm
原文はこちら。
http://blogs.oracle.com/robsayin/entry/using_oes11g_from_the_oracle
0 件のコメント:
コメントを投稿