Web コンテナーの「Export」エンドポイントの有効化¶
ここでは、 https://denodo-server.acme.com:9443/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:9443/export でアクセスできます。
デフォルトでは、このエンドポイントは無効です。有効にしてパスワードで保護することはできますが、そのパスワードメカニズムは Virtual DataPort に統合されていません。
これを有効にするには、以下の手順に従って実施してください。
このインストール環境のすべてのコンポーネントを停止します。
重要
目的は、Denodo の Web コンテナーを停止することです。コンポーネントをすべて停止することが重要です。それによって Denodo Web コンテナーも停止します。たとえば、Virtual DataPort を停止しても Data Catalog を起動したままであれば、Web コンテナーはシャットダウンされず、以下に示す変更は有効になりません。
<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」にする必要があります。
<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>
このインストール環境のコンポーネントを再起動します。
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;