ページの先頭です。
サイト内の現在位置を表示しています。
  1. ホーム
  2. ソリューション・サービス
  3. SOA
  4. SOA関連製品・サービス
  5. フロントエンドサービス開発方法論
ここから本文です。

SystemDirector Enterpriseのフロントエンドサービス開発方法論(WebOTX版)のご紹介

1.はじめに

企業の事業環境の変化が激しさを増すなか、企業情報システムは、業務の効率化や作業の自動化などのコスト削減に加えて、より戦略的な情報システム投資に対する関心が高まっています。このような背景から、サービスという考え方によりシステムをビジネス的にも意味のあるまとまりに構成し、その変化に柔軟に対応しようとする考え方(SOA)が発展してきました。さらに昨今は、クラウド・コンピューティングへの期待から、既存のアプリケーションのクラウド環境への移行や、外部サービスの有効活用に対してより一層の関心が集まっています。その中で、オンプレミス(自社運用)のシステムと、クラウド上のサービスを統合(マッシュアップ)したいというニーズが高まっており、それを実現する手段のひとつとしてポータルへの期待が高まっています。

NECの開発標準であるSystemDirector Enterpriseはこれらの状況に合わせてシステム開発を行うための開発方法論として、フロントエンドサービス(プレゼンテーションレイヤ)を対象としたサービス統合をフロントエンドサービス開発手順、バックエンドサービス(アプリケーションレイヤ)を対象としたサービス統合をバックエンドサービス開発手順として整備しています。

フロントエンドサービス開発手順はポータル、バックエンドサービス開発手順はWebサービス、ESB、BPEL等の技術をサポートしています。前回はバックエンドサービスの開発手順について、サービス実行基盤としてWebOTXを使用した場合の実装手順についてご紹介しました(SystemDirector Enterpriseのバックエンドサービス開発方法論(WebOTX版)のご紹介)。今回はフロントエンドサービスの開発手順について、ポータルの実行基盤としてWebOTXのポータル製品である「WebOTX Portal」を使用した場合の実装手順についてご紹介します。

ポータルとは、企業に分散するさまざま機能を一つのビューに集約することにより、一元的なアクセスと操作を実現するものです。頻繁に使う機能を小さな画面にまとめたコンポーネント(「ウィジェット」「ガジェット」「ポートレット」などと呼ばれます)を自由に追加し、配置を変更することができます。ポートレット開発のために、JSP/Servlet を拡張したポートレットの標準規格であるJSR 168, JSR 286が策定されるなど標準化の動きもあり、この標準規格に従ってポートレットを作成することで、他部門で作成したポートレットを容易に再利用できるといったメリットがあります。

SystemDirector Enterpriseのポータルシステムの開発プロセスは、ポータルに特化した開発上のポイントや手順を定義したものですが、基本的な開発プロセスは、サービス開発手順として定められ、前回ご紹介したバックエンドサービス開発手順と同じです。また、ポータルの構成要素であるポートレットの開発も、既存のアプリケーションのプレゼンテーションレイヤにおける開発手順と基本的な流れは変わりありません。

開発プロセスにおいて、「要件定義」、「外部設計」は使用する製品に依存しない部分になり、「内部設計」、「製造/単体テスト」は使用する製品に固有の情報も含まれるタスクになります。

SDEの開発プロセス

2.要件定義におけるポイント

2.1.ポータル導入成功のポイント

近年、企業におけるポータルの導入が盛んですが、必ずしも成功しているところばかりではありません。ポータル導入の成否を分けているポイントはいったい何でしょうか。それは、目的と内容の明確化にあります。

「ポータル」といえば、インターネット上の「ポータルサイト」や「リンク集」といったように、不特定多数のインターネット利用者に対して、膨大なWWWコンテンツをカテゴリー分類や検索によって情報提供するものがイメージされますが、ビジネスで利用するポータルにおいては、ただ膨大なコンテンツを分類して表示するだけでは利用されません。従業員が複数の画面を開いて行っていた業務をポータルによって一画面に集約し業務を効率化する、経営者がビジネスの意思決定に必要な情報がタイムリーに表示される、といったそれぞれの業務に役立つものである必要があります。そこで、利用者がポータルを利用する目的は何か?そのためにはどのような内容をポータルに表示させるべきか?といった目的と内容を明確化します。
その際に注意しなければならないのは、利用者には従業員や経営者といった立場や行う業務がそれぞれ異なることです。そのため、さまざま利用者の異なる目的に対して適切な内容を適切なタイミングで提供できることが成否のポイントとなります。

