| 3. WebOTX UDDI Registry環境設定 |
本章では、WebOTX UDDI Registryを動作させるための環境設定の方法について説明します。
| 3.1. 環境設定 |
WebOTX UDDI Registryを使用するためには、以下の環境を設定する必要があります。
3.2. データベース環境
3.3. プロパティファイル
3.4. JDBCドライバの設定
3.5. 接続プール
3.6. warの配備
3.7. ノード・ビジネス・エンティティの登録
3.8. ポリシーファイルの設定
3.9. サーバポリシーファイルの設定
| 3.2. データベース環境 |
セットアップで行う必要のある作業について、それぞれのデータベースごとに説明します。 ここでは、データベースがインストール済みであることを前提とします。 (データベースのインストールについては、各データベースのインストールマニュアルを参照してください。)
3.2.1. Oracleセットアップ
3.2.2. Oracleアップデート (v1.2→v2.1)
3.2.3. Oracleアップデート (v2.1→v3.1)
3.2.4. PostgreSQLセットアップ
3.2.5. PostgreSQLアップデート (v1.2→v2.1)
3.2.6. PostgreSQLアップデート (v2.1→v3.1)
| 3.2.1. Oracleセットアップ |
Oracleにおいて、データベースのセットアップをする方法を説明します。 以下の手順に従って、セットアップを行なってください。また、この作業で使 用するスクリプトファイルは、全て、 ${WebOTXのインストール先ディレクトリ}/UDDIReg/env/oracle/ 以下にあります。
データベースの作成
Oracleの"Oracle Database Configuration Assistant"を起動します。 「データベースの作成」を選択し、「次へ」ボタンを押します。
作成するデータベースの種類を「カスタム」にして、「次へ」ボタンを押します。
以下に示す値のみを設定します。それ以外の項目はすべてデフォルト値のまま「次へ」ボタンを押します。
データベース情報
最後に「データベースの即時作成」を選択し、「完了」ボタンを押します。
UDDIスキーマに環境を構築
スクリプトファイルの中にある createuser_uddi_o.sql を開きます。
|
DROP USER UDDI cascade; |
ここでは、上記SQLから作られた
UDDI というユーザの、デフォルト表領域を USERS、一時表領域を TEMP として指定しています。別の表領域を使う必要がある場合は、この太字の部分を変更してください。
このまま実行する場合は、この名前の表領域が存在することが条件となります。存在しない場合は新規作成する必要があります。(DB管理者とご相談ください。初期エクステントはデフォルトのままで構いません。)
sqlplusコマンドを使用し、インストール用スクリプトを実行させ、DB環境設定を自動で実行します。
%> sqlplus system/"password"@uddi @createuser_uddi_o.sql
この"password"には、Oracleのユーザ"system"のパスワードを記述します。例えば、パスワードが"manager"の場合、次のように記述します。
例:%> sqlplus system/manager@uddi @createuser_uddi_o.sql
このインストール用スクリプトは、UDDIRegistry専用のユーザをデータベース上に作成します。
スクリプトの実行時、以下のメッセージが出力される場合がありますが、機能の上では問題ないため、無視して下さい。
DROP USER UDDI cascade
*
ERROR at line 1:
ORA-01918: user 'UDDI' does not exist
|
次に、作成されたUDDIRegistryユーザでsqlqlusコマンドを実行します。
%> sqlplus uddi/uddi@uddi @insert_tablev3_o.sql
%> sqlplus uddi/uddi@uddi @insert_functionv3_o.sql
%> sqlplus uddi/uddi@uddi @insert_admin_o.sql
%> sqlplus uddi/uddi@uddi @insert_tModelv3_o.sql
それぞれのスクリプトは以下の設定を行います。
|
|
なお、スクリプト実行時にOSの環境によっては以下のようなメッセージが出る場合があります。
CREATE INDEX UDDI.name_bE_idx3 ON UDDI.name_bE(name)
*
1行でエラーが発生しました。
ORA-01450: キーが最大長(758)を超えました。
CREATE INDEX UDDI.name_bS_idx3 ON UDDI.name_bS(name)
*
1行でエラーが発生しました。
ORA-01450: キーが最大長(758)を超えました。
CREATE INDEX UDDI.tModel_idx1 ON UDDI.tModel(name, enabled)
*
1行でエラーが発生しました。
ORA-01450: キーが最大長(758)を超えました。 |
これはbusinessEntity、businessService、tModelを名称で検索する際の速度向上のために作成するインデックスが、 OracleとOSの制限によって作成できなかったことを示しています。 機能の上では問題ないため、無視してください。
ネットサービス設定
「Net8 Configuration Assistant(Oracle8i利用時)またはNet Configuration Assistant(Oracle9i利用時)」を使用し、ネットサービスの設定をします。
以下の項目を設定してください。
設定項目
接続テストを行う場合は、Username=uddi, Password=uddi を設定してください。
ここではOracleデータベース UDDI をゼロから新規作成し、
その中に UDDI スキーマを作成し、
その中にWebOTX UDDI Registry 用の環境を構築する方法を説明しました。
既存のデータベース内に UDDI スキーマを作成し、
その中に環境を構築することも可能です。
その際はデータベース管理者とご相談ください。
その場合は、
上の例で示されているグローバル・データベース名、
SID、
sqlplusコマンドを使用する際の @uddi の部分、
サービス名とネットサービス名が、
既存のデータベースに合わせて適宜変更される形となります。
何らかの理由でテーブルを消してDBを再構築したい場合には、以下のスクリプトを実行してください。
%> sqlplus uddi/uddi@uddi @drop_tablev3_o.sql
以上で、Oracleのデータベースセットアップは完了です。
| 3.2.2. Oracleアップデート (v1.2→v2.1) |
既に、インストール済みのバージョン1.*のWebOTX UDDI Registryが存在する場合は、データベースはUDDI Version 2.0仕様に基づいた以前のバージョンのスキーマで作成されています。
従ってデータベースをUDDI Version 3.0仕様に基づいた、バージョン2.1のWebOTX UDDI Registry用にアップデートする必要があります。
次の作業を行ないます。この作業で使用するスクリプトファイルは、${WebOTXのインストール先ディレクトリ}/UDDIReg/env/convert2to3 以下にあります。
以下のことに注意してください。
|
|
|
DBにOracleを選択しているのであれば、JDBCドライバ classes12.zip がお使いのサーバーに用意されているはずです。(3.4.2. JDBCドライバの設定を参照してください。)
このドライバファイルの存在する位置を、上記の太字で示した部分のパスに指定してください。
OSがWindows系の場合: %> DBConverter.bat
OSがUNIX系の場合: %> DBConverter.sh
以上で、Oracleのデータベースアップデートは完了です。
| 3.2.3. Oracleアップデート (v2.1→v3.1) |
次に、前バージョンであるWebOTX UDDI Registry v2.1を既にお使いの際、v2.1仕様のデータベースを最新のv3.1仕様にアップデートする手順について説明します。
WebOTX UDDI Registry v1.2 仕様のデータベースをお使いの際は、この節の作業の前に3.2.2. Oracleアップデート (v1.2→v2.1)の作業を先に行い、v2.1にアップデートしてからこの節の作業を行ってください。
${WebOTXのインストール先ディレクトリ}/UDDIReg/env/oracle にある conv_3.0to3.0.1_oracle.sql を開きます。
|
@conv_create_temp_table.sql |
ここでは、上記ファイル内部でそれぞれ別のスクリプトを呼び出し、DBのアップデートを行っています。
sqlplusコマンドを使用し、インストール用スクリプトを実行させ、DBアップデートを自動で実行します。
%> sqlplus system/"password"@uddi @convert3.0to3.0.1_oracle.sql
この"password"には、Oracleのユーザ"system"のパスワードを記述します。例えば、パスワードが"manager"の場合、次のように記述します。
例:%> sqlplus system/manager@uddi @conv_3.0to3.0.1_oracle.sql
このインストール用スクリプトは内部で上記の別々のスクリプトを呼び出し、各種設定を行ってくれます。
| 3.2.4. PostgreSQLセットアップ |
PostgreSQLにおいて、データベースのセットアップをするには、次の作業を行います。 この作業で使用するスクリプトファイルは、全て、 ${WebOTXのインストール先ディレクトリ}/UDDIReg/env/postgreSQL/以下にあります。
%> su postgres
postgres> initdb -D /var/lib/pgsql/data -EUNICODE
postgres> /usr/bin/pg_ctl -D /var/lib/pgsql/data -o -i start
postgres> createdb -EUNICODE uddi
postgres> psql -f install_v3p.sql uddi
このインストール用スクリプトは内部で以下の別々のスクリプトを呼び出し、各種設定を行ってくれます。
|
|
local all trust
host all 127.0.0.1 255.255.255.255 trust
もしも、テーブルを削除してDB環境を作り直すならば、以下のコマンドを実行してください。
この上で、上の 5. からを実行してください。postgres> psql -f drop_tablev3_p.sql uddi
以上で、PostgreSQLのデータベースセットアップは完了です。
| 3.2.5. PostgreSQLアップデート (v1.2→v2.1) |
既に、インストール済みのバージョン1.*のWebOTX UDDI Registryが存在する場合は、データベースはUDDI Version 2.0仕様に基づいた以前のバージョンのスキーマで作成されています。
従ってデータベースをUDDI Version 3.0仕様に基づいた、バージョン2.1のWebOTX UDDI Registry用にアップデートする必要があります。
次の作業を行ないます。この作業で使用するスクリプトファイルは、${WebOTXのインストール先ディレクトリ}/UDDIReg/env/convert2to3 以下にあります。
以下のことに注意してください。
|
|
|
DBにPostgreSQLを選択しているのであれば、JDBCドライバ pg73jdbc3.jar がお使いのサーバーに用意されているはずです。(3.4.2. JDBCドライバの設定を参照してください。)
このドライバファイルの存在する位置を、上記の太字で示した部分のパスに指定してください。
OSがWindows系の場合: %> DBConverter.bat
OSがUNIX系の場合: %> DBConverter.sh
以上で、PostgreSQLのデータベースアップデートは完了です。
| 3.2.6. PostgreSQLアップデート (v2.1→v3.1) |
次に、前バージョンであるWebOTX UDDI Registry v2.1を既にお使いの際、v2.1仕様のデータベースを最新のv3.1仕様にアップデートする手順について説明します。
WebOTX UDDI Registry v1.2 仕様のデータベースをお使いの際は、この節の作業の前に3.2.5. PostgreSQLアップデート (v1.2→v2.1)の作業を先に行い、v2.1にアップデートしてからこの節の作業を行ってください。
${WebOTXのインストール先ディレクトリ}/UDDIReg/env/postgreSQL/ にある conv_3.0to3.0.1_postgresql.sql を開きます。
|
\i conv_create_temp_table.sql |
ここでは、上記ファイル内部でそれぞれ別のスクリプトを呼び出し、DBのアップデートを行っています。
PostgresのDBが稼動している状態でpostgresユーザでログインします。
%> su postgres
postgres> psql -f conv_3.0to3.0.1_postgresql.sql
このインストール用スクリプトは内部で上に上げた別々のスクリプトを呼び出し、DBのアップデートを自動で行ってくれます。
| 3.3. プロパティファイル |
WebOTX UDDI Registry では、環境設定を行うために、次のプロパティファイルを使用します。このプロパティファイルは、${WebOTXのインストール先ディレクトリ}/UDDIReg/conf/にあります。
| 3.3.1. server.properties |
server.propertiesでは、データベースとの接続や、データソースを利用する際の設定、
及びWebOTX UDDI Registryの初期パラメータなどの設定などを記述します。
このプロパティ内の各パラメータを修正することで、
WebOTX UDDI Registryの動作を変更することが可能になります。
WebOTX UDDI Registryの運用中に、 プロパティのパラメータを変更した場合は、変更内容をWebOTX UDDI Registryに反映するために、 Webコンテナ、Webサーバを再起動してください。(それまでは、変更内容は反映されません)
デフォルトのserver.propertiesファイルの内容を以下に示します。
|
これをお使いの環境に応じて適宜変えてください。
以降で、上記ファイルの各項目の変更方法について説明します。
太字の部分が通常のご使用で変更が必要になる個所です。
# # nodeID of this node. nodeID=uddi:hostname.nec.co.jpレジストリのノードIDを設定します。
通常は、レジストリを動作させるノードのホスト名(hostname.nec.co.jp)を"uddi:"の右に付加すれば良いでしょう。
# for oracle url=localhost.domain:1521:uddi type=jdbc:oracle:thin:@ driver=oracle.jdbc.driver.OracleDriver # for postgreSQL #url=localhost.domain:5432/uddi #type=jdbc:postgresql:// #driver=org.postgresql.Driverお使いのデータベースがOracleなら前者を、PostgreSQLなら後半をコメントアウトして変更してください。 上の例はOracleを使用した場合です。
urlはJDBC経由でデータベースにアクセスする際のURLを指定します。
localhost.domainはデータベースの存在するホスト名を指定します。 ホスト名のlocalhost.domainに続く数値(Oracle用は1521、PostgreSQL用は、5432)は、 データベースにアクセスする際のデフォルトのポート番号を表し、 通常は変更の必要はありません。typeはJDBC経由でデータベースにアクセスする際のアクセスタイプを指定します。通常は変更の必要はありません。
driverはJDBC経由でデータベースにアクセスする際のドライバ名を指定します。通常は変更の必要はありません。
# It specifies whether a connection pool is performed. # "true" is possible only when using Oracle. pooling=falseOracleとの接続をプーリングするかどうかを指定します。 使用する場合は、poolingプロパティにtrueを指定してください。
また、PostgreSQLと接続する際、接続プーリングはサポートされておりませんので、 必ずpoolingプロパティはfalseを指定してください。
# The maximum number of the entity # which can be saved by the one user. publisherAssertion=10 businessEntity=1 businessService=4 bindingTemplate=2 tModel=100 subscription=0それぞれ、WebOTX UDDI Registryが各ユーザーごとに発行できる、
publisherAssertion, businessEntity, businessService, bindingTemplate, tModel,subscription の最大値のデフォルト値を示します。 通常は変更の必要はありません。
# The number of the maximum response results maxRows=100検索結果として返されるデータの(デフォルトの)最大応答数を指定します。通常は変更の必要はありません。
# The abandonment DAY of authInfo expireDateTime=1get_authToken APIで得られるauthInfoの有効期限を指定します。単位は「日」です。通常は変更の必要はありません。
# The name of UDDI Operator site. operator=NEC-UDDI-OPERATORWebOTX UDDI Registryのオペレータ名を指定します。このレジストリのオペレータを識別できるような名前を指定してください。
# The default xsd:duration of subscriptionInterval (subscription) minimumNotificationInterval=P10Dサブスクリプションサーバーを稼動させた際、サブスクリプションの通知を行う間隔のデフォルト値を<xsd:duration>形式で指定します。このデフォルト値は10日間隔を表わしています。通常は変更の必要はありません。
# The default xsd:duration of expiresAfter (subscription) defaultExpiresAfter=P1Yサブスクリプションが期限切れになるまでの期間のデフォルト値を<xsd:duration>形式で指定します。このデフォルト値は1年間を表わしています。通常は変更の必要はありません。
################### Keying Policy ##################### # # When a publisher does not provide keys for new entities, # the UDDI node will assign keys which are uuidKey or derivedKey. # Comment out one of following properties. registryKeyDefault=uuidKey #registryKeyDefault=domainKeyWebOTX UDDI Registryが、 businessEntityなど各種EntityのKeyを自動生成する際の命名規則を設定します。 domainKeyを選択した場合、 下で述べるnodePartitionの値がkeyの中に入ります。 必要であれば変更してください。
- uuidKey を選択した場合の例:
uddi:4682b71a-7b2a-fabd-2620-5aa3f3d2aa82- domainKey を選択した場合の例 :
uddi:nec.com:e1a1743c-a8f6-dba0-a651-e980f4455ca0
# # It specifies whether a given node is permitted to publish # a given keyGenerator tModel. nodePartition=node.domain # # rootPartition # if rootPartition property is empty, this node is root registry. # if rootPartition property is not empty, this node is affiliate registry. rootPartition= #rootPartition=root.domainrootPartitionの値は、 WebOTX UDDI Registryがアフィリエート・レジストリとして動作する場合に指定される値です。
レジストリにはルート・レジストリとアフィリエート・レジストリの二種類があります。 複数のレジストリが単一の名前空間を用いる場合に、 ただ一つのルート・レジストリが、ルート・パーティションと呼ばれる名前空間を使用し、 その他全てのアフィリエート・レジストリが、ルート・パーティションの下にくる(分割された)名前空間を利用します。 これにより、複数のレジストリの間でデータのやり取りを行うのが容易になります。 ルート・レジストリとアフィリエート・レジストリの詳細については、 UDDI Version 3.0仕様 1.5.5節/8.1節 などをご覧ください。キーを自動生成する場合に、 ここで指定した値がプレフィックスの一部として使われます。uddi:rootPartitionの値:自動生成されたUUID値rootPartitionの値が空の場合(ルートレジストリとして動作する場合)は、uddi:自動生成されたUUID値となります。この値は、
nodePartitionの値も、 rootPartitionの値同様、キーを自動生成する場合に、 プレフィックスの一部として使われます。uddi:node.domainの値:自動生成されたUUID値nodePartitionの値が設定されている場合には、 rootPartitionの値に優先して用いられます。
通常、 rootPartitionは、WebOTX UDDI Registryを用いて構成するUDDIレジストリが、 ルートレジストリであるかアフィリエートレジストリであるかによって、 各ノードで同じ値に設定します。 nodePartitionは、この設定を上書きしてノード固有のパーティションを設定する場合に、 指定します。
必要であればこれらの値を変更してください。
################ Replication Configuration ################ # When using Replication, it is necessary to specify the path to # replicationConfiguration.xml. replicationConfiguration=/path/to/replicationConfiguration.xmlレプリケーション機能を使う際の、設定ファイル replicationConfiguration.xmlへのパス指定です。 replicationConfiguration.xml が存在する位置へパスを書き直してください。 通常はserver.propertiesと同じディレクトリに置いてあります。
Replication機能を使わない場合は変更の必要はありません。
############# Custody and Ownership Transfer ############# # # custodyExpirationDate represents the time at which the transfer # token is no longer valid. custodyExpirationDate=7所有権譲渡を行う際のtransferTokenの有効期限(単位は日)です。 デフォルトは7日間ですが、必要な際は変更してください。
############# SubscriptionServer Configuration ############# # # It specifies host name and port number of subscription server # when asynchronous notifications are used. subscirptionServerName=localhost subscriptionServerPort=9009サブスクリプションサーバーを稼動させる際、subscirptionServerNameにサーバー名、subscriptionServerPortにポート番号を指定します。必要であれば変更してください。サブスクリプションサーバーを稼動させない場合は変更の必要はありません。
# It specifies e-mail address of UDDI operator # when e-mail notification is used in subscription. fromAddress=operator@uddi.jp.nec.com # It specifies e-mail server when e-mail notification is used. smtpServer=localhostサブスクリプションサーバーの電子メールによる通知機能を利用する際、fromAddressにはメールを通知する宛先のメールアドレスを、smtpServerには電子メールサーバー名を指定します。サブスクリプションサーバーを稼動させない場合は変更の必要はありません。
以上で述べた項目以外は変更しないでください。
| 3.4. JDBCドライバの設定 |
WebOTX UDDI Registryは、JDBC経由でデータベースにアクセスします。 使用するデータベース環境に合わせてJDBCドライバを入手してください。 入手したJDBCドライバは、次の手順によって、起動時のクラスパスに自動追加されます。
(例)データベースがOracle, Windowsの場合のコピー先
"WebOTXインストール先"\domains\domain1\lib\ext\ojdbc14.jar
(例)データベースがPostgreSQL,UNIXの場合のコピー先
"WebOTXインストール先"/domains/domain1/lib/ext/pg73jdbc3.jar
| 3.5. 接続プール |
WebOTX UDDI Registry は、Oracleを使用した接続プーリング機能をサポートしています。
接続プールを行うことで、WebOTX UDDI Registry のパフォーマンスを向上させることができます。ここでは、接続プールの設定方法について説明します。
以下の手順に従って、接続プールの設定を行なってください。
(現在この版では、postgreSQLを使用した接続プール機能はサポートしていません。)
運用管理コマンドを次の手順で起動します。
以下の説明ではインストール時に作成済みのdomain1に設定することを想定していますが、別ドメインに設定する場合は、以下のコマンド説明の赤字の部分を環境に合わせて変更してください。
[スタート]-[すべてのプログラム]-[WebOTX]-[運用管理コマンド]を実行
root権限ユーザでログイン
>/opt/WebOTX/bin/otxadminを実行
ドメインが動作していることを確認します。
otxadmin>list-domains
List of domains:
WebOTXAdmin running
domain1 running
となっていることを確認します。
domain1 not runningの場合は、未起動ですので、次のコマンドで 起動します。
otxadmin>start-domain domain1
ドメインへのログインを行います。
otxadmin>login --user admin_user [--password admin_password][--host host_name][--port portnumber][--protocol jmxmp]
インストール時の既定値でローカルホストのdomain1に対して実行する場合は、次のようになります。
otxadmin>login --user admin --password xxxxxxxxxx --port 6212
otxadmin>login successful
と表示されればログイン成功です。
接続プール機能を使うにあたって、定義しなければならない項目は次の表のようになります。これら項目をコマンドを使って定義します。
| 項目名(属性名) | 説明 | 設定内容 |
|---|---|---|
| jndiName | JNDIサーバへの登録名 | "jdbc/"ではじまる名前を設定する |
| dataSouceType | JDBCドライバベンダが提供するインタフェース種別を表す文字列 | JDBCEX_Oracle バージョン8.1.6以降のOracleのDataSourceインタフェースを使用 |
| dataSourceName | データベースとの接続文字列 | "jdbc:oracle:thin:@DB_Server:1521:uddi" DB_Serverには、データサーバ名 uddiには、テーブル名が入ります。 |
| username | データベースとの接続ユーザ名 | UDDI Registryが提供するスクリプトを利用した場合の既定値はuddiです。 |
| password | データベースとの接続パスワード | UDDI Registryが提供するスクリプトを利用した場合の既定値はuddiです。 |
| maxStatements | ステートメントの最大プール数 | 既定値は10を設定します。 |
| useJTA | JTAと連携するかどうかを表すブール値 | UDDI Registryでは、falseを設定します。 |
otxadmin>create-jdbc-datasource --dataSourceType JDBCEX_Oracle jdbc/uddiDB
以下は、順不同で実行されても構いません。なお、コマンドに設定する文字列で赤字のものは、ご利用の環境に応じて変更してください。
otxadmin>set server.resources.jdbc-datasource.jdbc/uddiDB.property.dataSourceName="jdbc:oracle:thin:@DB_Server:1521:uddi"
otxadmin>set server.resources.jdbc-datasource.jdbc/uddiDB.property.userName=uddi
otxadmin>set server.resources.jdbc-datasource.jdbc/uddiDB.property.password=uddi
otxadmin>set server.resources.jdbc-datasource.jdbc/uddiDB.property.maxStatements=10
otxadmin>set server.resources.jdbc-datasource.jdbc/uddiDB.useJTA=false
上記コマンドによる設定内容をテキストファイルに記述し、そのファイルを指定することで、一括指定することも可能です。この場合次の手順となります。
コマンドに設定する文字列で赤字のものは、ご利用の環境に応じて変更してください。表示上の都合で改行しているところがありますが、実際に設定ファイルを用意される場合は、それぞれのコマンドについて改行をいれないようしてください。
export OTX_ADMIN_USER=admin OTX_ADMIN_PASSWORD=adminadmin
OTX_ADMIN_HOST=localhost OTX_ADMIN_PORT=6212
create-jdbc-datasource --dataSourceType JDBCEX_Oracle jdbc/uddiDB
set server.resources.jdbc-datasource.jdbc/uddiDB.property.dataSourceName=
"jdbc:oracle:thin:@DB_Server:1521:uddi"
set server.resources.jdbc-datasource.jdbc/uddiDB.property.userName=uddi
set server.resources.jdbc-datasource.jdbc/uddiDB.property.password=uddi
set server.resources.jdbc-datasource.jdbc/uddiDB.property.maxStatements=10
set server.resources.jdbc-datasource.jdbc/uddiDB.useJTA=false
otxadmin>multimode --file "設定ファイルパス"
otxadmin>get server.resources.jdbc-datasource.jdbc/uddiDB.*
次のように結果が表示されれば設定は成功です。
server.resources.jdbc-datasource.jdbc/uddiDB.dataSourceType = JDBCEX_Oracle
server.resources.jdbc-datasource.jdbc/uddiDB.description = <null>
server.resources.jdbc-datasource.jdbc/uddiDB.initialPoolSize = 0
server.resources.jdbc-datasource.jdbc/uddiDB.jdbcMajorVersion = 2
server.resources.jdbc-datasource.jdbc/uddiDB.jdbcMinorVersion = 0
server.resources.jdbc-datasource.jdbc/uddiDB.jndiName = jdbc/uddiDB
server.resources.jdbc-datasource.jdbc/uddiDB.maxPoolSize = 0
server.resources.jdbc-datasource.jdbc/uddiDB.minPoolSize = 4
server.resources.jdbc-datasource.jdbc/uddiDB.property.dataSourceName = jdbc:orac
le:thin:@DB_Server:1521:uddi
server.resources.jdbc-datasource.jdbc/uddiDB.property.maxStatements = 10
server.resources.jdbc-datasource.jdbc/uddiDB.property.password = uddi
server.resources.jdbc-datasource.jdbc/uddiDB.property.userName = uddi
server.resources.jdbc-datasource.jdbc/uddiDB.useJTA = false
server.propertiesのpoolingプロパティを次のように修正します。
[修正前]
pooling=false[修正後]
pooling=true
上記設定を登録したドメインを運用管理コマンドにより停止、再起動をしてください
otxadmin>stop-domain domain1
otxadmin>start-domain domain1
| 3.6. warの配備 |
WebOTX UDDI Registryを利用するためにはまず、UDDI Registryをサービスとし て転送・配備する必要があります。転送・配備を行うためには以下のディレ クトリに格納されているファイルuddi.warを利用します。次の手順に従っ て、WebOTX UDDI Registryを配備してください。
運用管理コマンドを次の手順で起動します。
- Windowsの場合(Windows XPでの操作例を代表して記述します。)
[スタート]-[すべてのプログラム]-[WebOTX]-[運用管理コマンド]を実行
- HP-UXの場合
root権限ユーザでログイン
>/opt/WebOTX/bin/otxadminを実行
配備先ドメインが動作していることを確認します。
以下の説明ではインストール時に作成済みのdomain1に配備することを想定していますが、別ドメインに配備する場合は、以下のコマンド説明の赤字の部分を環境に合わせて変更してください。
Windows,HP-UX全て同一手順です。otxadmin>list-domains
List of domains:
WebOTXAdmin running
domain1 runningとなっていることを確認します。
domain1 not runningの場合は、未起動ですので、次のコマンドで 起動します。
otxadmin>start-domain domain1
- Windows,HP-UX全て同一手順です。本手順により、以降のコマンド処理においてユーザ名、パスワード等の入力を省略できます。
配備先ドメインへのログインを行います。
otxadmin>login --user admin_user [--password admin_password][--host host_name][--port portnumber][--protocol jmxmp]
インストール時の既定値でローカルホストのdomain1に対して実行する場合は、次のようになります。
otxadmin>login --user admin --password xxxxxxxxxx --port 6212
otxadmin>login successful
と表示されればログイン成功です。
配備コマンドを実行し、引数としてWebOTX UDDI RegistryのWARファイルを指定します。
- Windowsの場合
otxadmin>deploy "C:\Program Files\NEC\WebOTX\UDDIReg\webapps\uddi.war"
- HP-UX、Linuxの場合
otxadmin>deploy /opt/WebOTX/UDDIReg/webapps/uddi.war
どちらも次の結果となれば成功です。
Command deploy executed successfully.
また、WebOTX Standard Edition, Enterprise Editionへ追加インストールする場合で、Webコンテナをマルチプロセスで動作させている場合は以下のコマンドを実行します。
- Windowsの場合
otxadmin>deploy --apgroup <アプリケーショングループ名> --pgroup <プロセスグループ名> --precompilejsp=true "C:\Program Files\NEC\WebOTX\UDDIReg\webapps\uddi.war"
- HP-UX、Linuxの場合
otxadmin>deploy --apgroup <アプリケーショングループ名> --pgroup <プロセスグループ名> --precompilejsp=true /opt/WebOTX/UDDIReg/webapps/uddi.war
アプリケーショングループ、プロセスグループへの配備方法についてはWebOTXマニュアル「運用編」の「アプリケーション配備」を参照して下さい。
これらのコマンドはUDDI Registry単体インストール同様に次の出力結果となれば成功です。
Command deploy executed successfully.
| 3.7. ノード・ビジネス・エンティティの登録 |
UDDIレジストリは、 UDDIレジストリ自身の情報もまたUDDIの情報としてレジストリに登録することで、 UDDI APIを通して外部にレジストリ自身の情報を公開する方法を規定しています。
この情報は、ノード・ビジネス・エンティティと呼ばれるbusinessEntityとしてレジストリに保存されます。
ノード・ビジネス・エンティティは、 通常のUDDI API(「UDDI Client API」参照)を使って登録したり、 管理コンソールを使って事前に準備したXMLファイルをアップロードする(「5.2.4.12. UDDIデータのアップロード」)こともできます。
しかし、簡単に登録したい場合にはノード・ビジネス・エンティティの登録ツール (NBER.jar)を使うと良いでしょう。ノード・ビジネス・エンティティ登録ツールは、 以下の場所に配置されています。
これを以下のように実行してださい。
%> java -jar NBER.jar -p 管理者パスワード -n ノードID -h ノードホスト名
引数の意味は以下の通りです。
| 3.8. ポリシーファイルの設定 |
UDDIではレジストリ/ノードの運営方針や使用条件といった各種の情報を、 ポリシーファイルに記述することで外部に公開することができます。
XML形式のポリシーファイルは、人間が読むことを想定しています。 WebOTX UDDI Registryでは、ポリシーファイルの記述はレジストリ自身の動作に一切影響を与えませんので、 レジストリを運営する際に適宜編集してください。
WebOTX UDDI Registryでは以下のURLでレジストリ/ノードのポリシーを記述したXML文書(のテンプレート)が配置されており、 "HTTP GET"を使って取得/閲覧することができます。
これらのファイルは以下のWebOTX UDDI Registry本体であるwarファイル中に置かれています。
ポリシーファイルを記述する場合は、 テンプレートファイルを以下のコマンドを用いてwarファイルから抜き出してください。
ただし、あとで変更したファイルをもとに戻してまとめるので新しい一時ディレクトリ(UDDI)を作って、
そこで抜き出すことにします。
抜き出すファイルはこの一時ディレクトリ(UDDI)に現れる以下ファイルになります。
(warファイルの内ではトップレベルに位置することになります。)
%> mkdir UDDI %> cd UDDI %> jar xvf uddi.warのフルパス名
そして、このテンプレートを必要に応じて編集してください。 ポリシーの詳細については、 UDDI Version 3.0仕様 9章を参照してください。
変更が終わったら、 変更したポリシーファイルを含む新しいuddi.warファイルを生成します。
%> jar cvfM uddi.war .
あとは、「3.6. warの配備」の要領で、uddi.warファイルを配置してください。
| 3.9. サーバポリシーファイルの設定 |
<WebOTX_DIR>/domains/ドメイン名/config/server.policyをテキストエディタで開き、次の記述を追加します。
// for UDDI Registry
grant {
// for uddi property file read
permission java.io.FilePermission "${com.nec.webotx.installRoot}${/}UDDIReg${/}conf${/}*", "read";
permission java.lang.RuntimePermission "accessClassInPackage.sun.beans.infos";
// for jdbc connection
permission java.net.SocketPermission "*:0-65535", "listen,resolve,connect";
// for axis client
permission java.io.FilePermission "${user.dir}${/}client-config.wsdd", "read,write";
// for https connection
permission java.security.SecurityPermission "putProviderProperty.SunJSSE";
permission java.security.SecurityPermission "insertProvider.SunJSSE";
};