JP4473128B2 - ウェブ・ポータルの関連するポートレットが、同期されたコンテンツ表示のために協働することを可能にする方法および装置 - Google Patents

ウェブ・ポータルの関連するポートレットが、同期されたコンテンツ表示のために協働することを可能にする方法および装置 Download PDF

Info

Publication number
JP4473128B2
JP4473128B2 JP2004540952A JP2004540952A JP4473128B2 JP 4473128 B2 JP4473128 B2 JP 4473128B2 JP 2004540952 A JP2004540952 A JP 2004540952A JP 2004540952 A JP2004540952 A JP 2004540952A JP 4473128 B2 JP4473128 B2 JP 4473128B2
Authority
JP
Japan
Prior art keywords
portlet
application
portlets
portal
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2004540952A
Other languages
English (en)
Other versions
JP2006501557A (ja
Inventor
エヌジー、ジョアンナ
カポーア、ロヒト
ニガル、レホ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006501557A publication Critical patent/JP2006501557A/ja
Application granted granted Critical
Publication of JP4473128B2 publication Critical patent/JP4473128B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明はインターネットに関し、より詳細には、ウェブ・アプリケーションでポータルおよびポートレットを生成および使用して、ウェブ・サイトに関する機能を向上する方法および装置に関する。
ワールド・ワイド・ウェブは、ユーザにグラフィカル情報を搬送する、インターネットを介する通信への大きなパラダイム・シフトをもたらした。ウェブの出現と共に、通信性および高域接続性が依然としてますます求められている。
ポータル(以前はウェブ・ポータルと呼ばれていた)は、インターネット空間においてパラダイム・シフトをもたらした。Eメール、フォーラム、検索エンジン、データベース、その他の情報などの多数の資源またはサービスを提供するウェブ・サイトはポータルとみなすことができる。最初のウェブ・ポータルはオンライン・サービスであった。最初は、インターネットをサーフィンするユーザが、ワールド・ワイド・ウェブの様々なサイトから来る情報を集めて提供するウェブ・ページを見ることができたが、集合の構成はユーザに透過的であった。典型的なウェブ・ブラウザを利用するユーザは、表示される結合ウェブ・ページを見る。閲覧しているウェブ・サイトに関連しない、様々なインターネット・サイトからのページの様々な部分の起源は容易には識別できない。こうした部分はポートレットと呼ばれる。
ポートレットは、エンド・ユーザがそのポータル・ページ内に見る、目に見えるアクティブな構成要素である。PCデスクトップ内のウィンドウと同様に、各ポートレットは、結果をそこに表示する、ブラウザまたは携帯情報端末の一部を「所有」する。
ユーザの観点からは、ポートレットは、ユーザがそれに加入し、ユーザの個人ポータル・ページにそれを追加し、パーソナライズしたコンテンツを表示するようにそれを構成するコンテンツ・チャネルまたはアプリケーションである。
コンテンツ・プロバイダの観点からは、ポートレットは、コンテンツ・プロバイダのコンテンツを利用できるようにする手段である。
ポータル管理者の観点からは、ポートレットは、ポータルに登録することのできるコンテンツ・コンテナであり、それによってユーザはそれに加入することができる。
ポータルの観点からは、ポートレットは、ポータルのページの1つにレンダリングされる構成要素である。
技術的観点からは、ポートレットはポータル・サーバ上で動作し、ポータル・ページに埋め込むべきコンテンツを提供する1つのコードまたは小規模アプリケーションである。最も単純な言い方として、ポートレットは、ポータル内部で動作するJava(R)サーブレットでよい。
(通常はワールド・ワイド・ウェブ中の様々な場所を源とする)所与のページの各部分(ポートレット)は、同じページの別の部分(ポートレット)と協働して、ページにサーフィンまたはアクセスするユーザに対してより高い機能を達成することができる。したがって、ポータルは、複数のユーザにとって、複数のチャネルを介する複数の情報源への単一アクセス・ポイントとなる。
ポータルは様々なビジネス・モデル、すなわちB2C、B2B、またはB2Eに応用することができる。ポータル・パラダイムの急速な採用の鍵は、既存のウェブ・アプリケーション・データをシームレスにポータル・フレームワークに統合できることに強く結びついている。
しかし、そのようなシームレスなウェブ・アプリケーションのポータルへの統合に関して様々な技術的障害が依然として存在している。
従来技術では、以下のポータル・アーチファクトがどのように既存のウェブ・アプリケーションと一緒に働くかに関して制限がある。ウェブ・アプリケーションのポータル・アーキテクチャへの統合の実施は明確ではない。こうしたエンティティには以下のものが含まれる。
ポータルに対する元のhttp要求
ポータル内のポートレット・セッション
ポータルから関係するウェブ・アプリケーションへのhttp要求
異なるユーザがポータル・ページにアクセスするとき、各ユーザについての元のhttp要求が、ポータル・サーバ(a)に向けて送られる。各ユーザについての元のhttpセッションもまた、ポータル・サーバによって完全に「所有される」。各ポートレットは、ポートレット・セッションと呼ばれるそれ自体の独立セッションを有する。ポートレットが所与のウェブ・アプリケーションから来る情報をレンダリングする必要があるとき(b)、一般には以下の技術的障害が存在する。
i.ポートレットが、バックエンド・ウェブ・アプリケーションへの、およびバックエンド・ウェブ・アプリケーションからのhttp要求および応答を生成する既存の機構が存在しない。
j.バックエンド・ウェブ・アプリケーション(およびウェブ・アプリケーションのセッション)への複数の要求および応答と正確にマッピングする呼出し側ポートレット(およびポートレット・セッション)への複数の要求および応答を管理する既存の機構が存在しない。それぞれ(ポートレットとウェブ・アプリケーションの両方)がそのユーザ・セッションをそれに応じて維持する。
これにより、複数のポートレットが同一のウェブ・アプリケーションを呼び出すときに複雑になり、ウェブ・アプリケーションは、これらの複数のポートレット要求を同一のウェブ・アプリケーション・セッション内で処理する。
k.複数のポートレット・セッションとウェブ・アプリケーションのセッションとの間でセッション情報を中継する既存の機構が存在しない。
同一のポートレット・アプリケーション内の明確な1組のポートレットがバックエンドで1つのウェブ・アプリケーションと対話するとき、関与するすべてのポートレットが、ウェブ・アプリケーションからレンダリングされる情報がポートレットのポータルの情報の設定と整合するように、バックエンドで正確なセッション情報を取り出してウェブ・アプリケーションに転送できなければならない。このような設定の例には、ロケール情報、その特定のアクセスのユーザ・エージェントなどが含まれる。例えば、ウェブ・アプリケーションから送られる応答は、それを表示するポータル・サーバ内のポートレットと同じロケールを使用していなければならない。
ポータル・ユーザの証明書がバックエンド・ウェブ・アプリケーションによってチャレンジされないような単一サインオンのための既存の機構は存在しない。これは重要な要件である。この欠如の結果として、ユーザがウェブ・ページの一部分から同一のウェブ・ページの異なる部分に移動するときに、ユーザの証明書がチャレンジされることになる。ポートレットが異なる起源および識別要件を有するからである。
所与のポートレット・アプリケーションのポートレットと関係するウェブ・アプリケーション・バックエンドとの間で複数の要求または応答を同期する既存の機構は存在しない。
従来技術は、同一のポートレット・アプリケーション内の複数のポートレットがどのように(同一のコンテキストを共有して)互いに、ならびに様々な統合ウェブ・アプリケーションと動的に協働することができるかが定義されないことに関して制限を有する。
同一の「コンテキスト」を動的に共有することによって協働する複数のポートレットに関する1つの使用法のシナリオは、この制限を概念的に例示するのに役立つ。
同一のポータル・ウェブ・ページ上に3つのポートレットが表示されている場合、
第1のポートレットが、取引先のリストを表示することによって取引先一覧を示す
第2のポートレットが、所与の取引先の未払いのインボイスのリストを示す
第3のポートレットが、所与の取引先の注文履歴一覧を示す
第2ポートレットおよび第3ポートレットは、コンテキスト的に第1ポートレットに動的にバインドされ、未払いのインボイス(第2ポートレット)および注文履歴(第3ポートレット)を反映し、第1ポートレットの取引先リストから選択された取引先と同期される。
従来技術の制限
i.協働的に働くポートレット・アプリケーション内のポートレットのサブグループ分けを定義する機構が存在しない。
j.所与のポートレット・アプリケーション内のこのポートレットのサブグループ間で共有されるコンテキスト(動的に変更することができる)を定義する機構が存在しない。ここでのコンテキストの例は、ポートレット1内の選択した取引先であり、そのような取引先の選択は動的に変更することができる。
k.コンテキストの変化を動的に検出する機構が存在しない。変更の例は、上記の例のポートレット1内の取引先リストのある取引先から別の取引先への変更である。
l.同一のコンテキストを共有するポートレットのサブグループ内の関与する各ポートレットについて事前定義されたアクション(または応答)を登録する機構が存在しない。例は、コンテキストが(ある取引先選択からポートレット1内の別の取引先に)変化したときに未払いのインボイスのリストを表示する(ポートレット2でのアクション)ことである。
m.その動的コンテキストを関係する統合ウェブ・アプリケーションに中継する機構が存在しない。
ポートレット・アプリケーション内の1群のポートレットについてリフレッシュ・シーケンスを定義する機構が従来技術には存在しない。
i.ポータル設計者が表示される所与の1組のポートレットのリフレッシュ順序を指定
するための備えが今日存在しない。
上記のシナリオでは、ポータル設計者は、第1ポートレット(アカウント・リスト)をまずリフレッシュし、第2ポートレットを2番目にリフレッシュし、以下同様であり、その結果、第2ポートレットおよび第3ポートレットが自動的に正しいシーケンスで行われるアクションを(ポートレットが配置されるとき)定義していることを望む。
ビジネス規則とユーザの役割を含むユーザ・プロファイリング情報とに基づいてポートレットの集合をサポートする明確な機構がポータル・アーキテクチャで欠如している。
i.ビジネス規則に基づいてユーザごとのポータル資源の集合を定義する既存の機構が存在しない。例:ティーンエージャのすべてのポータル・ユーザがポートレットのあるグループを見、年長のポータル・ユーザがポートレットの別のグループを見る。
j.実行時に動的に実行されるそのような規則ベースおよびユーザ・ベースのポートレットの集合のための既存の機構が存在しない。
関係する統合バックエンド・ウェブ・アプリケーションとのポータル・レベル・ビジネ
ス規則およびユーザ・プロファイル情報の共有が存在しない。
規則およびユーザ・セグメント化をポータルおよびその統合バックエンド・ウェブ・アプリケーションにわたって整合させることができるような、統合ウェブ・アプリケーションとのこうしたビジネス規則またはユーザ・セグメント化情報の共有は存在しない。例えば、ティーンエージャの範囲の年齢を定義する規則が存在する場合、そのような規則は、整合性のために、統合ウェブ・アプリケーションにとって可視であり、かつ統合ウェブ・アプリケーションに対して適用可能であるべきである。
用語
ポートレット
ポートレットは、エンド・ユーザがそのポータル・ウェブ・ページ内に見る、目に見えるアクティブな構成要素である。PCデスクトップ内のウィンドウと同様に、各ポートレットは、ポートレット特有の情報をそこに表示する、ブラウザまたはPDA(Personal Digital Appliance)の一部を「所有」する。
ポートレット・アプリケーション
ポートレットはまた、ポートレット・アプリケーションでグループ化することができる。ポートレット・アプリケーションは、ウェブ・アーカイブ・ファイル(WAR)を使用して配布および配置される。標準ウェブ・アプリケーション配置記述子に対するポートレット特有の拡張が存在する。
ポートレット・メッセージ
ポートレット・アクションおよびポートレット・メッセージを使用する2つのポートレット間の通信のためにポートレット・メッセージが使用される。送信側ポートレットはポートレット・アクションを作成し、アクションをURLに符号化する。例えばタスクを実施することを試みるユーザにより、URLがアドレス指定されたとき、アクション・リスナが呼び出され、必要なデータを送信するためにポートレット・メッセージを送信する。
ポートレット・セッション
ログオンする各ユーザについての各ポートレット・インスタンスについてポートレット・セッションが作成され、各ユーザのポートレット・インスタンスごとにセッション情報が維持される。
所与のポートレット・アプリケーションのポートレットは今日、同一のポートレット・アプリケーション内の複数のポートレットがどのように同一のコンテキストを共有して互いに協働することができ、それによって統合ウェブ・アプリケーションからの応答をレンダリングするこうしたポートレットがコンテキストに関して動的にコンテンツをレンダリングすることができるかに関して制限を有する。
今日、関与するポートレットのコード変更が不要となるように協働的に働くポートレット・アプリケーション内のポートレットのサブグループを定義する機構も存在しない。コンテキストの変化を動的に検出する機構も存在せず、今日、関与するポートレットについて事前定義されたアクションを登録する機構も、その動的コンテキストを関連する統合ウェブ・アプリケーションに中継する機構を含めて存在しない。
本明細書の発明の様々な実施形態および態様は、従来技術の1つまたは複数の欠点に対処する。
本発明による方法は、同一の動的コンテキスト・ポートレット・グループ内のポートレット間の協働を可能してビジネス・プロセスおよび情報統合および同期を達成する動的コンテキスト・ポートレット・グループを利用する。
本発明の別の実施形態は、コンテキスト値を定義するコンテキスト名を記述するポートレット記述子をそれぞれ有する複数の関連するポートレットを管理する方法を提供する。ポートレットの各グループは、マスタ・ポートレットと少なくとも1つのスレーブ・ポートレットとを含み、ポートレットの各グループはコンテキスト名を共通に共有する。
本発明の別の実施形態は、マスタ・ポートレットのコンテキスト値の変化をスレーブ・ポートレットに同報通信するポータル・サーバ内の手段を含む。各ポートレット記述子は、ポートレットのリフレッシュ優先順位記述を含む。マスタ・ポートレットは、スレーブ・ポートレットよりも高い優先順位を有する。
本発明の実施形態により、情報統合およびビジネス・プロセス統合の同期が可能となる。動的コンテキスト・グループの単純な構造により、ポートレットの実装変更を必要としない配置を介するコンテキスト・グループ化が可能となり、本発明の利点が提供される。
本発明の一実施形態は、ウェブ・アプリケーションに関するウェブ・ポータルをユーザに表示する装置において、ウェブ・ポータルが、互いに情報を共有し、ユーザがアクセス可能な複数の関連するポートレットを表示する装置であって、ウェブ・ポータルを操作してウェブ・アプリケーションへのアクセスを実現するポータル・サーバと、ポータル・サーバ上で動作し、関連するポートレットの集合を管理するポートレット・アプリケーションとを含み、ポートレット・アプリケーションが、ウェブ・アプリケーションにアクセスすることをユーザが要求したときにポートレットを開始する手段と、ポートレットに関するポートレット・アプリケーション・セッション・オブジェクトを管理する手段と、ポートレット・アプリケーション・セッション・オブジェクトによって制御され、ポートレットをポートレット・アプリケーション・セッション・オブジェクトと関連付けるユーザ要求からのパラメータを保存するポートレット・アプリケーション・セッション・オブジェクト・データ・ストアとを含む装置を提供する。
本発明の装置は、ポートレット・アプリケーション・セッション・オブジェクトと前記ウェブ・アプリケーションとの間で通信して、関連するポートレットから受信したユーザ要求をウェブ・アプリケーションに搬送するためのポートレット・アプリケーション内のポートレット・アプリケーション通信クライアントを含むことができる。ポートレット・アプリケーションは、ポートレット・アプリケーション・セッション・オブジェクトに関連する各ポートレットに共通鍵を割り当てることができる。
本発明の別の実施形態は、ウェブ・アプリケーションに関するウェブ・ポータルを複数のユーザに表示する装置において、ウェブ・ポータルが、情報を共有し、ユーザがアクセス可能な複数の関連するポートレットを表示する装置であって、ウェブ・ポータルを操作してウェブ・アプリケーションへのアクセスを実現するポータル・サーバと、複数の各ユーザについてのポータル・サーバ上で動作し、複数の各ユーザについて関連するポートレットの集合を管理するポートレット・アプリケーションとを含み、各ポートレット・アプリケーションが、ウェブ・アプリケーションにアクセスすることを複数のユーザのうちの1人が要求したときにポートレットを開始する手段と、ポートレットに関するポートレット・アプリケーション・セッション・オブジェクトを管理する手段と、ポートレット・アプリケーション・セッション・オブジェクトによって制御され、ポートレットをポートレット・アプリケーション・セッション・オブジェクトと関連付けるユーザ要求からのパラメータを保存するポートレット・アプリケーション・セッション・オブジェクト・データ・ストアとを含む装置を提供する。
本発明の別の実施形態は、複数のウェブ・アプリケーションに関するウェブ・ポータルをユーザに表示する装置において、ウェブ・ポータルが、互いに情報を共有し、ユーザがアクセス可能な複数の関連するポートレットを表示する装置であって、ウェブ・ポータルを操作してウェブ・アプリケーションへのアクセスを実現するポータル・サーバと、ポータル・サーバ上で動作する複数のウェブ・アプリケーションにそれぞれ関係する複数のポートレット・アプリケーションであって、関連するポートレットの集合を管理するようにそれぞれ適合されたポートレット・アプリケーションとを含み、各ポートレット・アプリケーションが、複数のウェブ・アプリケーションの1つにアクセスすることをユーザが要求したときにポートレットを開始する手段と、ポートレットに関するポートレット・アプリケーション・セッション・オブジェクトを管理する手段と、ポートレット・アプリケーション・セッション・オブジェクトによって制御され、ポートレット・アプリケーションのポートレットをポートレット・アプリケーションのポートレット・アプリケーション・セッション・オブジェクトと関連付けるユーザ要求からのパラメータを保存するポートレット・アプリケーション・セッション・オブジェクト・データ・ストアとを含む装置を提供する。
本発明の装置の別の態様は、ポートレット・アプリケーション・セッション・オブジェクトを有する複数のウェブ・アプリケーションに接続するように適合されたユーザ・セッション情報テーブルを含む。
本発明のさらに別の実施形態は、ウェブ・アプリケーションに関するウェブ・ポータルをユーザに表示する装置において、ウェブ・ポータルが、互いに情報を共有し、ユーザがアクセス可能な複数の関連するポートレットを表示する装置であって、ウェブ・ポータルを操作してウェブ・アプリケーションへのアクセスを実現するポータル・サーバと、ポータル・サーバ上で動作し、関連するポートレットの集合を管理するポートレット・アプリケーションとを含み、ポートレット・アプリケーションが、ウェブ・アプリケーションにアクセスすることをユーザが要求したときに第1ポートレットを開始する手段と、ユーザに対して第1ポートレットに関するポートレット・アプリケーション・セッション・オブジェクトを作成する手段と、要求からのパラメータを保存する手段と、ウェブ・アプリケーションにアクセスすることをユーザがさらに要求したときに第1ポートレットに関連する追加のポートレットを生成する手段と、ポートレット・アプリケーション・セッション・オブジェクトによって制御され、追加のポートレットをポートレット・アプリケーション・セッション・オブジェクトと関連付ける保存パラメータを使用するポートレット・アプリケーション・セッション・オブジェクト・データ・ストアと、ポートレット・アプリケーション・セッション・オブジェクトおよびウェブ・アプリケーションと通信して、第1ポートレットおよび追加のポートレットから受信したユーザ要求をウェブ・アプリケーションに搬送するポートレット・アプリケーション通信クライアント(httpClient)を作成する手段とを含む装置を提供する。
この装置は、ポートレット・アプリケーション・セッション・オブジェクトと前記ウェブ・アプリケーションとの間で通信して、関連するポートレットから受信したユーザ要求をウェブ・アプリケーションに搬送するためのポートレット・アプリケーション内のポートレット・アプリケーション通信クライアントを含むことができる。
ポートレット・アプリケーションが、ポートレット・アプリケーション・セッション・オブジェクトに関連する各ポートレットに共通鍵を割り当てることが好ましい。
有利には、ポートレット・アプリケーション・セッション・オブジェクトを有する複数のウェブ・アプリケーションに接続するように適合されたユーザ・セッション情報テーブルを設けることができる。
本発明の別の実施形態は、ウェブ・アプリケーションに関するウェブ・ポータルをユーザに表示する装置において、ウェブ・ポータルが、互いに情報を共有し、ユーザがアクセス可能な複数の関連するポートレットを表示する装置であって、ウェブ・ポータルを操作してウェブ・アプリケーションへのアクセスを実現するポータル・サーバと、ポータル・サーバ上で動作し、関連するポートレットの集合を管理するポートレット・アプリケーションとを含み、ポートレット・アプリケーションが、ウェブ・アプリケーションにアクセスすることをユーザが要求したときにポートレットを開始する手段と、ポートレットに関するポートレット・アプリケーション・セッション・オブジェクトを管理する手段と、ポートレット・アプリケーション・セッション・オブジェクトによって制御され、ポートレットをポートレット・アプリケーション・セッション・オブジェクトと関連付けるユーザ要求からのパラメータを保存するポートレット・アプリケーション・セッション・オブジェクト・データ・ストアとを含む装置を提供する。
本発明の別の態様は、ウェブ・ポータル内の複数の関連するポートレット間で情報を共有する方法であって、複数の関連する各ポートレットについてポートレット・データ・ストアへのアクセスを付与するステップと、複数の関連する各ポートレットがポートレット・データ・ストアにデータを書き込み、ポートレット・データ・ストアから格納されたデータを読み取ることを許可するステップとを含む方法を提供する。
有利には、上記の方法は、関連するポートレットが、データ処理システム上で動作するように適合されたポートレット・アプリケーションによって管理され、ポートレット・データ・ストアが、データ・ストア内の関連するポートレットによるデータの読取りおよび書込みを制御し、ポートレット・アプリケーションの関連するポートレット間でデータの交換を可能にするポートレット・アプリケーション・セッション・オブジェクトによって管理されるポートレット・アプリケーション・ストレージを含むシステムを提供することができる。
本発明の別の態様は、ウェブ・ポータル内の複数の関連するポートレット間で情報を共有する装置であって、複数の関連するポートレットを管理するポートレット・アプリケーションと、ポートレット・アプリケーション・データ・ストアと、複数の関連するポートレットによるデータ・ストアへの読取り/書込みアクセスを付与して、ポートレットが互いにデータを交換することを可能にする手段とを含む装置を提供する。
本発明のさらに別の態様は、ウェブ・ポータル内の複数の関連するポートレットをホストするポータル・サーバ上で動作することができるポートレット(アプリケーション)サーバであって、複数の関連するポートレットを管理する手段と、ポートレット・アプリケーション・セッション・オブジェクトを管理する手段と、ポートレット・アプリケーション・セッション・オブジェクトによって管理され、複数の関連するポートレットに対するデータ・ストアへの読取り/書込みアクセスを付与して、ポートレットが互いにデータを交換することを可能にするポートレット・アプリケーション・データ・ストアとを含むポートレット(アプリケーション)サーバを提供する。
本発明の別の態様は、ウェブ・ポータル内の複数の関連するポートレットをホストするポータル・サーバ上で動作することができるポートレット(アプリケーション)サーバであって、複数の関連するポートレットを管理する手段と、ポートレット・アプリケーション・セッション・オブジェクトを作成および管理する手段と、ポートレット・アプリケーション・セッション・オブジェクトによって作成および管理され、複数の関連するポートレットに対するデータ・ストアへの読取り/書込みアクセスを付与して、ポートレットが互いにデータを交換することを可能にするポートレット・アプリケーション・データ・ストアとを含むポートレット(アプリケーション)サーバを提供する。
有利には、ポートレット・アプリケーションが、ポートレット・アプリケーション・セッション・オブジェクトに関連する各ポートレットに共通鍵を割り当てる。
本発明の別の態様は、ユーザがアクセス可能なウェブ・ポータル内の複数の関連するポートレットをホストするポータル・サーバ上で動作することができるポートレット・アプリケーションであって、複数の関連するポートレットを管理するポートレット・アプリケーション手段と、ユーザに関するポートレット・アプリケーション・セッション・オブジェクトを管理するポートレット・アプリケーション手段と、ポートレット・アプリケーション・オブジェクトへのアクセスを制御するためにこの鍵を関連する各ポートレットに付与するポートレット・アプリケーション手段とを含むポートレット・アプリケーションを提供する。
本発明のさらに別の態様は、ユーザがアクセス可能なウェブ・ポータル内の複数の関連するポートレットをホストするポータル・サーバ上で動作することができるポートレット・アプリケーションであって、複数の関連するポートレットを管理するポートレット・アプリケーション手段と、ユーザに関するポートレット・アプリケーション・セッション・オブジェクトを作成および管理するポートレット・アプリケーション手段と、ユーザに対してポートレット・アプリケーション・セッション・オブジェクトに関する鍵を作成および管理するポートレット・アプリケーション手段と、ポートレット・アプリケーション・オブジェクトへのアクセスを制御するためにこの鍵を関連する各ポートレットに付与するポートレット・アプリケーション手段とを含むポートレット・アプリケーションを提供する。
有利には、各ユーザに1つのポートレット・アプリケーションが割り当てられ、各ユーザについて、各ポートレット・アプリケーションに関するポートレット・アプリケーション・オブジェクトにそれぞれ1つの鍵が割り当てられる。
本発明の別の態様は、ウェブ・アプリケーションに関するウェブ・ポータルをユーザに表示する装置において、ウェブ・ポータルを操作してユーザによるウェブ・アプリケーションへのアクセスを実現するポータル・サーバと、ポータル・サーバ上で動作し、関連するポートレットの集合を管理するポートレット・アプリケーションと、ユーザに関する、関連するポートレットに関するポートレット・アプリケーション・セッション・オブジェクトと、ポートレット・アプリケーション・セッション・オブジェクトによって制御されるポートレット・アプリケーション・セッション・オブジェクト・データ・ストアと、ポートレット・アプリケーション・データ・ストアにリンクされ、関連するポートレットとウェブ・アプリケーションとの間で通信して、関連するポートレットから受信されたユーザ要求をウェブ・アプリケーションに搬送するポートレット・アプリケーション通信クライアントと、関連するポートレットからの要求を格納および同期し、通信クライアントがウェブ・アプリケーションに対する同期要求を生成する要求バッファを有する通信クライアントとを含む装置を提供する。
ポートレット・アプリケーション通信クライアントが、要求を含む情報をネットワークを介してウェブ・アプリケーションに送信し、要求に対する応答を含む情報をウェブ・アプリケーションから受信するように適合されることが好ましい。
本発明の別の態様は、ウェブ・アプリケーションに関するウェブ・ポータルをユーザに表示する装置であって、ウェブ・ポータルを操作してウェブ・アプリケーションへのアクセスを実現するポータル・サーバと、ポータル・サーバ上で動作し、関連するポートレットの集合を管理するポートレット・アプリケーションと、ユーザに関する、関連するポートレットに関するポートレット・アプリケーション・セッション・オブジェクトと、ポートレット・アプリケーション・セッション・オブジェクトによって制御されるポートレット・アプリケーション・セッション・オブジェクト・データ・ストアと、関連するポートレットとウェブ・アプリケーションとの間で通信して、関連するポートレットから受信されたユーザ要求をウェブ・アプリケーションに搬送するポートレット・アプリケーション通信クライアントと、関連するポートレットからの要求を格納および同期し、通信クライアントがウェブ・アプリケーションに対する直列化要求を生成する要求バッファを有する通信クライアントとを含む装置を提供する。
ポートレット・アプリケーション通信クライアントが、要求を含む情報をネットワークを介してウェブ・アプリケーションに送信し、要求に対する応答を含む情報をウェブ・アプリケーションから受信するように適合されることが好ましい。
本発明の別の態様は、ウェブ・ポータルを操作してウェブ・アプリケーションへのアクセスを実現するように適合されたポータル・サーバであって、ポータル・サーバ上で動作して、関連するポートレットの集合を管理するポートレット・アプリケーションを有し、ポートレット・アプリケーションが、ウェブ・アプリケーションにアクセスすることをユーザが要求したときにポートレットを開始する手段と、ポートレットに関するポートレット・アプリケーション・セッション・オブジェクトを管理する手段と、ポートレット・アプリケーション・セッション・オブジェクトによって制御され、ポートレットをポートレット・アプリケーション・セッション・オブジェクトと関連付けるユーザ要求からのパラメータを保存するポートレット・アプリケーション・セッション・オブジェクト・データ・ストアとを含み、ポートレット・アプリケーション・データ・ストアにリンクされ、関連するポートレットとウェブ・アプリケーションとの間を通信して、関連するポートレットから受信したユーザ要求をウェブ・アプリケーションに搬送するポートレット・アプリケーション通信クライアント(httpClient)と、ユーザID、ユーザ証明書、言語プリファレンス、セッション・タイムアウト情報、セッションidなどのユーザ・セッション情報の組から選択される情報を含むユーザ・セッション情報を格納してユーザ・セッション情報をウェブ・アプリケーションの対応するセッションにマッピングするユーザ・セッション情報ストア(マッピング・テーブル)を有するポートレット・アプリケーション通信クライアントとを含む装置を提供する。
セッション・タイムアウト情報が、ポータル・サーバおよびウェブ・アプリケーションのセッション・タイムアウト情報を含むことが好ましい。
本発明の別の態様は、ポータル内の関連するポートレットの集合を管理し、サーバ上で動作してユーザによるウェブ・アプリケーションへのアクセスを実現するポートレット・アプリケーションであって、関連するポートレットが、ポートレットに対するユーザ要求からのデータおよび命令を格納するポートレット要求パラメータ・マップと、ユーザに関する、関連するポートレットに関するポートレット・アプリケーション・セッション・オブジェクトと、ポートレット・アプリケーション・セッション・オブジェクトによって制御されるポートレット・アプリケーション・セッション・データ・ストアと、ポートレット・アプリケーション・データ・ストアにリンクされ、関連するポートレットとウェブ・アプリケーションとの間で通信して、関連するポートレットから受信されたユーザ要求をウェブ・アプリケーションに搬送するポートレット・アプリケーション通信クライアント(httpClient)とを有し、通信クライアントが、関連するポートレットのポートレット要求パラメータ・マップからの要求を格納して、通信クライアントがウェブ・アプリケーションに関するデータおよび命令を提供することを可能にする要求バッファを有するポートレット・アプリケーションを提供する。
本発明の別の態様は、ポートレット・アプリケーション・データ・ストアにリンクされ、関連するポートレットとウェブ・アプリケーションとの間で通信して、関連するポートレットから受信されたユーザ要求をウェブ・アプリケーションに搬送するポートレット・アプリケーション通信クライアント(httpClient)であって、ユーザID、ユーザ証明書、言語プリファレンス、セッション・タイムアウト情報、セッションidなどのユーザ・セッション情報の組から選択される情報を含むユーザ・セッション情報を格納してユーザ・セッション情報をウェブ・アプリケーションの対応するセッションにマッピングするユーザ・セッション情報ストア(マッピング・テーブル)と、ポータル・サーバおよびウェブ・アプリケーションのセッション・タイムアウト情報を含むセッション・タイムアウト情報とを有するポートレット・アプリケーション通信クライアント(httpClient)を提供する。
上記が、ウェブ・アプリケーションがポータル・サーバの前にタイムアウトする場合に、ユーザを再認証することによってポータル・サーバとウェブ・アプリケーションの間のセッション・タイムアウトを合致させるポートレット・アプリケーション通信クライアント用の同期手段を含むことが好ましい。
本発明の別の態様は、ユーザがアクセス可能なウェブ・ポータル内の複数の関連するポートレットをホストするポータル・サーバ上で動作することができるポートレット・アプリケーションにおいて、ポータル・サーバが、関連するポートレットが互いにメッセージすることを可能にするメッセージ交換手段を提供するポートレット・アプリケーションであって、複数の関連するポートレットを管理するポートレット・アプリケーション手段であって、関連する各ポートレットが、コンテキスト名を記述するポートレット記述子をそれぞれ有し、関連するポートレットが、コンテキスト値を定義する対応するコンテキスト名を有するポートレットの協働グループを含み、ポートレットの各グループが、マスタ・ポートレットおよび少なくとも1つのスレーブ・ポートレットを含み、ポートレットの各グループが、共通にコンテキスト名を共有するポートレット・アプリケーション手段と、マスタ・ポートレットのコンテキスト値の変化をマスタ・ポートレットのスレーブ・ポートレットに同報通信するポータル・サーバ内の手段と、同報通信時にマスタ・ポートレットのコンテキスト値と合致するようにスレーブ・ポートレットのコンテキスト値を変更するポータル・サーバ内の手段とを含むポートレット・アプリケーションを提供する。
本発明の別の態様は、ユーザがアクセス可能なウェブ・ポータル内の複数の関連するポートレットをホストするポータル・サーバ上で動作することができるポートレット・アプリケーションにおいて、ポータル・サーバがポートレット・リフレッシュ機能を有するポートレット・アプリケーションであって、複数の関連するポートレットを管理するポートレット・アプリケーション手段であって、関連する各ポートレットがポートレット記述子を有し、各ポートレット記述子が、ポートレットに関するリフレッシュ優先順位記述を含み、関連するポートレットがポートレットの協働グループを含み、ポートレットの各グループが、マスタ・ポートレットおよび少なくとも1つのスレーブ・ポートレットを含むポートレット・アプリケーション手段と、ポートレットをそのリフレッシュ優先順位の順序でリフレッシュするポートレット・アプリケーション手段内の手段とを含むポートレット・アプリケーションを提供する。
本発明のさらに別の態様は、ユーザがアクセス可能なウェブ・ポータル内の複数の関連するポートレットをホストするポータル・サーバ上で動作することができるポートレット・アプリケーションにおいて、ポータル・サーバがポートレット・リフレッシュ機能を有し、関連するポートレットが、ポートレットの協働グループを含むポートレット・アプリケーションであって、複数の関連するポートレットを管理するポートレット・アプリケーション手段であって、関連する各ポートレットがポートレット記述子を有し、各ポートレット記述子が、ポートレットに関するリフレッシュ優先順位記述と、ポートレットがメンバであるポートレットのグループに関するリフレッシュ記述優先順位とを含み、ポートレットの各グループが、マスタ・ポートレットおよび少なくとも1つのスレーブ・ポートレットを含むポートレット・アプリケーション手段と、ポートレットをそのリフレッシュ優先順位の順序でリフレッシュするポートレット・アプリケーション手段内の手段と、ポートレットの協働グループをそのグループ・リフレッシュ優先順位の順序でリフレッシュするポートレット・アプリケーション手段内の手段とを含むポートレット・アプリケーションを提供する。
マスタ・ポートレットは、スレーブ・ポートレットよりも高い優先順位を有する。
ポートレット・アプリケーションが、まずグループ優先順位順でグループをリフレッシュし、次いで各グループ内で優先順位順にリフレッシュすることが好ましい。
本発明の別の態様は、ウェブ・アプリケーションに関するウェブ・ページ・セッションをユーザに表示する装置において、ウェブ・ページ・セッションが、情報を互いに共有する、ユーザがアクセス可能な複数の関連する協働ポートレットを表示する装置であって、ウェブ・ポータルを操作してウェブ・アプリケーションへのアクセスを実現するポータル・サーバと、ポータル・サーバ上で動作し、関連するポートレットの集合を管理するポートレット・アプリケーションと、規則データベースにアクセスするアクセス手段であって、規則が、ユーザに対するポートレット、ページ、ページ・グループの組の表示を制御する規則を含む手段と、ユーザが与える情報(情報プロパティ)に基づいて、ユーザに表示すべき1組のポートレット、ページ、およびページ・グループを選択する選択手段とを含む装置を提供する。
本発明の別の変形形態では、選択手段は、プラグ可能規則エンジンと、規則データベースと、規則を適用して、選択したポートレット、ページ、およびページ・グループを選択し、ユーザに表示するポートレット・アプリケーション集約エンジンとを含む。
本発明の別の態様は、ウェブ・アプリケーションに関するウェブ・ページ・セッションをユーザに表示する装置において、ウェブ・ページ・セッションが、情報を互いに共有する、ユーザがアクセス可能な複数の関連する協働ポートレットを表示する装置であって、ウェブ・ポータルを操作してウェブ・アプリケーションへのアクセスを実現するポータル・サーバと、ポータル・サーバ上で動作し、関連するポートレットの集合を管理するポートレット・アプリケーションと、役割データベースにアクセスする役割アクセス手段と、ユーザ役割に基づいて、ユーザに対するポートレット、ページ、ページ・グループの組の表示を制御する規則を含む役割データベースと、ユーザの識別される役割に基づいて、ユーザに表示すべき1組のポートレット、ページ、およびページ・グループを選択する役割選択手段とを含む装置を提供する。
本発明の他の態様は、コンピュータ可読信号運搬媒体と、上述の本発明の実施形態の方法を実施するように適合された、媒体上に記録されたコンピュータ・プログラム・コード手段とを含む物品を提供する。
本発明の他の態様は、コンピュータ可読信号運搬媒体と、上述の本発明の実施形態のいずれかの装置を実装するように適合された、媒体上に記録されたコンピュータ・プログラム・コード手段とを含む物品を提供する。この媒体は、磁気データ記憶媒体、光データ記憶媒体、生物的データ記憶媒体、および原子データ記憶媒体から適宜選択することができる。
この媒体は被変調搬送波信号でよい。
この信号は、ネットワークを介して伝送することができる。
添付の図面を参照しながら、単に例示によって本発明の実施形態を説明する。
A.1.ポータル/ウェブ・アプリケーション統合使用可能性
図2に、ウェブ・ポータル・サーバと共に使用することを示す、本発明の好ましい実施形態を示す。
A.1.1 ポートレット・アプリケーションhttpクライアント
(バックエンド・ウェブ・アプリケーションに対するhttp要求を作成する)ポートレットが、バックエンド・アプリケーション・サーバ210上で動作するバックエンド・ウェブ・アプリケーションへのhttp接続をオープンするのに使用されるポートレット・アプリケーションhttpクライアント209を使用する。バックエンド・ウェブ・アプリケーションは、ポートレット・アプリケーションhttpクライアント209に、複数の要求および応答、クッキー処理および単一サインオン(SSO)ロジックを介してセッション・サポートを提供するように要求する。同一のポートレット・アプリケーション内のすべてのポートレットは、同一のポートレット・アプリケーションhttpクライアント・オブジェクト209を使用して1つまたは複数のバックエンド・ウェブ・アプリケーションに接続する。ポートレット・アプリケーション204ごとに1つのポートレット・アプリケーションhttpクライアント209が存在する。
A.1.2 ポートレット・アプリケーション・セッション
ポートレット・アプリケーション・セッション・オブジェクト208は、所与のポートレット・アプリケーション内のすべてのポートレットによって共有することのできる統一データ・ストア・オブジェクトである。このオブジェクトは、ユーザごとに、かつポートレット・アプリケーションごとに存在する。ポートレット・アプリケーション・セッション・オブジェクト208は、所与のポートレット・アプリケーション内の複数のポートレットが独立のユーザ・セッション(ポートレット・セッション204、205、206と呼ぶ)を有するが、同一のポートレット・アプリケーション・セッションを共有し、単一のウェブ・アプリケーション・セッションを有するバックエンド・アプリケーション・サーバ210上のウェブ・アプリケーションと通信するようにインフラストラクチャを提供
する。
A.1.3 ポートレット・アプリケーション・セッション・コンテキスト
ポートレット・アプリケーション・セッション・コンテキストは、ユーザごと、かつポートレット・アプリケーションごとの情報を提供する。このことは、同一のポートレット・アプリケーション(204、203)内のすべてのポートレットが、それらの間で共通の情報を共有する方法を有することができることを意味する。
A.1.4 セッション中継機構320
セッション中継機構により、ポータル・サーバによって保持される元のhttpセッションからポートレット・アプリケーションのhttpクライアントによって作成されるバックエンドhttpセッションに情報を渡すことが可能となる。この機構は以下のインフラストラクチャを使用する。
クッキー・テーブル305およびクッキー・ルックアップ・キー
クッキー・テーブル305(ユーザ・セッション情報テーブル)は、ポータル・サーバ・クッキーをバックエンド・ウェブ・アプリケーション・セッション・クッキーにマッピングする主エンティティである。ポータル・サーバに対するhttp要求のクッキーと所与のウェブ・アプリケーションに対するポートレット・アプリケーションhttpクライアントのクッキーとの間のマッピング関係は1対1である。しかし、所与のポートレット・アプリケーションhttpクライアントは、独立のセッションを維持する異なるウェブ・アプリケーションに対してhttp要求を行うことができる。この点で、ポータル・サーバ・セッション・クッキーとバックエンド・ウェブ・アプリケーションのセッション・クッキーとの間のマッピングは、(複数のバックエンド・ウェブ・アプリケーション・サーバのため)1対多でよい。
図16にこのマッピングを示す。このマッピングには、いくつかの項目が示されている。
RQ1:ポータル・サーバに対するユーザ・エージェント(ブラウザ)のhttp要求からのクッキー
RQA:ウェブ・アプリケーションAに対するポートレットhttpアプリケーション・クライアントのhttp要求からのクッキー
RQB:ウェブ・アプリケーションBに対するポートレットhttpアプリケーション・クライアントのhttp要求からのクッキー
ポートレット・アプリケーションhttpクライアント209は、このテーブルを使用してバックエンド・ウェブ・アプリケーション・サーバ210上で動作するバックエンド・ウェブ・アプリケーションに対して合致するクッキーをルックアップする。
このクッキー・マッピング・テーブル305の存在により、ポータル・サーバ・セッションが満了したときにバックエンド・ウェブ・アプリケーション・セッションの自動満了が可能となる。
クッキー・ルックアップ・キー
ポートレット・アプリケーションhttpクライアント209は、ポートレット・アプリケーションごとに作成される。クッキー・ルックアップ・キーが、同一のポートレット・アプリケーション内のすべてのポートレットにとってアクセス可能なポータル・アプリケーション・セッション・オブジェクト内に格納される。このクッキー・ルックアップ・キーは、ポータル・サーバのhttpセッションをバックエンド・アプリケーションのhttpセッションと合致させる任を担う。
クッキー・ルックアップ・キーの使用により、同一のhttpクライアント・キーを共有する所与のポートレット・アプリケーション内のすべてのポートレットが、現在ログインしているユーザについての正しいバックエンド・ウェブ・アプリケーション情報の組を取り出して転送し、それによって同一のポートレット・アプリケーション内のすべてのポートレットが同期して機能し、使用中のバックエンド・ウェブ・アプリケーションを更新することが可能となる。これによりエンド・ユーザが複数のポートレットを介してバックエンド・ウェブ・アプリケーションの統一されたビューを見るという効果が得られる。
ポートレット要求パラメータ・マップ
ポートレット要求パラメータ・マップ308は、ポートレットごと、かつポータル・サーバ・セッションごとに作成される共有アプリケーション・セッション・データ・ストアに格納されたメモリ・オブジェクト内にある。ポートレット要求パラメータ・マップ308は、特定のポートレットに対する着信ユーザ要求からのすべての要求パラメータを格納するのに使用される。
A.2.ポートレットの動的コンテンツ同期
A.2.1 動的コンテキスト定義テンプレート
図5に、バックエンド・ウェブ・アプリケーションとのポータル統合を示す。以下については図5を参照することが役立つ。
動的コンテキスト定義テンプレート503は、各動的コンテキスト・グループについて以下を定義する。
コンテキストおよびそのタイプ(前の例では、アカウントIDである)
定義されたコンテキストの値を変更することができるマスタ・ポートレット
定義されたコンテキストが変更されたときに通知を受けるスレーブ・ポートレット
コンテキスト変更の通知時のスレーブ・ポートレット登録応答(またはアクション)
任意選択で、スレーブ・ポートレットのリフレッシュ・シーケンスを定義する(マスタは常に所与のグループ内で最初にリフレッシュされる)
1つの動的コンテキスト定義テンプレート503は、1つまたは複数の動的コンテキスト・グループを含むことができる。しかし、各動的コンテキスト・グループが有することのできるのは、
1つのマスタ・ポートレット
1つの定義済みコンテキスト
1つまたは複数のスレーブ・ポートレットだけである。
注:所与のポートレットは、各グループ内の異なる役割を有する複数の動的コンテキスト・グループに関与することができる。
A.2.2 動的コンテキスト・ポートレット・グループ化生成ツール
このツール501は、動的コンテキスト定義テンプレート503を読み取り、ポートレット配置記述子502を更新することによって指定される定義に従って、すべての動的コンテキスト・グループについて動的コンテキスト・マスタ・ポートレットおよびスレーブ・ポートレットを生成する。
A.2.3 動的コンテキスト・グループ
動的コンテキスト・グループは、同一のコンテキストを共有し、1つの動的コンテキスト・グループ下にグループ化されるポートレットのサブセットである。所与のポートレットは、複数の動的コンテキスト・グループに属することができる。
特定の動的コンテキスト・グループの動的コンテキストを定義するのに動的コンテキスト・グループ定義文書インスタンス504が使用される。
動的コンテキスト・マスタ・ポートレット
動的コンテキスト・マスタ・ポートレットは、
コンテキスト状態の変化を検出し、
コンテキスト状態の変化に関してすべてのスレーブ・ポートレットに通知する任を担う。
動的コンテキスト・スレーブ・ポートレット
動的コンテキスト・スレーブ・ポートレットは以下のことを行う。
マスタ・ポートレットによって通知されるコンテキスト変化をプルする
コンテキスト変化の通知時に、対応するバックエンド・アプリケーションに向けて送られた登録済みアクションを実施する
動的コンテキスト・モデル
ポートレットを互いに関連付けるのに使用することができる2つのタイプの動的コンテキスト・モデルが存在する。
A.2.4 Syncモデル
図14に示すSyncモデルでは、マスタ・ポートレット101が、動的コンテキスト・マスタ・ポートレットのコンテキストの状態変化についてスレーブ1701〜1703に通知する。すべてのスレーブは、以前に定義された応答に基づいてアクションを実施し、マスタのコンテキスト状態変化と同期する。
Syncモデル・ダイアグラム
A.2.5 連鎖モデル
図1に示す連鎖モデルでは、マスタA 101の状態の変化の結果としてスレーブA 102の応答アクションが生じ、スレーブAはマスタ・ポートレットBでもあり、コンテキストBの状態が変化し、その結果、スレーブB 103のコンテキスト変化応答が生じ、スレーブBは動的コンテキスト・グループCのマスタ・ポートレットでもあり、その結果、スレーブCのアクション応答が生じる。
A.2.6 ポートレット・トランザクション・マネージャ
図18によるシーケンス・アウェア・ポータル集約エンジン拡張では、ポートレット・トランザクション・マネージャ1802が、ポートレット要求、応答、およびセッションの作成を含むポートレットのランタイム・リフレッシュ順序付けを管理する任を担う構成要素である。
1.任意のポートレット・アプリケーションについてリフレッシュすべき第1のポートレットが、所与のユーザについてのすべてのポートレットの間でまずリフレッシュされるポートレットとして定義される。所与のページ内のポートレットのリフレッシュ・シーケンスを定義する既存の機構は存在しない。
したがって、実行時にマスタ・ポートレットを動的に識別することができる何らかのロジックが必要である。本実施形態では、各ポートレットがリフレッシュされるごとにマークを行う単純なスクラッチボードを使用する。ポートレットがこのスクラッチボード上に最初にマークを行うとき、ポートレットは、ポートレットが第1ポートレットすなわちマスタ・ポートレットであることを認識している。このリストにマークを行う次のポートレットは、他のポートレットがリストにマークを行っていることを既に認識することができ、マスタ・ポートレットではないことなどを認識している。次にポータル・ページがリフレッシュされたとき、このリストに2重マークを行う最初のポートレットがマスタ・ポートレットとなる。次いでマスタ・ポートレットは、次の要求のために、他のすべてのポートレットのマークを除去し、マスタ・ポートレットの2重マークの1つも除去することによってこのリストを再初期化する。このアルゴリズムにより、要求がポートレットのポータル・サーバから来るごとにマスタ・ポートレットを動的に検出することが可能となる。
第1ポートレットがリフレッシュされた後、トランザクション・マネージャが引き継ぎ、動的コンテキスト・グループのマスタ/スレーブ・ポートレット・マッピングで事前定義されるように、シーケンス中の他のポートレットをリフレッシュする。
2.シーケンス・ソータ:シーケンス・ソータ・モジュール1804が使用されて、ポートレットがそのリフレッシュ・シーケンス順でソートされる。ポートレット配置記述子が使用されて、各ポートレットのリフレッシュ順序が識別され、次いでそれを要求ディスパッチング・エンジンのためにソートする。
3.シーケンス・アウェア要求ディスパッチング・エンジン拡張:このエンジン1805が使用されて、ポートレットに対して要求がディスパッチされ、ポータル集約エンジンがオーバーライドされる。その仕事は、適切なポートレット要求および応答オブジェクト、ならびに商業ポータル・アプリケーション内のすべてのポートレットについてのポートレット・セッションを構築することである。次いでこれがトランザクション・マネージャによって使用され、ポートレットが実際にリフレッシュされる。
4.トランザクション・マネージャ・キャッシング・ユニット:トランザクション・マネージャ・キャッシング・ユニット1806がトランザクション・マネージャ1802によって使用され、ポートレットが要求ディスパッチング・エンジンによってリフレッシュされるときにポートレットによって生成される応答がキャッシュされる。これは、ポータル集約エンジンがポートレット・リフレッシュを要求するときに必要であり、これらのキャッシュされた応答が、トランザクション・マネージャによってポータル集約エンジンに送り戻される。これにより、着信ポータル要求ごとの2重リフレッシュの問題が回避される。
A.3.規則ベースおよび役割ベースの集合
図11に、本発明の好ましい実施形態の規則ベースの動的集約構成要素構造マップを示す。図示する実施形態の構成要素およびその動作を以下で説明する。
ポータル資源変換モジュール
ポータル資源変換モジュール1015は、ポートレット、ページ、およびページ・グループを含むポータル資源の組を、外部規則エンジン1022で解析および処理することができる形式に変換する任を担う。
規則データベース
規則データベース1001は、ポータル集約エンジン1006に関するビジネス・マネージャ定義規則を保持する。
ユーザ資源変換モジュール
ユーザ資源変換モジュール1013は、ユーザ資源および様々なユーザ・プロパティを、外部規則エンジンによって解析および機能することができる形式に変換する任を担う。
プラグ可能規則エンジン
エンジン1022は、(本発明のこの実施形態では)動的な規則解析および実行のために使用される、websphere(商標)パーソナライゼーション・エンジンなどの外部のプラグ可能規則エンジンである。このエンジン実行により、ユーザがビジネス・ユーザによって定義されるビジネス規則に基づいて見るべきポータル資源の組が生成される。
ポータル役割ベース・パーソナライゼーション・エンジン
ポータル役割ベース・パーソナライゼーション・エンジン1008は、ユーザの組織メンバシップに基づいて、ユーザがアクセスを許可されるポータル資源のリストと、ユーザがアクセスを許可されないポータル資源のリストとを抽出するのに使用される役割ベースの資源選択モジュールである。
役割ベース・エンジン1008はまず、役割データベース1007にアクセスすることによってユーザの組織を見る。ユーザの組織を判定した後、ユーザの役割が、その組織の役割と同じであると仮定する。この後、役割ベース・パーソナライゼーション・エンジン1008が、この組織に対して、ビジネス・ユーザによってアクセス可能およびアクセス不能と定義されている資源のリストを抽出する。このリストを求めた後、このリストが、後の処理のために、このモジュールによってポータル集約エンジンの集約資源変換サブシステムに転送される。
役割DB
役割DB 1007は、ポータル・サーバに関する組織データを保持する。役割DB 1007は、様々なユーザに関する組織メンバシップについての情報を保持し、組織のメンバがその役割に基づいてアクセスすることができ、またアクセスすることができないポータル資源のリストも保持する。
ポータル集約エンジン集約資源変化サブシステム
このモジュール1004は、規則および役割ベース・パーソナライゼーション・エンジンの出力に基づいて、現ユーザが見ることを許可されているポータル資源(これにはポートレット、ページ、およびページ・グループが含まれる)のマスタ・リストを作成する任を担う。このモジュールはまた、実際のポータル集約エンジンに対するアダプタでもある。その仕事は、このマスタ・リストを作成するだけでなく、それを、エンド・ユーザ用の最終的なウェブ・サイトを作成する実際のポータル集約エンジンによってアクセスすることができる形式に変換することでもある。
パートB:動作説明
B.1 ポータル/ウェブ・アプリケーション統合許可の説明
B.1.1 全体の統合構造および流れ図
図2、3、および4に、それぞれポータルとのウェブ・アプリケーション統合、統合構造図、および統合流れ図を示す。
B.1.2 詳細な説明
図2を参照すると、バックエンド・ウェブ・アプリケーションがポータル・サーバと統合されるとき、バックエンド・ウェブ・アプリケーション221は、ポートレットを介してポータル・サーバ201から要求を受け取る。バックエンド・ウェブ・アプリケーション221は、要求を行うポートレットに応答を送り戻す。
ウェブ・アプリケーション221からの応答は、ポータル・サーバ201のポートレットを介して、ポートレットにアクセスするユーザにレンダリングされる。
ポータル・アプリケーションhttpクライアント209の実装では、バックエンド・ウェブ・アプリケーションに対する複数の要求および応答が、結合したセッションとしてバックエンド・ウェブ・アプリケーションに認識される。ポータル・アプリケーションhttpクライアント209は、バックエンド・ウェブ・アプリケーション221に対するhttp通信接続をオープンするのに使用される。バックエンド・ウェブ・アプリケーションは、ポータル・アプリケーションhttpクライアント209にセッション・サポート、クッキー処理、および単一サインオン(SSO)機能を提供するように要求する。定位置のポータル・アプリケーションhttpクライアント209を用いて、ポートレットは、ウェブ・アプリケーションと効果的に通信することができる。ポートレット・アプリケーション(ポートレット・アプリケーション205など)内のすべてのポートレットは、バックエンド・アプリケーション221の1つのポートレット・アプリケーション・セッション・オブジェクト211に対するアクセスを有する必要があり、このことは、同一のポータル・アプリケーション内のすべてのポートレットによってポータル・アプリケーションhttpクライアント209を共有しなければならないことを意味する。
このような共有を可能にするために、本発明者等は、所与のポータル・アプリケーション内のすべてのポートレットで共有することができる統一セッション・オブジェクトが必要であると判断した。このような目的を実現するために、本明細書の発明は、ポートレット・アプリケーション・セッション・オブジェクト208を提供する。ポートレット・アプリケーション・セッション・オブジェクト208は、商業ポートレット・アプリケーションによって作成されるオブジェクトである。ポートレット・アプリケーション・セッション・オブジェクト208は、所与のポートレット・アプリケーション内のすべてのポートレット(ポートレット・アプリケーション1、204内のポートレット205、206、207など)によってアクセス可能である。ポートレット・アプリケーション・セッション・オブジェクト208がないと、所与のポータル・アプリケーション内の複数のポートレットは、すべて独立のユーザ・セッションを有することになり、セッション関係の情報を共有することができなくなる。
ポートレット・アプリケーションhttpクライアント209がポートレット・アプリケーション・セッション208内に格納され、同一のポートレット・アプリケーション内のポートレット間でポートレット・アプリケーション・セッション208を共有することが可能となる。このポートレット・アプリケーション・セッション・オブジェクトがないと、ポートレットがバックエンド上の単一ウェブ・アプリケーション・セッションと通信することができなくなる。
ポータル・アプリケーション・セッション・オブジェクト208内に格納されるすべてのデータはポータル・アプリケーション・セッション・コンテキストを表し、ユーザごと、かつポータル・アプリケーションごとに存在する。
ポートレット・アプリケーションhttpクライアント209がバックエンド・ウェブ・アプリケーション221に関するすべてのセッション情報を保持するので、ポートレット・アプリケーションhttpクライアント209は、図3に示すセッション中継機構320に関するベースとして使用される。
セッション中継により、全ポータル・サーバ201に特有のセッション情報(言語情報、ユーザ・エージェント情報など)をバックエンド・ウェブ・アプリケーション221のセッション情報に中継することができる。このことは、バックエンド・ウェブ・アプリケーション221がユーザによってポータル・サーバに送られた元の要求に含まれるすべての要件に合致するデータ表現を送達できることを意味する。
例えば、デフォルト言語ロケールが「フランス語」に設定されたWAP(ワイヤレス・アプリケーション・プロトコル)使用可能モバイル装置を使用してユーザがポータルにアクセスする場合、ポータル・サーバ201に対する元のhttp要求が、「フランス語」に設定されたITS言語パラメータと、「WAP」に設定されたhttpヘッダのユーザ・エージェント・フィールドとを有することになる。セッション中継機構320は、この情報をウェブ・アプリケーション221に中継し、ウェブ・アプリケーションは、ユーザのモバイル装置上にフランス語で表示するのに適したフランス語の応答を返す。セッション中継がない場合、ウェブ・アプリケーションは、デフォルト装置(例えばインターネット・ブラウザ)に適したデフォルト言語(例えば英語)で情報を返す。この場合、データがユーザのモバイル装置と非互換であるので、ユーザは取り出されたデータを見ることができない。
図4のプロセス・ステップを列挙ステップで示す間、図3の構造図中の要素を参照する。
ステップ401では、ユーザがウェブ・ポータル上のポートレットと、例えばコンピュータ・マウスを使用してユーザのウェブ・ブラウザ上のポートレット内に表示されるリンクまたはオブジェクトをクリックすることによって対話する。各ポートレットはそれ自体のポートレット・セッション310を有する(ポートレット・セッションは従来技術の1つである)。ユーザ対話の一部として、リモート要求306をバックエンド・ウェブ・アプリケーション307に対して行う。
2. ステップ403では、ポートレット・セッション内のすべてのパラメータをバックエンド・ウェブ・アプリケーションに渡すために、各ポートレット要求のパラメータ・リストをポートレット要求パラメータ・マップ(#8)308に保存する。このパラメータはリモート・バックエンド要求に渡される。
3. ステップ404では、商業ポートレットがhttpクライアント・キー301を使用して、ポートレット・アプリケーション・データ・ストア#4 302にアクセスすることによって既存のポートレット・アプリケーション・セッション・オブジェクト208およポートレット・アプリケーションhttpクライアント303が既に存在しているかどうかを判定する。ステップ405では、それが見つからない場合、同一のポートレット・アプリケーション内のすべてのポートレットについて新しいものを作成する(ステップ407では、それが見つかった場合、既存のものをその代わりに使用する)。
4. ステップ406では、元のポートレット・セッションからの各ユーザ証明書をクッキー・テーブル305に保存する。
5. ステップ408では、クッキー・テーブル305からのユーザ証明書と、ポートレット要求パラメータ・マップ308に以前に保存したパラメータとを使用して、バックエンド・ウェブ・アプリケーションに対する新しいhttp要求を構築する。
6. ステップ409では、リモート・ウェブ・アプリケーション307に対する呼出しを作成する。
7. ステップ410では、リモート・ウェブ・アプリケーション307が、ポートレットが表示すべき、上記呼出しに対する応答を返す。
B.2 ポートレットの動的コンテキスト同期
B.2.1 開発時間の説明
バックエンド・ウェブ・アプリケーションとのポータル統合の構造図を示す図5を参照すると、ポータル開発者が、動的コンテキスト・ポートレット・グループ化ツール501を利用して、新しい各動的グループ定義インスタンス504を作成することができることがわかる。この例は、関連するポートレットのグループ化であり、どのポートレットがスレーブであり、どのポートレットがそうしたスレーブのマスタであるかを定義する。動的グループ定義の必要な要素は、動的コンテキスト・グループ定義テンプレート503で指定される。
ユーザは、同一のツール501を使用して既存の動的コンテキスト・グループ定義を更新する。
ユーザが最新の動的コンテキスト・グループ定義を与えた後、動的コンテキスト・ポートレット・グ化ツール501が、適切なポートレット・アプリケーション配置記述子502を更新して、グループで定義された関係を反映する。
図6を参照すると、上記のプロセスのポータル統合ステップを表す流れ図をより明確に視覚化することができる。
ユーザが動的コンテキスト・グループを作成(608)または更新(609)したいとき、ユーザはグループ化ツール501(図5)を利用することができる。
601では、動的コンテキスト・グループ化ツールが、動的コンテキスト・グループ定義テンプレート503で指定されたものに基づいてユーザ入力を促し、または更新の場合は、動的コンテキスト・グループ化ツールが既存の動的コンテキスト・グループ・インスタンスを読み取り、それを定義テンプレート503を用いて検証する。
603では、ユーザが必要な情報を指定して、動的コンテキスト・グループを定義または更新する。
605では、動的コンテキスト・グループ・インスタンス504を生成する。
606では、すべての関係するポートレットの配置記述子を更新する。
動的コンテキスト・グループ化
図7に、ポートレットに関する動的コンテキストを示す。動的グループ701は、マスタ・ポートレット704、スレーブ・ポートレット705、およびスレーブ・ポートレット707からなる。
グループ703は、マスタ・ポートレット705、スレーブ・ポートレット706、およびスレーブ・ポートレット707からなる。
動的グループ702は、マスタ・ポートレット704およびスレーブ・ポートレット708からなる。
ポートレット・アプリケーション内のポートレットによって表されるデータがバックエンド・アプリケーション・レベルで同期される場合、ポートレットは、単にウェブ・アプリケーションからデータを取り出すことにより、調整したデータのビューを送達する。しかし、すべてのポートレット対話がバックエンド・ウェブ・アプリケーションでの変化となるわけではない。動的コンテキストは、「グラスでの(at the glass)」同期として働く。コンテキストの変化が異なる照会を必要とするときが最も効果的である。例えば、アカウント・リストから異なるアカウントを選択することは、選択するアカウントでリフレッシュされるインボイス情報の表示を必要とする。
従来技術のシステムでは、ポートレットは通常は互いに独立であった。本発明は、ポートレットの関係を互いにマッピングし、ポートレット・アプリケーション配置/構成時にその依存性を互いに統合するための方法および装置を提供する。ポートレット自体は変更する必要がない。
ポートレット間の依存関係は、マスタ/スレーブ関係を定義する動的コンテキスト関係テンプレート503で定義することができる。
動的コンテキスト関係テンプレート503は、以下を定義するXMLデータ表現として符号化されることが好ましい。
動的コンテキスト・グループを構成するポートレットのサブセット
動的コンテキスト・グループのマスタ・ポートレット
動的コンテキスト・グループのスレーブ・ポートレット
コンテキスト状態が変化したときにスレーブが実施しなければならないスレーブ・アクション
動的コンテキスト・グループのすべての構成要素が共有するコンテキスト
動的コンテキスト・グループ定義インスタンスの一例を以下に示す。
<DynamicContextGroup>
<DynamicContextGroupName>OrderRelatedPortletGroup
</DynamicContextGroupName>
<DynamicContextMasterPortlet>
OrderItems
</DynamicContextMasterPortlet>
<DynamicContext>itemName
</DynamicContext>
<DynamicContextSlavePortlet>
<DynamicContextSlavePortletName>UPSTracking
</DynamicContextSlavePortletName>
<SlavePortletAction>
http://inventoryserver.com/inStock/
</SlavePortletAction>
</DynamicContextSlavePortlet>
</DynamicContextGroup>

<DynamicContextGroup>
<DynamicContextGroupName>StockInventoryPortletGroup
</DynamicContextGroupName>
<DynamicContextMasterPortlet>
InStockInventory
</DynamicContextMasterPortlet>
<DynamicContext>itemSKUnumber
</DynamicContext>
<DynamicContextSlavePortlet>
<DynamicContextSlavePortletName>OrderedItems
</DynamicContextSlavePortletName>
<SlavePortletAction>
http://myserver.com/lastOrdered/
</SlavePortletAction>
</DynamicContextSlavePortlet>
</DynamicContextGroup>
動的コンテキスト・グループ定義インスタンスの注:1つの動的コンテキスト・グループ定義は1つのインスタンスである。しかし、複数の動的コンテキスト・グループ定義を1つのファイルにまとめて、3つのポートレットからなるポートレット・アプリケーション内の2つのポートレット・セットを定義する上記の複数の定義例を定義することができる。
第1動的コンテキスト・グループでは、ポートレット間で共有される動的コンテキストはitemNameであり、OrderedItemsという名前のポートレットは動的コンテキスト・マスタ・ポートレットとして働き、ポートレットUPSTrackingおよびInStockInventoryは動的コンテキスト・スレーブ・ポートレットとして働く。
第2動的コンテキスト・グループでは、ポートレット間で共有される動的コンテキストはitemSkuNumberであり、InStockInventoryという名前のポートレットは動的コンテキスト・マスタ・ポートレットとして働き、ポートレットOrderedItemsは動的コンテキスト・スレーブ・ポートレットとして働く。
各動的コンテキスト・マスタ・ポートレットは、ユーザhttp要求を観測し、動的コンテキストを探す。動的コンテキストが要求内に見つかった場合、動的コンテキスト・ポートレットは動的コンテキスト(これはhttp要求内の名前/値対パラメータである)をスレーブ・ポートレットに送る。
例えば、属性itemNameが「Pentium(R)IV」に設定されたhttp要求をOrderedItemsポートレットが受け取った場合、OrderedItemsポートレットは、動的コンテキストをポートレットUPSTrackingおよびInStockInventoryに送り、それらに、値「Pentium(R)IV」を有するコンテキストitemNameが動的コンテキストに設定されたことを通知する。
各動的コンテキスト・スレーブ・ポートレットは、同一の動的コンテキスト・グループのすべてのスレーブ・ポートレットに対するマスタの通知を聴取する。マスタの通知を受け取ったとき、属性「SlavePortletAction」の下の動的コンテキスト・グループ定義インスタンスで定義されるアクションURLに動的コンテキストを加えることにより、対応するスレーブ・アクションが起動される。
例えば、inStockInventoryポートレットが、OrderItemsポートレットから、動的コンテキスト・タイプ「itemName」および値「Pentium(R)IV」の動的コンテキストを受け取った場合、inStockInventoryポートレットは、http://inventoryserver.com/inStock/itemName=Pentium(R)IVのURLからデータを取り出す。
動的コンテキスト・グループ定義テンプレートの一例についてのコーディングを以下に示す。
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:cep=
"http://www.ibm.com/WebsphereCommerceEnabledPortal/DynamicContextGroupDefinitionSchema">

<annotation>
<documentation xml:lang="en">
Schema for Websphere Commerce EnabledPortal Dynamic Context GroupDefinition
Copyright 2002 IBM Corporation
<documentation>
</annotation>

<!-動的コンテキスト・グループ・インスタンス -->
<xsd:element name="DynamicContextGroup"
type="DynamicContextGroupDefinitionTemplate",
minOccurs="1"/>


<!-動的コンテキスト・グループ定義テンプレート・スキーマ_
<xsd:complexTypename="DynamicContextGroupDefinitionTemplate">
<xsd:sequence>
<xsd:element name="DynamicContextGroupName"type="xsd:string"/>
<xsd:element name="DynamicContextMasterPortlet"type="PortletName"/>
<!- 動的コンテキスト・グループごとに1つの動的コンテキストだけ ->
<xsd:element name="DynamicContext"type="ContextParameter"maxOccurs="1"/>
<xsd:element name="DynamicContextSlavePortlet"type="SlavePortlet"
minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="SlavePortlet">
<xsd:sequence>
<xsd:element name="DynamicContextSlavePortlet"type="PortletName"/>
<xsd:element name="SlavePortletAction"type="xsd:string"/>
<xsd:element name="SlavePortletRefreshPriority"type="xsd:decimal",
minOccurs="0"/>
<!- スレーブ・パラメータ・マップが欠けている場合、マスタのコンテキストはスレーブ・アクションurl内にある-->
<xsd:element name="SlaveParamMapToContext"type="ContextParameter"
minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>

<xsd:simpleType name="PortletName">
<xsd:string>
</xsd:simpleType>

<!- マスタの要求url内のパラメータの名前 -->
<xsd:simpleType name="ContextParameter">
<xsd:string>
</xsd:simpleType>

</xsd:schema>
B.2.2 ランタイム
本節は、定義インスタンスで指定される動的コンテキストについてのポートレット・アプリケーション初期化である図8と、動的コンテキスト・ポートレット・グループの実行時フローである図9および図10とを参照することによって最も良く理解できよう。
動的コンテキストのランタイムの側面を処理するのに2つの鍵となる構成要素が存在する。
1)DynamicContextActionListener(904)(ポートレット・アクション・リスナ)−マスタ・ポートレットの動的コンテキスト変化を聴取する。あらゆる動的コンテキスト・ポートレット・グループ内のマスタ・ポートレットが、それに添付されたDynamicContextActionListenerを有する。
2)DynamicContextMessageListener(906)(ポートレット・メッセージ・リスナ)−特定の動的コンテキストが定義されるグループのマスタからの通知を聴取するメッセージ・リスナである。動的コンテキスト・ポートレット・グループ内のあらゆるスレーブ・ポートレットが、それに添付されたDynamicContextMessageListenerを有する。
ランタイム・フローの段階的説明
ポートレット初期化時(図8:801)に、すべてのマスタ・ポートレットが、ポートレット記述子(802、805)に基づく定義済み動的コンテキストをマスタ・ポートレットのアクション・リスナに加える(806)。すべてのスレーブ・ポートレットについて、動的コンテキスト・タイプ、アクションurl、パラメータ・マッピング、およびリフレッシュ・シーケンスがポートレット記述子(802、809)から取り出され、スレーブのポートレット・メッセージ・リスナに加えられる(810)。
1)動的コンテキスト・ポートレット・グループ・マスタ・ポートレットとのユーザ対話の結果、動的コンテキストが変化する(901)。
2)マスタのポートレットDynamicContextActionListenerがユーザのアクションを検出する(902)。
3)DynamicContextActionListenerが、マスタ・ポートレットの要求オブジェクト内の動的コンテキストに対応する名前/値対を設定する(904)。
4)マスタ・ポートレットが動的コンテキストの値を取得し、それについて、同一の動的ポートレット・グループ内のすべてのスレーブ・ポートレットに通知する(905)。
5)所与のマスタに対するスレーブ・ポートレットに関連するDynamicContextMessageListenerが通知(動的コンテキストの値)を受け取る(906)。
6)DynamicContextMessageListenerが、スレーブ・ポートレットのポートレット要求オブジェクト内のDynamicContextの値を設定する(907)。
7)スレーブ・ポートレットが動的コンテキストの値を取得する(1008)。
8)コンテキストと何らかのパラメータとの間のマッピングが指定された場合、スレーブ・ポートレットが、所与のスレーブ・ポートレットについて定義されたアクションを修正する(1009)。
9)マッピングが指定されなかった場合、動的コンテキストの名前/値対をスレーブのポートレット・アクションに追加する。
10)スレーブ・ポートレットが、動的コンテキスト・グループ・インスタンス定義で定義されるアクションを実施する(1011、1012)。
B.3 規則ベース役割ベース動的集約
本節では、役割ベース動的集約構成要素構造マップである図11、規則ベース動的集約構成要素構造マップである図12、規則ベース動的集約フロー・チャートである図13乃至図15を含むいくつかの図を参照する。
ポートレット・サーバについての役割/規則ベース動的集約構成要素は、規則/役割データベースと各役割および規則についてのコンテンツ・グループの概念とに基づく。
規則についてのコンテンツ・グループは、図11に示す規則DB構成要素1001内に保たれる。同様に、役割コンテンツ・グループは、図11に示す役割DB構成要素1007内に保たれる。各コンテンツ・グループは、特定の役割または規則の範囲内に含まれると評価されるユーザがアクセスすべきである1組のポータル・サーバ資源からなる。
この方式での別の主な構成要素は、プラグ可能規則エンジン1022である。このエンジンの仕事は、変換されたユーザ・プロパティを読み取り、こうしたユーザ・プロパティに基づいて、一定の事前定義されたユーザ・グループのメンバシップの資格を有するユーザの組を実行時に動的に判断することである。さらに、このエンジンは、こうした動的ユーザ・グループの組を、役割/規則DB内に定義されているコンテンツ・グループの組にマッピングする。プラグ可能規則エンジンが、こうした作業を管理するためのGUIを有することが好ましい。図19に示すスクリーン・ショットは、どのようにWebSphereパーソナライゼーション・サーバ・エンジンを使用してこうした作業を管理するかを示す。
例えば、図19は、どのように「MaleTeen」と呼ばれる動的グループを定義し、16〜19歳の男性ユーザをこのグループに割り当てるかを示す。
図20に示すように、ユーザのプロパティに基づいて男性のティーンエージャと動的に評価されるすべてのユーザが、役割DB1007から10代男性グループに関するコンテンツ資源を選択するように動的規則および役割ベース・ポータル集約エンジン1022に指令する、ユーザに関して実行される「maleteenAction」コマンドを有する。
開発時には、ビジネス・マネージャの仕事は、ページ、ポートレットなどの1組のポータル資源を役割/規則DB内の特定のコンテンツ・グループに割り当てることである。これは現在、規則/役割DBを直接ロードするSQLスクリプトを使用することによって行われている。
B.3.1 規則ベース役割ベース動的集約実行時使用可能化の説明
実行時、ポータル・ユーザ対して実行する最初のコマンドは、規則ベース・エンジンに関するラッパ・コマンドである。このコマンドは、実際には、実際のプラグ可能規則エンジンによってユーザのプロパティの評価を開始するプロキシである。
次のステップでは、規則エンジンが、ユーザの記録されたプロファイルからユーザのプロパティを読み取り、ユーザ資源変換モジュールを使用することにより、ユーザが理解できる形式に変換する。
図21に、規則DB内の「maleteengrp」と呼ばれるコンテンツ・グループ内に定義されているすべてのポータル資源を選択する「MaleTeenAction」と呼ばれる新しいアクションの作成を示す。
図20に、動的ユーザ・プロパティに基づいて「MaleTeens」を分類するのに以前に作成した規則の範囲内にあるすべてのユーザについて「maleteengrp」のコンテンツを選択するように集約モジュールに命令する動的集約モジュール・コマンドの作成を示す。
図20は、所与のユーザについて集約するどのコンテンツがそのような分類に含まれるかを決定する際に、どのような所与のビジネス規則(例えば、何がmaleteenグループを構成するかを定義する際のビジネス規則)が効力を生じるか(例えばmaleTeenAction)を示す。
ユーザ・プロパティを読み取った後、プラグ可能規則エンジンが、図21に示す様々な動的グループに関して定義された規則に基づいて、このユーザの動的グループ・メンバシップを評価する。
このユーザに関する動的グループの組を確認した後、規則エンジンは、図21に示すこの動的グループに関して定義されたコンテンツ選択アクションを実行することにより、このユーザに関する適切なポータル・コンテンツを選択する。こうしたアクションは、実行時に、規則DB内でそれらに関して定義されたコンテンツ・グループからポータル資源の組を返す。
次の実行ステップは、役割エンジンによってこのユーザに割り当てられた役割の評価である。役割エンジンは、(ユーザ・プロファイル・プロパティから抽出された)組織メンバシップを使用して、役割DBからこのユーザの役割に関するコンテンツ資源の組を抽出する。次いでこうした資源が、以前の組で作成された既存の規則ベース・ポータル資源のリストに加えられる。
次いでこのリストが、実行のために動的ポータル集約エンジンに転送される。次いで動的ポータル集約エンジンは、このリストで識別されるポータル資源を選択して、この現ユーザに関するデフォルト・ポータル・ビューをセットアップする。
まとめ
1.共通バックエンド・ウェブ・アプリケーション統合実装
ポートレット・アプリケーションhttpクライアントおよびポートレット・アプリケーション・セッションを用いて、共通バックエンド・ウェブ・アプリケーション統合モデルを有することが可能となる。これを使用して、同一のポートレット・アプリケーション内の複数のポートレットが同一のウェブ・アプリケーション・バックエンドと通信することが可能となる。
本実装により、
i.別々のブラウザを立ち上げずに、かつ同一のバックエンド・ウェブ・アプリケーションにアクセスするためのユーザIDおよびパスワードを求める複数のプロンプトを必要とすることなく、ネイティブ・ポートレット統合を有することが可能となり、
ii.セッション管理を有するバックエンド・アプリケーションに複数の要求を作成し、それから応答を受信することが可能となる。
2.単純な共通システムにより得られる単純なツーリング
本実装は、ポートレット・アプリケーションの配置記述子内に関係するバックエンド・ウェブ・アプリケーションのurlの指定を単に必要とするだけで、バックエンド・サーバ上で動作する既存のウェブ・アプリケーションとポートレット・アプリケーションを統合する容易かつ迅速な方法を提供する。これにより、統合の共通作業を処理するツーリングを構築することが可能となる。
3.ポートレット・アプリケーション共有共通セッションおよびセッション・データ内のポートレット
ポートレット・アプリケーション・セッション・オブジェクトの実装により、同一のポートレット・アプリケーションの各ポートレットが、ポートレット・アプリケーション内で固有であると同時にポータル・サーバの元のhttpセッションとは異なるポートレット自体の間で共通データを共有することが可能となる。これにより、同一のポートレット・アプリケーション内のポートレット間で固有のデータの共有が容易となる。
4.ポータル・セッションおよびバックエンド・セッション共有共通セッション・データ
セッション中継実装により、ポータル・サーバとそのバックエンド・ウェブ・アプリケーションとの間で共通セッション・データの共有が可能となる。これにより、バックエンド・ウェブ・アプリケーションがポータル・サーバから情報を受信することが可能となり、ウェブ・アプリケーションのビジネス・ロジックが、ポータル・サーバから渡されるこの情報を利用することが可能となる。
例えば、現ポートレット状態が、ポートレットの最大化ビューを表示すべき場合、バックエンド・ウェブ・アプリケーションが単に情報の概要を送ることになる、ポートレットの通常のビューとは対照的に、バックエンド・ウェブ・アプリケーションは、この情報を受け取って、詳細なビジネス情報を送り戻すことによってこの情報を活用することができる。
5.ポートレット・アプリケーション・セッション、ポートレット・アプリケーション・セッション・オブジェクト、ポートレットhttpクライアント、およびセッション中継機構を有するポータル・サーバとは別個の結合バックエンド・ウェブ・アプリケーション・セッション
バックエンド・ウェブ・アプリケーションは、ポータル・サーバのセッションとは別個のそれ自体のセッションを保持することができるが、それでもなおポータル・サーバのクッキーと同一のクッキーを共有することができる。バックエンド・ウェブ・アプリケーションは、独立かつ正確に動作することができ、ポータル内の様々なポートレットからのポートレット要求を1つの仮想クライアントとして認識し、バックエンド・ウェブ・アプリケーションとの結合セッションを可能にする。
6.ポータル・サーバおよびバックエンド・ウェブ・アプリケーションにわたる単一サインオン
セッション中継実施形態は単一サインオン機能を提供し、それによってユーザは、ポータル・サーバにログオンした後は、関連するバックエンド・ウェブ・アプリケーションにログオンするのにユーザ証明書を再サブミットする必要がない。これは、ポータルに対するhttpセッションとポートレットhttpクライアントからバックエンド・ウェブ・アプリケーションへのhttpセッションとの間の1対1マッピングのクッキー・テーブルによって可能となる。
7.ポータル・サーバの挙動と同期したバックエンド・ウェブ・アプリケーションの挙動
セッション中継実施形態は、ポータル・セッションからバックエンド・ウェブ・アプリケーションのセッションにセッション情報を中継することによりバックエンド・ウェブ・アプリケーションの挙動を同期することによってシームレスな統合を可能にする。
以下はいくつかの例である。
ポータル・サーバでの言語およびロケール設定をそのバックエンド・ウェブ・アプリケーションに渡すことができ、その結果、バックエンド・アプリケーションは、ポータル・サーバのロケール+言語設定に基づいて応答メッセージを構成することができる。
別の例は、ポータル・サーバからのセッション満了情報をバックエンド・ウェブ・アプリケーション・セッションに渡すことができ、その結果、ポータル・セッション・タイムアウトと同時にバックエンド・ウェブ・アプリケーション・セッションをタイムアウトすることができることである。バックエンド・ウェブ・アプリケーションは、ポータル・サーバから中継されるポータル状態およびイベントに応答することができる。
8.同一のポータル・ページ内の同期コンテンツ
動的コンテキスト・ポートレット・グループ化により、同一の動的コンテキスト・グループ内のポートレット間の協働が可能となり、ビジネス・プロセスおよび情報の統合および同期が達成される。
各ポートレットは、複数の動的コンテキスト・グループに関与することができる。これにより、ポータル管理者がポートレットを動的コンテキスト・ポートレット・グループにグループ化する非常にオープンかつ単純なプログラミング・モデルが提供される。
動的コンテキスト定義の単純な構造により、各グループ化について動的コンテキスト・マスタ/スレーブ・ポートレットの自動生成のための単純なツーリングを構築することが可能となる。
動的コンテキスト定義実装、動的コンテキスト・グループ、マスタ・ポートレットおよびスレーブ・ポートレット実装(スレーブ・タスク、スレーブ・コンテキスト・マップを含む)が、本発明の利点を実現する助けになる。
9.ポートレットのリフレッシュ・シーケンスを定義する能力
トランザクション・マネージャが、最初にポートレットのリフレッシュ・シーケンスを定義する能力を提供する。ポートレットのリフレッシュ・シーケンスを定義する能力により、ポータル/ポートレット・アーキテクチャを用いる順次ビジネス・ロジックの適切な実施が可能となる。トランザクション・マネージャ、資源ソータ、応答のキャッシングが、本発明の利点を実現する助けになる。
10.規則ベース役割ベース集約
ファイン・レベル・ポータル・パーソナライゼーションは、現在動的集約によってのみ達成することができる。これは、ポートレット、ページ、またはページ・グループの公式の概念が存在しない通常のウェブ・アプリケーションの従来技術の実装とははっきり異なる。ファイン・レベル・パーソナライゼーションは、ポータル・マーケットが成長し、ファイン・レベル・キャンペーン・ターゲティングなどに関するユーザ要件が導入されるにつれて一層重要となるであろう。
記載の実施形態は、いかに列挙するいくつかの利点をもたらす。
1.本発明者等の手法によって達成することができるパーソナライゼーションのレベルは、今日ポータル・サーバによって提供されるポートレット管理機構よりもずっと細かい。今日利用可能なポートレット管理は、本質的に手動構成である。構成した後は固定的であり、実行時に変化しない。本発明は、規則に基づいてポータル資源をレンダリングする動的機能を提供する。
2.ポータル集約モジュールは動的エンティティであるので、規則/役割エンジンを直接それに結びつけることにより、人間の介入なしにリアル・タイム動的集約機能が達成される。
3.ページやページ・グループなどの粗い分類のポータル資源のパーソナライゼーションにより、動的レイアウトを実施することが可能となる。
4.ずっと効果的なキャンペーン、契約などをセットアップすることができる。これは、eコマース・リテールおよびB2B組織のどちらにとってもかなり重要である。
5.通常のコンテンツ・パーソナライゼーションよりもずっと高いパーソナライゼーションが達成される。例えば、規則に基づいて、ウェブページの全セクションを使用不能にすることができる。通常のパーソナライゼーションではこれを行うことができない。さらに、動的集約は、資源関係ではなくコンテンツ関係の通常のパーソナライゼーションの領域には適用されない。
動的コンテキスト連鎖モデルを示す図である。 ポータルとのウェブ・アプリケーション統合を示す図である。 統合構造図を示す図である。 統合流れ図を示す図である。 ウェブ・アプリケーションとのポータル統合のための構造図を示す図である。 統合のための流れ図を示す図である。 ポートレットに関する動的コンテキスト・グループの一例を示す図である。 定義インスタンスで指定される動的コンテキストについてのポートレット・アプリケーション初期化を示す図である。 動的コンテキスト・ポートレット・グループの実行時フローを示す図である。 動的コンテキスト・ポートレット・グループの実行時フローを示す図である。 規則ベース動的集約構成要素構造マップを示す図である。 規則ベース動的集約構成要素フロー・マップを示す図である。 役割ベース動的集約流れ図を示す図である。 規則ベース動的集約流れ図を示す図である。 規則ベース動的集約流れ図を示す図である。 ウェブ・アプリケーションに対するポートレット要求の処理を示す図である。 syncモデル図を示す図である。 シーケンス・アウェア・ポータル集約エンジンの流れ図を示す図である。 「MaleTeen」と呼ばれる動的グループの定義付けと、そのグループへのユーザの割当てを示す図である。 動的ユーザ・グループへの規則データベース・コンテンツ・グループ選択アクションの割当てを示す図である。 「maleTeenAction」と呼ばれる新しいアクションの作成を示す図である。

