ヘッダーをスキップ
Oracle OLAP Java API開発者ガイド
11g リリース1(11.1)
E05733-01
  目次へ
目次
索引へ
索引

前へ
前へ
 
次へ
次へ
 

新機能

ここでは、Oracle OLAP 11g リリース1(11.1)のOracle OLAP Java APIの新機能について説明します。

11.1での新機能

Oracle OLAP Java APIの一部の機能は、前のリリースとほとんど変わっていません。たとえば、oracle.olapi.data.sourceパッケージのクラスでは問合せの作成を、oracle.olapi.data.cursorパッケージのクラスではデータの取得を行うことができます。ただし、Oracle OLAP 11g リリース1(11.1)では、APIのメタデータ・モデルが変更され、多くの新機能が追加されています。主要な新機能については、次のトピックで説明します。

永続メタデータ・オブジェクトの作成

Oracle OLAP Java APIでは、永続メタデータ・オブジェクトを作成およびメンテナンスできるようになりました。Oracle Databaseは、Oracleデータ・ディクショナリにメタデータ・オブジェクトを格納します。

この新機能を提供するために、Oracle OLAP Java APIでは、メタデータ・モデルが大幅に見直されました。新しいモデルではいくつかの新しいパッケージが追加され、一部の既存パッケージに大幅な変更が加えられています。たとえば、oracle.olapi.metadata.mdmパッケージには新しいクラスが多数追加されています。また、既存のクラスには多数の新しいメソッドが追加されています。

アプリケーションでは、所有オブジェクトのfindOrCreateメソッドを使用して、ほとんどのメタデータ・オブジェクトを作成します。たとえば、次に示すコードは、PRODUCTS_AWJという名前のMdmStandardDimensionを検出します。このディメンションが存在していない場合は、その名前を持つ標準的なディメンションを作成します。mdmDBSchemaオブジェクトは、そのディメンションを所有するMdmDatabaseSchemaです。

MdmStandardDimension prodDim =
            mdmDBSchema.findOrCreateStandardDimension("PRODUCTS_AWJ");

新しいモデルでは一部のクラスおよびメソッドが非推奨になりました。たとえば、oracle.olapi.metadata.mtmパッケージのすべてのクラス、およびmtmクラスを使用するその他のクラスのメソッドが非推奨となりました。一時mdmオブジェクトをリレーショナル・データベース構造(表やビューの列など)にマップするmtmクラスや、カスタム・メジャーの値の集計または割当てなどの操作をOracle OLAPが実行する方法を指定するmtmクラスがありましたが、これらの機能は、oracle.olapi.metadataサブパッケージ(deploymentmappingmdm)およびoracle.olapi.syntaxパッケージのクラスで代替されます。これらの新しいクラスを使用すると、アプリケーションで永続メタデータ・オブジェクトを作成し、それらのオブジェクトをデータソースにマップして、メジャーの値を提供する操作を指定できます。

永続オブジェクトへのアクセスの制限

アプリケーションが、OLAPメタデータ・モデルの最上位オブジェクト(AWMdmCubeおよびMdmPrimaryDimensionなどのクラスのインスタンス)を作成したTransactionをコミットすると、これらのオブジェクトがOracleデータ・ディクショナリに存在することになります。これらのオブジェクトは通常のSQL問合せによって使用でき、Oracle OLAP Java APIを使用するアプリケーションでも使用できます。

メタデータ・オブジェクトはOracleデータ・ディクショナリ内に存在するため、Oracle DatabaseのDBAは、特定のタイプのメタデータ・オブジェクトへのアクセスを制限できます。このような制限はクライアント・アプリケーションで設定できます。設定するには、JDBC APIを使用し、ユーザー・セッションのJDBC接続を介して標準SQLのGRANTコマンドおよびREVOKEコマンドを送信します。オブジェクトのセキュリティの詳細は、『Oracle OLAPユーザーズ・ガイド』を参照してください。

アナリティック・ワークスペースの定義と構築

アプリケーションで、アナリティック・ワークスペースを定義、構築およびメンテナンスできるようになりました。この新機能は、oracle.olapi.metadataサブパッケージ(deploymentmappingmdm)およびoracle.olapi.syntaxパッケージのクラスで提供されます。Oracle Database 10g リリースでは、この機能は別のAPI(Oracle OLAP Analytic Workspace Java API)で提供されていましたが、このAPIは、このリリースでは完全に廃止されました。

XML定義のエクスポートとインポート

メタデータ・オブジェクトを定義したら、アプリケーションでその定義をXML形式でエクスポートできます。Analytic Workspace Managerは、保存されたこのような定義をテンプレートとして参照します。アプリケーションでは、メタデータ・オブジェクトのXML定義をインポートすることもできます。XMLをエクスポートおよびインポートするためのメソッドは、MdmMetadataProviderクラスにあります。

SQLに似た式の構文の使用

oracle.olap.syntaxパッケージのクラスを使用すると、SQLに似た式、関数、演算子および条件に基づいたJavaオブジェクトをアプリケーションで作成できます。SyntaxObjectクラスは、SQL式をJavaオブジェクトに変換したり、JavaオブジェクトからSQL構文を取得するためにアプリケーションで使用できる、fromSyntaxメソッドおよびtoSyntaxメソッドを持ちます。

アプリケーションでExpressionオブジェクトを作成するには、SyntaxObject.fromSyntaxメソッドを使用するか、コンストラクタを使用します。たとえば、次に示すコードでは、fromSyntaxメソッドを使用してStringExpressionを、コンストラクタ・メソッドを使用して別のStringExpressionを作成します。mpオブジェクトはセッションのMdmMetadataProviderです。

StringExpression strExp1 = (StringExpression)
                     SyntaxObject.fromSyntax("'Hello world from syntax.'", mp);
StringExpression strExp2 = new StringExpression("Hello world from constructor.");

複数セッション間の接続の共有

もう1つの新機能として、Oracle DatabaseインスタンスへのJDBC接続およびメタデータ・オブジェクトのキャッシュを共有する複数のユーザー・セッションを利用できるようになりました。この機能は、oracle.olapi.sessionパッケージのUserSessionクラスによって提供されます。

メタデータ・リーダー・モードの指定

レガシー・アプリケーションをサポートするために、OLAP Java APIでは、以前のメソッドで作成されたメタデータ・オブジェクトを認識できるメタデータ・リーダーを指定できます。DataProviderクラスにはメタデータ・リーダー・モードがあります。デフォルトでは、メタデータ・リーダーはOracle OLAP 11gのメタデータを認識します。OLAP Java APIの以前のバージョンで作成されたアプリケーションでOracle Database 11g リリース1(11.1)のインスタンスに接続し、DataProviderを作成する場合、適切なメタデータ・リーダー・モードが自動的に使用されます。

アプリケーションでメタデータ・リーダー・モードを指定するには、Propertiesオブジェクトのプロパティを使用するか、適切なXML形式の文字列を使用します。これらのモードおよびモードの指定方法については、『Oracle OLAP Java API Reference』のDataProviderクラスのコンストラクタ・メソッドを参照してください。

アプリケーションでは複数のメタデータ・リーダー・モードを指定することはできません。11gのメタデータ・リーダーでは、以前の形式のメタデータは認識されません。