Web コンテナーの「Export」エンドポイントの有効化

ここでは、 https://denodo-server.acme.com:9090/export エンドポイントを有効化する方法について説明します。

Virtual DataPort では、データサービス (SOAP および REST Web サービス) を公開することができます。その場合、管理が容易であることから、Denodo に組み込まれている Web コンテナーにサービスをデプロイすることが推奨されます。ただし、Web サービスを war ファイルにエクスポートして、それを Java Web コンテナー (IBM WebSphere、Oracle WebLogic...) にデプロイできます。war ファイルにエクスポートした Web サービスのファイルは、 <DENODO_HOME>/resources/apache-tomcat/webapps/export/ ディレクトリに置かれます。また、「export」エンドポイントを有効にした場合、URL https://denodo-server.acme.com:9090/export でアクセスできます。

デフォルトでは、このエンドポイントは無効です。有効にしてパスワードで保護することはできますが、そのパスワードメカニズムは Virtual DataPort に統合されていません。

これを有効にするには、以下の手順に従って実施してください。

  1. このインストール環境のすべてのコンポーネントを停止します。

重要

目的は、Denodo の Web コンテナーを停止することです。コンポーネントをすべて停止することが重要です。それによって Denodo Web コンテナーも停止します。たとえば、Virtual DataPort を停止しても Data Catalog を起動したままであれば、Web コンテナーはシャットダウンされず、以下に示す変更は有効になりません。

  1. <DENODO_HOME>/resources/apache-tomcat/conf/tomcat-users.xml を編集して、以下のテキストを追加します。

    <role rolename="export_endpoint"/>
    <user username="export_endpoint" password="PASSWORD_FOR_EXPORT_ENDPOINT" roles="export_endpoint" />
    

    ファイルは以下のようになります。

    <tomcat-users>
        <role rolename="export_endpoint"/>
        <user username="export_endpoint" password="PASSWORD_FOR_EXPORT_ENDPOINT" roles="export_endpoint" />
    </tomcat-users>
    

    username 属性と password 属性には、任意のユーザー名とパスワードを設定できます。これらは、ユーザーがこのエンドポイントに渡す必要がある資格情報です。

    「<user>」エントリは必要な数だけ追加できます。そのすべてで「roles」属性を「export_endpoint」にする必要があります。

  2. <DENODO_HOME>/resources/apache-tomcat/webapps/export/WEB-INF/web.xml ファイルを編集します。XML の以下のブロックを探します。

    <servlet-mapping>
        <servlet-name>listing</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    

    </servlet-mapping> に、以下のブロックを追加します。

    <security-constraint>
        <web-resource-collection>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>export_endpoint</role-name>
        </auth-constraint>
    </security-constraint>
    <security-role>
        <role-name>export_endpoint</role-name>
    </security-role>
    <login-config>
        <auth-method>DIGEST</auth-method>
    </login-config>
    
  3. このインストール環境のコンポーネントを再起動します。

  4. Virtual DataPort に管理者アカウントでログインして、以下を実行します。

    -- You do not need to restart for this command to take effect
    
    SET 'com.denodo.webcontainer.activateExportContext' = 'true';
    

今後このエンドポイントに接続するユーザーは、 tomcat-users.xml に入力したユーザーとパスワードを入力する必要があります。

後でこのエンドポイントを無効にする場合、以下を実行します。

-- You do not need to restart for this command to take effect

SET 'com.denodo.webcontainer.activateExportContext' = NULL;