Claims (3)

  1. ユーザがアクセス可能なウェブ・ポータル内の複数の関連するポートレットをグループ化する、ポータル・サーバ上で動作することができるポートレット・アプリケーションであって
    ポートレット、コンテキスト名を記述するポートレット記述子を有し、
    複数の関連するポートレットのグループは、マスタ・ポートレットおよび少なくとも1つのスレーブ・ポートレットを含み、かつコンテキスト名を共通に共有し
    前記ポートレット・アプリケーションは、前記ポータル・サーバに
    マスタ・ポートレットのコンテキスト値の変化を前記マスタのスレーブ・ポートレットに同報通信するステップと、
    前記スレーブ・ポートレットのコンテキスト値を変更して、同報通信した前記マスタ・ポートレットのコンテキスト値に合致させるステップと
    を実行させるポートレット・アプリケーション。
  2. 前記ポートレット記述子は、前記ポートレットに関するリフレッシュの優先順位の記述を含み、
    前記ポートレット・アプリケーションは、前記ポータル・サーバに、前記ポートレットを前記ポートレットのリフレッシュの優先順位でリフレッシュするステップを更に実行させる、請求項1に記載のポートレット・アプリケーション。
  3. 前記マスタ・ポートレットが、前記スレーブ・ポートレットよりも高い優先順位を有する、請求項2に記載のポートレット・アプリケーション。
