Virtual DataPort 5.0 の変更点

Virtual DataPort 5.0 の変更点は以下のとおりです。

一部のエレメントに大文字と小文字の区別を適用

Denodo 5.0 以降、以下のエレメント、パラメーター、関数などで 大文字と小文字が区別 されます。

  • Virtual DataPort サーバーへのコネクション URI。これは現在、次のエレメントで大文字と小文字が区別されているため、変更されました。

    • データベースの名前

    • ログイン

    • パラメーター i18n の値

  • クエリの CONTEXT 句に含まれるリテラル。つまり、ビューの名前や変数を表すリテラルでは、大文字と小文字が区別されるようになりました。

  • 関数内のマップまたはビューを表すリテラルパラメーター。関数 CASTCREATETYPEFROMXML および GETVAR でリテラルとして指定された型名。関数 TO_DATEFORMATDATE および MAP 内のリテラル。関数 IS_PROJECTED_FIELD 内のフィールドを表すリテラル。

  • ストアドプロシージャおよびカスタムラッパーの jar の名前。Virtual DataPort 4.7 は、これらのエレメントを Virtual DataPort 8.0 にインポートする際に競合を回避するために、エレメントを小文字でエクスポートします。

  • JMS リスナー:

    • JMS リスナーの XML 出力。バージョン 4.7 では、XML タグは常に小文字になりますが、8.0 では、クエリが実行されたビューの内容と同じように大文字または小文字になります。

    • JMS リスナーの JSON 出力。バージョン 4.7 では、最上位フィールドの名前が大文字になり、サブフィールドの名前が小文字になります。バージョン 8.0 では、フィールドおよびサブフィールドの名前は、クエリが実行されたビューの内容と同じように大文字または小文字になります。

  • JSON Web サービスの出力内のフィールド名は、名前を変更しない限り、常に大文字になります。バージョン 4.7 では、常に小文字でした。

  • Web サービス:

    • Denodo Platform が公開している REST Web サービスの入力パラメーター。

    • SOAP Web サービスの URL。たとえば、SOAP Web サービス「orders」を公開するとします。

      Denodo 4.7 以前のバージョンでは、以下の URL が有効です。

      • http://acme:9090/server/pruebas/orders/services/orders

      • http://acme:9090/server/pruebas/orders/services/ORDERS

      Denodo 5.0 以降、URL 全体で大文字と小文字が区別されます。したがって、URL http://acme:9090/server/pruebas/orders/services/ORDERS は無効になり、HTTP エラー 404 (not found) を返します。サービスの大文字/小文字の区別に合わせて名前を使用する必要があります。

エレメント間の依存関係

Denodo 5.0 以降、Denodo は、ユーザーが作成したカスタムマップと、そのカスタムマップを使用するビューの間に 依存関係 を確立しています。また、サーバーにインポートされる jar ファイルと、その jar ファイルによって提供される Java クラスを使用する「Denodo ストアドプロシージャ」と「カスタムラッパー」の間にも依存関係を確立しています。

ユーザーが、ステートメント DROP MAP 18N を実行してカスタムの i18n マップを削除するか、 DROP MAP SIMPLE を実行して simple マップを削除するか、あるいは DROP JAR を実行して jar を削除する場合、それらに依存関係があると、ステートメントは失敗します。この場合、 DROP MAP I18N <name> CASCADEDROP MAP SIMPLE <name> CASCADE 、または DROP JAR <name> CASCADE を実行して、カスタムの i18n マップ、カスタムの simple マップ、または jar ファイルをそれぞれ削除します。これらのステートメントは、カスタムの i18n マップ、カスタムの simple マップ、または jar ファイル、 さらに それらに依存するエレメントを削除します。

以前のバージョンの Virtual DataPort では、カスタムマップまたは jar ファイルと、それらを使用するエレメントの間に依存関係が確立されません。したがって、 以前のバージョン では、ステートメント DROP MAP I18N または DROP JAR は失敗することはなく、カスタムの i18n マップまたは jar を使用するエレメントを削除しません。

JMS リスナー

Denodo 5.0 以降、 JMS リスナー は XML 出力の空のタグで null 値 を表します。Virtual DataPort 4.7 では、タグを追加しないことで null 値を表します。

ストアドプロシージャ

Denodo 5.0 以降、 ResultSet オブジェクトの getXXX(<parameter name:String>) メソッド (getString(...)getInt(...) など) では大文字と小文字が区別されます。バージョン 4.7 では区別されませんでした。

以下の例を確認してください。

String query = "select '1' as field1 from dual()";
ResultSet resultSet = getEnvironment().executeQuery(query);
if (!resultSet.next()) {
    throw new StoredProcedureException("not found any row");
}

/*
 * The following fails in Denodo 5.0 and newer versions because the
 * "getXXX" methods of the "ResultSet" class (i.e. getString(...),
 * getInt(...), etc.) are case sensitive. That means, that the input
 * parameter has to have the same case than the name of the field in
 * the query  (i.e. "test").
 * This worked in 4.7.
 */
String text1 = resultSet.getString("Field1");

/*
 * The following works in all versions because the parameter of
 * the "getString(...)" method has the same case as the name of the
 * field in the result set.
 */
String text2 = resultSet.getString("field1");

Denodo によって公開される Web サービス

Denodo 5.0 以降、公開されている Web サービスの Pretty XML Output オプションは、Web サービスのすべての操作にグローバルに適用されます。4.7 からインポートされた、公開されている Web サービスを編集する際、任意の操作で Pretty XML Output オプションが有効になっていると、Pretty XML Output オプションは Web サービス全体で有効になります。

ファイルのリポジトリへのエクスポート

Virtual DataPort 5.0 以降、ローカルファイルシステムにあるファイルの リポジトリへのエクスポート 時に作成されるフォルダー構造が簡素化されました。

Denodo 5.5 および 6.0 では、パラメーター --property legacyRepositoryLayout=yes--property caseSensitive=no をスクリプトに追加すると、旧バージョンのフォルダー構造を使用できます。

Denodo 8.0 では、これらのパラメーターはサポートされません。

これらのオプションの詳細については、管理ガイドの「 import/export スクリプトによるバックアップと複製 」を参照してください。