uCosminexus Portal Frameworkでは,JSPやサーブレットなどのJavaの技術やHTMLなどのWebの技術を用いて独自のポートレットを作成できます。
日立APIポートレットのライフサイクルを次の図に示します。
図3-4 日立APIポートレットのライフサイクル
ポートレット開発者は,ライブラリやユティリティクラス,および統合ユーザ管理フレームワークを利用して日立APIポートレットを開発します。ライブラリの詳細は,「14. ライブラリ」を参照してください。
(1) ポートレットの初期処理および終了処理
ポートレットの初期処理は,エントリポイントとして登録したJSP/サーブレットの初期処理メソッドに記述します。JSPでは,javax.servlet.jsp.JspPage#jspInit,サーブレットでは,javax.servlet.Servlet#initをオーバーライドします。初期処理では,ポートレットで共通の設定ファイルの読み込み,外部DBとのコネクション確立など,ポートレットがサービスを提供する間使用するリソースを確保します。
ポートレットの終了処理は,エントリポイントとして登録したJSP/サーブレットの終了処理メソッドに記述します。JSPでは,javax.servlet.jsp.JspPage#jspDestroy,サーブレットでは,javax.servlet.Servlet#destroyをオーバーライドします。終了処理では,初期処理時に確保したリソースを解放します。
(2) リクエスト処理
ポートレットへのリクエストに対する処理は,JSP/サーブレットのサービスメソッドに記述します。JSPでは,javax.servlet.jsp.HttpJspPage#jspServiceをオーバーライドします。サーブレットでは,javax.servlet.Servlet#service,またはjavax.servlet.http.HttpServletのdoGETもしくはdoPOSTのメソッドをオーバーライドします。
ボタンによるポートレットの画面遷移を次の図に示します。
図3-5 ボタンによるポートレットの画面遷移
画面モードについては,「3.7.1 日立APIポートレットの画面モードの種類」を参照してください。
サービスメソッド内では,PortletInfoBean#getModeで画面モードを取得します。ユーザの操作時に呼び出されるメソッドおよびポートレットの処理内容を次の表に示します。
表3-5 ユーザ操作とポートレットの処理内容
ユーザの操作 | 呼び出されるメソッド | 画面モード | ポートレットの処理内容 |
---|---|---|---|
ユーザのホーム画面にアクセス | 日立APIポートレットに登録したJSP/サーブレットのサービスメソッド | DEFAULT | サマリ画面を作成 |
最大化ボタンをクリック | 日立APIポートレットに登録したJSP/サーブレットのサービスメソッド | MAXIMIZE |
|
最大化画面で復元ボタンをクリック | 日立APIポートレットに登録したJSP/サーブレットのサービスメソッド | DEFAULT | サマリ画面を作成 |
ポートレットユティリティタグライブラリで作成したJSP/サーブレットのリンクをクリック | 指定したJSP/サーブレットのサービスメソッド | MAXIMIZE | 業務処理および業務画面を作成 |
最大化画面で編集ボタンをクリック | 日立APIポートレットに登録したJSP/サーブレットのサービスメソッド | EDIT | 編集画面を表示 |
最大化画面の編集画面で復元ボタンをクリック | 日立APIポートレットに登録したJSP/サーブレットのサービスメソッド | MAXIMIZE | 最大化画面を表示 |
標準画面内の最小化画面で最大化ボタンをクリック | 日立APIポートレットに登録したJSP/サーブレットのサービスメソッド | MAXIMIZE | 最大化画面を表示 |
最大化画面で復元ボタンをクリック | 日立APIポートレットに登録したJSP/サーブレットのサービスメソッド | DEFAULT | 標準画面内に最小化画面を表示 |
編集ボタンをクリック | 日立APIポートレットに登録したJSP/サーブレットのサービスメソッド | EDIT | 編集画面を表示 |
編集画面で[適用]ボタンをクリック | 日立APIポートレットに登録したJSP/サーブレットのサービスメソッド | EDIT | パーソナライズ情報を更新して,再度編集画面を表示 |
編集画面で[戻る]ボタンをクリック | 日立APIポートレットに登録したJSP/サーブレットのサービスメソッド | DEFAULT | パーソナライズ情報を更新しないで,ポートレットのサマリ画面を表示 |
編集画面で[標準に戻す]ボタンをクリック | 日立APIポートレットに登録したJSP/サーブレットのサービスメソッド | EDIT | システム管理者が設定した内容またはポートレットの初期設定に戻して,再度編集画面を表示 |
IFRAME内のコンテンツを表示 | IFRAME内のJSP/サーブレットのサービスメソッド | IFRAME | IFRAME内に表示するコンテンツを作成 |
ポートレットユティリティタグライブラリで作成したIFRAME内のJSP/サーブレットのリンクをクリック | IFRAME内のJSP/サーブレットのサービスメソッド | IFRAME | IFRAME内に表示するコンテンツを作成 |
(3) セッションの初期処理および終了処理
セッションの初期処理および終了処理では,ユーザに固有のパーソナライズデータを取得したり,保存したりします。セッションの初期処理および終了処理は,セッションに対するイベントリスナ(HttpSessionBindingListener)を使用して実現します。エントリポイントとして登録したJSP/サーブレットのサービスメソッド内で,開始・終了処理を記述したイベントリスナをHttpSessionに登録します。ログインおよびログアウト処理のサンプルについては,「付録A.4 ログインログアウトの処理」を参照してください。