JP2004540952A 2002-10-04 2003-10-01 ウェブ・ポータルの関連するポートレットが、同期されたコンテンツ表示のために協働することを可能にする方法および装置 Expired - Lifetime JP4473128B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA2406569A CA2406569C (en) 2002-10-04 2002-10-04 Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display
PCT/GB2003/004238 WO2004031985A2 (en) 2002-10-04 2003-10-01 Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display

Publications (2)

Publication Number Publication Date
JP2006501557A JP2006501557A (ja) 2006-01-12
JP4473128B2 true JP4473128B2 (ja) 2010-06-02

Family

ID=32046580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004540952A Expired - Lifetime JP4473128B2 (ja) 2002-10-04 2003-10-01 ウェブ・ポータルの関連するポートレットが、同期されたコンテンツ表示のために協働することを可能にする方法および装置

Country Status (10)

Country Link
US (3) US7533142B2 (ja)
EP (1) EP1546925A2 (ja)
JP (1) JP4473128B2 (ja)
KR (1) KR100819021B1 (ja)
CN (1) CN100492355C (ja)
AU (1) AU2003267666A1 (ja)
CA (1) CA2406569C (ja)
IL (1) IL167738A (ja)
TW (1) TWI277881B (ja)
WO (1) WO2004031985A2 (ja)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2406713C (en) * 2002-10-04 2009-06-30 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for relaying session information from a portal server
US20050204297A1 (en) * 2003-12-22 2005-09-15 International Business Machines Corporation Combined synchronous and asynchronous logical components in a collaborative context
US7376739B2 (en) * 2004-02-11 2008-05-20 International Business Machines Corporation Persistence of inter-application communication patterns and behavior under user control
US8181112B2 (en) * 2004-05-21 2012-05-15 Oracle International Corporation Independent portlet rendering
US20060009991A1 (en) * 2004-05-25 2006-01-12 Jun-Jang Jeng Method and apparatus for using meta-rules to support dynamic rule-based business systems
US7908339B2 (en) 2004-06-03 2011-03-15 Maxsp Corporation Transaction based virtual file system optimized for high-latency network connections
US8812613B2 (en) 2004-06-03 2014-08-19 Maxsp Corporation Virtual application manager
US9357031B2 (en) 2004-06-03 2016-05-31 Microsoft Technology Licensing, Llc Applications as a service
US9330187B2 (en) 2004-06-22 2016-05-03 International Business Machines Corporation Persuasive portlets
US8271527B2 (en) * 2004-08-26 2012-09-18 Illinois Institute Of Technology Refined permission constraints using internal and external data extraction in a role-based access control system
CN100461646C (zh) * 2004-08-27 2009-02-11 华为技术有限公司 通信设备中主备板倒换的方法
US7500181B2 (en) * 2004-08-31 2009-03-03 International Business Machines Corporation Method for updating a portal page
US7600027B2 (en) * 2004-09-16 2009-10-06 International Business Machines Corporation Managing multiple sessions for a user of a portal
GB0420673D0 (en) * 2004-09-17 2004-10-20 Ibm Data sharing system, method and software tool
US7792969B2 (en) * 2004-10-20 2010-09-07 Bea Systems, Inc. Message interface for configuring web services for remote portlets
US8584200B2 (en) * 2004-10-22 2013-11-12 Broadcom Corporation Multiple time outs for applications in a mobile device
US8234336B2 (en) * 2005-02-25 2012-07-31 Microsoft Corporation Virtual conference center architecture
JP5174468B2 (ja) * 2005-03-03 2013-04-03 トムソン ルーターズ グローバル リソーシーズ 自動ビジネスプロセスアプリケーションを設計するための統合システム、ツールおよび方法
US8589323B2 (en) 2005-03-04 2013-11-19 Maxsp Corporation Computer hardware and software diagnostic and report system incorporating an expert system and agents
US8234238B2 (en) 2005-03-04 2012-07-31 Maxsp Corporation Computer hardware and software diagnostic and report system
US20060242249A1 (en) * 2005-04-26 2006-10-26 International Business Machines Corporation Method for the display of visual sequencing of message communications between application portlets and task page relationship information in a web-base environment
US7493564B2 (en) * 2005-04-26 2009-02-17 International Business Machines Corporation Method for the display of visual sequencing of launched application portlets and task page relationship information in a web-base environment
US20110225243A1 (en) * 2005-06-08 2011-09-15 John Almeida Method for global resources sharing, logically linked means and integrated functionality for solutions building
US7996494B2 (en) * 2005-06-29 2011-08-09 Oracle International Corporation System and method for delivering grouped web service applications
US7647644B2 (en) * 2005-06-29 2010-01-12 Bea Systems, Inc. Entitlement designation in web services for remote portlets environment
US8001216B2 (en) * 2005-06-30 2011-08-16 Oracle International Corporation System and method for a web service portlet registry
US20070006016A1 (en) * 2005-06-30 2007-01-04 Bea Systems, Inc. System and method for publishing to a web service portlet registry
US20070050448A1 (en) * 2005-08-25 2007-03-01 Polycom, Inc. Method and system for information collaboration over an IP network via handheld wireless communication devices
US7818676B2 (en) * 2005-09-22 2010-10-19 International Business Machines Corporation System, method and program product for a content viewer portlet
US7661061B2 (en) 2005-10-17 2010-02-09 International Business Machines Corporation Visualization of collaborative portlet sequences
US10169475B2 (en) 2005-11-17 2019-01-01 International Business Machines Corporation Pattern for navigating content in a portal
US7653659B2 (en) 2005-12-12 2010-01-26 International Business Machines Corporation System for automatic arrangement of portlets on portal pages according to semantical and functional relationship
US7627579B2 (en) * 2006-01-17 2009-12-01 International Business Machines Corporation Managing portal response times
US20070282673A1 (en) * 2006-04-28 2007-12-06 Lehman Brothers Inc. Method and system for implementing portal
US8898319B2 (en) 2006-05-24 2014-11-25 Maxsp Corporation Applications and services as a bundle
US8811396B2 (en) 2006-05-24 2014-08-19 Maxsp Corporation System for and method of securing a network utilizing credentials
US8468217B2 (en) * 2006-07-26 2013-06-18 International Business Machines Corporation Maintaining portlet data currency while minimizing latency
US7840514B2 (en) 2006-09-22 2010-11-23 Maxsp Corporation Secure virtual private network utilizing a diagnostics policy and diagnostics engine to establish a secure network connection
US9317506B2 (en) 2006-09-22 2016-04-19 Microsoft Technology Licensing, Llc Accelerated data transfer using common prior data segments
US9178793B1 (en) * 2006-09-29 2015-11-03 Yahoo! Inc. Engine for processing content rules associated with locations in a page
US8423821B1 (en) 2006-12-21 2013-04-16 Maxsp Corporation Virtual recovery server
US7844686B1 (en) 2006-12-21 2010-11-30 Maxsp Corporation Warm standby appliance
US20080201645A1 (en) * 2007-02-21 2008-08-21 Francis Arthur R Method and Apparatus for Deploying Portlets in Portal Pages Based on Social Networking
US7849157B2 (en) * 2007-05-23 2010-12-07 Oracle International Corporation System and method for consumer entitlements in portal services
US7996770B2 (en) 2007-08-08 2011-08-09 International Business Machines Corporation Portal interaction using ontology-based dictionaries
US8943432B2 (en) * 2007-08-29 2015-01-27 International Business Machines Corporation Dynamically configurable portlet
US8352966B2 (en) * 2007-09-11 2013-01-08 Yahoo! Inc. System and method of inter-widget communication
US8005786B2 (en) * 2007-09-20 2011-08-23 Microsoft Corporation Role-based user tracking in service usage
US7958142B2 (en) * 2007-09-20 2011-06-07 Microsoft Corporation User profile aggregation
US8307239B1 (en) 2007-10-26 2012-11-06 Maxsp Corporation Disaster recovery appliance
US8175418B1 (en) 2007-10-26 2012-05-08 Maxsp Corporation Method of and system for enhanced data storage
US8645515B2 (en) * 2007-10-26 2014-02-04 Maxsp Corporation Environment manager
US7818372B1 (en) * 2008-01-16 2010-10-19 Sprint Communications Company L.P. Web portal framework for open innovation
US9817822B2 (en) 2008-02-07 2017-11-14 International Business Machines Corporation Managing white space in a portal web page
US8364699B2 (en) * 2008-11-14 2013-01-29 Morgan Stanley Commodities framework
KR101711863B1 (ko) 2008-11-26 2017-03-13 캘거리 싸이언티픽 인코포레이티드 애플리케이션 프로그램의 상태에 대한 원격 액세스를 제공하기 위한 방법 및 시스템
US8683073B2 (en) * 2008-12-11 2014-03-25 Microsoft Corporation Participating with and accessing a connectivity exchange
US9992253B2 (en) 2011-08-15 2018-06-05 Calgary Scientific Inc. Non-invasive remote access to an application program
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
CA2679494C (en) * 2009-09-17 2014-06-10 Ibm Canada Limited - Ibm Canada Limitee Consolidating related task data in process management solutions
US8977969B2 (en) 2009-11-02 2015-03-10 International Business Machines Corporation Dynamic web portal page
US8539514B2 (en) * 2010-11-30 2013-09-17 Verizon Patent And Licensing Inc. Workflow integration and portal systems and methods
KR101172663B1 (ko) * 2010-12-31 2012-08-08 엘지전자 주식회사 이동 단말기 및 그 애플리케이션 그룹화 방법
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
CN102739603B (zh) 2011-03-31 2015-10-21 国际商业机器公司 单点登录的方法和设备
EP2745467A4 (en) 2011-08-15 2015-10-14 Calgary Scient Inc METHOD FOR FLOW CONTROL AND RELIABLE COMMUNICATION IN A COMMUNITY ENVIRONMENT
WO2013046015A1 (en) 2011-09-30 2013-04-04 Calgary Scientific Inc. Uncoupled application extensions including interactive digital surface layer for collaborative remote application sharing and annotating
WO2013076554A1 (en) 2011-11-23 2013-05-30 Calgary Scientific Inc. Methods ans systems for collaborative remote application sharing and conferencing
US10789412B2 (en) * 2012-02-20 2020-09-29 Wix.Com Ltd. System and method for extended dynamic layout
DE102013202782A1 (de) * 2012-02-20 2013-08-22 Wixpress Ltd Server-basiertes Webseiten-Designsystem, das ein dynamisches Layout und dynamischen Inhalt integriert
WO2013128284A1 (en) 2012-03-02 2013-09-06 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
US9460303B2 (en) * 2012-03-06 2016-10-04 Microsoft Technology Licensing, Llc Operating large scale systems and cloud services with zero-standing elevated permissions
US9307035B1 (en) 2012-03-14 2016-04-05 Liferay, Inc. Managing social equity in a portal platform
US9729673B2 (en) * 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
US9632988B2 (en) 2012-07-12 2017-04-25 International Business Machines Corporation Autonomous gadget management system
CN103973641B (zh) * 2013-01-29 2017-08-25 国际商业机器公司 管理不同网站的会话的方法及装置
US9277028B2 (en) 2013-02-06 2016-03-01 Sap Portals Israel Ltd Synchronizing user relationship across computer systems implementing workspaces
BR112015019003B1 (pt) 2013-02-10 2022-06-28 Wix.Com Ltd Dispositivo para um sistema de construção de website, e método para um sistema de construção de website
US20150026659A1 (en) * 2013-07-19 2015-01-22 Frank Ding System and method for programming and controlling instruments
EP2869214B1 (en) 2013-10-31 2021-01-20 Hewlett-Packard Enterprise Development LP Methods to update portals
CN105765923B (zh) 2013-11-29 2019-11-12 卡尔加里科技股份有限公司 客户端-服务器远程访问***中提供客户端到非托管服务的连接的方法
US9609068B2 (en) * 2013-12-16 2017-03-28 Fuji Xerox Co., Ltd. Session management system, session management apparatus, and non-transitory computer readable medium
WO2016120730A1 (en) 2015-01-30 2016-08-04 Calgary Scientific Inc. Highly scalable, fault tolerant remote access architecture and method of connecting thereto
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
US9860221B2 (en) * 2015-03-10 2018-01-02 Intel Corporation Internet of things group formation using a key-based join protocol
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
US10931682B2 (en) 2015-06-30 2021-02-23 Microsoft Technology Licensing, Llc Privileged identity management
US10789080B2 (en) * 2015-07-17 2020-09-29 Microsoft Technology Licensing, Llc Multi-tier customizable portal deployment system
JP6657681B2 (ja) * 2015-09-02 2020-03-04 富士ゼロックス株式会社 サーバ装置及びプログラム
US20180052943A1 (en) * 2016-08-18 2018-02-22 Qualcomm Incorporated Systems and methods for controlling webpage pre-rendering

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2233620A (en) 1939-10-09 1941-03-04 Commerical Solvents Corp Process for improving the thermal stability of nitroparaffins
US5634127A (en) 1994-11-30 1997-05-27 International Business Machines Corporation Methods and apparatus for implementing a message driven processor in a client-server environment
US6049820A (en) 1996-06-03 2000-04-11 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
US6006266A (en) 1996-06-03 1999-12-21 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US5884316A (en) 1996-11-19 1999-03-16 Microsoft Corporation Implicit session context system with object state cache
US5915087A (en) 1996-12-12 1999-06-22 Secure Computing Corporation Transparent security proxy for unreliable message exchange protocols
US5941988A (en) 1997-01-27 1999-08-24 International Business Machines Corporation Session and transport layer proxies via TCP glue
US6041357A (en) 1997-02-06 2000-03-21 Electric Classified, Inc. Common session token system and protocol
US6061741A (en) 1997-05-28 2000-05-09 International Business Machines Corporation Method and apparatus for synchronization of connectionless applications across a network by using simple encryption tokens
US6170012B1 (en) 1997-09-12 2001-01-02 Lucent Technologies Inc. Methods and apparatus for a computer network firewall with cache query processing
US5941954A (en) 1997-10-01 1999-08-24 Sun Microsystems, Inc. Network message redirection
US5907681A (en) * 1997-10-20 1999-05-25 International Business Machines Corporation Intelligent method, apparatus and computer program product for automated refreshing of internet web pages
US6301011B1 (en) 1997-11-07 2001-10-09 Xerox Corporation Dynamic plug and play interface for output device
US6286060B1 (en) 1998-06-26 2001-09-04 Sun Microsystems, Inc. Method and apparatus for providing modular I/O expansion of computing devices
US6219706B1 (en) 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US7937325B2 (en) * 1998-12-08 2011-05-03 Yodlee.Com, Inc. Interactive bill payment center
US6412073B1 (en) 1998-12-08 2002-06-25 Yodiee.Com, Inc Method and apparatus for providing and maintaining a user-interactive portal system accessible via internet or other switched-packet-network
US6424979B1 (en) 1998-12-30 2002-07-23 American Management Systems, Inc. System for presenting and managing enterprise architectures
US6401085B1 (en) 1999-03-05 2002-06-04 Accenture Llp Mobile communication and computing system and method
US6356905B1 (en) 1999-03-05 2002-03-12 Accenture Llp System, method and article of manufacture for mobile communication utilizing an interface support framework
JP3764016B2 (ja) 1999-05-10 2006-04-05 財団法人流通システム開発センタ− 統合ip転送網
US7275086B1 (en) * 1999-07-01 2007-09-25 Intellisync Corporation System and method for embedding a context-sensitive web portal in a computer application
US7028264B2 (en) * 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
AU1221001A (en) 1999-11-04 2001-05-14 Abilizer Solutions, Inc. Employee portal and method of use therefor
EP1117220A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
EP1117050A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Individual data representation
US7243136B2 (en) * 2000-01-18 2007-07-10 Inktomi Corporation Approach for managing and providing content to users
WO2001059623A2 (en) * 2000-02-08 2001-08-16 Onepage, Inc. System and method for dynamic aggregation of content distributed over a computer network
WO2001081829A1 (en) * 2000-04-27 2001-11-01 Brio Technology, Inc. Method and apparatus for processing jobs on an enterprise-wide computer system
US6327628B1 (en) * 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
US20020055956A1 (en) * 2000-09-08 2002-05-09 Krasnoiarov Boris Andreyevich Method and system for assembling concurrently-generated content
US6738804B1 (en) * 2000-09-15 2004-05-18 Yodlee.Com, Inc. Method and apparatus for enabling sectored data refreshing of Web-site data during session
US7051069B2 (en) * 2000-09-28 2006-05-23 Bea Systems, Inc. System for managing logical process flow in an online environment
CA2322594C (en) * 2000-10-06 2005-01-11 Ibm Canada Limited-Ibm Canada Limitee System and method for managing web page components
US7640512B1 (en) * 2000-12-22 2009-12-29 Automated Logic Corporation Updating objects contained within a webpage
US7000008B2 (en) * 2001-04-16 2006-02-14 Sun Microsystems, Inc. Method, system, and program for providing data updates to a page including multiple regions of dynamic content
US7502833B2 (en) * 2001-05-11 2009-03-10 International Business Machines Corporation Method for dynamically integrating remote portlets into portals
US20030014442A1 (en) * 2001-07-16 2003-01-16 Shiigi Clyde K. Web site application development method using object model for managing web-based content
US6922695B2 (en) * 2001-09-06 2005-07-26 Initiate Systems, Inc. System and method for dynamically securing dynamic-multi-sourced persisted EJBS
US6985939B2 (en) * 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services
WO2003036521A1 (en) * 2001-10-24 2003-05-01 Bea Systems, Inc. Data synchronization
US6918088B2 (en) * 2001-11-05 2005-07-12 Sun Microsystems, Inc. Service portal with application framework for facilitating application and feature development
US7062511B1 (en) * 2001-12-31 2006-06-13 Oracle International Corporation Method and system for portal web site generation
US6871197B1 (en) * 2002-02-25 2005-03-22 Oracle International Corporation Method and mechanism for a web based knowledge management tool
US20030187956A1 (en) * 2002-04-01 2003-10-02 Stephen Belt Method and apparatus for providing access control and content management services
US7103844B2 (en) * 2002-06-26 2006-09-05 International Business Machines Corporation Portal/portlet application data synchronization
US7149960B1 (en) * 2002-07-17 2006-12-12 Novell, Inc. Method and apparatus for controlling creation and management of pages of portal content in a directory
US7523174B2 (en) * 2002-10-15 2009-04-21 International Business Machines Corporation Dynamic portal assembly
US20040090969A1 (en) * 2002-11-12 2004-05-13 International Business Machines Corporation Portlet data sharing system, method, and program product
US8527636B2 (en) * 2002-12-02 2013-09-03 Sap Aktiengesellschaft Session-return enabling stateful web applications
US7146563B2 (en) * 2003-05-29 2006-12-05 International Business Machines Corporation Maintaining screen and form state in portlets
US7376739B2 (en) * 2004-02-11 2008-05-20 International Business Machines Corporation Persistence of inter-application communication patterns and behavior under user control
US7451194B2 (en) * 2004-03-04 2008-11-11 International Business Machines Corporation Timely update of information displayed within a portal
US20050262075A1 (en) * 2004-05-21 2005-11-24 Bea Systems, Inc. Systems and methods for collaboration shared state management
US20060069714A1 (en) * 2004-09-08 2006-03-30 Blount Marion L System enhancement using client context information