3.ポータルの構築

ポータルの構築は、大きくは「ユーザ構成やポータルページの作成」と、ポータルページを構成する「ポートレットの作成」という2つ作業から成ります。
「ユーザ構成やポータルページの作成」は、WebOTXが提供するポータル実行基盤であるWebOTX Portalを利用して行います。
「ポートレットの作成」は、SystemDirector Enterprise for Javaのプレゼンテーション層の開発手法とほぼ同じです。WebOTXが提供するポートレット開発ツールを使ってSystemDirector Enterprise for Javaのプレゼンテーション層として開発します。

4.ポータルの実装

ポータルの実装は、ユーザ定義、ポータルページおよび、それらに対する必要なアクセス権限の設定を下図の手順にて設計します。WebOTX Portalでは、これらの手順を支援する管理ツールを提供しており、簡単に構築することができます。

ポータルの実装手順

4.1.ポータルユーザ設計

ポータルにアクセスする利用者ごとにパーソナライズされたポータルページの表示を実現したり、利用者一人ひとりにアクセス可能なポータルリソースを制限したりするために、ユーザ、グループ、ロールを定義します。ユーザとは、ポータルの利用者一人ひとりに作成されるユーザアカウントです。ユーザは、グループに所属させることができます。また、ロールを関連付けてポータルリソースへのアクセス権限を設定することが出来ます。

4.2.ポータル構成設計

ポータルを構築するためには、フォルダとポータルページという概念を用いてツリーを構成する必要があります。ポートレットをポータルページに表示するには、ツリー上のフォルダにポータルページを作成します。そして、そのポータルページにポートレットを配置することでユーザはポートレットを参照することができます。

ポータル構成設計
フォルダは、ポータルページを階層化して整理するために利用するものです。後述するセキュリティ設定により、どのような操作(参照、更新、削除など)を許可するのか設定できます。

4.3.ポータルページ設計

ポータル構成設計を元に各ポータルページの画面レイアウトの設計を行います。WebOTX Portalでは、ポータルページは、パンくずリスト、フォルダ、タブ、ページコンテンツの4つの表示要素で構成されます。

ポータルページ設計

ポータルページ設計においては、主にページコンテンツ部分の設計を行います。ページコンテンツの設計に当たっては以下の3つの要素を決定します。

  • どのポートレットをどのように並べるか(ポートレット一覧)
  • ポートレットをどのような規則に従って整列させるか(ポートレットレイアウト)
  • ポータルページのテーマ(見た目のデザイン)

4.4.ポータルセキュリティ設計

ポータルリソースであるポートレット、フォルダ、ポータルページは全てセキュリティで管理します。それらポータルリソースに対して、どのユーザやグループからどのような操作(参照、更新、削除など)を許可するのかを設定します。

5.ポートレットの実装

ポートレットの実装は、ポータル製品に同梱されているポートレットを利用する方法と新規に開発を行う方法があります。構築したいポータルの内容に合わせて、同梱ポートレットの利用と新規ポートレット開発を組み合わせることで効率的にポータル構築を行うことができます。例えば、クラウドサービスと連携したポータルを構築する場合、IFrameポートレット(任意のURLに存在するコンテンツを表示する機能を提供する同梱ポートレット)を利用することで、クラウドサービスを容易にポートレットとして組み込むことができます。参考までにWebOTX Portalの同梱ポートレットから幾つかを示します。

ポートレット名 説明
ログインポートレット ユーザ名とパスワードを入力して、ユーザがポータルにログインできます。
ユーザ一覧ポートレット ポータル内で管理される全ユーザを表示します。
セキュリティパーミッションポートレット ポートレット、ページ、フォルダごとのアクセス権限を設定します。
ポータルサイト管理ポートレット ポータルサイト全体の階層構造を表示します。
ポータル統計ポートレット ページ、ポートレット、ユーザごとにポータルアクセスの統計機能を提供します。統計結果は、ヒット割合が高い順に表示します。
IFrameポートレット 任意のURLに存在するコンテンツを表示する機能を提供します。Form認証(POST)によるシングルサインオンを行うことも可能です。
時計ポートレット 見た目に鮮やかな秒針付きの時計を表示します。
カレンダーポートレット カレンダーを表示する機能を提供します。日付を選択してToDoリストを作成することが可能です。作成したToDoリストはToDoリストポートレットと連動して動作させることが可能です。
ToDoリストポートレット ToDoリストを作成する機能を提供します。作成したToDoリストは、カレンダーポートレットと連動して動作させることが可能です。

