JP4218759B2 - ポータル・サーバからセッション情報を中継する方法および装置 - Google Patents

ポータル・サーバからセッション情報を中継する方法および装置 Download PDF

Info

Publication number
JP4218759B2
JP4218759B2 JP2004540933A JP2004540933A JP4218759B2 JP 4218759 B2 JP4218759 B2 JP 4218759B2 JP 2004540933 A JP2004540933 A JP 2004540933A JP 2004540933 A JP2004540933 A JP 2004540933A JP 4218759 B2 JP4218759 B2 JP 4218759B2
Authority
JP
Japan
Prior art keywords
portlet
application
session
user
portal
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
JP2004540933A
Other languages
English (en)
Other versions
JP2006502477A (ja
JP2006502477A5 (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 JP2006502477A publication Critical patent/JP2006502477A/ja
Publication of JP2006502477A5 publication Critical patent/JP2006502477A5/ja
Application granted granted Critical
Publication of JP4218759B2 publication Critical patent/JP4218759B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/954Navigation, e.g. using categorised browsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明はインターネットに関し、より詳細には、ウェブ・アプリケーションでポータルおよびポートレットを生成および使用して、ウェブ・サイトに関する機能を向上する方法および装置に関する。
ワールド・ワイド・ウェブは、ユーザにグラフィカル情報を搬送する、インターネットを介する通信へのパラダイム・シフトをもたらした。ウェブの出現と共に、通信性および高域接続性が依然としてますます求められている。
ポータル(以前はウェブ・ポータルと呼ばれていた)は、インターネット空間において大きなパラダイム・シフトをもたらした。Eメール、フォーラム、検索エンジン、データベース、その他の情報などの多数の資源またはサービスを提供するウェブ・サイトはポータルとみなすことができる。最初のウェブ・ポータルはオンライン・サービスであった。最初は、インターネットをサーフィンするユーザが、ワールド・ワイド・ウェブの様々なサイトから来る情報を集めて提供するウェブ・ページを見ることができたが、集合の構成はユーザに透過的であった。典型的なウェブ・ブラウザを利用するユーザは、表示される結合ウェブ・ページを見る。閲覧しているウェブ・サイトに関連しない、様々なインターネット・サイトからのページの様々な部分の起源は容易には識別できない。こうした部分はポートレットと呼ばれる。
ポートレットは、エンド・ユーザがそのポータル・ページ内に見る、目に見えるアクティブな構成要素である。PCデスクトップ内のウィンドウと同様に、各ポートレットは、結果をそこに表示する、ブラウザまたは携帯情報端末の一部を「所有」する。
ユーザの観点からは、ポートレットは、ユーザがそれに加入し、ユーザの個人ポータル・ページにそれを追加し、パーソナライズしたコンテンツを表示するようにそれを構成するコンテンツ・チャネルまたはアプリケーションである。
コンテンツ・プロバイダの観点からは、ポートレットは、コンテンツ・プロバイダのコンテンツを利用できるようにする手段である。
ポータル管理者の観点からは、ポートレットは、ポータルに登録することのできるコンテンツ・コンテナであり、それによってユーザはそれに加入することができる。
ポータルの観点からは、ポートレットは、ポータルのページの1つにレンダリングされる構成要素である。
技術的観点からは、ポートレットはポータル・サーバ上で動作し、ポータル・ページに埋め込むべきコンテンツを提供する1つのコードまたは小規模アプリケーションである。最も単純な言い方として、ポートレットは、ポータル内部で動作するJava(R)サーブレットでよい。
(通常はワールド・ワイド・ウェブ中の様々な場所を源とする)所与のページの各部分(ポートレット)は、同じページの別の部分(ポートレット)と協働して、ページにサーフィンまたはアクセスするユーザに対してより高い機能を達成することができる。したがって、ポータルは、複数のユーザにとって、複数のチャネルを介する複数の情報源への単一アクセス・ポイントとなる。
ポータルは様々なビジネス・モデル、すなわちB2C、B2B、またはB2Eに応用することができる。ポータル・パラダイムの急速な採用の鍵は、既存のウェブ・アプリケーション・データをシームレスにポータル・フレームワークに統合できることに強く結びついている。
しかし、そのようなシームレスなウェブ・アプリケーションのポータルへの統合に関して様々な技術的障害が依然として存在している。
ユーザがポータル・ページにアクセスするとき、各ユーザについての元のhttp要求が、ポータル・サーバに向けて送られる。各ポートレットは、ポートレット・セッションと呼ばれるそれ自体の独立セッションを有する。ポートレットが所与のウェブ・アプリケーションから来る情報をレンダリングする必要があるとき、様々のポートレットから所与のウェブ・アプリケーションに対して生成されたこうした複数のhttp要求を、ウェブ・アプリケーションの観点から1つの結合httpセッションとして維持する機構が存在しない。それに加えて、複数のポートレット・セッション間のセッション情報をウェブ・アプリケーション・セッションに中継する既存の機構が存在しない。ポートレットからのセッション情報を、ウェブ・アプリケーションが正確にレンダリングするためにウェブ・アプリケーションに転送する必要がある。ポートレット・セッションからウェブ・アプリケーションに転送する必要がある重要なセッション情報の例には、ロケール情報、ユーザ・エージェント、およびセッション・タイムアウト情報が含まれる。
従来技術では、以下のポータル・アーチファクトがどのように既存のウェブ・アプリケーションと一緒に働くかに関して制限がある。ウェブ・アプリケーションのポータル・アーキテクチャへの統合の実施は明確ではない。こうしたエンティティには以下のものが含まれる。
ポータルに対する元の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つまたは複数の欠点に対処する。
本発明は、ポータルから関連するポートレットへのセッション情報をバックエンド・ウェブ・アプリケーションに中継する方法を提供する。これにより、ポータルからバックエンド・ウェブ・アプリケーションへのセッション情報の中継が可能となり、ウェブ・アプリケーションが、ポータルによって提供されるセッション情報に従って一貫して振る舞うことが可能となる。
本発明の一実施形態は、ユーザ・セッション情報を格納するユーザ・セッション情報ストア(マッピング・テーブル)を提供する。関連するポートレットは、ポートレットに対するユーザ要求からのデータおよび命令を格納するポートレット要求パラメータ・マップを有する。ポートレット要求からのこうしたパラメータは、前記ポートレットからのhttp要求からウェブ・アプリケーション・バックエンドに中継されている。
ロケール、セッション・タイムアウトなどの重要なセッション情報をバックエンド・アプリケーションに中継することができる。
本発明の一実施形態では、ポータル・サーバとそのバックエンド・ウェブ・アプリケーションとの間の共通セッション・データの共有のためのセッション中継実装を有することが可能となり、バックエンド・ウェブ・アプリケーションが、バックエンド・ウェブ・アプリケーションが利用すべきポータル・サーバから情報を受け取り、バックエンド・ウェブ・アプリケーションの応答をポータル・サーバの応答と同期することが可能となる。
本発明の一実施形態は、ウェブ・アプリケーションに関するウェブ・ポータルをユーザに表示する装置において、ウェブ・ポータルが、互いに情報を共有し、ユーザがアクセス可能な複数の関連するポートレットを表示する装置であって、ウェブ・ポータルを操作してウェブ・アプリケーションへのアクセスを実現するポータル・サーバと、ポータル・サーバ上で動作し、関連するポートレットの集合を管理するポートレット・アプリケーションとを含み、ポートレット・アプリケーションが、ウェブ・アプリケーションにアクセスすることをユーザが要求したときにポートレットを開始する手段と、ポートレットに関するポートレット・アプリケーション・セッション・オブジェクトを管理する手段と、ポートレット・アプリケーション・セッション・オブジェクトによって制御され、ポートレットをポートレット・アプリケーション・セッション・オブジェクトと関連付けるユーザ要求からのパラメータを保存するポートレット・アプリケーション・セッション・オブジェクト・データ・ストアとを含む装置を提供する。
本発明の装置は、ポートレット・アプリケーション・セッション・オブジェクトと前記ウェブ・アプリケーションとの間で通信して、関連するポートレットから受信したユーザ要求をウェブ・アプリケーションに搬送するためのポートレット・アプリケーション内のポートレット・アプリケーション通信クライアントを含むことができる。ポートレット・アプリケーションは、ポートレット・アプリケーション・セッション・オブジェクトに関連する各ポートレットに共通鍵を割り当てることができる。
本発明の別の実施形態は、ウェブ・アプリケーションに関するウェブ・ポータルを複数のユーザに表示する装置において、ウェブ・ポータルが、情報を共有し、ユーザがアクセス可能な複数の関連するポートレットを表示する装置であって、ウェブ・ポータルを操作してウェブ・アプリケーションへのアクセスを実現するポータル・サーバと、複数の各ユーザについてのポータル・サーバ上で動作し、複数の各ユーザについて関連するポートレットの集合を管理するポートレット・アプリケーションとを含み、各ポートレット・アプリケーションが、ウェブ・アプリケーションにアクセスすることを複数のユーザのうちの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モデル
図17に示す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 (8)

  1. ウェブ・アプリケーションにアクセスするユーザ要求に応答する関連するポートレットの集合を管理するポータル・サーバ・システムのための装置であって、
    ポートレット毎にかつポータル・サーバ・セッション毎に作成される要求パラメータ・マップに、前記関連するポートレットに対するユーザ要求からの各ポートレットのポートレット・セッションに含まれるユーザ・セッション情報を含むパラメータを保存するポートレット・アプリケーション・セッション手段と、
    前記ポートレット・アプリケーション・セッション手段にリンクされ、前記関連するポートレットの集合の各ポートレットと前記ウェブ・アプリケーションとの間で通信するポートレット・アプリケーション通信クライアントとを含み、
    前記関連するポートレットの集合の間で、前記ポートレット・アプリケーション・セッション手段及び前記ポートレット・アプリケーション通信クライアントが共有されており、
    前記ポートレット・アプリケーション通信クライアントは、元のポートレット・セッションからユーザ証明書を記憶して、該ユーザ証明書と前記要求パラメータ・マップに保存されたパラメータとに応じて前記ウェブ・アプリケーションに対する新たなウェブ要求を構築して前記ウェブ・アプリケーションに搬送する装置。
  2. 前記要求パラメータ・マップはユーザ・セッション情報ストアに格納され、前記ポートレット・アプリケーション通信クライアントが、前記ユーザ・セッション情報ストアを含む請求項1に記載の装置。
  3. 前記ユーザ・セッション情報ストアは、前記ユーザ・セッション情報を、前記ウェブ・アプリケーションの対応するセッションにマッピングする情報を含む請求項2に記載の装置。
  4. 前記ポートレット・アプリケーション・セッション手段によって、前記ユーザ・セッション情報がユーザid、ユーザ証明書、言語プリファレンス、セッション・タイムアウト情報、セッションidを含むセットから選択され、前記ユーザ・セッション情報が前記ウェブ・アプリケーションの対応するセッションにマッピングされる請求項3に記載の装置。
  5. 前記セッション・タイムアウト情報が、前記ポータル・サーバ・システムおよび前記ウェブ・アプリケーションのセッション・タイムアウト情報を含む、請求項4に記載の装置。
  6. 前記ウェブ・アプリケーションが前記ポータル・サーバ・システムより前にタイムアウトする場合、前記ユーザ・セッション情報ストアに格納された情報からユーザを再認証することによって前記ポータル・サーバ・システムと前記ウェブ・アプリケーションの間のセッション・タイムアウトを合致させる前記ポートレット・アプリケーション通信クライアントのための同期手段をさらに含む請求項5に記載の装置。
  7. ポータル・サーバ・システムにおいて実行される、ウェブ・アプリケーションにアクセスするというユーザ要求に応答する関連するポートレットの集合を管理するための方法であって、
    前記関連するポートレットの集合の間で、ポートレット・アプリケーション・セッション手段及びポートレット・アプリケーション通信クライアントが共有され、
    前記ポートレット・アプリケーション・セッション手段によって、ポートレット毎にかつポータル・サーバ・セッション毎に作成される要求パラメータ・マップに、前記関連するポートレットに対するユーザ要求からの各ポートレットのポートレット・セッションに含まれるユーザ・セッション情報を含むパラメータを保存するステップと、
    前記ポートレット・アプリケーション通信クライアントによって、前記関連するポートレットの集合の各ポートレットと前記ウェブ・アプリケーションとの間で通信するステップと、
    前記ポートレット・アプリケーション通信クライアントによって、元のポートレット・セッションからユーザ証明書を記憶して、該ユーザ証明書と前記要求パラメータ・マップに保存されたパラメータとに応じて前記ウェブ・アプリケーションに対する新たなウェブ要求を構築して前記ウェブ・アプリケーションに搬送するステップとを実行する方法。
  8. コンピュータを請求項1ないし6のいずれかに記載の装置として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2004540933A 2002-10-04 2003-10-01 ポータル・サーバからセッション情報を中継する方法および装置 Expired - Lifetime JP4218759B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA002406713A CA2406713C (en) 2002-10-04 2002-10-04 Method and apparatus for relaying session information from a portal server
PCT/GB2003/004201 WO2004031882A2 (en) 2002-10-04 2003-10-01 Method and apparatus for relaying session information from a portal server

Publications (3)

Publication Number Publication Date
JP2006502477A JP2006502477A (ja) 2006-01-19
JP2006502477A5 JP2006502477A5 (ja) 2007-08-02
JP4218759B2 true JP4218759B2 (ja) 2009-02-04

Family

ID=32046581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004540933A Expired - Lifetime JP4218759B2 (ja) 2002-10-04 2003-10-01 ポータル・サーバからセッション情報を中継する方法および装置

Country Status (12)

Country Link
US (1) US10880391B2 (ja)
EP (1) EP1552428B1 (ja)
JP (1) JP4218759B2 (ja)
KR (1) KR100827280B1 (ja)
CN (1) CN100492354C (ja)
AT (1) ATE380369T1 (ja)
AU (1) AU2003269214A1 (ja)
CA (1) CA2406713C (ja)
DE (1) DE60317917T2 (ja)
ES (1) ES2295625T3 (ja)
TW (1) TWI251755B (ja)
WO (1) WO2004031882A2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793394B2 (en) * 2003-12-03 2014-07-29 Nec Corporation Session relaying apparatus, session relay method, and session relay program
US8181112B2 (en) * 2004-05-21 2012-05-15 Oracle International Corporation Independent portlet rendering
GB0420673D0 (en) * 2004-09-17 2004-10-20 Ibm Data sharing system, method and software tool
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
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
US20070245334A1 (en) * 2005-10-20 2007-10-18 The Trustees Of Columbia University In The City Of New York Methods, media and systems for maintaining execution of a software process
US8280944B2 (en) * 2005-10-20 2012-10-02 The Trustees Of Columbia University In The City Of New York Methods, media and systems for managing a distributed application running in a plurality of digital processing devices
US20070233880A1 (en) * 2005-10-20 2007-10-04 The Trustees Of Columbia University In The City Of New York Methods, media and systems for enabling a consistent web browsing session on different digital processing devices
US8549646B2 (en) * 2005-10-20 2013-10-01 The Trustees Of Columbia University In The City Of New York Methods, media and systems for responding to a denial of service attack
US7577672B2 (en) * 2006-03-09 2009-08-18 Sap Ag Systems and methods for providing a portal including multiple windows
US7996855B2 (en) * 2006-09-15 2011-08-09 Oracle International Corporation Personal messaging application programming interface for integrating an application with groupware systems
US8463852B2 (en) * 2006-10-06 2013-06-11 Oracle International Corporation Groupware portlets for integrating a portal with groupware systems
US8656413B2 (en) * 2006-10-24 2014-02-18 Sap Ag On-demand wrappers of application data
CN101227488A (zh) * 2007-01-17 2008-07-23 华为技术有限公司 一种注册式门户程序通信系统、通信装置和方法
US8032858B2 (en) * 2007-08-28 2011-10-04 International Business Machines Corporation Method and system for navigationally displaying HTTP session entry and exit points
US8607197B2 (en) * 2007-08-28 2013-12-10 International Business Machines Corporation Displaying HTTP session entry and exit points
US8943432B2 (en) 2007-08-29 2015-01-27 International Business Machines Corporation Dynamically configurable portlet
EP2048852B1 (en) * 2007-10-08 2016-01-27 Fifthplay NV Service aggregation system and method
US20090138609A1 (en) * 2007-11-27 2009-05-28 General Instrument Corporation Method and Apparatus for Maintaining User Sessions Across User Devices and Portals
US9817822B2 (en) 2008-02-07 2017-11-14 International Business Machines Corporation Managing white space in a portal web page
US8683073B2 (en) * 2008-12-11 2014-03-25 Microsoft Corporation Participating with and accessing a connectivity exchange
CN102447726A (zh) * 2010-10-15 2012-05-09 中兴通讯股份有限公司 页面访问方法及系统
US8781811B1 (en) * 2011-10-21 2014-07-15 Google Inc. Cross-application centralized language preferences
US9632988B2 (en) * 2012-07-12 2017-04-25 International Business Machines Corporation Autonomous gadget management system
US10051019B1 (en) 2012-11-09 2018-08-14 Wells Fargo Bank, N.A. System and method for session management
US10261985B2 (en) 2015-07-02 2019-04-16 Microsoft Technology Licensing, Llc Output rendering in dynamic redefining application
US9733993B2 (en) 2015-07-02 2017-08-15 Microsoft Technology Licensing, Llc Application sharing using endpoint interface entities
US9712472B2 (en) 2015-07-02 2017-07-18 Microsoft Technology Licensing, Llc Application spawning responsive to communication
US9785484B2 (en) 2015-07-02 2017-10-10 Microsoft Technology Licensing, Llc Distributed application interfacing across different hardware
US9733915B2 (en) 2015-07-02 2017-08-15 Microsoft Technology Licensing, Llc Building of compound application chain applications
US10198252B2 (en) 2015-07-02 2019-02-05 Microsoft Technology Licensing, Llc Transformation chain application splitting
US9658836B2 (en) 2015-07-02 2017-05-23 Microsoft Technology Licensing, Llc Automated generation of transformation chain compatible class
US9860145B2 (en) 2015-07-02 2018-01-02 Microsoft Technology Licensing, Llc Recording of inter-application data flow
US10031724B2 (en) 2015-07-08 2018-07-24 Microsoft Technology Licensing, Llc Application operation responsive to object spatial status
US10198405B2 (en) 2015-07-08 2019-02-05 Microsoft Technology Licensing, Llc Rule-based layout of changing information
US10277582B2 (en) 2015-08-27 2019-04-30 Microsoft Technology Licensing, Llc Application service architecture
CN110311895B (zh) * 2019-05-28 2022-07-08 深圳壹账通智能科技有限公司 基于身份验证的会话权限校验方法、系统及电子设备
CN111045749B (zh) * 2019-12-18 2021-06-08 青岛海信传媒网络技术有限公司 应用程序启动方法及设备
JP7377832B2 (ja) * 2021-05-21 2023-11-10 フリー株式会社 プログラム、情報処理装置及び方法

Family Cites Families (49)

* 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
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
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
WO2001033392A2 (en) 1999-11-04 2001-05-10 Abilizer Solutions, Inc. Employee portal and method of use therefor
EP1117050A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Individual data representation
EP1117220A1 (en) 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
US6735586B2 (en) 2000-02-08 2004-05-11 Sybase, Inc. System and method for dynamic content retrieval
US6327628B1 (en) 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
US7051069B2 (en) 2000-09-28 2006-05-23 Bea Systems, Inc. System for managing logical process flow in an online environment
US7502833B2 (en) * 2001-05-11 2009-03-10 International Business Machines Corporation Method for dynamically integrating remote portlets into portals
WO2003009177A1 (en) 2001-07-16 2003-01-30 Dh Labs, Inc. 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
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
AU2003239326A1 (en) * 2002-05-01 2003-11-17 Bea Systems, Inc. Enterprise application platform
US7103844B2 (en) * 2002-06-26 2006-09-05 International Business Machines Corporation Portal/portlet application data synchronization
CA2406569C (en) * 2002-10-04 2011-03-22 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display
CA2406876A1 (en) * 2002-10-04 2004-04-04 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for managing a collection of portlets in a portal server
US7523174B2 (en) 2002-10-15 2009-04-21 International Business Machines Corporation Dynamic portal assembly
JP4571509B2 (ja) 2002-12-02 2010-10-27 エスアーペー アーゲー セッション復帰可能な、処理状態を把握するウェブアプリケーション
US6917975B2 (en) * 2003-02-14 2005-07-12 Bea Systems, Inc. Method for role and resource policy management
US7536714B2 (en) * 2003-07-11 2009-05-19 Computer Associates Think, Inc. System and method for synchronizing login processes
US7349968B2 (en) * 2003-07-31 2008-03-25 International Business Machines Corporation Method, system and program product for asynchronously processing requests
US7380009B2 (en) * 2003-08-07 2008-05-27 Interantional Business Machines, Incorporated Method, system and program product for delayed disconnection of a client from a server
US7376739B2 (en) 2004-02-11 2008-05-20 International Business Machines Corporation Persistence of inter-application communication patterns and behavior under user control
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
US8204931B2 (en) * 2004-12-28 2012-06-19 Sap Ag Session management within a multi-tiered enterprise network

Also Published As

Publication number Publication date
CA2406713A1 (en) 2004-04-04
KR100827280B1 (ko) 2008-05-07
EP1552428A2 (en) 2005-07-13
US10880391B2 (en) 2020-12-29
EP1552428B1 (en) 2007-12-05
AU2003269214A8 (en) 2004-04-23
CN100492354C (zh) 2009-05-27
KR20050055746A (ko) 2005-06-13
CN1703699A (zh) 2005-11-30
DE60317917T2 (de) 2008-11-27
JP2006502477A (ja) 2006-01-19
CA2406713C (en) 2009-06-30
AU2003269214A1 (en) 2004-04-23
WO2004031882A2 (en) 2004-04-15
WO2004031882A3 (en) 2005-04-14
US20060089990A1 (en) 2006-04-27
TWI251755B (en) 2006-03-21
TW200413968A (en) 2004-08-01
DE60317917D1 (de) 2008-01-17
ES2295625T3 (es) 2008-04-16
ATE380369T1 (de) 2007-12-15

Similar Documents

Publication Publication Date Title
JP4473128B2 (ja) ウェブ・ポータルの関連するポートレットが、同期されたコンテンツ表示のために協働することを可能にする方法および装置
JP4218759B2 (ja) ポータル・サーバからセッション情報を中継する方法および装置
JP4456485B2 (ja) ポータル・サーバにおいてポートレットの集合を管理する方法および装置
US20060235935A1 (en) Method and apparatus for using business rules or user roles for selecting portlets in a web portal
US7269664B2 (en) Network portal system and methods
KR20040000873A (ko) 단일 컨텐츠 지원하의 멀티유저 호스팅 서비스 시스템 및방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060830

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080128

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20080128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080604

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: 20081021

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20081022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081104

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4218759

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term