注! 本書および本書で紹介する製品をご使用になる前に、
特記事項に記載されている情報をお読みください。
2005 年 1 月 17 日
本書は、WebSphere Product Center バージョン 5.2 および新しい版で明記されていない限り、 以降のすべてのリリースおよびモディフィケーションに適用されます。
(C) Copyright International Business Machines Corporations 2001, 2004. All
rights reserved.
第 1 章 WebSphere Product Center のモニター
WebSphere Product Center のサービス
サービスの簡略状況を入手する
サービスの詳細状況を入手する
データベースのモニタリングおよび管理
1. 必要に応じてより多くのスペースを割り振る
2. フィックス・パック / パッチを適用する
3. データベース / データベース・マネージャーを始動したりシャットダウンしたりする
4. データベース・スキーマを分析し、統計を収集する
5. テーブルや索引を再編成する
6. スケジュール済みのバックアップ・ジョブの状況をチェックする
7. データベースをリストアしたりリカバリーしたりする
8. データベースのパフォーマンスを調整する
第 2 章 WebSphere Product Center のパフォーマンス
ディスク・スペースの管理
一時ファイル
Web ページのキャッシュ
ハードウェア仕様
第 3 章 データベース管理
データベース・ユーザー
データベースのバックアップ
物理バックアップ
論理バックアップ
データベースの正常性検査
DB2 ヘルス・センター・アラートのセットアップ
データベース管理ツールキット
第 4 章 文書ストア
ディレクトリー
アーキテクチャー
テーブル・スペースの管理
ファイルの削除
オプションの BLOB の GZIP 圧縮
デフラグ
文書ストアでよく尋ねられる質問
第 5 章 バックアップおよびリカバリー
WebSphere Product Center のバックアップ
データベースのバックアップ
リカバリー
第 6 章 WebSphere Product Center のロガー
WebSphere Product Center のサービス・ログ構成ファイル
ランタイム生成ログ
ログ・ファイルの構成
ロケーションの変更
ファイル・サイズの変更
ファイル・バックアップ・オプションの変更
変換パターンの変更
変換指定子
形式修飾子
変換文字
WebSphere Product Center のロギング・セットアップ・ファイル
第 7 章 スペル・チェックの構成
第 8 章 セキュリティー
LDAP の統合
第 9 章 トラブルシューティング
ツール
アプリケーション・サーバーに関する問題
環境に関する問題
構成ファイル設定の一般的な誤り
アプリケーション・サーバーが応答しない
データベースに関する問題
1. データのエクスポート / インポート時の文字変換
2. データベースのスペース割り振りに関する問題
3. 実行中のジョブを kill すると WebSphere Product Center の動作が遅くなる
4. ログの切り替えの再実行に関する問題
5. WebSphere Product Center ミドルウェアが停止し、GUI がフリーズする
6. スキーマ・ジョブの停止を分析する
エラーがないかどうかログ・ファイルをモニターする
接続に関する問題
HTTP ポスト・エラー
FTP フェッチ・エラー
Java 接続のテスト
その他の問題
WebSphere Product Center の停止および再始動
第 10 章 マイグレーション
第 11 章 統合の最良事例
定義および頭字語
統合の各次元
ソース・システムまたはターゲット・システムとしての WebSphere Product Center
システムの制御
プロトコル
形式
データのサイズ
通信のタイプ
頻度
統合スレッド
頭字語
設計原則
再利用性
情報の共有
情報処理
イベント処理
トラッキングの変更
再利用可能なコネクター
インプリメンテーション
インプリメンテーションのスケール調整
パフォーマンス・チューニング
検証
安定性
スケーラブルなテスト
可視性
レポート
文書
WebSphere Product Center の統合において最も重要な 10 のガイドライン
明確で一般的な用語を使用して、統合について説明する
再利用性
可視性
小さな統合
典型的な環境と完全な環境
スケーラブルな処理のテスト
パフォーマンス
単一スレッドを早期に確立する
仕様および文書の設計
単一の所有者
EAI プラットフォームの統合
アプローチ
追加の利点
WebSphere Product Center のモニターは、 rootadmin の使用、 rmi_status スクリプトまたは GUI を使用して行うことができます。WebSphere Product Center では、独立型のモニター・ツールは提供されません。
モニター・ツールの作成は、この文書では紹介されません。ただし、以下に簡単なアイデアについて言及しておきます。
- アプリケーション・サーバーに仮想ホストを作成するか、おそらく個別のモニター用サーバーを作成します。 rmi_status および rootadmin.sh ではシステム負荷が発生するので、多くの環境では、モニター用のサーバーを別にすることをお勧めします。
- Perl などのスクリプト言語を使用して、サービスの状況を制御したり、表示したりする rootadmin.sh の CGI ラッパーを作成します。
- Web サーバーに、ログ・ファイルのブラウズを容易にする $TOP/logs を指す別名を作成します。
- 例外やその他のエラーがないかどうか $TOP/logs 内のログを解析し、 オプションでサービス状況をチェックするユーティリティーを作成します。このユーティリティーは、E メールを送信したり、エラーが発生した場合には管理者用の他の幾つかの通知方法を提供することができます。このユーティリティーは cron から実行します。
サービスの簡略状況を入手するには、以下のパラメーターを渡します。
-cmd=check -svc=<service name>
簡略状況には次のものがあります。
実行中 サービスが実行中であり、ハートビート機能に応答しています。 見つかりません サービスが見つかりません。サービスが開始されていなかったか、または破損していることなどが考えられます。 見つかりましたが、応答していません サービスが RMI レジストリーに登録されたものとして見つかりましたが、ハートビート機能に応答しません。サービスを再始動する必要があるかもしれません。
サービスの詳細状況を入手するには、以下のパラメーターを rootadmin.sh に渡します。
-cmd=status -svc=<service name>
HTML ファイルが作成されるので、任意のブラウザーを使用して参照することができます。 ターミナルでは、Lynx (または同様のツール) を使用して出力をフォーマットします。
この詳細状況は、サービス内で実行されている異なるスレッドの概要に加え、サービスが現在採用しているデータベース接続の状況も示します。
例:
スケジューラーの状況を入手するには以下のようにします。
rootadmin.sh -cmd=status -svc=scheduler > /tmp/sch_status.html; lynx /tmp/sch_status.html
または、以下の方法もあります。
rootadmin.sh -cmd=status -svc=scheduler > /tmp/sch_status.html; lynx -dump /tmp/sch_status.html
注: 上記の例で使用している「>」は、 状況の詳細情報を出力ファイルに書き出します。
リレーショナル・データベースは、大量の製品情報コンテンツの主要なストレージであるため、パフォーマンスの低下や損失を避ける管理アクションを提供することは重要です。
WebSphere Product Center でアラートを設定することにより、 発生する可能性のある問題に関して通知が行われ、問題が手におえなくなる前に解決できる場合があります。 モニタリング・システムをインプリメントして、WebSphere Product Center データベースを常にモニターする必要もあります。
以下のタスクは、定期的に実行されなければなりません。
- 必要に応じてより多くのスペースを割り振る
- 必要に応じてフィックス・パック / パッチを適用する
- 必要に応じて、データベース・マネージャー、データベース、他のサービスを始動したりシャットダウンしたりする
- より良いパフォーマンスを得るために、必要に応じてデータベース・スキーマを分析し、統計を収集する
- より良いパフォーマンスを得るために、定期的にテーブルや索引を再編成する
- スケジュール済みのバックアップ・ジョブの状況をチェックする
- 必要に応じて、データベースをリストアしたりリカバリーしたりする
- データベースのパフォーマンスを調整する
1. 必要に応じてより多くのスペースを割り振る
スペース管理は、管理者にとって継続的なタスクとなります。完全な静的データベースを持っている場合を除き、 テーブルおよび索引は、サイズが定期的に増加したり縮小したりします。継続的な処理が中断することなく行われるように、 使用可能な十分のスペースがあることを確認する必要があります。また、 スペースが効率よく使用されているかどうか確認する必要があります。 必要な場合には、DB2 コントロール・センターを使用してスペースを割り振ります。 コマンド行インターフェースを使用して、同じタスクを完了することもできます。
2. フィックス・パック / パッチを適用する
フィックスパック / パッチは、製品の修正で、データベース・システム・ベンダーが定期的に配信しています。 バグの修正を目的としているため、新規の機能は含まれていません。したがって、ターゲット・システムでの認証は必要ありません。 データベース・システムに関する既知の問題を回避するために、フィックスパック / パッチが提供されている場合には、 これらを適用することは重要です。修正情報について詳しくは、データベース・システムのベンダーに連絡してください。
3. データベース・マネージャー、データベースを始動したりシャットダウンしたりする
フィックスの適用 (サーバーから別のサーバーへデータベースを移動するなど) の一環として、 データベース・マネージャー / データベースをシャットダウンする必要があります。必要に応じて、データベースを始動およびシャットダウンする必要があります。
4. データベース・スキーマを分析し、統計を収集する
データベース・スキーマは分析され、データベース内のテーブルおよび索引に関する最新の統計を収集します。コスト・ベースの最適化手法では、統計を使用して、それぞれの実行プランのコストの見積もりを判別します。統計は定期的に収集され、スキーマ・オブジェクトに関する最良の情報をオプティマイザーに提供します。たとえば、かなりの行数がテーブルにロードされた場合には、テーブルの新規の統計を収集する必要があります。
データベース・スキーマを分析するには、$TOP/src/db/schema/util ディレクトリーにあるシェル・スクリプト analyze_schema.sh を実行します。
5. テーブルや索引を再編成する
より良いパフォーマンスを得るために、定期的にテーブルや索引を再編成することをお勧めします。
今日のデータベースは以前に比べて急速に拡大しているため、DBA は、 最適なパフォーマンスを達成するためのスペース管理や再編成に膨大な時間を費やす必要があります。
最適なパフォーマンスとは、最適な応答時間のことを意味します。 しかし、膨大なスペース管理の問題ゆえに、パフォーマンスが低下する可能性があります。 これらの問題の大半は、3 つの主要な領域、つまり、テーブルに関する問題、索引の分断化、I/O バランスとデータの分割化などに分けられます。
テーブルに関する問題については、ほとんどの DBA がよく通じています。 これらの問題には、テーブル・ブロック内の十分に活用されていないスペース、チェーニングされた行、 データ近接性の低さ、フラグメント化された (拡張しすぎた) テーブルなどが含まれます。
パフォーマンスの課題に関する 2 番目の問題は、大きくなってしまい、データが散在している索引です。
これによって、索引範囲スキャンのパフォーマンスが大幅に低下する可能性があります。 また、大量のディスク・スペースを浪費する可能性があります。
パフォーマンスの課題に関する 3 番目の主要な問題は、I/O バランスおよびデータの分割化です。 頻繁にアクセスされるオブジェクトが同じデータ・ファイルに常駐している場合、I/O ボトルネックが生じる可能性があります。 DB2 での reorgchk のようなツールは、再編成する必要があるオブジェクトに関する情報を明らかにします。 データベース・オブジェクトを再編成するのに使用可能なメソッドおよびツールは数多く存在します。 これらについては、テーブルや索引の再編成に関する、データベース・システム・ベンダーの特定の資料をご一読ください。
6. スケジュール済みのバックアップ・ジョブの状況をチェックする
バックアップは、リストアおよびリカバリー処理における重要な部分です。 すべてのバックアップ・ジョブの状況を検証して、これらのジョブがスケジュール通りに実行していることを確認してください。
バックアップの状況のチェックは、バックアップ手順の定義方法およびバックアップを行うのに使用するツールによって異なります。詳しくは、ベンダー・データベース・システムのバックアップに関するベンダー固有の資料を参照してください。
7. データベースをリストアしたりリカバリーしたりする
データベースに障害が発生した場合、障害のタイプおよび程度を判別します。 この分析により、システムをリカバリーするために実行するステップが示されます。 IT サポート・グループによって定義されたとおりにリストアおよびリカバリー処理を使用します。
物理的なバックアップのリストアとは、データベースを再構築し、それをデータベース・サーバーで使用可能にすることを意味します。 リストア済みのデータ・ファイルのリカバリーとは、再実行レコード、 つまりバックアップを取った後にデータベースに加えられた変更のレコードを使用して、データベースを更新することです。
8. データベースのパフォーマンスを調整する
DBA が担う最大の責任の 1 つは、データベースが正しく調整されているかどうか確認することです。 RDBMS は、幅広い調整が可能であり、データベースがそのパフォーマンスを向上させるためにモニターおよび調整することができます。
パフォーマンス調整を行わなければならない理由として、以下の点が挙げられます。
- 計算の速度によって、貴重な人的時間 (ユーザーが応答を待機する) が浪費される可能性があります。
- 以下のようにして、ご使用のシステムがビジネスが行われるスピードに追いつくことができるようにします。
ハードウェアの使用法を最適化し、コストを削減します (会社はハードウェアに多額のコストを費やしています)。
データベースのパフォーマンスを調整するのに使用可能な各種の方法について詳しくは、DB2 製品に付属している製品資料を参照してください。
WebSphere Product Center ミドルウェア区画および一時区画の両方に、30 から 50 ギガバイトの使用可能なスペースを持つことをお勧めします。
- WebSphere Product Center ミドルウェア区画: 30GB をお勧めします。ミドルウェアのサイズは、およそ 65 から 70 メガバイトです。
- 一時区画: 2 GB から 4 GB の使用可能なディスク・スペース (この区画は、作成および削除される大容量の一時作業ファイルを数多く保持するのに使用されます)。
クラスター構成において、アプリケーション・サーバーは共用ストレージを必要としています。静的 HTML およびイメージ・ファイルは同期化して、rsync などのユーティリティーを使用することができますが、Web サーバーには共用ストレージを使用することをお勧めします。
アプリケーション・サーバー、$TOP では、FTP ディレクトリーおよび Web サーバーの文書ルート (静的 HTML およびイメージのロケーション) は通常、共用デバイス上にあります。一方、 Apache などのサポートされるアプリケーション、JDK およびアプリケーション・サーバーは、ローカル・ストレージにインストールされます。ログはローカル・ストレージまたは共用ストレージに保持されます。common.properties で指定される一時ディレクトリーは、ローカルでなければなりません。
一時ファイル
以下のディレクトリーは、一時ランタイム生成ファイルを保持し、ファイル・システム上に配置されます。
注: 一時ファイル・ディレクトリーは、 インストールされている WebSphere Product Center のバージョンによって異なる場合があります。
$TOP/public_html/created_files/distributor
- 目的: アウトバウンド FTP 配布の場合、キュー・マネージャーはデータベースからこのディレクトリーへ文書をダウンロードし、FTP ファイルをその宛先へダウンロードします。
- 存続期間: システム管理者は、スケジュールされたアプリケーションのダウン時間中に、このディレクトリーにあるすべてのファイルを削除する必要があります。すべてのファイルを日付別にソートし、会社がこのディレクトリーのすべてのファイルに対して設定した回転周期よりも古いファイルを削除します。推奨される回転周期は 7 日間です。
Linux を使用した例
cd $TOP/public_html/created_files/distributor
find . -type f -mtime +7 -exec ls -l {} \; <-- 削除するファイルを表示する
find . -type f -mtime +7 -exec rm -f {} \; <-- ファイルを削除する
$TOP/public_html/suppliers/company code/aggregated_files/
- 目的: FTP フェッチ経由で取り出されるアップロードされたインポートおよびエクスポート・ファイルは、このディレクトリーに配置されます。
- 存続期間: このディレクトリーをファイル・システムから削除してはなりませんが、必要に応じて WebSphere Product Center GUI から削除します。
$TOP/public_html/suppliers/company code/tmp_files:
- 目的: このディレクトリーは一時作業ファイルを保持します。
- 存続期間: このディレクトリーにファイルを数週間保管して、定期的に除去することをお勧めします。必要であれば、WebSphere Product Center の再始動時に、あるいは定義されたスケジュール (たとえば、2 週間以上経過したファイル) に基づいて、ファイルを自動的に除去します。
$TOP/logs
- 目的: このディレクトリーは、WebSphere Product Center ミドルウェア・ログを保持します。
- 存続期間: ログ・レベルに基づいて、十分なディスク・スペースを指定する必要があります (エラー --> デバッグ)。管理者はこのディレクトリー・サイズを完全に制御します。デバッグ・モードが必要な場合には、使用可能なディスク・スペースを 2 ギガバイト から 3 ギガバイトにしておくことをお勧めします。通常のレベルでの 1 日分のログとして、およそ 30 ~ 40 メガバイトのログが生成され、自動パージに設定することができます。
WebSphere Product Center のデフォルト・インストールでは、プロキシー・サーバーにページをキャッシュしないよう指示する設定になっています。ページのキャッシュを許可すると、ブラウザーの「戻る」ボタンを使用する機能は大幅に制限され、エラー・メッセージおよび有効期限が切れたページが作成されます。キャッシュを希望する場合は、GUI ナビゲーション・フィーチャーを使用して、「戻る」ボタンは使用しないようにしてください。
ファイルの編集: common.properties
パラメーター: no_cache_directive=on/offデフォルトでは、パラメーターは off に設定されています。
パラメーターを on に設定すると、応答に対するパラメーターは、ページをキャッシュしないようプロキシー・サーバーに指示するよう設定され、ブラウザーの「戻る」ボタンの機能は大幅に制限されます。
off に設定すると、ブラウザーの「戻る」ボタンは有効になり、エラーは発生しなくなります。
ハードウェア仕様は、WebSphere Product Center から最適のパフォーマンスを引き出すために、最良事例、過去の経験、および容量要件に基づいて選択する必要があります。
アプリケーション・サーバー
WebSphere Product Center のデータ・オブジェクトの大半は、データベース・サーバーに保管されます。このため、アプリケーション・サーバー上のディスク・ストレージは、OS コンポーネント、WebSphere Product Center 実行可能プログラム、サード・パーティー・コンポーネント、WebSphere Product Center の一時作業ファイル、および WebSphere Product Center ログの保管にのみ使用します。
WebSphere Product Center ミドルウェアは、それぞれが大量のメモリーを持つことのできる、幾つかの J2EE コンポーネントを使用します。WebSphere Product Center は、アプリケーション・サーバーが 4GB のメモリーを持つことを推奨しますが、そのうちの 2.5GB は通常、WebSphere Product Center ミドルウェアのインスタンス用に使用されます。
データベース・サーバー
データベース・サーバーのサイズは、さまざまな要因によって異なります。これには、カタログ・アイテムの数、各アイテムに関連した属性の数、およびカタログ属性のサイズが含まれます。
経験則では、各属性に 8KB のスペースが割り振られます。たとえば、500,000 アイテムが含まれるカタログがあったとして、それぞれのアイテムに 14 個の属性を持つ場合、最小で 56GB のデータベース・ストレージ (500,000 アイテム x 14 属性 x 8KB) が必要になります。
このスペースには、データベース・バイナリー、undo セグメント、一時テーブル・スペースなどに必要なものは含まれません。
推奨アーキテクチャー
WebSphere Product Center を使用して大きなバッチ・ジョブを処理する場合、バックグラウンド・トランザクションを処理するオプション・スケジューラー・サーバーを使用するオプションをお勧めします。
WebSphere Product Center のインストール時に作成されたデータベース・ユーザーおよびパスワードは、common.properities で定義されます。common.properties ファイルを更新せずにデータベース・ユーザーのパスワードを変更すると、WebSphere Product Centerミドルウェアが破損してしまいます。データベース・ユーザーのパスワードを変更する必要がある場合、common.properties にあるプロパティー db_password を更新してください。パスワード認証は、DB2 におけるオペレーティング・システム・レベルで行われます。
データベースのバックアップおよびリカバリーは、データベース管理者 (DBA) が実行する最も重大な操作のうちの 1 つです。このため、適切に定義されたバックアップおよびリカバリー・ストラテジーをインプリメントすることは大変重要です。WebSphere Product Center を使用して最適なパフォーマンスを保つためには、以下のバックアップ・ストラテジーをお勧めします。
物理バックアップ
WebSphere Product Center では、データベースのバックアップを毎日取ることをお勧めします。システムのダウン時間の可用性に基づいて、オフラインでデータベースの物理バックアップ (イメージ・バックアップ) を取ったり、オンラインでの物理バックアップ (ホット・バックアップ) を取ることができます。多くの WebSphere Product Center データベースでは、365 日 24 時間、常時アクセスがあるため、データベースのオフライン・バックアップを行えるダウン時間が存在しない可能性があります。データベースは、データベースのオンライン・バックアップを行うことができるように、DB2 で logretain モードで実行していなければなりません。データベースのオンライン・バックアップを行うことによって、データベースを特定の時点の状態にリカバリーすることができます。詳しくは、DB2 製品資料を参照してください。
論理バックアップ
論理バックアップは、データベースに対して作成されたスキーマ・オブジェクトに関する情報を保管します。DB2 の DB2MOVE ユーティリティーを使用して、データベースのバックアップ・ストラテジーにおける補足的な保護および柔軟性を与えるために、特定のオブジェクトを選択的にエクスポートすることができます。データベース・エクスポートは、物理バックアップの代わりになるものではなく、物理バックアップが提供するのと同じ完全リカバリーの利点を提供することはできません。論理バックアップは、QA をセットアップしたり、実働データを使用してインスタンスをテストするのにとても便利な場合があります。WebSphere Product Center DBM ツールキットには、WebSphere Product Center データベース・スキーマの論理バックアップに関する WebSphere Product Center 固有の指示も含まれます。
定期的な間隔でデータベース・システムの正常性を検査することは、システムの高い可用性につながります。
DB2 ヘルス・センター・アラートのセットアップ
DB2 ヘルス・センターを使用して、データベース環境の状況をモニターし、必要に応じて変更を加えます。ヘルス・モニターは、一連のヘルス・インディケーターを継続的にモニターします。ヘルス・インディケーターの現行値が、警告しきい値およびアラームしきい値で定義された許容される操作範囲の外側にあると、ヘルス・モニターによりヘルス・アラートが生成されます。DB2 には、事前定義されたしきい値が付属しており、あとでカスタマイズすることができます。
以下は、ヘルス・センターを使用して実行できる主要なタスクの一部です。
データベース環境の状況を表示します。
インスタンスまたはデータベースのアラートを表示します。
アラートに関する詳細情報、および推奨されるアクションを表示します。
特定のオブジェクトのヘルス・モニター設定、およびインスタンス内のオブジェクト・タイプあるいはすべてのオブジェクトのデフォルト設定を構成します。
E メールまたはページャー・メッセージを使用してアラートについての通知を出す連絡先を選択します。
インスタンスのアラートの履歴を確認します。
WebSphere Product Center データベースを管理するのに使用できる DB 管理スクリプトが幾つかあります。これらのスクリプトはすべて、ツールキットの形式で 1 つにまとめられます。
DB2 のツールキットで扱われる各種のタスクには、以下のものがあります。
- WebSphere Product Center データベースからデータを除去する
- WebSphere Product Center スキーマを分析し、統計を収集する
- WebSphere Product Center スキーマの論理バックアップを行う
- sysinfo.sql を使用して WebSphere Product Center データベースの構成詳細を収集する
文書ストアは、すべての着信および発信ファイルが保管される WebSphere Product Center 内の領域です。これには、インポート・フィード、スクリプト、レポート、仕様ファイルが含まれます。
GUI 構造は、データベースで保管されるファイルに対するハイパーリンクを提供します。これは、基本的にファイルのロケーションへのポインターになります。
ディレクトリー
文書ストアはファイル構造の方法で表示されます。ファイルは、以下の文書ストア・ディレクトリーからアクセスできます。
archives
public_html
eventprocessor
schedule_logs
feed_files
scripts
ftp
tmp
params
users
FTP および public_html は、文書ストアにマウントされるファイル・システム・ディレクトリーです。これらは、$TOP/etc/docstore_mount.xml で定義されます。このファイルは、さまざまな OS ファイル・システムのマウント・ポイントのロケーションを提供します。
使用される変数は、"$ftp_root_dir" および "$supplier_base_dir" であり、common.properties 構成ファイルで定義されます。
アーキテクチャー
データベースには、文書ストアに保管されるファイルに対して指定されたテーブル・スペースがあります。ファイルが文書ストアに保管されると、新規のレコードが DB に作成されます。データベースは、ファイルを BLOB (バイナリー・ラージ・オブジェクト) ファイルとして保管します。
BLOB ファイルは、画像ファイルまたはサウンド・ファイルなど、データベースに保管する必要のある、ランダムな大きさのビットのブロックを指しています。BLOB に関して重要な点は、BLOB はデータベース自体の中では解釈できないオブジェクトであるということです。
データベースは、データベース自体にあるテーブル・スペース内に BLOB を保管します。この方式の利点は、バックアップ・リカバリーおよびセキュリティー・メカニズムなどの、その他のすべてのテーブル・データのタイプを保護するデータベース・サーバー・メカニズムを使用して、データベースがデータを保護するという点です。
テーブル・スペースの管理
スペース管理は、継続的なタスクです。文書ストア・テーブルのサイズは変化することがあります。継続的な処理を中断せずに大きなバイナリー・ファイルをサポートするための、使用可能な十分のスペースがあることを確認する必要があります。さらに、スペースが効率よく使用されているかどうか確認する必要があります。
ファイルの削除
WebSphere Product Center が BLOB ファイルおよび対応する参照を削除する場合、データベース・エンジンは割り振られたスペースを解放せずに、新規ファイルのスペースを再使用します。
このようにして、各ファイルは、ファイルの削除時にメモリー・ブロックに保管され、メモリー・ブロックは、新規ファイルの追加時に再使用されます。
オプションの BLOB の GZIP 圧縮
BLOB に保管されている文書を圧縮するには、以下のようにします。
編集するファイル: common.properties
パラメーター: gzip_blobs=true/false
- 有効値は true または false です。
- 値が存在しない場合は、デフォルトで false になります。
- true の場合、BLOB に保管されている文書は圧縮されます。
デフラグ
文書ストアでは、ファイルの追加や削除が何度も行われるため、メモリー・ブロックがフラグメント化される可能性があります。フラグメント化は、ファイルの作成、削除、および変更などでディスクを頻繁に使用すると自動的に発生します。
ある時点で、オペレーティング・システムは、不連続クラスターで構成されているファイルの部分を保管する必要があります。これは、ユーザーには全く見えませんが、データにアクセスする速度が遅くなる可能性があります。これは、ディスク・ドライブがディスクの異なる部分を検索して、1 つのファイルにまとめる必要があるためです。
文書ストアのパフォーマンスを向上させるには、compress=y を使用して DBL テーブルをエクスポートしてからインポートするのが最善です。これにより、ファイルのすべてが 1 つの連続したクラスターにまとめられるため、ファイルをインポートする速度が上がります。
注: テーブル・スペースの割り振りによっては、デフラグを定期的に行う必要がない場合があります。ディスク速度を定期的にモニターして、ディスク・スペースのデフラグが必要かどうかを判別してください。
文書ストアでよく尋ねられる質問
問題: BLOB を削除すると、WebSphere Product Center の速度に影響し続けますか?
いいえ。行を削除すると、文書ストア・ページの速度は改善されます。
問題: スペースを割り振ったままだと、エクスポート / インポートの速度は低下しますか?
はい。これを修正するには、DBL テーブルを compress=y でエクスポートおよびインポートするしかありません。
特定のバックアップ方式および使用されるソフトウェアは、本書では扱われていません。ただし、バックアップの概念は本書で説明されています。
WebSphere Product Center のバックアップは、以下の 2 つのコンポーネントで構成されています。WebSphere Product Center がインストールされたファイル・システム・ディレクトリーのバックアップと、データベースのバックアップです。
WebSphere Product Center のバックアップ
WebSphere Product Center をバックアップするには、common.properties で定義されたとおりに $TOP ディレクトリーを単にバックアップします。これらのディレクトリー内ではファイルが変化するので、毎日バックアップすることをお勧めします。定期的な完全バックアップと毎日のインクリメンタル・バックアップで構成されるバックアップ・スケジュールをたてるようお勧めします。
データベースのバックアップ
データベースのバックアップの方法は、エクスポート、ホット・バックアップ、コールド・バックアップ、ミラーリングなどの使用可能なさまざまな方式があるため、本書では扱われていません。どの方法を選択した場合でも、common.properties で定義されているように、WebSphere Product Center データベース・ユーザーのスキーマは、バックアップする必要のあるものです。
WebSphere Product Center が稼働するためにデータベースは使用可能である必要があるため、毎日のオンライン・バックアップあるいは「ホット」バックアップを使用することをお勧めします。エクスポートまたはオフライン・バックアップも定期的に行う必要があります。
データベースのバックアップについて詳しくは、セクション "データベースのバックアップ" を参照してください。
リカバリー
リカバリーは、以下の 2 つのカテゴリーに分けることができます。WebSphere Product Center およびサポート・ファイルのリカバリーと、データベースのリカバリーです。
WebSphere Product Center およびサポート・ファイルをリカバリーするには、単に欠落しているファイルまたはディレクトリーを元のロケーションにリストアして、WebSphere Product Center を始動します。
データベースをリカバリーするには、以下のステップを実行します。
- アプリケーション・サーバーをシャットダウンする
- WebSphere Product Center ミドルウェアをシャットダウンする
- スキーマをリストアする
- WebSphere Product Center ミドルウェアを始動する
- アプリケーション・サーバーを始動する
WebSphere Product Center は、ログを生成する事前定義されたファイルを提供します。これは、WebSphere Product Center 内の問題をトラブルシューティングするのに使用することができます。本書では、ロギング・メカニズムの概要について説明し、ログ・ファイルのセットアップ方法について説明します。
以下のファイルは、WebSphere Product Center 全体にあるさまざまなサブシステムを制御します。生成されるログのロケーションは各ファイルで定義されます。
注: すべてのパスは $TOP と相対関係にあります。
/etc/logs/eventprocessor.log.xml
/etc/logs/scheduler.log.xml
/etc/logs/system.log.xml
/etc/logs/appsvr.log.xml
/etc/logs/workflowengine.log.xml
ランタイム生成ログを使用して、エラーがないかどうか確認できます。これにより、WebSphere Product Center または内部のサポート・インフラストラクチャーに関連した問題がある場合に、その問題をトラブルシューティングするのに役立ちます。
WebSphere Product Center によって生成されたログ・ファイルは $TOP/logs/*.log に保管されます。
WebSphere Product Center ログ・ファイルのプロパティーは、必要に応じて編集することができます (たとえば、ロケーション、最大サイズ、形式など)。以下のセクションでは、ログを構成するのに使用されるエレメントについて説明し、WebSphere Product Center ログ・ファイルの構成時に使用されることのある値のリストを提供します。
ロケーションの変更
注: ファイルおよびローリング付加にのみ適用されます。
生成されたログ・ファイルのロケーションを変更するには、指定されたログ構成ファイルのパラメーターを変更します。
たとえば、以下のようにします。
<param name="File" value="${TOP}/logs/webserver_db.log " />
ファイル・サイズの変更
注: ローリング付加にのみ適用されます。
ログ・ファイルのサイズは、出力の上位オーダーの交替およびパージを開始する前に、指定したストレージ・サイズに設定することができます。ファイルがいつ切り捨てを開始するかを制御するには、ログ・ファイル・サイズのパラメーター値を変更します。
たとえば、以下のようにします。
<param name="maxFileSize" value="10MB" />
ファイル・バックアップ・オプションの変更
注: ローリング付加にのみ適用されます。
ロガーを定義して、指定したログ・ファイルのバックアップ数を保つことができます。最大値に達すると、最も古いファイルが消去されます。
たとえば、以下のようにします。
<param name="maxBackupIndex" value="2" />
変換パターンの変更
ログのレイアウト構成は、変換パターンを再定義することによって変更することができます。
たとえば、以下のようにします。
<param name="ConversionPattern" value=
"%d [%t] %-5p %c (%F:%L) %x- %m%n"/>この変換パターンは、C における printf 関数の変換パターンと密接に関連しています。変換パターンはリテラル・テキストと、変換指定子と呼ばれるフォーマット制御式で成り立っています。
注: 変換パターン内にリテラル・テキストの挿入は任意です。
それぞれの変換指定子は、パーセント記号 "%" で始まり、オプションの形式修飾子および変換文字が後に続きます。
% (形式修飾子)(変換文字)
たとえば、以下のようにします。
%-5p [%t]: %m%n
- 形式修飾子は、フィールド幅、埋め込み、左右の位置調整などを制御します。
- 変換文字は、データのタイプ (たとえば、カテゴリー、優先順位、日付、およびスレッド名) を指定します。
デフォルトでは、関連情報はそのまま出力されます。ただし、形式修飾子を使用して、フィールドの最小幅、フィールドの最大幅および位置調整を変更することは可能です。
パーセント記号と変換文字の間に、オプションのフォーマット修飾子が配置されます。この例では、変換指定子
%-5p は、ロギングの優先順位を 5 文字の幅になるよう左に位置調整することを意味しています。最初のオプションのフォーマット修飾子は、単にマイナス (-) 文字で表される左位置調整フラグです。さらに、オプションのフィールドの最小幅修飾子が続きます。これは、出力する最小文字数を表す 10 進定数です。データ・アイテムに必要な文字数がもっと少ない場合は、最小幅に達するまで、データ・アイテムは左または右のいずれかに埋め込まれます。
デフォルトでは、左に埋め込まれ (右位置調整) ますが、左の位置調整フラグを使用して右の埋め込みを指定することができます。埋め込み文字はスペースです。データ・アイテムがフィールドの最小幅より大きい場合、フィールドはデータを収容できるように拡張されます。値が切り捨てられることはありません。
この振る舞いは、10 進定数が後に続くピリオドによって指定された、フィールドの最大幅修飾子を使用して変更できます。データ・アイテムが最大フィールドより大きい場合、余分の文字がデータ・アイテムの最後ではなく先頭から除去されます。
たとえば、フィールドの最大幅が 8 であり、データ・アイテムが 10 文字の長さである場合、データ・アイテムの最初の 2 文字が除去されます。
注: この振る舞いは、切り捨てが最後から行われる C における printf 関数から逸脱しています。
以下のページでは、変換指定子の定義に使用する値を提供します。
以下は、カテゴリー変換指定子のさまざまなフォーマット修飾子の例です。
フォーマット修飾子
左位置調整
最小
幅
最大幅
コメント
%20c
False
20
なし
カテゴリー名が 20 文字より短い場合、スペースを使用して左に埋め込みます。
%-20c
True
20
なし
カテゴリー名が 20 文字より短い場合、スペースを使用して右に埋め込みます。
%30c
NA
なし
30
カテゴリー名が 30 文字より長い場合、先頭から切り捨てます。
%20.30c
False
20
30
カテゴリー名が 20 文字より短い場合、スペースを使用して左に埋め込みます。ただし、カテゴリー名が 30 文字より長い場合、先頭から切り捨てます。
%-20.30c
True
20
30
カテゴリー名が 20 文字より短い場合、スペースを使用して右に埋め込みます。ただし、カテゴリー名が 30 文字より長い場合、先頭から切り捨てます。
以下は、認識される変換文字のリストです。
変換文字
効果
c
ロギング・イベントのカテゴリーを出力するのに使用されます。精度指定子はオプションで、括弧内の 10 進定数であるカテゴリー変換指定子の後に置くことができます。
精度指定子が指定されると、カテゴリー名の一番右にある対応する数のみが出力されます。デフォルトでは、カテゴリー名は全体が出力されます。
たとえば、カテゴリー名 "a.b.c" の場合、パターン %c{2} は "b.c" を出力します。
d
ロギング・イベントの日付を出力するのに使用されます。中括弧で囲まれた日付形式指定子を、日付変換指定子の後に続けることができます。
たとえば、%d{HH:mm:ss,SSS} あるいは %d{dd MMM yyyy HH:mm:ss,SSS}。日付形式指定子を指定しなかった場合、ISO8601 形式が想定されます。
日付形式指定子は、SimpleDateFormat の時刻パターン・ストリングと同じ構文を許可します。標準 JDK の一部ですが、SimpleDateFormat のパフォーマンスは非常に貧弱です。
結果を改善するには、log4j 日付フォーマッターを使用することをお勧めします。これは、AbsoluteTimeDateFormat、DateTimeDateFormat、および ISO8601DateFormat をそれぞれ指定するための、ストリング "ABSOLUTE"、"DATE"、および "ISO8601" のいずれかを使用して指定することができます。例、%d{ISO8601} または %d{ABSOLUTE}。
これらの専用日付フォーマッターのパフォーマンスのほうが、SimpleDateFormat よりも良好です。
m
ロギング・イベントに関連した WebSphere Product Center 提供のメッセージを出力するのに使用されます。
n
プラットフォーム依存の行区切り文字を出力します。
この変換文字は、"\n"、または "\r\n" などの可搬性のない行分離文字を使用した場合と同じパフォーマンスを実際に提供します。このため、これは行分離文字を指定する好ましい方法です。
p
ロギング・イベントの優先順位を出力するのに使用されます。
r
WebSphere Product Center を始動してからロギング・イベントが作成されるまでに経過したミリ秒数を出力するのに使用されます。
t
ロギング・イベントを生成したスレッドの名前を出力するのに使用されます。
x
ロギング・イベントを生成したスレッドに関連した NDC (ネストされた診断コンテキスト) を出力するのに使用されます。
%
シーケンス %% は単一のパーセント記号を出力します。
以下の例では、WebSphere Product Center のログ・ファイルを定義する方法を示します。太字のエントリーは、WebSphere Product Center ログ・ファイルの構成を設定します。
<!-- basic ASYNC appender -->
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="DEFAULT"/>
</appender>
<!-- basic CONSOLE appender. This is the same as doing system.out-->
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%t] %-5p %c (%F:%L) %x- %m%n"/>
</layout>
</appender>
<!-- simple FILE appender. The file will be opened and if append is true -->
<!-- it will not be truncated -->
<appender name="DEFAULT" class="org.apache.log4j.FileAppender">
<param name="File" value="${TOP}/logs/tomcat_default.log " />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c (%F:%L) %x- %m%n"/>
</layout>
</appender>
<!-- Rolling FILE appender. The file will be opened and if append is true -->
<!-- it will not be truncated -->
<!-- maxFileSize: How big before you rotate -->
<!-- maxBackupIndex: How many backups do you keep? -->
<appender name="DB" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${TOP}/logs/tomcat_db.log " />
<param name="Append" value="true" />
<param name="maxFileSize" value="10MB" />
<param name="maxBackupIndex" value="2" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c (%F:%L) %x- %m%n"/>
</layout>
</appender>
<!-- For the austin.db category, you want to have only a few logs kept hence -->
<!-- the rollingappender -->
<category name="austin.db" additivity=" false">
<priority value="INFO" />
<appender-ref ref="DB" />
</category>
<!-- ROOT CATEGORY -->
<!-- MUST ALWAYS BE LAST ENTRY AND HAVE AN APPENDER-->
<!-- If a logging event is not caught by any other logger it will be handled by this-->
<!-- rule. -->
<root>
<priority value="error"/>
<appender-ref ref="DEFAULT"/>
</root>
</log4j:configuration>
WebSphere Product Center でのスペル・チェック機能は、WinterTree 社のサード・パーティー製品である「Sentry SpellChecking Engine」のフレームワークを使用することによって有効になります。このため、WebSphere Product Center には他のスペル・チェック機能はバンドルされていません。スペル・チェック機能を使用可能にするには、WinterTree Software 社の Spelling Service Engine バージョン 5.10 の購入が必要です。
このリリースではスペル・チェック機能が使用可能ですが、ユーザーは「アイテム詳細 (Item Detail)」および「単一編集内容オーサリング (Single Edit Content Authoring)」画面でのみスペル・チェックを行うことができます。 「マルチ編集」または「一括編集」画面におけるスペル・チェック機能のサポートは今後のリリースで行われる予定です。
この資料では、実行時に WebSphere Product Center を WinterTree Software 社の Spelling Service Engine バージョン 5.10 と連動させるために必要な構成セットアップについて説明します。
WebSphere Product Center for WinterTree Spelling Engine Runtime Configuration の構成を行うためには、3 つのプロパティー・ファイルの変更が必要です。
注: すべてのプロパティー・ファイルをいったん変更した後に、WebSphere Product Center を再始動し、Spelling Engine の実行時構成パラメーターを設定します。
common.properties
ロケーション: <WPC5.2_INSTALL_DIR>/etc/default/common.properties ファイル
値: common.properties ファイルを編集して、以下のプロパティー値を含めてください。
spell_check=true (スペル・エンジンを有効にする)
spell_check_vendor=wintertree (スペル・エンジン・ベンダーを WinterTree SSCE に設定)
spell_check_vendor_class=common.plugins.wintertree.WinterTreePlugin (Wintertree SSCE のプラグインを設定)
spell_license=<license_key> (プロパティー <license_key で、 WinterTree 社より購入した Spelling Engine (バージョン 5.10) ソフトウェアのライセンス・キーの値をキー入力する。)
spellservice.properties
ロケーション: <WPC5.2_INSTALL_DIR>/etc/default/plugins/wintertree/spellservice.properties ファイル
値: MainLexicon<n> プロパティーに対する <WINTERTREE_INSTALL_DIR> のすべてのオカレンスを、お客様のシステムで WinterTree 社の Spelling Engine ソフトウエアをインストールしたロケーションに置き換えてください。これにより、用語集または辞書、および Spelling Engine の実行時プロパティーが構成されます。
ccd.rc
ロケーション: <WPC5.2_INSTALL_DIR>/setup/ccd.rc ファイル
<WPC_INSTALL_DIR>/jars/ssce.jar から <WINTERTREE_INSTALL_DIR>/runtime/lib にインストールした、ssce.jar という名前の WinterTree JAR ファイルに、シンボリック・リンクを作成します。 以下の例にあるように、コメントが外された行をこのファイルに追加してシンボリック・リンクを作成することができます。
例:
- AddJar $JARDIR/ssce.jar
LDAP (Lightweight Directory Access Protocol) の統合により、WebSphere Product Center のセキュリティー・インフラストラクチャーが向上し、以下に示す 3 つの機能が WebSphere Product Center に組み込まれます。
LDAP の統合により、認証のためにサード・パーティーの LDAP システムを使用できます。認証のためにサード・パーティーの LDAP 機能を使用すると複雑になる場合、WebSphere Product Center 5.2 で使用可能な既存の認証インフラストラクチャーを利用して LDAP ユーザーを認証できます。この場合、認証は、LDAP の領域で行われます。WPC への LDAP ユーザーと役割の登録は、ランタイムで、ユーザーまたはシステムが呼び出すスクリプト操作に基づいて行われます。WebSphere Product Center 内の LDAP ユーザーは、LDAP フラグを使用して区別されます。
LDAP を WebSphere Product Center に統合することにより、セキュリティー認証インフラストラクチャーが強化され、さまざまな (内部および外部を含む) 役割の許可を必要とする 1000 以上のカジュアル・ユーザーをサポートできます。 たとえば、カテゴリー・マネージャーは内部役割となり、アシスタント・ブランド・マネージャーは外部役割になります。
WebSphere Product Center 5.2 の場合、LDAP の統合は、IBM Tivoli Directory Server バージョン 5.2 (LDAP v3 対応) に対してのみ保証されています。
ただし、次に示す LDAP サーバーと連動するように拡張できます。
Sun Java System Directory Server 5.2、Weblogic 8.1 - Embedded LDAP Server、および Novell eDirectory™ 8.7.3
注: このリリースでは、シングル・サイン機能はサポートされません。シングル・サインのインプリメンテーションは、今後のリリースで計画されています。
ユーザーがセッション中に認証される場合、その間にユーザーの固有情報が変更される (たとえば、役割、パスワードなどの変更) 場合でも、ユーザー認証はセッションの終了まで継続されます。
このリリースでは、LDAP エントリー検索でのロケール固有のストリングの抽出は保証されていません。
LDAP ユーザーと WPC ユーザーを区別する新規 LDAP フラグを導入した結果、WPC USER ENTITY のスキーマが変更されています。
このセクションでは、IBM Tivoli Directory Server バージョン 5.2 の LDAP を WebSphere Product Center 5.2 に統合するために実行する必要のあるタスクについて説明します。 まず前提条件として、IBM Tivoli Directory Server バージョン 5.2 が適切にインストールされている必要があります。 LDAP の構成には、IBM Tivoli Directory Server バージョン 5.2 のユーザーおよび役割用に構成された LDAP スキーマが必要になります。
LDAP を WebSphere Product Center に統合するために、以下を行ってください。
1. ユーザーおよび役割用の LDAP スキーマを構成する。
2. LDAP 構成ファイルを編集する。
3. WebSphere Product Center を再始動する。
新しいレルムの作成
1. IBM Tivoli Directory Server Web Administration Tool から、「レルムとテンプレート (Realms and Templates)」>「Add Realm」メニューを選択して新しいレルムを作成する。
2. すべての必要フィールドへの入力を完了する。
3. オブジェクト・クラスのドメインを親 DN として選択する。
たとえば、以下のようにします。
相対 DN 親 DN
cn=myrealm dc=wpcdomain.dc=isl.dc=com
新規ユーザー・テンプレートの作成
1. IBM Tivoli Directory Server Web Administration Tool から「レルムとテンプレート (Realms and Templates)」、「ユーザー・テンプレートの追加 (Add User Template)」をクリックして新しいユーザー・テンプレートを作成する。
2. 上記で作成されたレルム・エントリーに、親 DN としてキー入力する。構造オブジェクト・クラスを inetOrgPerson として選択する。
3. 必要属性タブを編集し、以下のすべての必要属性リストを含める。
- Cn
- Sn
- Uid (名前付き属性)
- TelephoneNumber
- TelexNumber
- postalAddress
4. 「レルムとテンプレート (Realms and Templates)」>「レルムの管理 (Manage Realms)」>「編集 (Edit)」メニューを使い、このユーザー・テンプレートを上記で作成したレルムに関連付ける。
たとえば、以下のようにします。
親 DN
dc=wpcdomain,dc=isl,dc=com
cn=mytemplate,dc=wpcdomain,dc=isl,dc=com
新規ユーザーの作成1. IBM Tivoli Directory Server Web Administration Tool から、「ユーザーとグループ (Users and Groups)」>「ユーザーの追加 (Add User)」メニューを使い、新規ユーザーを作成する。
2. 上記で作成されたレルムをこのユーザー用のレルムとして選択する。
3. 「必須 (Required)」属性タブの入力を行い、上記の属性すべてを含める。
新規グループの作成
1. IBM Tivoli Directory Server Web Administration Tool から、「ユーザーとグループ (Users and Groups)」>「グループの追加 (Add Group)」メニューを使って新規グループを作成する。
2. 上記で作成されたレルムをこのグループ用のレルムとして選択する。このグループのオブジェクトは、groupOfNames です。
3. ユーザーをグループに関連付ける。
以下の LDAP 構成ファイルは、LDAP を WebSphere Product Center に統合するために必要なファイルです。
<WPC5.2_INSTALL_DIR>/etc/default/ldap_config.xml
ldap_config.xml ファイルの括弧内に示されている値を、LDAP インストール・システムの適切な値に置き換えて、LDAP 実行時認証のための編集を行います。
<?xml version="1.0" encoding="UTF-8"?>
<LdapConfiguration>
<connectionInfo>
<connectionParam name = "java.naming.provider.url"> (LDAP サーバーの URL を入力する)</connectionParam>
<connectionParam name = "java.naming.security.principal">(LDAP サーバーにログインするユーザー名を入力する)</connectionParam>
<connectionParam name = "java.naming.security.credentials">(LDAP サーバーにログインするパスワードを入力する)</connectionParam>
<connectionParam name = "java.naming.security.authentication">simple</connectionParam>
<connectionParam name = "java.naming.referral">follow</connectionParam>
<connectionParam name = "java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</connectionParam>
<connectionParam name = "java.naming.ldap.version">3</connectionParam>
</connectionInfo>
<RoleMapping>
<Object name = "Role Class">groupOfNames</Object>
</RoleMapping>
<WPCUserCredentialMappings ParentDN="(ユーザー・オブジェクト用の基本 DN を入力する)" ObjectClass="inetOrgPerson">
この例の場合、基本 DN は cn=myrealm,dc=wpcdomain,dc=isl,dc=com です。
<WPCUserParam name = "UserName">uid</WPCUserParam>
<WPCUserParam name = "FirstName">cn</WPCUserParam> >
<WPCUserParam name = "LastName">sn</WPCUserParam> >
<WPCUserParam name = "Email">mail</WPCUserParam> >
<WPCUserParam name = "Address">postalAddress</WPCUserParam> >
<WPCUserParam name = "Phone">telephoneNumber </WPCUserParam>
<WPCUserParam name = "Fax"> TelexNumber</WPCUserParam> >
</WPCUserCredentialMappings>
</LdapConfiguration>
ユーザーおよび役割の LDAP スキーマ構成と LDAP 構成ファイルの変更を完了してから、WebSphere Product Center を再始動します。
- ログ・ファイル分析
- netstat
- ps
- kill
- svrmgrl または sqlplus
- telnet
- jar
- tar
- gunzip
- 多くの場合に Web サーバーおよびアプリケーション・サーバーへのスーパーユーザー・アクセスが必須
環境に関する問題
アプリケーション・サーバー上の WebSphere Product Center の疑似ユーザーは、WebSphere Product Center を始動する前に、以下の環境変数を構成していなければなりません。
- TOP: WebSphere Product Center インストールの上位ディレクトリー
- DB2_HOME: DB2 クライアント・バイナリーに必要
- JAVA_HOME: JDK に必要
- PATH: $DB2_HOME/bin および $JAVA_HOME/bin が含まれている必要がある
さらに、WebSphere Product Center を始動する前に、シェル・スクリプト init_ccd_vars.sh をソース化する必要があります。これは通常、ユーザーの .bashrc ファイル内で行われます。
CLASSPATH 環境変数は、init_ccd_vars.sh がソース化された後に変更しないでください。
構成ファイル設定の一般的な誤り
- common.properties
最も一般的なエラーは、common.properties 内のデータベース指定子が誤っているというものです。誤って構成されたデータベースには、以下の徴候があります。
appsvr、eventprocessor、queuemanager、scheduler、および workflowengine が始動しない
ログ・ファイル logs/db_pool および logs/svc/ 内のエラー
smtp_address。Smtp_address は、localhost 上の sendmail である SMTP リレー、あるいは組織外から E メールを送信できる別のシステムのいずれかを指している必要があります。
- ライセンス・ファイル
ライセンス・ファイル (WPC_license.xml) が欠落していたり誤っている場合、サービスは開始しません。このエラーは、logs/svc の下のログ・ファイルに反映されます。
アプリケーション・サーバーが応答しない
シナリオ
アプリケーション・サーバーの反応が極端に低下します。サーバーを ping することは可能ですが、ユーザーは環境にログインできず、管理者もアプリケーション・サーバーにログインできなくなります。
以下の点を点検します。
ユーザーが最近非常に大きなジョブを起動したかどうかを調べます。そのジョブが意図したものであった場合、ジョブによって使用されたスクリプトをチェックします。
1. データのエクスポート / インポート時の文字変換
2. データベースのスペース割り振りに関する問題
3. データ・ブロックの破損および索引の破損に関する問題
4. 長い時間ステータス・バーに変更を加えないとインポートまたはエクスポートがハングする
5. 実行中のジョブを kill した後にアプリケーションがとても遅くなる
6. ログの切り替えの再実行に関する問題
7. WebSphere Product Center ミドルウェアが停止し、GUI がフリーズする
8. スキーマ・ジョブの停止を分析する
9. SQL 接続が自動的に再始動する
1. データのエクスポート / インポート時の文字変換
問題
データベースのエクスポート / インポート時に、データベースのコピーを使用してテスト環境を作成すると、使用した文字セットに関するエラー・メッセージが表示されます。
症状
たとえば、文字セット US7ASCII を使用するデータベースをエクスポートすると、以下のエラー・メッセージがエクスポート・ログに表示されます。
US7ASCII 文字セットおよび UTF8 NCHAR 文字セットでエクスポートが完了しました。サーバーは UTF8 文字セット (可能な文字セット変換) を使用します。(Export done in US7ASCII character set and UTF8 NCHAR character set server uses UTF8 character set (possible charset conversion))
解決方法
データベースのエクスポート / インポートの際には常に、NLS_LANG パラメーターを設定して、文字セット american_america.utf8 を使用します。
2. データベースのスペース割り振りに関する問題
問題
時折、テーブル、索引、ロールバック・セグメントおよび一時セグメントに割り振られたスペースが不十分であるため、ジョブのインポートおよびエクスポートに失敗します。
症状
ロールバック・セグメントがいっぱいになるか、ロールバック・セグメントのテーブル・スペースがいっぱいになると、アラート・ログ・ファイルに以下のようなエラー・メッセージが表示されます。
ORA-1650: テーブル・スペース RBS 内でロールバック・セグメント RBS8 を 512 だけ拡張することができません。(unable to extend rollback segment RBS8 by 512 in tablespace RBS)
設定されているロールバック・セグメント 9 が状態 1650 の FULL 状況のためにロールバック・セグメントの拡張に失敗しました。
解決方法
- テーブル・スペース内に十分なフリー・スペースがあることを確認してください。より大きいジョブでは、ロールバック・セグメントおよび一時セグメントに、より多くのスペースが必要になる場合があります。
- データベース内のスペースの問題に関連してエラーが生成されたかどうかを調べるために、データベースのアラート・ログ・ファイルを毎日チェックします。
3. 実行中のジョブを kill すると WebSphere Product Center の動作が遅くなる
問題
ジョブを kill する場合は常に、インポートまたはエクスポートのように、データベース・システムは完全なトランザクションをロールバックして、データベースを整合性のある状態にする必要があります。このロールバック処理は、CPU 時間およびメモリーなどのシステム・リソースを最大限使用します。
症状
実行中のジョブを kill すると WebSphere Product Center ミドルウェアの動作が遅くなります。
解決方法
ロールバックが完了するまで待機すると、システムは通常の状態に戻ります。必要でないかぎり、実行中のジョブを kill しないでください。
4. ログの切り替えの再実行に関する問題
問題
ログ・ファイルの数またはサイズが不適切であるため、データベース・システムがログの切り替えの際に長い時間待機する可能性があります。
症状
すべての再実行ログ・ファイルがアクティブである場合、データベース・システムは、ログの切り替えの際に非常に長い時間待機中になります。
解決方法
- ログ・ファイルの数を増やします。
- 再実行ログ・ファイルのサイズを増やします。
5. WebSphere Product Center ミドルウェアが停止し、GUI がフリーズする
問題
WebSphere Product Center ミドルウェアへのアクセス中にエラーが現れると、データベースへの接続が失われることがあります。
症状
WebSphere Product Center ミドルウェアがフリーズするか、常に待機状態になります。WebSphere Product Center ミドルウェアにアクセスしようとするとエラーが現れます。
解決方法
- リスナー・プロセスの状況をチェックします。
- データベースまたは WebSphere Product Center ミドルウェア画面への接続を確立できない場合は常に、データベースの状況をチェックします。
6. スキーマ・ジョブの停止を分析する
問題
大量のデータをデータベースにロードしたり、データベース内のテーブルをパージする場合に、時々スキーマを分析することをお勧めします。
分析スキーマを実行する前に WebSphere Product Center ミドルウェアを停止する必要があります。ミドルウェアを停止しないと、テーブルがミドルウェアによって使用されているため、分析スキーマのジョブがハングしてしまう場合があります。
症状
分析スキーマを実行すると WebSphere Product Center がハングします。
解決方法
分析スキーマがハングする場合、分析ジョブを kill し、WebSphere Product Center ミドルウェアを停止して、スキーマを再度分析してから WebSphere Product Center を始動します。
定期的な間隔でスキーマを分析し、データベース内のデータ分布に関する最新の統計を収集します。
システム・ログ・ファイルをモニターして検討することは、多くの問題を診断して解決するのに役立ちます。
注: この章は次バージョンの資料で拡張される予定です。 ログ・ファイルの使用およびトラブルシューティングの技法についての詳細な情報が提供されます。
HTTP ポスト・エラー
HTTP ポスト・エラーが発生した場合、以下の点を考慮してください。
1. WebSphere Product Center ボックスにターゲット宛先を表示することができるか?
- "Lynx" などの Linux / Unix HTTP ブラウザーを使用し、WebSphere Product Center ミドルウェアの URL を入力して、ターゲットにアクセス可能かどうかを調べます。
- ブラウザーが WebSphere Product Center サーバーから使用できない場合、宛先のポート 80 に Telnet を試みます。たとえば、宛先 URL が http://myserver/>urlname< の場合、"telnet myserver 80" と入力します (ポート 80 は、ほとんどの Web サーバーのデフォルトの HTTP ポートです)。
2. WebSphere Product Center に宛先を表示できる場合、WebSphere Product Center Distributor は正常に作動しているか?
- $TOP/public_html/created_files/distributor の下の新規ファイルが存在するかどうかチェックします。ファイルをプッシュした時刻に関するおおよそのタイム・スタンプがファイルに含まれているかどうかを調べます。
- runaway スクリプトが正しくない出力ファイルを生成した可能性があります。ファイル・サイズをチェックします。ファイル・サイズは予期したものに対応していますか? ファイルが XML であるかその他の読み取り可能なファイルである場合、そのファイルを表示してみます。そのファイルには、予期していた正しい情報が含まれていますか?
3. ファイルが存在する場合、転送が進行しているか?
- さまざまなツールを使用して、実際の転送が進行中であるかどうかを調べることができます。最低限のこととして、"netstat" および "snoop" (Solaris の場合) あるいは "tcpdump" (Linux の場合) の組み合わせを使用する必要があります。
- 期待が現実的であるかどうかを考慮します。ファイル・サイズが 300 MB であり、それがインターネットを介して URL にポストされている場合、そのファイルはインターネット接続の最高速度でのみ転送することができます。
FTP フェッチ・エラー
WebSphere Product Center がターゲット FTP サーバーにログインしようとして、 指定したディレクトリーの検索に失敗すると、 「リモート・ディレクトリーに変更することができません。(Unable to change to remote directory.)」 というエラーが発生します。
このエラーには以下の 2 つの理由があります。
- ターゲット FTP アドレスが WebSphere Product Center サーバーからアクセスできない。WebSphere Product Center サーバーから、FTP でファイルをターゲット FTP に直接転送して、ファイル転送が正常に行われるかどうかを検証してください。
- 使用されているファイル名が正しくない可能性がある。大文字になっていないかどうか、またスペルの間違いがないかどうかをチェックしてください。
Java 接続のテスト
JDBC URL はファイル common.properties で定義されます。WebSphere Product Center ミドルウェアから JDBC URL への Java 接続をテストするには、以下のスクリプトを使用します。
$TOP/bin/test_java_db.sh
スクリプトはデータベースに接続を試み、簡単な 'select count(*) from dual' を実行します。接続が確立されると、テスト・スクリプトからの結果が表示されます。
WebSphere Product Center の停止および再始動
Linux / Solaris で通常の停止スクリプトを使用した際の問題が報告されています。WebSphere Product Center が正常またはスムーズに停止しないようです。このような場合には、以下のステップを使用して WebSphere Product Center を停止して始動します。
1. 以下のスクリプトを実行して WebSphere Product Center を停止します。
$TOP/bin/go/stop_local.sh
2. 約 1 分待機してから、以下のコマンドを入力します。
ps –u (括弧なしでユーザー名を指定)
3. アクティブな Java プロセスがある場合、スケジュールされたジョブが進行中である可能性があります。必要であれば、ジョブを完了してください。そうでない場合は以下のスクリプトを使用してジョブを手動で停止してください。
$TOP/bin/go/abort_local.sh
4. 約 30 秒待機してから、以下のコマンドを入力します。
ps –u (括弧なしでユーザー名を指定)
5. 依然としてアクティブな Java プロセスが存在する場合、JVM は破損していると思われます。以下のコマンドを使用して、Java プロセスを手動で kill する必要があります。
kill `ps -u (括弧なしでユーザー名を指定)
| grep java | cut -b10-15`注: java のプロセスが何かまだ残っている場合には、 システムを再始動する必要がある場合があります。
6. Java プロセスをすべて kill したら、以下のスクリプトを使用して WebSphere Product Center を再始動します。
$TOP/bin/go/start_local.sh
7. 約 1 分待機して、WebSphere Product Center が正常に始動したかどうかを検証します。スクリプト $TOP/bin/go/rmi_status.sh を実行するか、WebSphere Product Center 環境にログインします。
4.2.x リリースから 5.2 リリースへのマイグレーションを行うために、マイグレーション・フレームワークを利用できます。5.0 および 5.1 から 5.2 へのマイグレーション・パスに関しては、今後提供される予定です。5.0 と 5.2 リリース間には大きな変更がほとんどないため、必要に応じて手動でマイグレーションが実行できます。詳しくは、WebSphere Product Center 担当営業員にご確認ください。
4.2.0.x に用意されているシェル・スクリプトを以下に示します。これらは、WebSphere Product Centerの特定の会社のすべてのオブジェクトをエクスポートおよびインポートするのに役立ちます。
エクスポート
インポート
4.2.0.x バージョンのすべての WPC オブジェクトを ZIP ファイルとしてエクスポートし、その同じ ZIPファイルを 5.2 にインポートすることによって、マイグレーションを実行できます。
WPC 4.2.0.x の会社は、2 つの方法でエクスポートできます。
1. $TOP/bin/exportCompanyAsZip.sh という名前のシェル・スクリプト・ユーティリティーを使用する。
使用法:
exportCompanyAsZip --company_code=<code> --script_path=<path/to/trigo/script>
ここで、それぞれの意味は以下のとおりです。
以下のサンプル・スクリプトが用意されています。
envObjList = new EnvObjectList();
envObjList.addAllObjectsToExport("CATALOG");
envObjList.addAllObjectsToExport("HIERARCHY_MAPS");
envObjList.addAllObjectsToExport("MAPS");
envObjList.addAllObjectsToExport("FEEDS");
envObjList.addAllObjectsToExport("LOOKUP_TABLE");
envObjList.addAllObjectsToExport("ATTRIBUTE_COLS");
envObjList.addAllObjectsToExport("CONTAINER_ACCESSPRV");
envObjList.addAllObjectsToExport("HIERARCHY");
envObjList.addAllObjectsToExport("COMPANY_ATTRIBUTES");
envObjList.addAllObjectsToExport("SPEC");
envObjList.addAllObjectsToExport("DATASOURCE");
envObjList.addAllObjectsToExport("USERS");
envObjList.addAllObjectsToExport("ACG");
envObjList.addAllObjectsToExport("ROLES");
envObjList.addAllObjectsToExport("CATALOG_CONTENT");
envObjList.addAllObjectsToExport("HIERARCHY_CONTENT");
envObjList.addAllObjectsToExport("LOOKUP_TABLE_CONTENT");
envObjList.addAllObjectsToExport("DOC_STORE");
envObjList.addAllObjectsToExport("MY_SETTINGS");
envObjList.addAllObjectsToExport("DISTRIBUTION");
envObjList.addAllObjectsToExport("DOC_STORE");
sDocFilePath = "archives/company.zip";
exportEnv(envObjList, sDocFilePath);
2. 上記のスクリプトを使用して、このスクリプトを直接 WebSphere
Product Center のスクリプトが使用可能な環境で実行する (たとえば、インポート・ジョブ、レポート、または直接スクリプト・サンドボックスで実行する)。
いくつかの事前定義 WPC オブジェクトは、$TOP/bin/exportCompany.sh シェル・スクリプトを利用して、WPC 環境からスクリプトとしてエクスポートできます。このようにシェル・スクリプトとしてエクスポートしたオブジェクトを別環境で実行すれば、WPC オブジェクトを再作成することができます。しかし、このユーティリティーは WPC オブジェクトのコンテンツ (たとえば、階層にあるアイテム情報またはカテゴリー情報) をエクスポートできないため、このユーティリティーがマイグレーションの一部として、WPC オブジェクトのエクスポートのために使用されることはありません。
会社のインポートは 3 つの方法で行うことができます。
1. シェル・スクリプト $TOP/bin/importCompanyFromZip.sh を使用する。
使用法: importCompanyAsZip --company_code=<code> --zipfile_path=<path/to/import/archive>
ここで、それぞれの意味は以下のとおりです。
company_code はインポートする会社の会社コードです。
zipfile_path は、会社の ZIP アーカイブの置かれている文書ストア内のロケーションです。
2. WPC スクリプト操作 importEnv(String sDocFilePath) を使用する。
ここで、それぞれの意味は以下のとおりです。
sDocFilePath は、会社の ZIP アーカイブが置かれている文書ストア内のロケーションです。
WPC の会社は、exportCompany.sh の結果を使用してインポートすることもできます。しかし、 exportCompany.sh は WPC オブジェクトのコンテンツ (たとえば階層にあるアイテム情報またはカテゴリー情報)を エクスポートできないため、これがマイグレーションの一部として使用されることはありません。
3. アプリケーション GUI の「環境のインポート」オプションを使用する。
アプリケーションの GUI を使用してデータをインポートする。
以下の WPC オブジェクトは、WPC 4.2.0.x で提供されているインポート/エクスポート・ツールの既存フレームワークの一部としてエクスポートされません。
選択
4.2.0.x で提供されているエクスポート機能は、上記の WPC オブジェクトのエクスポートをサポートするために更新される予定です。
WPC 5.2 では、これまでのバージョンにすでに存在している RPC/エンコード形式に加えて、ドキュメント/リテラル・ベースの SOAP 要求に対応するサポートが提供されます。このマイグレーションは、まずテストする必要があります。
4.2.1 には、インポート/エクスポート・ツールの公式リリースが含まれます。このリリースには、「環境のインポート」に GUI の機能が提供されています。この GUI 機能により、WebSphere Product Center が同じバージョンであれば、ある会社から ZIP ファイルを介してエクスポートしたデータを、WebSphere Product Center 内の別の会社にインポートすることができます。
XML 制御ファイルはインポートの順序を定義します。この制御ファイルは、エクスポート中に作成され、ZIP ファイルに圧縮されます。 マイグレーション・フレームワークとして、4.2.0.x で exportCompanyAsZip.sh を使用し、すべての会社データをエクスポートすることをお勧めします。このスクリプトの出力 ZIP ファイルは、「環境のインポート」または 5.2 の importCompanyFromZip.sh によるインポートとも互換性があります。
この章の目的は、WebSphere Product Center インプリメンテーションの統合の最良事例を要約することです。これらの最良事例を使用することは、高品質で信頼性の高いシステム間の統合を達成するのに役立ちます。統合のすべての局面を扱うために、本書は、統合の異なる局面のいずれかに関連した最良事例を識別するために開発されました。
統合のかぎとなる要素には以下のものがあります。
- 設計原則
- インプリメンテーション
- 検証
- 可視性
統合の各次元: 下にリストされている次元を使用して、WebSphere Product Center インプリメンテーションにあるさまざまな種類のインプリメンテーションを理解することができます。本書の残りの部分では、それぞれの最良事例やガイドラインが適している次元やインプリメンテーションの種類に焦点を当てます。
ソース・システムまたはターゲット・システムとしての WebSphere Product Center
最も明確な次元は、WebSphere Product Center がソース・システムであるか、 情報を交換するためのターゲット・システムであるかということです。ソース・システムはその制約を統合に適用しますが、 それに関して最も重要なのは、(a) デルタ・シンジケートを実行する能力、 (b) 統合を開始する能力、(c) データ送信の成功または失敗に関する通知を受け取り、 適切なアクションを実行する能力、(d) サポートされるプロトコルおよび形式、さらに EAI インフラストラクチャーのサポート、といった点などです。
システムの制御
ここでは、制御システムを、統合の内部トリガーに応じてアクションを実行するシステムとして定義しています。1 つの例では、WebSphere Product Center がシンジケートをジョブとしてスケジュールに従って実行します。別の例では、アイテムを追加すると、SAP が WBI アダプターをトリガーします。WebSphere Product Center が統合のためのソース・システムになるか、あるいはターゲット・システムになるかは、統合においてどのシステムが制御システムになるかに完全に依存しています。いくつかのケースが考えられます。FTP サーバーや EAI ツールなどの仲介者が関係している場合、ソース・システムとターゲット・システムの両方が制御システムになる可能性があります。レガシー・システムがスケジュールに従ってファイルを FTP サーバーに置きます。一方、WebSphere Product Center はスケジュールに従ってファイルを選択します。WebSphere Product Center が制御された宛先システムになる (つまり、データのインポートをトリガーする外部のものを待機する) 例では、IBM WBI は、たとえば Transora からアイテムを更新するというメッセージの内容とともに WebSphere Product Center に起動側を経由してメッセージをポストします。WebSphere Product Center が制御されたソース・システムになる (つまり、データのエクスポートをトリガーする外部のものを待機する) 例では、IBM WBI は WebSphere Product Center キューを定期的にポーリングし、すでに選択されたファイルがないかどうか調べます。
プロトコル
WebSphere Product Center インプリメンテーション・チームと顧客リソースには、プロトコル、形式、およびメッセージ対ファイル・ベースの統合において多くの混乱が存在します。このため、本書の目的の 1 つは、これらの概念に関する共通のノーメンクレチャー (銘板) が確立されたことを示すことです。プロトコルの例には、ファイル転送プロトコル (FTP)、Hyper Text Transfer Protocol (HTTP)、Simple Message Transfer Protocol (SMTP、E メールなど)、Java Messaging Service (JMS)、および IBM WebSphere Message Queuing (IBM WebSphere MQ) があります。プロトコルは、エンベロープ、数値などのデータのエンコード、および予期される応答を定義しますが、転送される内容とは無関係です。すべての統合において、常に少なくとも 1 つのプロトコルがあるため、使用されるプロトコルに関しては非常にはっきりしています。さらに、統合のさまざまな段階では、実際には異なるプロトコルを使用している場合があります。SAP の WBI アダプターは、HTTP を使用して SAP から WBI Inter Connection Server (ICS) へデータを転送している可能性があります。続いて、WebSphere Product Center が MQ クライアントとして接続している別のキュー・マネージャーにそのデータが転送されるように、IBM MQ キュー・マネージャーに渡します。
形式
データがレイアウトされている形式は、プロトコルとは独立しています。形式の例には、コンマ区切り値 (CSV)、パイプ区切り、eXtensible Markup Language (XML)、あるいは、単に事前定義された幾つかのフィールドおよび電子データ交換 (EDI) メッセージなどのレコード構造があります。それぞれの形式は、ロケーション・パラメーターおよび長さパラメーター、あるいはタグを使用してフィールドを定義します。特定の形式に必要になる可能性があるエンコードについて留意することは重要です。たとえば、不等号括弧 ('<'、'>') などの文字を XML ではエスケープする必要があるということや、CSV ではコンテンツに実際にはコンマが含まれる可能性があるということは、インプリメンテーションにおいてしばしば見落とされます。
データのサイズ
この次元は、"メッセージ・ベース" の通信あるいは "ファイル・ベース" の通信と混乱してしまうことが非常に多いため、この点を正しく理解することは重要です。"メッセージ・ベース" の統合には通常、小さいデータの交換、および以下のようなプロパティーが含まれると想定されます。
- データは、より頻繁に、より小さい塊として交換されているため、エクスポートおよびインポートが毎週行われる、伝統的な "バッチ" 指向のシステムよりも非常に短い時間間隔で変更を通信することができます。
- 2 つのシステム (ソースおよび宛先) は、互いに連絡を取り、処理用に選択される前に FTP で送信されたり、一週間ファイル・システムにとどまる可能性のある生成ファイルではなく、送信されたメッセージが処理され、受信確認が戻されます。
ただし、ファイル・ベースまたはバッチ統合からメッセージ・ベースを区別する明確な線引きはありません。それで、混乱したり重複した次元ではなく、明確な次元のセットを定義することは重要です。こうして、データの全体のサイズは、"メッセージ・ベース" か "バッチ" 統合としてラベルが付けられるかということよりも、考慮すべき重要な次元といえます。
通信のタイプ
考慮すべき別の次元は、統合に関係する通信のタイプです。同期式通信によって、特定のアクションの結果としてユーザーまたはシステムへの直接フィードバックを提供します。たとえば、HTTP を使用して通信することによって、アクションがポストされた後にシステムまたはユーザーへの自動フィードバックが提供されます。一方、非同期式通信は、"応答不要送信" ストラテジーの多くを使用します。たとえば、その後システムによって選択される FTP サーバー上でのファイルのデポジットが、統合に関係している場合、アクションの結果のファイルをデポジットするシステムへの自動フィードバックはありません。
頻度
"データのサイズ" という次元とともに、この "頻度" という次元は、定期的に処理する必要のあるデータの合計量を捉えます。
統合スレッド
この仲介システムおよびインフラストラクチャーの次元は、EAI インフラストラクチャーを使用するかどうかを捉えます。さらに、レガシー・システムとの統合では時折、データをレガシー・システムへアップロードまたは抽出するために、仲介プログラムが書かれる可能性があります。これらの仲介システムまたはプログラムは、ほとんどの場合統合チェーンにおいて最も弱いリンクであるため、これを理解および文書化することは重要です。
特に、複数のホップが必要になる可能性のある複雑な統合 (例、WebSphere Product Center と WBI と宛先システムなど)、標準ではない方法 (データベースの直接更新など)、複数のプロトコル、あるいは他の通信方法 (ファイアウォールを介した通信など) では、早めに単一の作業スレッドまたは統合の完了パスを確立します。これによって、問題を識別し、他の関係者 (ネットワーク管理者、あるいは IBM WBI で作業するチームなど) にこれらの接続問題を並行して解決するための適切な時間を提供します。
上にリストされている統合の各次元は、WebSphere Product Center インプリメンテーションでの統合について説明する際の標準の用語になります。分析 / 設計の段階で PS チームによって提供される文書は、これらの次元を明確にまた一貫して使用する必要があります。
頭字語
頭字語
定義
EAI
エンタープライズ・アプリケーション統合
FTP
ファイル転送プロトコル
HTTP
Hyper Text Transfer Protocol
MQ
IBM のメッセージ・キューイング・ミドルウェア。すべての接続ソリューションは、現在 WebSphere ブランドの下にあるため、しばしば IBM Websphere MQ と呼ばれます。
ICS
IBM の WBI Inter Connect Server
WBI
IBM の WebSphere Business Integration スイート、IBM からの EAI スイート。
再利用性
統合のインプリメンテーション方法の基礎となる全体的な基盤は、再利用性です。WebSphere Product Center が成長し、より多くのクライアント・インプリメンテーションが実行されるにつれて、事前に統合されていないシステムとの統合と、事前インプリメンテーションで統合されたシステムとの統合の両方をすばやくスケーリングおよび解決することが必要です。この要件を解決するには、別のクライアント用に同じシステムを統合する場合に最大の効果性をもってこれを行うことができる、という再利用性を念頭に置いてすべての統合努力を行う必要があります。
再利用性は次のように実現されます。(a) IBM WBI などの EAI ツールおよび汎用ビジネス・オブジェクトのそのモデルを利用する、(b) データ・モデルから独立した形式を選択する、(c) データ・モデルから独立し、他のインプリメンテーションで再利用できる WebSphere Product Center スクリプト (肯定応答、ポーリングなど) のライブラリーを書く。
情報の共有
統合する方法としての通信
概念上は、統合は、制御システム WebSphere Product Center および制御されるシステムとの通信によってトリガー可能な、単なる一連のイベントと見なすことができます。これらのイベントは、システム間で渡されるメッセージ、コンテンツまたはファイルをポーリングする自動処理、あるいはその他の基本的な通信方法によってトリガーできます。たとえば、通信には、加えられる変更のタイプ (追加、更新、削除)、固有の通信 ID (追跡 / 確認用)、および WebSphere Product Center 内または統合システム内のいずれかでの変更に影響する関係するコンテンツが含まれます。
信頼性の尺度
変更を通信するためにシステム間で情報を渡すことに加えて、特定のトランザクションの成功および失敗を知らせるための手段も必要です。このようなハンドシェーク通信は、通信の同期フォームを使用して最も直感的にインプリメントし、統合システムが、もう一方の終端で受信に失敗したために特定のトランザクションを再送信する必要があるかどうか追跡できるようにし、これによって統合の信頼性を向上させ、究極的に保証することができます。
情報形式
これらの通信の特定の形式は、その周囲の形式と処理機能の両方をインプリメンテーション全体で再利用できる、十分に汎用性のある仕方で設計する必要があります。
システム間の通信に使用する一般形式について考慮する場合、以下の必要に照らして形式の再利用性に注目することは重要です。
- 国際文字セットおよび特殊文字 (コンマ、引用符、不等号括弧など)
- 複雑な構造 (コンテンツの階層および関係)
- コンテンツの複数インスタンス、またはインスタンスごとに異なる値を持つアイテム・プレースホルダーを処理できること
情報処理
システム間で送信される情報の形式はいくらか一般的であると考えられますが、特に WebSphere Product Center と統合システムの間の直接リンクとして統合を表示する場合、すべてのインプリメンテーションが事前定義された形式に当てはまるわけではないことを理解できます。データ・モデルなどの相違のためにインプリメンテーションごとに形式と WebSphere Product Center スペックとの間の形式およびマッピングを再度ツールにかける必要を避けるため、XML 形式と WebSphere Product Center 仕様との間で再利用可能なマッピング機能を使用することをお勧めします。
EAI プラットフォームの使用
これを行う 1 つの方法は、WBI または webMethods スイートなどの EAI プラットフォームを使用することです。これにより、再利用可能な接続の作成が可能になり、たとえば WebSphere Product Center は、完全に再利用可能な単一の形式 (例、単一の XML DTD) を介して通信できるようになります。インプリメンテーションの詳細事項のために生じる相違点は、情報を処理する WebSphere Product Center 機能を再度ツールにかける必要なしに、WBI によって解釈することができます。WebSphere Product Center 機能を再度ツールにかける必要がなければ、同じ機能性をインプリメンテーション全体で利用することができます。
その他のオプション
しかし、考慮すべき別の点は、特定のクライアントは、企業全体を通してその他のシステムですでに使用されている形式の再利用を必要とする場合があるという点です。これにより、WebSphere Product Center がすでに存在する DTD を使用できるようにするのではなく、WebSphere Product Center が企業内のその他のシステムが理解できるように翻訳する必要のある別個の DTD を完全に導入するのは困難になります。このような場合には、WebSphere Product Center 内の仕様と DTD の間で翻訳するための再利用可能機能を使用しなければなりません。
EAI プラットフォームを使用している場合でさえ、内部 DTD への WebSphere Product Center 管理の情報のマッピングを理解するという観点からすれば、この方法が特定のクライアントに対してより有用で、より理想的な方法になる場合があります。
イベント処理
理想的には、WebSphere Product Center 内の自動処理がイベントを処理します。たとえば、WebSphere Product Center リリースで紹介されたキューイング機能を使用して、メッセージの送信 (アウトバウンド・キュー) と、応答および着信メッセージの受信 (インバウンド・キュー) の両方を処理することができます。さらに、キュー処理スクリプトを使用して、メッセージの実際の処理を扱い、実質的には、特定のメッセージの結果としてトリガーするイベントを実際に実行することができます。
ただし、イベント処理は、WebSphere Product Center の特定の機能あるいは特定のバージョンと直接結びついている必要はありません。イベントを処理するその他の方法には、FTP サーバーをポーリングする WebSphere Product Center 内のスケジュールされたジョブ、ファイルのローカル・ファイル・システムをチェックする (文書ストア経由) スケジュールされたジョブ、起動側ベースのトリガー・スクリプトがポストされた情報あるいは他の方法に基づいたイベントの起動を含めることができます。選択されるメソッドは最終的に、データのサイズと、特定の統合の頻度ディメンションの要件を注意深く考慮することに依存しています。
トラッキングの変更
システム間の完全な同期化のインプリメントを可能にするには、統合システムあるいはそれ以外のシステムと通信したとおりに、より効果的にタグを付けることが可能な、コンテンツおよびアイテムに加えられた変更を追跡する WebSphere Product Center 内の方法が必要になります。たとえば、WebSphere Product Center (ソース・システムとしての) 内でアイテムを削除する場合、同じアイテムを削除するようターゲット・システムに通知する、ターゲット・システムに送信されるメッセージをトリガーするだけでなく、アイテムが実際にターゲット・システムから削除されたかどうかを WebSphere Product Center が認識できるように、特定の通信の成功あるいは失敗をトラッキングできるようにしたい場合があるかもしれません。
再利用可能なコネクター
コネクター・リポジトリー
インプリメンテーションの進展と協力関係が発展するにつれて、さまざまなシステムへの再利用可能なコネクターのリポジトリーが徐々に構築されます。可能な場合にはいつでも、これらのコネクターを通して流れるアイテムなどの処理に関連した機能性を、特定のインプリメンテーションの観点から、ほとんどあるいは全く変更されずに再利用することができるように、これらのコネクターを再利用できるよう努力する必要があります。もちろん、これによって、インプリメンテーションの実行時の速度は全体として非常に速くなり、問題が見つかってやがて解決されるにつれて、コネクターとそれを使用するインプリメンテーション全体の信頼性や安定性は向上します。
コネクターをまだ定義していないシステムと統合する場合、特定のインプリメンテーションでの統合に使用でき、別のインプリメンテーションでシステムと統合する必要がある場合に、後で使用するためにコネクターのリポジトリーで保管することもできる、再利用可能なコネクターをすばやく作成できる統合のエキスパートが関与する必要があります。
コネクターの使用法
コネクターを使用して、システム間で渡される任意の情報の情報を処理する EAI レイヤーを通し、実行する必要のある変更を実行しなければなりません。言い換えると、EAI を介して渡される情報を処理するために WebSphere Product Center 内の再利用機能のいずれかを書き直す前に、必要な変換を実行する EAI プラットフォームの機能を利用すべきです。そうすれば、WebSphere Product Center の機能を書き直す必要はありません。
インプリメンテーションのスケール調整
小さな統合
全体の統合の大きなタスクは、より小さい、より容易に管理できるタスクに分けるべきです。 これは、たとえば、単一の完全な統合をより小さな統合に分けることによって行うことができます。 つまり、それぞれのアイテム・タイプ (スペック) ごとの "個別の" 統合から、 それぞれのコンテナー (カタログ) ごとの統合へ、属性のグループ (必要に応じて) ごとの統合に至るまで分けることができます。 これらの "小さな統合" が完全に動作するという確信がある場合、それらを結合して単一の完全な統合を作成することができます。
機能の細分性
システム間の統合が発生するレベルに注意する必要があります。たとえば、変更をターゲット・システムに送信するときに、特定の日付以降のすべての変更を送信したい場合もあれば、最後に変更が送信されてから特定のカタログの変更のみ、特定のグループのアイテムで発生した変更のみ、あるいはすべてのアイテム間の特定の属性で発生した変更のみを送信できるようにしたい場合もあります。特定の要件はインプリメンテーションに依存していますが、それが適切に行われるようにインプリメンテーションの設計処理において必要な細分性を考慮することは重要です。
パフォーマンス・チューニング
一般的なパフォーマンスのコメント
パフォーマンスの問題を後回しにしてはなりません。統合の形式または他の局面を計画の後半で変更および修正することは容易ですが、パフォーマンスのボトルネックによって、重要な再設計や、時には技術サポートが必要になる可能性があります。開発のしかるべき過程において、パフォーマンスの測定フックをスクリプト内に置いてください。
パフォーマンスの測定
小さな統合のアプローチ (「インプリメンテーション」セクションで詳細に説明) を使用すると仮定した場合、パフォーマンスは、小さな統合の各タスクごとに必要な合計時間を測定することによって、統合の各ステップで測定する必要があります。パフォーマンスが低下することが考えられる領域は、適切な細分レベルで識別することができるため、パフォーマンスの微調整を行うためにより容易に的を絞ることができます。
パフォーマンスの微調整
パフォーマンスの問題領域が識別されたら、詳細な分析を行い、操作が遅くなる根本原因を判別する必要があります。詳細な分析は、WebSphere Product Center のミドルウェア・プロファイルのようなツールおよびジョブ詳細画面のパフォーマンス・タブを使用して行うことができます。 さらに、その分析を適用して、スクリプトの特定の領域や SQL クエリーに焦点を当てることができます。 また、適切なアクション (スクリプトの変更や書き直し、あるいはデータベース・クエリーを向上するためのエンジニアリングの関与) を実行することができます。
検証
安定性
小さな統合の利点
小さな統合 (「インプリメンテーション」セクションで詳細に説明) のインプリメントは、統合が作業中であることが示された全領域の詳細なリストを提供することによって、統合が正常に行われたという、より高いレベルの信頼性を提供します。小さな統合の可視性がないと、統合の作業に関する詳細情報の証拠を提供することが困難になるだけでなく、統合が全体として、識別、診断、およびデバッグが困難な問題に陥る可能性があります。小さな統合をインプリメントすることによって、統合の全体の安定性が向上します。
スケーラブルなテスト
小さな統合の利点
小さな統合 (「インプリメンテーション」セクションで詳細に説明) をインプリメントすることによって、統合のテストをより細かいレベルで行うことができ、生じるエラーまたは問題が多くの (おそらく無関係な) 複雑性によって不透明にならないようにします。こうして、上で説明したとおり、見つかった問題の診断、デバッグ、および解決の処理はすべて、このアプローチによって大幅に速度が向上します。
典型的な環境と完全な環境
統合テストは、最終環境 (同じスペック、検証ルール、値ルール、ビュー) と同じ構成を持つ典型的な環境で行うことができますが、可能な限り少ない典型的なエンティティー (ロケール、カタログ、カテゴリー・ツリー、アイテム、カテゴリー、組織、ユーザー、役割) を使用して行います。これにより、テストを実行したり、画面をロードする時間が削減され、一般的には、完全にデータが取り込まれた環境でのテストに対して、テストにかかる時間が短縮されます。すべてのテストおよびデバッグは、この環境で行わなければなりません。
典型的な環境でのみテストが完了し、すべてが作業中と表示された後、統合を完全な、そして完全にデータが取り込まれた環境で検証する必要があります。ただし、このステップは、典型的な環境においてエッジ・シナリオが誤って無視されないよう確認し、統合の製品レベルでのパフォーマンスをテストするために依然として実行されます。
スケーラブルな処理のテスト
スケジュール可能なジョブ (例、インポート、エクスポートなど) はまず、 非常に少ない代表的なアイテム (10 より少ない) のみを使用して実行する必要があります。 この数値は、実際にこれらのアイテムを処理中のスクリプト内で取られる信頼性のレベルに比例して増やす必要があります。 このアプローチは、全体の処理に実行の最初の数分間で明らかな障害を起こすことなく、 それを実行する人だけが最終的にどこかが間違っていることに気付くというように、 大量のジョブが問題となる時間にわたって実行される、ということがないようにします。
ジョブに関連したスクリプトの操作が十分に信頼を置けるものになってから、 完全なデータのセットに関連してジョブを実行する必要があります。完全な環境の推奨事項の場合と同様に、 このステップは、より小さなジョブにおいてエッジ・シナリオが誤って無視されないよう確認し、 ジョブの製品レベルでのパフォーマンスをテストするために実行すべきです。
可視性
レポート
小さな統合の利点
小さな統合 (「インプリメンテーション」セクションで詳細に説明) のインプリメントによって、統合がより小さく、また統合のインプリメントがより素早くなるため、より詳細なレベルのレポートが可能になります。統合全体のレベルでのインプリメンテーションの途上にあるレポートに比べて、このレポートの詳細なレベルにより、さらに具体的で数量的な統合の追跡が可能になります。
小さな統合はリストすることができ、グラフで詳細に説明されている完全な統合のより大きなピクチャーとの関連性、および統合の全体的な進展の正確なピクチャーは、小さな統合のタスクの進展に関するレポートから容易に描くことができます。
所有権
複数のチームで作業する場合でさえ、統合を通じて所有権を一人の人に割り当てます。この人のジョブは、単一スレッドが早く確立されるようにし、チームが本書のガイドラインに従って作業し、(a) 小さな統合、(b) スケーラブルな処理のテスト、および (c) 典型的な環境対完全な環境を通じて、インクリメンタルな構築 / テストのサイクルがさまざまなチーム間で同期化されるようにすることです。
文書
形式およびアプローチを明確に識別する
実行のための明確なパスを決定し、複数のチームが統合で作業する場合に使用される形式を明確に文書化します。最も一般的な例は、WebSphere Product Center チームが WebSphere Product Center からデータのエクスポートの作業をしており、顧客または SI チームが宛先システムにそのデータをアップロードしている場合です。共通の形式のスペックなしで作業を開始しないでください。またこの文書を毎日最新のものにしてください。これは、プロジェクト・マネージャーが実行する必要のある絶対要件です。
このアプローチは、典型的な環境の使用および小さな統合の実行とは矛盾していません。両方のチームは、増分的に構築およびテストして、着実な、目に見える進展を確実にしなければなりません。
明確で一般的な用語を使用して、統合について説明する
すべてのインプリメンテーションは、セクション「統合の各次元」で識別される次元を使用する必要があります。
再利用性
スケーリングにとって重要なことは、「再利用性」セクションで説明されている再利用の原則を保ちながら、以前の統合から学習し、統合をパッケージすることにあります。
可視性
進展のレポート用に全体的なメトリックを確立し、最悪の場合でも数日ごとに明確な状況更新をプロジェクト・マネージャーに提供します。
小さな統合
大きな統合の複雑さを、その統合で意味のあるさまざまな次元 (カタログ、属性) に従って分割します。一度に 1 つの小さな統合に注目し、可視性のメトリックに直接結び付けます。
典型的な環境と完全な環境
デバッグおよびテストするのが容易な、典型的な環境を保持します。スクリプトおよびスペックの妥当性に関する確信が得られたときにのみ、完全な環境へ移動します。これを可視性メトリックに結び付けます。
スケーラブルな処理のテスト
すべてのジョブを小さなデータ・セットを使用してテストし、完全なデータ・セットにロールアウトする前に正確性をチェックします。これを可視性メトリックに結び付けます。
パフォーマンス
ロジックまたはフォーマットの正確性について心配せずに、開発サイクルで早めに幾つかのパフォーマンス・テストを実行し、その後定期的にテストを実行して、問題を識別します。
単一スレッドを早期に確立する
特に、複数のホップ、複数のプロトコル、または標準ではない方法を必要とする場合のある複雑な統合においては、統合の単一作業スレッドを早めに確立します。
仕様および文書の設計
実行のための明確なパスを定義して文書化し、特に複数のチームが統合で作業する場合に使用される形式を明確に文書化します。
単一の所有者
複数のチームで作業する場合でさえ、統合を通じて所有権を一人の人に割り当てます。
アプローチ
汎用通信形式
可能な場合にはいつでも、汎用の通信形式を設計するか、以前のプロジェクトから再利用する必要があります。形式が一般的になればなるほど、すべてのシステムが互いに通信するために必要な形式の特別な再作業を行わずに、より多くのシステムを統合に含めることができます。もちろん、パフォーマンスにおいてトレードオフが生じる可能性があります。形式がより一般的になりますが、1 つのプロジェクトにとっての正しい形式が別のプロジェクトにとっては理想的な選択ではない場合があります。使用する特定の形式を判別する際に、依然として統合の各次元を考慮する必要があります。
コンテンツのマッピング
可能なかぎり、WebSphere Product Center コンテンツ・モデルと通信形式を通して示されるモデルとの間のマッピングは、動的に更新可能な方法で実行しなければなりません。 この場合も、統合の次元の調査に基づいて、特定のプロジェクトの必要性は、 (たとえば、処理の絶対最大スループットにより高い優先度が置かれているために、) これらのマッピングの作成を十分に動的に更新できないことを示している可能性があります。 これを行う 1 つの方法として、単一ノードの仕様をカテゴリー・ツリーに関連付けた状態で、 カテゴリー・ツリー (XML 構造などを表す) を使用することが挙げられます。 こうすると、属性の仕様ノード・パスで、カテゴリー・ツリーの特定のノード (WebSphere Product Center コンテンツ・モデル内にマップされる) を示すことができます。 再帰的処理スクリプトを使用して、このカテゴリー・ファイルおよびその定義済みマッピングに基づいて、 XML ファイルへのアイテムのマッピングを処理し、ネストされた複数のオカレンスを容易に実行することができます。
情報の翻訳 / 変換
統合に関係したシステムは、統合における他のシステムの情報またはコンテンツの制限事項および要件を処理する必要はありません。 EAI プラットフォームを容易に利用して、このコンテンツの翻訳および変換を処理することができます。 たとえば、WebSphere Product Center が FLAG の値を "TRUE" あるいは "FALSE" として保管しても、 統合するシステムは、その値を "Y" あるいは "N" と保管することができます。 EAI プラットフォームを使用して、WebSphere Product Center が常に TRUE または FALSE を送信すると TRUE または FALSE と送信されると想定し、一方、統合システムは常に、Y または N と送信すると Y または N と送信されると想定するというようにこれらの翻訳を行うことができます。 これによって、全面的に、多くのシステムが統合に関連している場合でも、 これらの追加システムに照らし合わせて再コーディングの必要はなくなります。
クライアントに関する理解
クライアントは、すでに精通していると思われるプラットフォームを再利用できるため、 統合が既知の機能 (つまり、EAI プラットフォーム) を使用するという点で信頼性が増し加わります。 さらに、クライアント固有の通信形式がすでに存在し、WebSphere Product Center 統合にそれを再利用する場合、 クライアント側の開発者は、WebSphere Product Center がマッピングする通信形式を理解するための追加トレーニングをほとんど必要としません。
通信の柔軟性および信頼性
ほとんどの EAI プラットフォームには、さまざまなプロトコルに対して生じる通信を許可し、 ブローカリングによって通信を実現する、ネイティブの機能が含まれています。 これにより WebSphere Product Center は、通信すべき必要な文書の生成だけに焦点を合わせることができ、 この文書を各種のシステムに通信する異なる手段が潜在的に存在してそれをサポートするという点を考慮に入れる必要はありません。 また、文書が各システムに受信されたかどうかを追跡するという点も考慮に入れる必要はありません。 これらを考慮するのは、EAI レイヤーおよびプラットフォームとなり、WebSphere Product Center は単に、 全体的な統合スレッドの観点からそうした点を認識していればすみます。
本書に記載の製品、サービス、または機能が日本においては提供されていない場合があります。 日本で利用可能な製品、サービス、および機能については、日本 IBM の営業担当員にお尋ねください。 本書で IBM 製品、プログラム、またはサービスに言及していても、その IBM 製品、プログラム、または サービスのみが使用可能であることを意味するものではありません。これらに代えて、IBM の知的所有権を侵害することのない、機能的に同等の 製品、プログラム、またはサービスを使用することができます。 ただし、IBM 以外の製品とプログラムの操作またはサービスの評価および検証は、お客様の責任で行っていただきます。
IBM は、本書に記載されている内容に関して特許権 (特許出願中のものを含む) を保有している場合があります。 本書の提供は、お客様にこれらの特許権について 実施権を許諾することを意味するものではありません。 実施権についてのお問い合わせは、書面にて下記宛先にお送りください。
〒106-0032
東京都港区六本木 3-2-31
IBM World Trade Asia Corporation
Licensing
以下の保証は、国または地域の法律に沿わない場合は、適用されません。
IBM およびその直接または間接の子会社は、本書を特定物として現存するままの状態で提供し、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。国または地域によっては、法律の強行規定により、保証責任の制限が禁じられる場合、強行規定の制限を受けるものとします。
この情報には、技術的に不適切な記述や誤植を含む場合があります。 本書は定期的に見直され、必要な変更は本書の次版に組み込まれます。 IBM は予告なしに、随時、この文書に記載されている製品またはプログラムに対して、改良または変更を行うことがあります。
本書において IBM 以外の Web サイトに言及している場合がありますが、 便宜のため記載しただけであり、決してそれらの Web サイトを推奨するものでは ありません。それらの Web サイトにある資料は、この IBM 製品の資料の一部ではありません。それらの Web サイトは、お客様の責任でご使用ください。
IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、自ら適切と信ずる方法で、使用もしくは配布することができるものとします。
本プログラムのライセンス保持者で、(i) 独自に作成したプログラムとその他のプログラム(本プログラムを含む)との間での情報交換、および (ii) 交換された情報の相互利用を可能にすることを目的として、本プログラムに関する情報を必要とする方は、下記に連絡してください。
IBM Burlingame Laboratory
Director IBM Burlingame Laboratory
577 Airport Blvd., Suite 800
Burlingame, CA 94010
U.S.A
本プログラムに関する上記の情報は、適切な使用条件の下で使用することができますが、有償の場合もあります。
本書で説明されているライセンス・プログラムまたはその他のライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の条項に基づいて、IBM より提供されます。
この文書に含まれるいかなるパフォーマンス・データも、管理環境下で 決定されたものです。 そのため、他の操作環境で得られた結果は、異なる可能性があります。 一部の測定が、開発レベルのシステムで行われた可能性がありますが、 その測定値が、一般に利用可能なシステムのものと同じである保証はありません。 さらに、一部の測定値が、推定値である可能性があります。 実際の結果は、異なる可能性があります。お客様は、お客様の特定の環境に適したデータを確かめる必要があります。
IBM 以外の製品に関する情報は、その製品の供給者、出版物、 もしくはその他の公に利用可能なソースから入手したものです。IBM は、それらの製品のテストは行っておりません。したがって、 他社製品に関する実行性、互換性、またはその他の要求については確証できません。 IBM 以外の製品の性能に関する質問は、それらの製品の供給者にお願いします。
本書には、日常の業務処理で用いられるデータや報告書の例が含まれています。 より具体性を与えるために、それらの例には、個人、企業、ブランド、あるいは製品などの名前が含まれている場合があります。 これらの名称はすべて架空のものであり、名称や住所が類似する企業が実在しているとしても、それは偶然にすぎません。
IBM の将来の方向または意向に関する記述については、予告なしに変更または撤回される場合があり、単に目標を示しているものです。
プログラミング・インターフェース情報が記載されている場合、その情報はプログラムを使用してアプリケーション・ソフトウェアを作成する際に役立ちます。
一般使用プログラミング・インターフェースにより、このプログラム・ツール・サービスを含むアプリケーション・ソフトウェアを書くことができます。
ただし、この情報には、診断、修正、および調整情報が含まれている場合が あります。診断、修正、調整情報は、お客様のアプリケーション・ソフトウェアの デバッグ支援のために提供されています。
警告: 診断、修正、調整情報は、変更される場合がありますので、 プログラミング・インターフェースとしては使用しないでください。
以下は、IBM Corporation の商標です。
IBM
IBM ロゴ
AIX
CrossWorlds
DB2
DB2 Universal Database
Domino
Lotus
Lotus Notes
MQIntegrator
MQSeries
Tivoli
WebSphere
Microsoft、Windows、Windows NT および Windows ロゴは、Microsoft Corporation の米国およびその他の国における商標です。
MMX、Pentium および ProShare は、Intel Corporation の米国およびその他の国における商標です。
Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
他の会社名、製品名、およびサービス名等はそれぞれ各社の商標です。
IBM WebSphere Product Center にはいくつかの「適用除外コンポーネント」(関係する「ライセンス情報」文書の定義に従う) が含まれており、これには以下に挙げる追加の条件が適用されます。このソフトウェアは、「プログラムのご使用条件」の使用条件の下でお客様に使用許諾されており、「適用除外コンポーネント」の条件に従います。IBM には、このソフトウェアに関連して、お客様に以下の通知を行う義務があります。
i.) IBM WebSphere Product Center には、Apache 2.0 ライセンスの使用条件に従って Apache Software Foundation から IBM によって使用許諾された、以下のソフトウェアが含まれています。
- Apache Regular Expression v1.2
- Apache Xalan v2.4.1
- Apache Xerces-j v2.4.0
- Apache Axis v1.1
- Apache XML4J v3.0.1
- Apache Log4j v1.1.1
- Apache Jakarta Commons DBCP Package v1.1
- Apache Jakarta Commons Pool Package v1.1
- Apache Jakarta Commons Collections Package v3.0
Apache の
使用条件
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ii.) IBM WebSphere Product Center includes the following software that was
licensed by IBM from Scott Hudson, Frank Flannery and C. Scott Ananian under the
following terms and conditions:
- Cup Parser Generator v0.10k
CUP Parser Generator Copyright Notice, License, and Disclaimer
Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided that
the above copyright notice appear in all copies and that both the copyright
notice and this permission notice and warranty disclaimer appear in supporting
documentation, and that the names of the authors or their employers not be used
in advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors and their employers disclaim all
warranties with regard to this software, including all implied warranties of
merchantability and fitness. In no event shall the authors or their employers be
liable for any special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether in an action of
contract, negligence or other tortious action, arising out of or in connection
with the use or performance of this software.
iii.) IBM WebSphere Product Center includes the following software that was
licensed by IBM from Elliot Joel Berk and C. Scott Ananian under the following
terms and conditions:
- JLex v1.2.6
JLEX COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
Copyright 1996-2003 by Elliot Joel Berk and C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided that
the above copyright notice appear in all copies and that both the copyright
notice and this permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the authors or their employers not be used
in advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors and their employers disclaim all
warranties with regard to this software, including all implied warranties of
merchantability and fitness. In no event shall the authors or their employers be
liable for any special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether in an action of
contract, negligence or other tortious action, arising out of or in connection
with the use or performance of this software. Java is a trademark of Sun
Microsystems, Inc. References to the Java programming language in relation to
JLex are not meant to imply that Sun endorses this product.
iv.) IBM WebSphere Product Center includes the following software that was
licensed by IBM from International Business Machines Corporation and others
under the following terms and conditions:
- ICU4J v2.8
ICU License - ICU 1.8.1 and later
COPYRIGHT AND PERMISSION NOTICE
Copyright (c) 1995-2003 International Business Machines Corporation and others
All
rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, provided that the above
copyright notice(s) and this permission notice appear in all copies of
the Software and that both the above copyright notice(s) and this
permission notice appear in supporting documentation.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale, use
or other dealings in this Software without prior written authorization
of the copyright holder.