(1) HTTPエミュレーション
(a) HTTPエミュレーション
Multi Web Portletは,HTTPでHTMLコンテンツを取得して,ポートレットとしてポータルに統合します。Multi Web PortletはHTTP1.1のサブセットに対応します。HTTPレスポンスコードの取り扱いを次の表に示します。
表5-2 レスポンスコードの取り扱い(Multi Web Portlet)
レスポンスコード | 内容 |
---|---|
1xx:Informational | 結果フレーズをポートレットおよびログに出力します。 |
2xx:Successful | 200(正常終了)に対応します。201から206は結果フレーズをポートレットおよびログに出力します。 |
3xx:Redirection | 301,302,303,307(リダイレクト)に対応します。300,304,305,およびGET,またはHEAD以外のリクエストによって301,または307が返ってきた場合は,結果フレーズをポートレットおよびログに出力します。※ |
4xx:Client Error | 401(Unauthorized)および407(Proxy Authentication Required)に対応します。 401および407以外は,結果フレーズをポートレットおよびログに出力します。 |
5xx:Server Error | 結果フレーズをポートレットおよびログに出力します。 |
注※ Multi Web Portletでは,301または302が返ってきた場合,レスポンスコードへの対応は使用するWebブラウザによって異なります。
対応するレスポンスヘッダフィールドの取り扱いを次の表に示します。
表5-3 レスポンスヘッダフィールドの取り扱い(Multi Web Portlet)
ヘッダフィールド | 内容 |
---|---|
Cache-Control | キャッシュ制御に使用します。キャッシュ制御の指定は,Portal ManagerのWebポートレット設定時に定義できます。詳細は,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。 |
Content-Type | コンテンツのエンコーディング判定に使用します。text/htmlだけに対応します。 |
Last-Modified | コンテンツの最終更新時刻です。キャッシュ制御に使用します。 |
Location | リダイレクト先のURLです。リダイレクト時に使用します。 |
Set-Cookie | 指定されたCookie値をサーバ内で保持します。 |
Set-Cookie2 | 指定されたCookie値をサーバ内で保持します。 |
WWW-Authenticate | ベーシック認証を試みます。 |
Proxy-Authenticate | プロキシ認証を試みます。 |
クライアントからのリクエストヘッダフィールドの取り扱いを次の表に示します。
表5-4 リクエストヘッダフィールドの取り扱い(Multi Web Portlet)
ヘッダフィールド | 内容 |
---|---|
Host | リクエスト先のホスト名を設定します。 |
Accept | 対応するMIMEタイプを設定します。 |
Accept-Encoding | 対応するエンコーディングを設定します。 |
Accept-Language | 対応する言語を設定します。 |
User-Agent | リクエストしたUser-Agentを設定します。 |
If-Modified-Since | コンテンツの最終更新時刻を設定します。 |
Cookie | Set-Cookie1でサーバに保存されたCookieを設定します。 |
Cookie2 | Set-Cookie2でサーバに保存されたCookieを設定します。 |
Authorization | ベーシック認証に必要な認証情報を設定します。 |
Proxy-Authorization | プロキシ認証に必要な認証情報を設定します。 |
(b) エンコーディング
HTMLコンテンツに日本語を記述する場合には,通常のHTMLコンテンツ同様,エンコーディング方法を指定する必要があります。エンコーディング方法の決定は,外部のWebサイトに格納されたHTMLコンテンツとuCosminexus Portal Framework内に配置したHTMLコンテンツで異なります。
uCosminexus Portal Frameworkでは,ユーザの環境による文字化けを防ぐために,ユーザの環境ごとにエンコーディング方法を推奨しています。uCosminexus Portal Frameworkが推奨するエンコーディングについては,「2.1.4 エンコーディング」を参照してください。
●外部Webサーバ上のHTMLコンテンツのエンコーディング指定
エンコーディング方法は,次の優先順位で決定されます。
自動判定では,正しいエンコーディング方法を決定できないことがあるので,1.,または2.でのエンコーディング指定を推奨します。
(c) プロキシ連携
プロキシを経由してコンテンツを取得できます。プロキシと連携するには,Portal ManagerのWebポートレット設定時に定義できます。詳細は,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。
(d) リダイレクト
Multi Web Portletは,リダイレクト回数設定はできません。
(2) 認証
(a) 認証に対するシングルサインオン
PCからポータルにアクセスしている場合,ディレクトリサーバに格納されているユーザ情報(パーソナライズ情報)から認証情報を取得すれば,Webアプリケーションとのシームレスな連携ができます。
認証機能が利用できる前提条件を次に示します。
●ベーシック認証
Webサーバのレスポンスコードが401(Unauthorized)の際,次の処理をします。
●プロキシ認証
プロキシサーバのレスポンスコードが407(Proxy Authentication Required)の際,次の処理をします。
●フォーム認証
Webサーバへのリクエスト情報を基にシングルサインオンを実現します。Multi Web Portletの場合,認証するサイトによって,認証画面を通過する必要があるとき,シングルサインオンはできません。パスワードの入力ミスなどによってフォーム認証に失敗した場合は,認証情報をクリアして,再度認証情報を入力する必要があります。
Multi Web Portletの場合は,ポートレットの編集ボタンをクリックし,「フォームベース認証のクリア」を実行して,再度認証情報を入力してください。
フォーム認証をするためには,次に示す項目をあらかじめ設定しておくことが必要です。
なお,管理者があらかじめユーザIDとパスワードを登録することはできません。
Multi Web Portletは,Portal Managerでフォーム認証情報を設定します。Multi Web Portletの場合のフォーム認証を設定する方法については,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。
(3) URL変換
Multi Web Portletでは,ポータル画面内で画面遷移するために,Webページに含まれている相対パス形式および絶対パス形式のURLを,uCosminexus Portal Frameworkを経由するURLに変換します。BASE要素で基準となるURLが指定されている場合,BASE要素を基に自動的に変換します。
HTMLコンテンツ中に含まれる画像などのバイナリデータを,uCosminexus Portal Frameworkを経由して取得するか,またはWebブラウザが直接Webサーバから取得するかをPortal Managerでポートレットを登録するときに選択できます。この設定方法については,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。
(4) キャッシュ制御
Multi Web Portletでは,uCosminexus Portal Framework内にHTML,CHTML,およびHDMLコンテンツをキャッシングしません。ただし,クライアントと転送先のWebサーバ間では,日付情報の有効期限を基に,クライアントに蓄積されたキャッシュを使用できます。
(5) 要素フィルタリング
要素フィルタリングは,Multi Web Portletの登録時に,フィルタリングするかしないかを設定できます。タグ,要素は取り除かれますが,コンテンツを表示するために必要なBASE要素やエンコーディング設定,およびキャッシュ制御に必要なMETA要素の一部はコンテンツ作成のために参照されます。
Multi Web Portletは,BODY本体内に記述できない開始,終了タグや要素を取り除きません。
Multi Web PortletのフィルタリングはPortal Managerの[ポートレットの設定]画面で設定します。フィルタリングの設定方法については,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。
要素フィルタリングで取り除かれるタグ,要素を次に示します。
なお,SCRIPT要素を設定すると,onで始まるイベント属性も設定されます。
(6) コンテンツフィルタリング
コンテンツフィルタリングとは,HTMLファイルをMulti Web Portletとして取り込む際に,コンテンツを抽出,または削除することです。コンテンツフィルタリングを使用すると,HTMLファイルの一部分をポートレットに取り込めます。コンテンツフィルタリングは,Webポートレットの登録時に設定できます。コンテンツフィルタリングの設定方法については,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。
コンテンツフィルタリングでは,コンテンツのBODY要素本体に含まれるディレクティブに従ってコンテンツを抽出,または削除します。ディレクティブも同時に抽出・削除します。
ディレクティブは,コメントまたは正規表現で指定できます。
なお,コンテンツフィルタリングの設定を次に示します。
表5-5 コンテンツフィルタリングの設定(Multi Web Portlet)
フィルタリング方式 | 正規表現 | コメント |
---|---|---|
削除 | ○ | × |
抽出 | × | × |
(7) 外部サーバとのセッション維持
Multi Web Portletでは,外部Webサーバとのセッションを維持できます。セッション維持の方法を次に示します。
(a) Cookieによるセッション維持
外部WebサーバからのレスポンスからCookieを取得します。WebブラウザにはCookieを渡さないで,ポータルで保持します。ユーザがポータルにログインしており,かつ有効期限が永続的なCookieは,セッションが終了するとディレクトリサーバに保存されます。Cookieによるセッション維持を次の図に示します。
図5-2 Cookieによるセッション維持(Multi Web Portlet)
(b) URLRewritingによるセッション維持
URLを読み込んだあとにURLを書き換えて,セッションを維持します。
(8) その他の注意事項
(a) スタイル
Multi Web Portletではスタイルシートはページコンテンツ内のスタイルを使用します。
(b) FRAMESET
Multi Web Portletでは,FRAMESETを使用したHTMLコンテンツを表示できます。
(c) スクリプトを使用するには
スクリプトを使用するには,Webポートレットの登録の際に次の設定をしてください。
(d) インラインオブジェクトとの連携
HTML中に組み込まれるオブジェクトとMulti Web Portletは連携できません。
(e) 画面遷移
Multi Web Portletでは,HTMLコンテンツの場合,画面の表示先を指定するTARGETに「_PARENT」を指定しないでください。TARGETには「_TOP」,またはフレーム名を指定してください。なお,Multi Web Portletの画面内で「_PARENT」を使用した場合,ポータル画面が遷移することがあります。
(f) 最大化表示
Multi Web Portletの場合,次の条件のときは最大表示画面に切り替わりません。なお,最大化表示は,SCRIPTを使用している場合は設定しないでください。
(g) ポータル内のコンテンツ処理
Multi Web Portletでは,ポータル内のWebコンテンツ(HTML,CHTML,およびHDML)に対して次の処理をしません。
(h) プロキシサーバ使用時の注意事項
使用するプロキシサーバの種類によっては,ソケットレベルでの通信障害が発生することがあります。ソケットレベルでの通信障害が発生した場合,ポートレット定義ファイルのMulti Web Portletのポートレット定義に"hptl.MultiWebPortlet.ClientCacheSwitch"パラメタを追加して,valueに"NO"を指定してください。この設定によって,クライアントに蓄積されたキャッシュが使用できなくなり,通信障害を取り除けます。
なお,Portal Managerで設定を変更すると,ポートレット定義ファイルが上書きされるため,追加した"hptl.MultiWebPortlet.ClientCacheSwitch"パラメタは無効になります。Portal Managerで設定を変更した場合,再度,"hptl.MultiWebPortlet.ClientCacheSwitch"パラメタを追加してください。ポートレット定義ファイルについては,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「ポートレット定義ファイル(jetspeed-config.jcfg)」の説明を参照してください。
ポートレット定義ファイル(jetspeed-config.jcfg)の格納場所を次に示します。
{PROJECT_HOME}¥WEB-INF¥conf
ポートレット定義ファイルに追加した場合の例,および特定のポートレットにだけ追加した場合の例を次に示します。
<portlet-entry type="abstract" name="MultiWeb">
<classname>jp.co.hitachi.soft.portal.portal.portlets.MultiWebPortlet</classname>
<parameter value="NO" name="hptl.MultiWebPortlet.ClientCacheSwitch"/>
<parameter value="localhost" name="hptl.ProxyHost"/>
<parameter value="8080" name="hptl.ProxyPort"/>
</portlet-entry>
<portlet-entry application="false" admin="false" parent="MultiWeb"
hidden="false" type="ref" name="Hitachi">
<url>/portlets/hitachi.xml</url>
<parameter value="NO" name="hptl.MultiWebPortlet.ClientCacheSwitch"/>
<parameter value="true" name="hptl.MaximizeMode"/>
<parameter value="false" name="hptl.MinimizeMode"/>
<parameter value="false" name="hptl.CloseMode"/>
<parameter value="localhost" name="hptl.ProxyHost"/>
<parameter value="8080" name="hptl.ProxyPort"/>
<parameter value="YES" name="hptl.MultiWebPortlet.AppletRemove"/>
<parameter value="YES" name="hptl.MultiWebPortlet.ObjectRemove"/>
<parameter value="YES" name="hptl.MultiWebPortlet.ScriptRemove"/>
<parameter value="Portal"
name="hptl.MultiWebPortlet.BinaryDataFetching"/>
<parameter value="FALSE" name="hptl.MultiWebPortlet.AutoMaxChange"/>
<meta-info>
<title>日立製作所</title>
<description>日立製作所 ホームページ</description>
</meta-info>
</portlet-entry>