ソリューションライフサイクルの技術要件段階で、使用分析を実行し、使用事例を特定して、配備ソリューション案のサービス要件の品質を判断します。
この章で説明する内容は次のとおりです。
技術要件分析は、ソリューションライフサイクルのビジネス分析段階で作成されたビジネス要件ドキュメントを使用して開始します。ビジネス分析を基礎として使用し、次のことを行います。
使用分析を実行して、予測される負荷条件を確定できるようにします。
システムとの一般的なユーザー対話のモデルとなる使用事例を作成します。
応答時間、可用性、セキュリティーなどの点において、配備されたソリューションがどのように動作するかを定義する一連のサービス品質 (QoS) 要件を作成します。
サービス品質要件は、ビジネス要件や事前に特定された制約を考慮して、使用分析および使用事例から導き出されます。サービス品質要件は、あとに論理設計段階で論理アーキテクチャーと組み合わされ、配備シナリオを形成します。配備シナリオは、ソリューションライフサイクルの配備設計段階に対する、主要な入力値です。
ビジネス分析と同様に、使用分析、使用事例、およびシステム要件を導き出す技術要件分析の決まった形式は存在しません。技術要件を分析するには、事業領域、事業目標、および基礎となるシステムテクノロジを把握しておく必要があります。
論理設計、アーキテクチャー設計および配備設計で使用できる基本サイズを確立する必要があります。 技術担当者は、Portal Server の配備で必要になる CPU の数の見積もりを算出する自動サイジングツールを提供します。
Sun JavaTM System Secure Remote Access ソフトウェアを使用した安全性の高いポータル配備のサイジング要件は、「Secure Remote Access の使用状況分析」で説明されています。
サイジングツールへの入力値として、次のメトリクスを収集する必要があります。
Portal Server の配備で必要になる CPU の数に影響を与えても、サイジングツールでは使用されないその他のパフォーマンスメトリクスは次のとおりです。
ポータルデスクトップ設定
ハードウェアとアプリケーション
バックエンドサーバー
トランザクション時間
ワークロード条件
これらのパフォーマンス要因については、続くセクションで説明します。
最大並行セッション数は、配備される Portal Server で処理可能な接続ユーザー数を定義します。
最大並行セッション数を計算するには、次の計算式を使用します。
最大並行セッション数 = オンラインユーザーの予想割合 * ユーザーベース
企業ポータルの見込みユーザーのユーザーベースサイズまたはプールサイズを特定するには、次の提案を参考にしてください。
アクティブなユーザーのみを識別します。たとえば、休暇や休日をとっているユーザーは対象にしません。
ユーザーベースには有限数を使用します。匿名ポータルの場合は、この数字を控えめに見積もります。
アクセスログを調べます。
ユーザーベースの地理的な場所を識別します。
ビジネス計画の中でユーザーについて記述した内容について忘れないでいてください。
ページ要求間の平均時間は、Portal Server からユーザーがページを要求する頻度の平均です。ページには、ポータルにログインしたときの最初のログインページや、ポータルデスクトップからアクセスする Web サイトや Web ページなどがあります。1 ページの表示とは、ページに配置されているアイテム数に関係なく、1 回の呼び出しで表示される 1 つの情報ページを指します。
Web サーバーのログにはページ要求が記録されますが、ログを使用して要求から要求までの平均時間をユーザー単位で計算することはできません。ページ要求間の平均時間を計算するには、WebLoad パフォーマンステストツールのような市販の統計ツールが必要です。ツールを使用して得られた数値を基にして、並行処理ユーザー数を判断できます。
ストレステストを実行する場合は、SLAMD Distributed Load Generation Engine を使用できます。SLAMD の詳細については、http://slamd2.dev.java.net/ を参照してください。
ページ要求を基準にすると、「ヒット数」を基準にするよりも Web サーバーのトラフィックを正確に測定できます。Web サーバーからのファイル要求は、1 ヒットとして毎回計上されます。ページにあるすべてのアイテムが登録されているので、1 回のページ呼び出しで何度もヒットが記録されます。たとえば、10 個のグラフィックファイルが組み込まれているページの場合は、HTML ページ自体で 1 回、および 10 個のグラフィックファイルそれぞれが 1 回ずつカウントされ、合計 11「ヒット」が記録されます。したがって、ページ要求を基準にしたほうが Web サーバーのトラフィックをより正確に判断できます。
並行処理ユーザーは、実行中の Web ブラウザプロセスに接続し、Portal Server に要求を送信するか、要求の結果を受信しているユーザーです。最大並行処理ユーザー数は、あらかじめ定義された時間内に接続可能な並行処理ユーザーの最大数です。最大並行処理ユーザー数は、最大並行セッション数を算出してから計算します。最大並行処理ユーザー数を計算するには、次の計算式を使用します。
並行処理ユーザー = 並行セッション数 / ヒット間の平均時間
たとえば、ユーザーが 50,000 人のイントラネット Portal Server の例について考えます。負荷ピーク時に接続されているセッション数を、登録されたユーザーベースの 80% と見積もります。ユーザーは、平均で 10 分に 1 回の割合でポータルデスクトップにアクセスします。
この例の場合の計算方法は次のようになります。
40000 / 10 = 4000
したがって、この Portal Server の負荷ピーク時に接続できる最大並行処理ユーザー数は 4,000 人になります。
平均セッション時間は、多くのユーザーを対象に算出した、ログインからログアウトまでの平均時間です。セッション時間の長さは、発生するログイン数に反比例します。つまり、セッション期間が長くなると、同じ並行処理ユーザーベースでの Portal Server に対する毎秒のログイン数が少なくなります。セッション時間は、ユーザーのログインからログアウトまでの時間です。
平均セッション時間は、多くの場合、ユーザーの Portal Server の使い方によって変化します。たとえば、対話型のアプリケーションが関係するユーザーセッションの場合は、情報のみのユーザーセッションの場合よりも、セッション時間が長くなるのが一般的です。
ポータルサイトで検索チャネルを提供する場合は、検索エンジンのサイジング要素をサイジングの計算に含める必要があります。検索エンジンのサイジング要件は、次の要素によって決まります。
インデックスディレクトリのアクティブリストにあるインデックスパーティーションのサイズ
パーティーションサイズは、インデックス付きの検索可能な用語のサイズと数に正比例します。
リソース記述 (RD) に必要な平均ディスクスペース
次の式を使用して計算します。
必要な平均ディスクスペース = データベースサイズ / データベース内の RD 数
平均サイズは、RD サイズの変動に合わせて調整されます。多くのインデックス付き用語を使用した長くて複雑な RD の集合と、少数のインデックス付き用語による短い RD のリストでは、複雑な RD に同じ数の RD があっても、必要な検索時間が異なります。
RD は階層型データベース形式で保存されます。この形式では、RD が保存されていなくても、データベースの組み込みサイズを考慮する必要があります。
検索関連のアクティビティーを実行する並行処理ユーザーの数
次の式を使用して計算します。
並行処理ユーザー数 / 検索ヒット間の平均時間
「並行処理ユーザー」で計算される並行処理ユーザー数の値を使用します。
検索関数のタイプには、基本、結合、近接、パッセージとフィールド演算子、およびワイルドカードスキャンなどがあります。それぞれの検索関数では、異なる検索アルゴリズムとデータ構造を使用します。検索アルゴリズムとデータ構造の違いは、検索用語数とインデックス付き用語数が増加するのにつれて大きくなるので、検索関数のタイプは検索結果が返されるまでの時間に影響します。
認証されたポータルを使用する場合は、自動サイジングツールのページ設定セクションにある「Login Type」と「Desktop Type」の両方を指定する必要があります。
Login Type。エンドユーザーがユーザー名とパスワードを入力したときに、エンドユーザーに最初に表示されるポータルページ (コンテンツ設定と配信方法) のタイプを記述します。このプロセスでは、資格の確認、セッションの初期化、および初期コンテンツの配信などが行われるので、システムにかかる負担が大きくなるのが一般的です。
ログインタイプに関連する測定された CPU パフォーマンスの特性は、Initial Desktop Display 変数です。
Desktop Type。最初のポータルページのあとにエンドユーザーに表示されるポータルページ (コンテンツ設定と配信方法) のタイプを記述します。これらのページは、そのあとに続くポータルとの対話型操作のたびに、またはデスクトップを更新したときに表示されます。セッションがすでに確立され、キャッシュされたコンテンツを利用できるので、通常必要とするシステムリソースが少なくて済み、ページがより短時間で配信されます。
デスクトップタイプに関連する測定された CPU パフォーマンスの特性は、Desktop Reload 変数です。
ログインタイプとデスクトップタイプの両方の場合に、次の適切なコンテンツ設定を選択します。
Light-JSP。それぞれ 5 個のチャネルを持つ、2 つのタブの設定を記述します。
Regular-JSP。それぞれ 7 個のチャネルを持つ、2 つのタブの設定を記述します。
Heavy-JSP。それぞれ 17 個のチャネルを持つ、3 つのタブの設定を記述します。
ここまでで、上述の数値を技術担当者に伝え、サイジングツールを実行して CPU の見積もり数を算出するように依頼できます。
ポータルデスクトップの設定によって、セッション単位でメモリーに保持するデータ量が明確に決定されます。
ポータルデスクトップのチャネルが多くなるほど、データのセッションサイズは大きくなり、Portal Server のスループットが低下します。
もう 1 つの要素は、ポータルデスクトップで提供される対話機能の性能です。たとえば、チャネルをクリックすると、Portal Server または他の外部サーバーに負荷が発生します。チャネルの選択によって Portal Server に負荷が発生すると、ポータルデスクトップをホストするノードのユーザークティビティープロファイルと CPU オーバーヘッドは、他の外部サーバーをホストするノードの場合より高くなります。
CPU 速度と、Java プラットフォーム (Java 仮想マシンまたは JVMTM ソフトウェア) のメモリーヒープにおける仮想マシンのサイズは、Portal Server のパフォーマンスに影響を与えます。
CPU 速度が速くなれば、スループットも高くなります。ヒープ生成チューニングパラメータとともに、JVM メモリーヒープのサイズも Portal Server のパフォーマンスを左右します。
Portal Server は外部ソースからコンテンツを集約します。外部のコンテンツプロバイダが、最大速度で動作する Portal Server に必要な帯域を確保できない場合、ポータルデスクトップのレンダリングとスループットの要求時間は最適化されません。ポータルデスクトップは、ブラウザに要求応答を返す前に、すべてのチャネル動作が完了するかタイムアウトになるまで待機します。
次のチャネルを使用する場合は、バックエンドのインフラストラクチャーを慎重に計画してください。
外部ソースからコンテンツを収集する
一般に応答時間の遅い企業データベースにアクセスする
電子メールコンテンツを提供する
カレンダコンテンツを提供する
トランザクション時間は、HTTP または HTTPS 処理が完了するまでの遅延時間で、送信時間、処理時間、および応答時間を合計した時間です。
トランザクション時間に影響する要素について計画する必要があります。これには、次の要素があります。
ネットワーク速度と待ち時間。ワイドエリアネットワーク (WAN) の場合は、待ち時間について検討する必要があります。大量のデータの場合には、待ち時間により取得時間が著しく長くなる可能性があります。
ポータルデスクトップの複雑さ。
ブラウザの接続速度。
たとえば、接続速度が 33.6 kbps の場合は、LAN 接続の場合よりも応答時間の遅延が長くなります。ただし、処理時間は一定です。ダイヤルアップ接続によるトランザクション時間は、データ圧縮を実行するロード生成ツールによって表示されるトランザクション時間よりも短くなります。
トランザクション時間を計算する場合は、Portal Server のサイジングを行なって、通常またはピーク時の負荷状態がパフォーマンス要件のしきい値を超えないように、また時間が経過しても処理時間を維持できるようにします。
ワークロード条件は、システムにおいてもっとも集中的に使用される、システムリソースと JVM ソフトウェアリソースです。これらの条件は、大部分がユーザーの動作と配備するポータルのタイプによって決まります。
Portal Server ソフトウェアで一般的に発生するワークロード条件は、次の要素に影響を与えます。
Portal Server のパフォーマンスは、アクティビティープロファイルが高い場合など、大量の並行要求が処理される場合に影響を受けます。たとえば、企業対企業ポータルの負荷ピーク時には、同時に大勢の社員がポータルに接続します。そうした状況では、CPU にワークロードが集中します。また、接続されたユーザーに対する並行処理ユーザーの割合も高くなります。
Portal Server の処理能力は、大勢のユーザーがログインすると影響を受け始めます。ログインするユーザーが多くなると、ユーザーがより多くのメモリー領域を使用するので、サーバーで要求を処理するために使用可能なメモリーが少なくなります。たとえば、企業対顧客 Web ポータルでは、ポータルデスクトップの初期表示がロードされるとすぐ、大勢のログインユーザーが外部の Web サイトにリダイレクトされます。しかし、さらに多くのユーザーがログインすると、Portal Server に要求を送信しているユーザーと単にログインしているだけのユーザーの割合が低くても、より多くのメモリー領域が必要になります。
日、週、または月の特定の時間帯におけるユーザーの動作に応じて、Portal Server は、CPU 集中のワークロードとメモリー集中のワークロードを切り替えることができます。ポータルのサイト管理者は、最重要なワークロード条件を定めて、企業のビジネス目標に合ったサイトのサイジングとチューニングを実行する必要があります。
このセクションは、組織において、Secure Remote Access をインストールして安全性の高いポータルを実装する場合にのみお読みください。ポータルの場合に行なったのと同様、Secure Remote Access の場合にも、最初にゲートウェイインスタンスの基準見積もりサイズを設定する必要があります。1 台のマシンにインストールできるゲートウェイは 1 つだけですが、複数のインスタンスを持つことはできます。Secure Remote Access により、それぞれが複数のインスタンスで動作する複数のゲートウェイをインストールできます。設計上の決定事項は、Secure Remote Access のユーザーセッションと並行性に関して正確な試算を行うのに役立ちます。
まず、ゲートウェイインスタンスの基準サイジング見積もりを設定する必要があります。この基準値は、ゲートウェイのユーザーセッションと並行処理の必要に応じて満たす必要のある条件を示しています。
Secure Remote Access を配備する場合の適切な見積もりサイズを設定する作業は反復プロセスです。入力値を変更すれば、幅のあるサイジング結果を生成できます。これらの結果をユーザーの本来の要件に照らしてテストします。要件を正しく定義し、Secure Remote Access のパフォーマンスとして実際的な値に設定すれば、パフォーマンスが関係するほとんどの問題を回避できます。
ゲートウェイを適正にサイジングする作業は複雑なので、ゲートウェイのサイジングツールを使用する段階は単なる始まりにすぎません。ゲートウェイのパフォーマンスはスループットに大きく依存し、それ以外にもユーザー数、アクティブユーザー数、またはユーザーセッション数が影響します。ゲートウェイのサイジング情報は、前提セットに基づいている必要があります。
ゲートウェイインスタンスあたり、1 個、2 個、および 4 個の CPU を選択できます。ゲートウェイインスタンスにバインドされた CPU の数により、配備に必要なゲートウェイインスタンスの数が決まります。
Secure Remote Access を使用しているポータルのプロトタイプから得られた数値がある場合は、ゲートウェイサイジングツールでそれらの数値を使用して、より正確な結果を導き出すことができます。次の値を入力します。
測定された CPU パフォーマンス。ゲートウェイインスタンスの数を計算するために使用される値には、次のようなものがあります。
初期ポータルデスクトップ表示、CPU あたりの毎秒ヒット数
ポータルデスクトップ再ロード、CPU あたりの毎秒ヒット数
Netlet アプリケーションのブロックサイズ。この値により、Netlet アプリケーションのバイトサイズを指定します。Netlet は、使用するアプリケーションに基づいてブロックサイズを動的に決定します。Telnet 用に Netlet によって決定されるブロックサイズは、転送されるデータの量に基づいて決定されます。
試験的な配備数を使用する場合は、「Page Configuration」オプションと「Scalability」オプションを指定する必要はありません。
主要なパフォーマンス要素とは、技術担当者が自動サイジングツールへの入力値として使用するメトリクスのことです。サイジングツールは、Secure Remote Access を配備する際に必要となるゲートウェイインスタンスの見積もり数を算出します。
これらの主要なパフォーマンス要素を特定し、それを技術担当者に伝えることは、基準サイズを決定するための第一歩です。
主要なパフォーマンス要素は次のとおりです。
これらの主要なパフォーマンス要素を計算し終えたら、技術担当者に計算値を伝えます。ゲートウェイのサイジングツールを実行して、ゲートウェイインスタンスの見積もり数を導き出すように依頼します。
ゲートウェイのセッション特性は次のとおりです。
Secure Remote Access (ゲートウェイ) ユーザーの合計数
セキュリティー保護ポータルの見込みユーザーのユーザーベースまたはプールのサイズを表します。
最大負荷時にゲートウェイを使用する合計ユーザーの予想割合
合計ユーザー数にパーセンテージを当てはめてこの数値を導き出します。
ページヒット間の平均時間
ユーザーがポータルサーバーからページを要求する頻度の平均値です。
セッション平均時間
この特性により、一定数の並行処理ユーザーの場合に、ゲートウェイが保持する必要のある秒あたりのログイン数が決まります。
以下に示すゲートウェイの Netlet 特性について考慮してください。これらの特性は、ゲートウェイインスタンス数の計算に影響を与えます。
Netlet は、Portal Server 管理コンソールで有効にします。
Netlet を有効にした場合は、ゲートウェイは着信トラフィックが Netlet トラフィックであるか、または Portal Server トラフィックであるかを判断する必要があります。Netlet を無効にした場合は、ゲートウェイはすべての着信トラフィックが HTTP トラフィックと HTTPS トラフィックのいずれかであると仮定するため、オーバーヘッドが低減します。Netlet は、Portal Server でリモートアプリケーションをまったく使用しないことが確実な場合にだけ無効にしてください。
Netlet を使用する合計ユーザーの予想パーセンテージ
合計ユーザー数にパーセンテージを当てはめてこの数値を導き出します。
予想スループット
ゲートウェイで予想されるスループットを決定し、kbps 単位で表します。
使用される Netlet Cipher 暗号化方式
Native VM や Java ソフトウェアプラグイン暗号化方式を選択できます。
使用事例は、システムの能力をテストして示し、高レベルの設計の重要な部分を形成するために記述されたシナリオです。使用事例シナリオはプロジェクトの終わりの方で実現しますが、要件が定まったら、プロジェクトの早い段階でまとめておきます。
利用できる場合、使用事例はシステムをどのようにテストすべきかを判断する際に役立ちます。使用事例は、ユーザーインタフェースをどのように設計するかを、ナビゲーションの観点から決定する際に役立ちます。使用事例を設計する際には、使用事例を要件と比較して、使用事例の完成度、またテスト結果の解釈方法を判断します。
使用事例は、要件をまとめる手段にもなります。要件の一覧の代わりに、ユーザーがシステムをどのように使用できるかを説明するストーリーのように要件をまとめます。これにより完成度と一貫性が向上し、またユーザーの観点から見た要件の重要性について、さらに理解を深めることができます。
使用事例は、ポータルの機能要件を特定および明確にするために役立ちます。使用事例は、ユーザーとポータル間のやり取りのセット、またポータルが実行する必要があるサービス、タスク、および機能など、ポータルのさまざまな使い方をすべて網羅します。
使用事例は、外部のアクターとポータルシステム間の目的のあるやり取りのセットを定義します。アクターは、システムとやり取りするシステム外に存在するパーティーであり、ユーザーのクラス、ユーザーが担うことのできるロール、またはその他のシステムになります。
使用事例は、対象領域の用語を使用した、理解しやすい構造化された物語として記述されます。
使用事例のシナリオは、使用事例の 1 つの例であり、使用事例の 1 つの筋道を表します。したがって、使用事例の主な筋に対するシナリオ、また使用事例の起こりうるさまざまな筋 (たとえば、各オプションを表す) に対するシナリオを作成できます。
ポータルの使用事例を開発する場合は、次に示す要素に注意してください。
優先順位。使用例の優先順位、または順位を記述します。たとえば、これは「高」、「中」、「低」の範囲にすることができます。
使用の背景。使用事例を実現する設定または環境を記述します。
範囲。使用事例の条件および制限を記述します。
プライマリユーザー。これがあてはまるユーザーの種類、たとえば、エンドユーザーまたは管理者を記述します。
特別な要件。適用されるその他の条件を記述します。
関係者。製品の決定がどのように行われるか、または実行されるかに利害関係がある人々を記述します。
前提条件。使用事例を実現するために満たす必要のある必要条件を記述します。
最小限の保証。使用事例が成功しなかった場合に最低限行う必要があることを記述します。
成功の保証。使用例が成功した場合に何が起きるかを記述します。
トリガー。イベントの発生の原因になる、システム内の特定のアイテムを記述します。
説明。使用事例の、始めから終わりまでの、段階的な記述です。
表 3–1 では、ポータルのユーザーがポータルに認証される使用事例について説明します。
表 3–1 使用事例: ポータルユーザーの認証
サービス品質を実現するには、次のトピックに対処します。
ポータルシステム管理者およびポータル開発者と話し合い、計画される要件に基づいてポータルのパフォーマンス目標を設定します。目標には、ユーザー数、負荷ピーク時の並行処理ユーザー数、および Portal Server にアクセスする際のユーザーの使用パターンなどがあります。
次の 2 つの要素を決定する必要があります。
ポータルアプリケーションの迅速な応答を目指してチューニングするのか。
多数のユーザーの並行処理に対応できるようにチューニングするのか。
並行してポータルに接続するユーザー数が増加すると、ハードウェアとパラメータセットが同じであれば、応答時間が減少します。そのため、Portal Server の予想使用レベル、任意の時刻に予想される並行処理ユーザー数、ポータルデスクトップのアクティビティー要求数、ポータルチャネル使用量、組織によって決定されるエンドユーザーへの許容応答時間、および基準を満たす最適ハードウェア構成に関する情報を収集してください。
Portal Server の可用性を高めるには、次の各コンポーネントの可用性を高める必要があります。
Portal Server。オープンモードでは、ロードバランサを使用して障害が発生したコンポーネントを検出し、要求を他のサーバーにリダイレクトします。セキュアモードでは、ゲートウェイコンポーネントが障害の発生したサーバーコンポーネントの存在を検出し、要求を他のサーバーにリダイレクトします。Web コンテナが Sun Java System Web Server であるかぎりこのようになります。
ゲートウェイ。ゲートウェイで使用するロードバランサは、障害が発生したゲートウェイコンポーネントを検出し、新しい要求をほかのゲートウェイにルーティングします。ロードバランサは、ワークロードをサーバープールにインテリジェントに分散する能力もあります。障害が発生したゲートウェイが回復すると、ルーティングが元に戻ります。ゲートウェイコンポーネントはステートレスなので ( セッション情報はクライアントで HTTP cookie に格納される)、障害が発生したゲートウェイを迂回した再ルーティングはユーザーには透過です。
Directory Server。多数のオプションが、LDAP ディレクトリの可用性を高めます。
Netlet プロキシとリライタプロキシ ソフトウェアのクラッシュが発生した場合、watchdog プロセスがプロキシを自動的に再起動します。さらに、ゲートウェイがプロキシのロードバランスと障害検出フェイルオーバーを実行します。
スケーラビリティーとは、パフォーマンスを低下させることなく、処理リソースを追加することによって、増加するユーザー人口に対応するシステムの能力のことです。システムをスケーリングするための 2 つの一般的な方法には、垂直方向のスケーリングと水平方向のスケーリングがあります。このセクションの主題は、Portal Server のスケーリング技術の応用です。
スケーラブルなシステムの利点を次に示します。
応答時間の向上
障害許容性
管理容易性
消耗性
簡易化されたアプリケーションの開発
構築モジュール
垂直方向のスケーリングでは、CPU、メモリー、Portal Server の複数のインスタンスなどのリソースが 1 つのマシンに追加されます。これより、より多くのプロセスインスタンスが同時に実行できます。Portal Server では、必要な CPU の数に計画およびサイズ指定することによってこれを利用できます。
水平方向のスケーリングでは、マシンが追加されます。これは、複数の同時処理とワークロードの分散も可能にします。Portal Server では、Portal Server、Directory Server、および Access Mangaer を異なるノードで実行できるので、水平方向のスケーリングを利用します。水平方向のスケーリングは、さらに CPU を追加するなどして、垂直方向のスケーリングも利用できます。
また、サーバーコンポーネントインスタンスを複数のマシンにインストールすることによって、Portal Server インストールを水平方向にスケールできます。インストールされた各サーバーコンポーネントインスタンスは、HTTP プロセスを実行し、この HTTP プロセスはインストール時に決定された番号の TCP/IP ポートで待機します。ゲートウェイのコンポーネントは、ラウンドロビンアルゴリズムを使用して新しいセッション要求をサーバーインスタンスに割り当てます。セッションが確立されている間は、クライアントに格納された HTTP cookie がセッションサーバーを示します。それ以降の要求はすべてそのサーバーに送られます。
「地域化の設計」のセクションでは、最適のパフォーマンスと水平方向のスケーラビリティーを提供する特定のタイプの構成への取り組み方について説明します。
セキュリティーとは、サーバーおよびそのユーザーを悪意のある外部の者から保護するハードウェア、ソフトウェア、運用方法、および技術の集合のことです。それに関連して、セキュリティーは予期しない行為から保護します。
セキュリティーには、グローバルに対処し、ユーザーやプロセスだけでなく製品や技術も含める必要があります。あいにく、多くの組織が、唯一のセキュリティー方針としてファイアウォール技術のみに依存しています。それらの組織は、多くの攻撃は外部の者ではなく、従業員によるものであることに気づいていません。したがって、安全なポータル環境を構築するときには他のツールやプロセスを考慮する必要があります。
安全な環境で Portal Server を稼働させるには、SolarisTM オペレーティング環境、ゲートウェイとサーバーの設定、ファイアウォールのインストール、および Directory Server による認証と Access Manager による SSO に対して特定の変更を行う必要があります。また、証明書、SSL 暗号化、グループおよびドメインアクセスを使用できます。
Portal Server では、UNIX システムのセキュリティー機能に加え、HTTPS 暗号化プロトコルに依存して、Portal Server システムソフトウェアを保護しています。
セキュリティーは Web コンテナによって実現され、必要に応じて SSL を使用するように設定できます。Portal Server は、認証とエンドユーザー登録の場合の SSL もサポートしています。Web サーバーで SSL 証明書を有効にすることにより、ポータルデスクトップや他のアプリケーションにもセキュリティー保護してアクセスできます。Access Manager ポリシーを使用して、URL ベースのアクセスポリシーも設定できます。
Portal Server は、Access Manager によって提供される認証サービスを利用して、Access Manager SSO メカニズムを使用するすべての製品間でのシングルサインオン (SSO) をサポートします。SSO メカニズムでは、エンコードされたクッキーを使用してセッション状態を保持します。
Secure Remote Access には、さらに別のセキュリティー機能があります。Secure Remote Access では、デフォルトで HTTPS を使用して、クライアントのブラウザをイントラネットに接続します。ゲートウェイでは、リライタまたはプロキシレットを使用して、インターネットに直接コンテンツを公開せずにイントラネットの Web サイトにアクセスする仕組みを実現しています。またゲートウェイにより、アクセスされる Web サーバーに変更を加えずに、URL ベースのアクセスポリシーも設定できます。
ゲートウェイからサーバーおよびイントラネットリソースへの通信には、HTTP または HTTPS を使用できます。Web アプリケーションとディレクトリサーバーとの間の通信のように、Portal Server 内での通信では、デフォルトで暗号化を使用しませんが、SSL を使用するように設定できます。
次に示す 3 種類の UNIX ユーザー下に Portal Server をインストールおよび構成できます。
root。これはデフォルトのオプションです。すべての Portal Server コンポーネントは、システムスーパーユーザーとして実行されるようにインストールおよび設定されます。この設定では、次のようなセキュリティーの問題が生じます。
アプリケーションのバグを利用して、システムに root アクセスが可能です。
一部のテンプレートを変更するのに、root アクセスが必要になります。root アクセスは、システム管理者でないユーザーにこの権限が通常付与されることになるので、セキュリティーの問題になる可能性があります。
ユーザー nobody。Portal Server をユーザー nobody (uid 60001) としてインストールできます。ユーザー nobody には何の権限もないため、システムファイルを作成、読み取り、あるいは変更することはできないので、システムのセキュリティーを向上できます。この機能は、ユーザー nobody が Portal Server を使用してシステムファイルにアクセスし、システムに侵入するのを防止します。
ユーザー nobody にはパスワードがないので、正規のユーザーが nobody になるのを防止します。スーパーユーザーのみが、パスワードの入力を求められずにユーザーを変更できます。したがって、Portal Server サービスを起動および停止するには引き続き root アクセスが必要です。
非 root ユーザー。正規の UNIX ユーザーとして Portal Server を実行できます。正規ユーザーのセキュリティーの利点は、ユーザー nobody のセキュリティーの利点と似ています。正規の UNIX ユーザーには、サービスを起動、停止、および設定できるといった他の利点もあります。インストール後、一部のファイルの所有権を変更する必要があります。
詳細は、『Sun Java Enterprise System 5 インストールガイド』を参照してください。
従来の UNIX のセキュリティーモデルは通常、絶対的ですが、代替ツールを使用していくらか柔軟にできます。それらのツールは、異なる UNIX コマンドなどの個々のリソースに対するきめ細かなアクセス制御を可能にするために必要な手段になります。たとえば、このツールセットは、Portal Server を root として稼働させるのを可能にし、また特定のユーザーおよびロールに Portal Server フレームワークの起動、停止、および維持のためのスーパーユーザー権限を与えます。
それらのツールを次に示します。
Role-Based Access Control (RBAC)。 SolarisTM 8 以降には、スーパーユーザー権限をパッケージ化し、それらをユーザーカウントに割り当てるための Role-Based Access Control (RBAC) が含まれています。RBAC は、権限の分離、ユーザーに対する権限付き操作の付与の制御、およびアクセス制御のさまざまなレベルを実現可能にします。
Sudo。Sudo は公開されているソフトウェアであり、システム管理者が特定のユーザーに別のユーザーとしてコマンドを実行する権限を付与することを可能にします。次の URL を参照してください。
http://www.courtesan.com/sudo/sudo.html
最高のセキュリティーを実現するには、2 つのファイアウォール間にゲートウェイをインストールします。もっとも外側のファイアウォールはインターネットからゲートウェイへの SSL トラフィックのみを通し、次にゲートウェイがトラフィックを内部ネットワークのサーバーへ転送します。
地域化とは、テキストおよび文化的な内容を特定の対象者向けに適合させる処理のことです。地域化には、次の 2 つの方法で取り組むことができます。
製品全体を提供していない他の言語に地域化します。これは、通常、専門のサービス組織が行います。
地域化をサポートするために変換できる Portal Server の一部を次に示します。
テンプレートおよび JSP ファイル
リソースバンドル
ディスプレイプロファイルのプロパティー
高度な言語の地域化の場合、テンプレートのディレクトリのために正しく定義されたディレクトリ構造を作成します。アップグレードパスを保つには、カスタムコンテンツとカスタムコードをデフォルトのディレクトリ外に保持します。地域化については、『Sun Java System Portal Server 7.1 Developer’s Guide 』を参照してください。