Also Published As

Publication number Publication date
KR100819021B1 (ko) 2008-04-02
KR20050055745A (ko) 2005-06-13
US20090292800A1 (en) 2009-11-26
EP1546925A2 (en) 2005-06-29
CA2406569C (en) 2011-03-22
CN100492355C (zh) 2009-05-27
AU2003267666A1 (en) 2004-04-23
US20090287775A1 (en) 2009-11-19
CA2406569A1 (en) 2004-04-04
US8015240B2 (en) 2011-09-06
JP2006501557A (ja) 2006-01-12
TWI277881B (en) 2007-04-01
CN1703700A (zh) 2005-11-30
IL167738A (en) 2010-12-30
US7533142B2 (en) 2009-05-12
WO2004031985A2 (en) 2004-04-15
TW200413967A (en) 2004-08-01
WO2004031985A3 (en) 2004-07-01
US8055705B2 (en) 2011-11-08
US20060031377A1 (en) 2006-02-09

Similar Documents

Publication Publication Date Title
JP4473128B2 (ja) ウェブ・ポータルの関連するポートレットが、同期されたコンテンツ表示のために協働することを可能にする方法および装置
JP4456485B2 (ja) ポータル・サーバにおいてポートレットの集合を管理する方法および装置
JP4218759B2 (ja) ポータル・サーバからセッション情報を中継する方法および装置
US20060235935A1 (en) Method and apparatus for using business rules or user roles for selecting portlets in a web portal
EP1117220A1 (en) Method and system for protocol conversion
JP2009531793A (ja) ウェブコミュニティおよびウェブアプリケーションのデータを変換するシステムおよび方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060711

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090129

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100223

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100304

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4473128

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

EXPY Cancellation because of completion of term