以降では、業務システムの一部をポートレットとして開発する場合の実装の流れについてご紹介します。

ポートレットの実装は、ポートレットに必要なモード設計、画面デザイン、管理データ、ポートレット間のデータ連携を下図の手順にて設計します。WebOTXでは、これらの手順を支援する開発ツールを提供しており、簡単に実装することができます。

ポートレットの実装手順

5.1.ポートレットモードの設計

ポートレットには、ポートレットモードというモードに応じてコンテンツや画面を実装していく仕組みがあります。作成するポートレットの要件に合わせてモードを決定します。 WebOTX Portalでは、標準仕様に準拠したモード(JSR 168標準のポートレットモード)に加えて、製品拡張モード(カスタムポートレットモード)を提供しています。

JSR 168標準のポートレットモード
VIEWモード(表示モード) ポートレットの通常のコンテンツを表示するモードです。ポートレットに必須のモードです。
EDITモード(編集モード) ポートレットのユーザ固有データの編集画面を表示するモードです。
HELPモード(ヘルプモード) ポートレットのヘルプコンテンツを表示するモードです。

VIEWモードは、すべてのポートレットがサポートしなければならない必須のモードです。その他のモードはオプションで、ポートレットの用途や種別を考慮の上サポートの有無を決定します。ポートレットとして管理するデータがない場合やヘルプコンテンツの表示が不要である場合は、VIEWモードだけをサポートするといった選択肢も可能です。

また、WebOTX Portalでは、印刷用コンテンツの表示に最適なPrintモードなど、独自に拡張したポートレットモードも提供しています。

カスタムポートレットモード
Printモード(印刷モード) ポートレットの印刷用コンテンツを表示するモードです。
Aboutモード(情報表示モード) ポートレットの目的、バージョンなどの情報を表示するモードです。
Edit_defaultsモード
(編集共有設定モード)
ページに表示したポートレットを利用する全てのユーザに影響を及ぼすデータの編集画面を表示するモードです。

5.2.ポートレット画面の設計

ポートレットは、ウィンドウのような形状をしており、通常表示状態の他に最大化したり最小化したりすることができます。このようなポートレットの表示状態のことをポートレットウィンドウ状態と呼びます。

ポートレットのウィンドウ状態を切り替えた際に、表示内容を変えるのかどうか、変える場合は何を表示するのかなどを設計します。

ポートレット画面の設計

5.3.ポートレットのカスタマイズ設計

ポートレットにより提供するコンテンツはユーザごとにカスタマイズできます。ここでは、ユーザがどのデータをカスタマイズできるかを設計します。ユーザ毎のカスタマイズ情報は、ポートレットプリファレンスと呼ばれデータベースに永続化されます。

パーソナライズしたコンテンツの提供

5.4.ポートレット間でのデータの受け渡し

ポートレットには、同じポータルページ上の複数のポートレット間でデータを受け渡す仕組みが提供されており、ポータルとして統合されたポートレット(業務アプリケーション)の実行結果を別のポートレット(業務アプリケーション)に渡したい場合(例:顧客情報を表示したポートレットの情報を、発注業務を行うポートレットで活用する)などに利用します。この機能を活用することで、入力作業の効率化に加え、人的作業のミス防止に役立ちます。ここでは、どのポートレット間でデータの受け渡しが必要か、受け渡すデータは何かなどを設計します。
WebOTX Portalではポートレット間でのデータの受け渡しの手段として次の機能を提供しています。

  • セッションを利用したポートレット間連携
    あるポートレットでアプリケーションスコープのセッション上にデータを格納すると、同じページ上の別のポートレットからそのセッションを経由してデータを受け取ることができます。

ポートレット間でのデータの受け渡し

5.5.ポートレットの製造

ポートレットの製造は、ポートレット開発ツールのウィザードを使って、ポートレットとしての雛形(Javaクラスファイル、XMLファイルなど)を生成します。生成した雛形の上にポートレットのロジックやAP層(Webサービスなど)を呼び出すロジックを実装していきます。

6.おわりに

フロントエンドサービスの開発手順としてWebOTX Portalを利用したポータルシステム構築の流れをご紹介しました。今後も、WebOTX Portalはさまざまな機能強化が予定されており、開発方法論への取り込みも着実に進めていく予定です。

ポータルシステム構築をお考えのお客様は、是非NECにお声がけください。お客様のお役に立てると考えております。

関連URL

ページの先頭へ戻る