JP2007527587A - アプリケーションサーバ及びトランザクションベースシステムにおけるコンテキスト伝搬のためのシステム及び方法 - Google Patents
アプリケーションサーバ及びトランザクションベースシステムにおけるコンテキスト伝搬のためのシステム及び方法 Download PDFInfo
- Publication number
- JP2007527587A JP2007527587A JP2007502128A JP2007502128A JP2007527587A JP 2007527587 A JP2007527587 A JP 2007527587A JP 2007502128 A JP2007502128 A JP 2007502128A JP 2007502128 A JP2007502128 A JP 2007502128A JP 2007527587 A JP2007527587 A JP 2007527587A
- Authority
- JP
- Japan
- Prior art keywords
- context
- information
- application
- requests
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5016—Session
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】アプリケーションサーバ、メッセージングシステム、及びトランザクションベースシステム内でコンテキスト伝搬するためのシステム及び方法を提供する。
【解決手段】コンテキストエリアは、ユーザが、システムの内部及び外部の両方に対して、その後全てのリクエストと共に搬送されるアプリケーションと情報を関連付けできるようにする。ダウンストリームコンポーネントは、それが発信者に逆戻りして搬送され得るように、この情報に追加し又はこの情報を変更し得る。この機能性に対する共通のユースケースは、診断モニタリング、アプリケーショントランザクション、アプリケーション負荷平衡、及び情報が帯域外で搬送される必要がある全く任意の状況を含む。帯域外情報を伝搬するための能力は、ユーザAPIの汚染を妨げ、また、リードオンリー(すなわちサードパーティ)コンポーネントに対する情報の追加を許容する。
【選択図】図2
【解決手段】コンテキストエリアは、ユーザが、システムの内部及び外部の両方に対して、その後全てのリクエストと共に搬送されるアプリケーションと情報を関連付けできるようにする。ダウンストリームコンポーネントは、それが発信者に逆戻りして搬送され得るように、この情報に追加し又はこの情報を変更し得る。この機能性に対する共通のユースケースは、診断モニタリング、アプリケーショントランザクション、アプリケーション負荷平衡、及び情報が帯域外で搬送される必要がある全く任意の状況を含む。帯域外情報を伝搬するための能力は、ユーザAPIの汚染を妨げ、また、リードオンリー(すなわちサードパーティ)コンポーネントに対する情報の追加を許容する。
【選択図】図2
Description
本発明は、概して、アプリケーションサーバ、メッセージングシステム及びトランザクションベースシステムに関し、より詳細には、それらのシステムにおけるコンテキスト伝搬のためのシステム及び方法に関する。
[優先権主張]
出願番号第60/572,647のアプリケーションサーバ及びトランザクションベースシステムにおけるコンテキスト伝搬のためのシステム及び方法と題する米国仮出願は、Andrew Piperによって2004年5月19日に出願され(Atty.Docket番号:BEAS−01548US0)、この中に参照によって取り込まれるものである。
出願番号第60/572,647のアプリケーションサーバ及びトランザクションベースシステムにおけるコンテキスト伝搬のためのシステム及び方法と題する米国仮出願は、Andrew Piperによって2004年5月19日に出願され(Atty.Docket番号:BEAS−01548US0)、この中に参照によって取り込まれるものである。
出願番号第___のアプリケーションサーバ及びトランザクションベースシステムにおけるコンテキスト伝搬のためのシステム及び方法と題する米国特許出願は、Andrew Piperによって2005年5月16日に出願され(Atty.Docket番号:BEAS−01548US1)、この中に参照によって取り込まれるものである。
Java(登録商標、以下同様)プログラミング言語およびJava2エンタープライズエディション(J2EE)は、多段の又は多層のソフトウェアアプリケーション開発用のフレームワークを提供する。これらのアプリケーションは、セキュリティサービス及びトランザクションサービスなどの標準的な組織全体のサービスを利用する。J2EEソフトウェア開発セットの例は、BEAシステムIncからウェブロジックサーバ(WLS)およびウェブロジックインテグレーション(WLI)生成を含んでいる。ソフトウェア開発者は、これらの開発セットを利用し、アプリケーションサーバ上に配備される複雑なアプリケーションであって、いろいろなソース−おそらく開発セットの異なるサブシステム又は企業内開発されたコンポーネント又はサードパーティコンポーネントからのコンポーネントを順番に利用する複雑なアプリケーションを開発する。
しかしながら、これらの異なるコンポーネントの全てを最終的なアプリケーションに統合することは、自明な事項ではない。多くの例において、アプリケーションは、全てのコンポーネントのために全ての方式に関するパラメータとして現実的に宣言され得ないデータを必要とする。幾つかのセキュリティ及びトランザクションコンポーネントがアプリケーションサーバフレームワークによって理解され得るコンテキスト情報を追加する能力を提供する一方で、伝統的な開発セットは、この特徴を拡張して特定のアプリケーションに的確であるコンテキストを追加するための能力を欠く。
この制限を解消するための1つの技術は、パラメータをシステムの各インターフェースに追加することである。しかしながら、これは困難であり、サードパーティコンポーネントが統合されなければならない場合には不可能になり得る。他の技術は、ポータブルインターセプタを利用するなどの中央セキュリティ主導者又は精巧な次善策に頼るものである。
Javaソフトウェアコミュニティで目下開発されている1つのアプローチは、Javaコミュニティプロセスワークエリア技術であり、一般にJSR−149仕様などに参照されており、この中に参照によって取り込まれる。ワークエリア仕様により、開発者はプロパティをアプリケーションコンテキストとして定義することができ、そのアプリケーションコンテキストは、その後、リモートリクエストをわたって流れ、ダウンストリームコンポーネントが特定の呼び出しクライアントのコンテキスト内で機能することができるようにする。特に、ワークエリアにより、J2EEコンポーネントは、プロパティを設定すると共に、特定のアプリケーションによって定義され、特定のリクエストと関連する分散型コンテキストに対して及び分散型コンテキストからプロパティを回復することができる。
しかしながら、上述の技術は、JSR−149を含めて、柔軟性を与えるものではない。それらは、例えば、RMIにおけるコールパラメータがAPIの一部でないかを理解されるようにする。アプリケーションコンテキストはまた、SPIが各ステップで再度プログラムされる必要がないように伝搬され得る。しかしながら、これらの技術は、例えば、企業のいたるところに診断情報を分散するための能力に容易に対して拡張され得ない。必要とされるのは、診断及び他の目的で、情報がシステムに対して通信され、その後、システムのいたるところに循環され得るより柔軟性のある手段である。
本発明の一実施形態によると、アプリケーションサーバ、メッセージシステム及びトランザクションベースシステム内のコンテキスト伝搬のためのシステム及び方法が提供される。コンテキストエリアにより、ユーザは、システムの内部及び外部に対して、情報を全てのリクエストに加えてその後に搬送されるアプリケーションと関連させることができる。ダウンストリームコンポーネントは、この情報に追加し又はこの情報を変更することができ、それは発信者に戻され得る。この機能に対する共通のユースケースは、診断モニタリング、アプリケーショントランザクション、アプリケーション負荷平衡及び情報が帯域外を搬送されることが必要である全く任意の状況を含んでいる。帯域外情報を伝搬する能力は、ユーザAPIの汚染を防ぎ、また、リードオンリー(すなわちサードパーティ)コンポーネントに対する情報の追加を可能する。
また、コンテキストエリア技術は、並んでいる配置に対して用いられ、そこでアプリケーションの異なるバージョンは展開され、特定の環境内で共存する。
なお、開発者は、リクエストの宛先及びどのように伝搬されるべきであるかを特定し得る。加えて、システムは、トランスポート特定のコンテキスト情報をそれらのトランスポートに関するリクエストをマーシャリングする際に使用するために提供でき、その技術は、例えば、JMS、SOAP又はサーブレットと共に用いられる。
システムは、特に、顧客、層をなした製品(特に統合化製品)、及び帯域外情報を送信する要求を有するサブシステムに対して有用である。
本発明の一実施形態によると、アプリケーションサーバ、メッセージングシステム及びトランザクションベースシステム内のコンテキスト伝搬のためのシステム及び方法が提供される。コンテキストエリアにより、システムに対する内部及び外部の両方のユーザは、情報を全てのリクエストに加えてその後に搬送されるアプリケーションと関連させることができる。ダウンストリームコンポーネントは、この情報に追加し又はこの方法を変更することができ、それは発信者に戻され得る。この機能に対する共通のユースケースは、診断モニタリング、アプリケーショントランザクション、アプリケーション負荷平衡、及び情報が帯域外を搬送されることが必要である全く任意の状況を含んでいる。帯域外情報を伝搬する能力は、ユーザAPIの汚染を妨げ、また、リードオンリー(すなわちサードパーティ)コンポーネントに対する情報の追加を可能にする。
コンテキストエリア技術はまた、並んでいる配置に対して用いられ、そこでアプリケーションの異なるバージョンは展開され、特定の環境内で共存する。
なお、開発者は、リクエストの宛先及びどのように伝搬されるべきであるかを特定し得る。
加えて、システムは、トランスポート特定のコンテキスト情報をそれらのトランスポートに関するリクエストをマーシャリングする際に使用するために提供でき、その技術は、例えば、JMS、SOAP又はサーブレットと共に用いられる。
システムは、特に、顧客、層をなした製品(特に統合化製品)、及び帯域外情報を送信する要求を有するサブシステムに対して有用である。
システムの可能性のある使用例は以下を含む。
アプリケーションサーバシステムのアドミニストレータは、なぜ特定のアプリケーションファンクションが過度に長時間を要するのかを決定することを必要とする。アドミニストレータは、コンテキストエリアサブシステムを介してシステムに入るリクエストに対する診断情報を追加するためのシステムを構成する。システムにおいて適切なポイントカットでインストールされる状況は、タイムスタンプ情報をContextAreaコンテキストに追加し、結果として生ずるデータは、アドミニストレータによって収納される。これはまた、リクエスト“ダイイング”として知られる。
アプリケーションサーバシステムのアドミニストレータは、なぜ特定のアプリケーションファンクションが過度に長時間を要するのかを決定することを必要とする。アドミニストレータは、コンテキストエリアサブシステムを介してシステムに入るリクエストに対する診断情報を追加するためのシステムを構成する。システムにおいて適切なポイントカットでインストールされる状況は、タイムスタンプ情報をContextAreaコンテキストに追加し、結果として生ずるデータは、アドミニストレータによって収納される。これはまた、リクエスト“ダイイング”として知られる。
アプリケーションクライアントは、サーバに対するリクエストの負荷平衡を保たせる必要がある。コンテキストエリアサブシステムは、クライアントが適切な負荷平衡を決定することができるように、負荷情報を応答に対して追加するのに用いられる。
性能を改善するために、EJB CMPコンテナは、それが内部のコンテキストを介して伝搬されるクライアントからのヒントに基づいて使用するキャッシュセットを変化させる。
自己同調機能は、優先度に基づいてリクエストを動的に類別する。
統合化サービスベンダ(ISV)は、それらの取引製品をアプリケーションサーバ(例えばWLS)に統合するのに必要である。ISVは、コンテキストエリアAPIを利用して、リクエストに対するアプリケーショントランザクションをWLSに追加する。ISVは、その後、適切なContextAreaコンテキストを検査することによって、WLSから出てくるリクエストをそれらのアプリケーショントランザクションと相関させる。
顧客は、アプリケーションデータに基づいたSOAPリクエストをフィルタリングしたいものである。顧客は、コンテキストエリアサブシステムを用いてアプリケーションデータを全てのSOAPリクエストに追加する。データはSOAPレベルで透過的であるので、それらは標準的なSOAPツールを用いてフィルタリングすることができる。
顧客は、自分のネットワークの至るところにグローバルセキュリティトークンを伝播したいものである(例えば、カーベロスチケット)。このトークンは、外国のサーバと相互作用するために用いられ得る。
顧客は、コンテキストエリアAPIを用いている自分のアプリケーションを、あるブランドのアプリケーションサーバから別のものに転送(移動)したいものである。
本システム及び方法の他の利用及び応用は、上述したものに加えてなされ得る。システムの利用は、ここに述べられている特定の例に限定されるものではないことは明らかであるが、その他の使用は、本発明の意図及び範囲内で開発され得るものである。
以下の用語は次の記載の範囲内で用いられる。
RMI−リモートメソッドインボケーション
WLS−ウェブロジックサーバ
WorkContextMap−スレッドローカルプロパティのセット
Context Data/Runtime Context/WorkContext−スレッドローカルプロパティ値
Application Transactions−JSR−95によって定義される拡張されたトランザクション
UserContextArea−オーバーラップする可能性のあるワークコンテキストマップのセット
Overlay/override−同じ名前を用いた別のものによるワークコンテキストの一時隠蔽
WLS−ウェブロジックサーバ
WorkContextMap−スレッドローカルプロパティのセット
Context Data/Runtime Context/WorkContext−スレッドローカルプロパティ値
Application Transactions−JSR−95によって定義される拡張されたトランザクション
UserContextArea−オーバーラップする可能性のあるワークコンテキストマップのセット
Overlay/override−同じ名前を用いた別のものによるワークコンテキストの一時隠蔽
図1は、コンテキスト伝搬を可能にする本発明の一実施形態に従う環境の例証を示す。図1に示されるように、クライアント100は、サーバ104で実行する1又は複数のアプリケーション106、108に関するリクエスト110を生成する。ユーザコンテキストエリア118は、クライアント又はアプリケーションJNDI環境の一部として提供され、JNDIを介してアクセスされ得る。ユーザコンテキストエリアは、オーバーラップする可能性のあるユーザコンテキストマップ120、122のセットを含んでいる。ユーザコンテキストマップは、コンテキストが異なる種類のリクエストを用いて伝搬されるようにする低レベルAPIのセットである。
図2は、本発明の一実施形態に従うコンテキスト伝搬に用いられるコンテキストエリアの例証を示す。図2に示されるように、コンテキストエリア136により、リクエスト134の発信者130は、ワークコンテキストマップ140を介したリクエストとコンテキスト144を関連させることができるようになる。コンテキストは、その後、システムにわたり他のコンポーネントに伝搬され得る。ダウンストリームコンポーネント148は、コンテキストを変更し又はコンテキストに追加し得る。この変更後のコンテキストは、その後、帯域外150に通信され、リクエストの発信者に戻され得る。
図3は、本発明の一実施形態に従うクライアント/サーバ環境におけるコンテキスト伝搬のための方法のフローチャートを示す。図3に示されるように、ステップ160では、ユーザコンテキストエリアは、どのユーザレベルAPI名が選択されようともプレースホールダーとして定義される。ステップ162では、クライアントは、アプリケーションに伝搬されることになる情報と共にリクエストにタグを付ける。ステップ164では、リクエストは、その後、アプリケーションに伝達される。ステップ166では、サーバは、必要に応じてコンテキスト情報にアクセスする。
図4は、本発明の一実施形態に従う帯域外のコンテキスト伝搬のための方法のフローチャートを示す。図4に示されるように、ステップ170では、ユーザコンテキストエリアが定義される。ステップ172では、リクエストの発信者は、一定のポリシー制約条件に基づいて伝搬されることになる情報と共にリクエストにタグを付ける。ステップ174では、リクエストが、その後、アプリケーションに伝達される。ステップ176では、伝搬プロバイダは、必要に応じてコンテキスト情報にアクセスする。ステップ178では、コンテキスト情報は、最新の要求に従って必要に応じて変更される。ステップ180では、変更後のコンテキスト情報が帯域外で発信者に伝達される。
実装例
一実施形態によると、本システム及び方法は、コンテキストエリア及びコンテキストマップを操作するのに用いられ得る多くの特徴を含んでいる。
一実施形態によると、本システム及び方法は、コンテキストエリア及びコンテキストマップを操作するのに用いられ得る多くの特徴を含んでいる。
ユーザコンテキストエリア
この特徴により、ユーザは、JSR−149によって定義されるコンテキストエリアを作成し、読み出し、変更し、削除することができる。ユーザコンテキストエリアは、どのユーザレベルAPI名が選択されようともプレースホールダーである。ユーザコンテキストエリアは、エンドユーザ、ISV、及び(リモート又はローカルであるかどうかの)一定のリクエストにタグを付け、一定のポリシー制約条件に基づいた情報を伝搬するための他のメカニズムを提供する。ユーザコンテキストエリアは、クライアント又はアプリケーションJDNI環境の一部であり、JDNIを介してアクセスし得る。
この特徴により、ユーザは、JSR−149によって定義されるコンテキストエリアを作成し、読み出し、変更し、削除することができる。ユーザコンテキストエリアは、どのユーザレベルAPI名が選択されようともプレースホールダーである。ユーザコンテキストエリアは、エンドユーザ、ISV、及び(リモート又はローカルであるかどうかの)一定のリクエストにタグを付け、一定のポリシー制約条件に基づいた情報を伝搬するための他のメカニズムを提供する。ユーザコンテキストエリアは、クライアント又はアプリケーションJDNI環境の一部であり、JDNIを介してアクセスし得る。
UserContextArea rc=(UserContextArea)new
InitialContext().lookup(“java:comp/UserContextArea”);
InitialContext().lookup(“java:comp/UserContextArea”);
ワークコンテキストマップ
この特徴により、内部のユーザは、異なる種類のリクエストと共に伝搬されるコンテキストを作成し、読み出し、変更し、削除することができる。ワークコンテキストマップは、このサービスの内部消費者に対する低レベルAPIのセットである。それは以下のヘルパーを介してアクセスされ得る。
この特徴により、内部のユーザは、異なる種類のリクエストと共に伝搬されるコンテキストを作成し、読み出し、変更し、削除することができる。ワークコンテキストマップは、このサービスの内部消費者に対する低レベルAPIのセットである。それは以下のヘルパーを介してアクセスされ得る。
WorkContextMap rc=WorkContextMapHelper.
getWorkContextMapHelper().getWorkContextMap();
getWorkContextMapHelper().getWorkContextMap();
コンテキストエリアSPI
本特徴により、伝搬プロバイダは、トランスポート特有の方法でマーシャリングするための下位伝搬コンテキストで得ることができる。
本特徴により、伝搬プロバイダは、トランスポート特有の方法でマーシャリングするための下位伝搬コンテキストで得ることができる。
ユーザ定義の情報(内部)の伝搬
このコンテキストにおけるユーザは、実際のサーバ(例えばWLS)サブシステム及び層をなす製品を意味する。幾つかの実施形態では、サーバによって実装される全てのリクエスト範囲に渡ってユーザ定義されたデータを伝搬することが可能である。これは、以下のものを含んでいる。
このコンテキストにおけるユーザは、実際のサーバ(例えばWLS)サブシステム及び層をなす製品を意味する。幾つかの実施形態では、サーバによって実装される全てのリクエスト範囲に渡ってユーザ定義されたデータを伝搬することが可能である。これは、以下のものを含んでいる。
ワークマネージャインボケーション、すなわちスレッド間の情報の転送。
RMIインボケーション。
トランザクション。JTAは一般にトランザクションごとの情報を伝搬するためのそれ自身のメカニズムを有している。コンテキスト情報は、現在のトランザクションと共に搬送され、トランザクションが中断されている又は終了されている場合には伝搬されない。
JMS。JMSは、待ち行列及びトピックを含む多くの異なるデータ通過モデルを有し、個別に取り扱われ得る。
SOAP。特にJAX−RPC。
ユーザ。
MIME−HEADERS。HTTPリクエストで生じるクッキー又はSMTPを介して生じるmimeヘッダは、適切なコンテキストに変換され、システムにわたって伝搬される。また、サードパーティ負荷平衡器は、サーバへの注入のためにこれらのヘッダを合成することが可能である。
RMIインボケーション。
トランザクション。JTAは一般にトランザクションごとの情報を伝搬するためのそれ自身のメカニズムを有している。コンテキスト情報は、現在のトランザクションと共に搬送され、トランザクションが中断されている又は終了されている場合には伝搬されない。
JMS。JMSは、待ち行列及びトピックを含む多くの異なるデータ通過モデルを有し、個別に取り扱われ得る。
SOAP。特にJAX−RPC。
ユーザ。
MIME−HEADERS。HTTPリクエストで生じるクッキー又はSMTPを介して生じるmimeヘッダは、適切なコンテキストに変換され、システムにわたって伝搬される。また、サードパーティ負荷平衡器は、サーバへの注入のためにこれらのヘッダを合成することが可能である。
互いに共同してこれらのモードを利用することは可能であり得る。“ローカル”伝搬を有することは可能であるが、スレッドローカル変数の利用が等価であり望まれる。デフォルト伝搬モードは、RMI、JMS、SOAP及びMIME−HEADERSを含む“リモート”である。
任意のJavaデータを伝搬することは、これは、下位の実装に関する性能制約条件が多すぎ、また、Javaでない(non-Java)コンテキスト(例えば、C++又はXML)においてアクセスするのは困難であるので望ましくない。インターフェースは、APIのユーザが、伝搬するには相対的に複雑な構造を定義することができるように提供され得る。これらの構造は、Java.io.DataOutput及びjava.lang.Stringによって許容されるタイプから構築され得る。特に、任意のjava.io.Serializable又はjava.io.Externalizableデータを通過させることは望ましくない。
この方法において定義されるデータに対する下位の評価メカニズムは存在しない。特定の相互操作性要求を有するクライアントは、自分自身のバージョン情報を定義すべきである。バージョン情報は、コンテキスト名でエンコードされ得る。
幾つかの実施形態では、範囲(スコープ)が変化する場合にコールバックを得るために(例えばノーティフィアブルワークコンテキスト(NotifiableWorkContext)を実装することによって)ワークコンテキスト実装に対するメカニズムが存在する。これにより、コンテキストは、効果的にフォーク(分岐)ポイントを取得することができる。
ユーザ定義される情報(外部)の伝搬
このコンテキストにおけるユーザは、アプリケーションプログラマ及びISVを意味する。幾つかの実施形態では、ユーザ定義されるデータを上記で定義されるように伝搬することが可能である。なお、これは下位の実装に関して性能制約条件を負わせるが、任意のJavaデータを伝搬することが可能である。外部のユーザ定義されるデータの伝搬は、内部のユーザ定義されるデータの伝搬をサポートするように実装されるAPIをあてにするだろう。
アプリケーションレベルAPIは、JSR−149、コンテキストエリアAPIの存在、又はサーバ(例えばウェブロジック)特有のAPIの1つであり得る。
このコンテキストにおけるユーザは、アプリケーションプログラマ及びISVを意味する。幾つかの実施形態では、ユーザ定義されるデータを上記で定義されるように伝搬することが可能である。なお、これは下位の実装に関して性能制約条件を負わせるが、任意のJavaデータを伝搬することが可能である。外部のユーザ定義されるデータの伝搬は、内部のユーザ定義されるデータの伝搬をサポートするように実装されるAPIをあてにするだろう。
アプリケーションレベルAPIは、JSR−149、コンテキストエリアAPIの存在、又はサーバ(例えばウェブロジック)特有のAPIの1つであり得る。
幾つかの実施形態では、このメカニズムを用いた単純なデータタイプを伝搬するためのメカニズムも存在する。ユーザは、Serializableを用いることを強いられるべきではない。ユーザデータタイプに対する任意のスキーマ要素をサポートすることが可能である。
内部SPI
このサービスの内部作成者は、コンテキスト情報を容易にインポート及びエクスポートすることは可能でなければならない。これらのプロバイダは、データマーシャリングのための実装を提供することのみを有しているべきである。スレッドローカル記憶へ/からのインポート及びエクスポートは、SPIによって提供され得る。SPIレベルでは、トランザクションをこのメカニズムに切り替えることは意図されていないが、提供される機能性がトランザクションをサポートするのに十分に有力であることが意図されている。
内部SPI
このサービスの内部作成者は、コンテキスト情報を容易にインポート及びエクスポートすることは可能でなければならない。これらのプロバイダは、データマーシャリングのための実装を提供することのみを有しているべきである。スレッドローカル記憶へ/からのインポート及びエクスポートは、SPIによって提供され得る。SPIレベルでは、トランザクションをこのメカニズムに切り替えることは意図されていないが、提供される機能性がトランザクションをサポートするのに十分に有力であることが意図されている。
本発明は、従来の一般的な成果又は特定のデジタルコンピュータ又は本開示の教示に従ってプログラムされるマイクロプロセッサを用いて適切に実行され得る。適切なソフトウェアコード化は、ソフトウェア技術の当業者には明らかであるように、本開示の教示に基づいて熟練プログラマによって容易く準備され得る。
幾つかの実施形態では、本発明は、そこに記憶される命令を有する記憶媒体であるコンピュータプログラム製品を含んでおり、コンピュータをプログラムするのに用いられ、本発明のプロセスのいずれかを実行することができる。記憶媒体は、これに限定されるというわけではないが、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ及び磁気光学ディスクを含むいずれかのタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気又は光カード、(分子メモリICを含む)ナノシステム、又は命令及び/又はデータを記憶するのに適した媒体又はデバイスのいずれかのタイプを含む。
本発明に係る上述の記載は、例証及び説明という目的のために提供されているものである。網羅的であること又は開示されたその形態に本発明を限定することは意図されていない。実施形態は本発明の原理及びその実際のアプリケーションを最良に説明するために選択され記載されたものであり、それによって、他の当業者は、様々な実施形態に対する本発明及び熟慮される特定の使用に適した様々な変更を有する本発明を理解することができる。本発明の範囲は特許請求の範囲及びそれらの均等物によって定義されることが意図される。
Claims (12)
- リクエストをアプリケーションサーバで実行するアプリケーションに伝達するための第1のコンポーネントと、
ユーザがコンテキスト情報をその後に全てのリクエストと共に伝搬されるアプリケーションと関連付けすることを許容するコンテキストエリア(ContextArea)と、
を備えたアプリケーションサーバ内のコンテキスト伝搬のためのシステム。 - 前記第1のコンポーネントはクライアントであることを特徴とする請求項1に記載のシステム。
- 前記システムは、前記コンテキスト情報を変更することができる第2のダウンストリームコンポーネントを含むことを特徴とする請求項1に記載のシステム。
- 変更されたコンテキスト情報は、帯域外通信を利用して前記第1のコンポーネントに逆戻りして伝達されることを特徴とする請求項3に記載のシステム。
- 前記システムは、トランスポート特定のコンテキスト情報を、それらのトランスポートに関してリクエストをマーシャリングする際に利用するために提供できることを特徴とする請求項1に記載のシステム。
- アドミニストレータは、診断情報を前記システムに入るリクエストに追加するように前記システムを構成できることを特徴とする請求項3に記載のシステム。
- リクエストを第1のコンポーネントからアプリケーションサーバで実行するアプリケーションに伝達するステップと、
ユーザがコンテキスト情報をその後に全てのリクエストと共に伝搬されるアプリケーションと関連付けすることを許容するコンテキストエリア(ContextArea)における前記リクエストをマッピングするステップと、
を備えたアプリケーションサーバ内のコンテキスト伝搬のための方法。 - 前記第1のコンポーネントはクライアントであることを特徴とする請求項7に記載の方法。
- 前記システムは、前記コンテキスト情報を変更できる第2のダウンストリームコンポーネントを含むことを特徴とする請求項7に記載の方法。
- 変更されたコンテキスト情報は、帯域外通信を利用して前記第1のコンポーネントに逆戻りして伝達されることを特徴とする請求項9に記載の方法。
- 前記システムは、トランスポート特定のコンテキスト情報を、それらのトランスポートに関してリクエストをマーシャリングする際に利用するために提供できることを特徴とする請求項7に記載の方法。
- アドミニストレータは、診断情報を前記システムに入るリクエストに追加するように前記システムを構成できることを特徴とする請求項9に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US57264704P | 2004-05-19 | 2004-05-19 | |
US11/129,899 US20050262100A1 (en) | 2004-05-19 | 2005-05-16 | System and method for context propagation in application servers and transaction-based systems |
PCT/US2005/017519 WO2005114382A2 (en) | 2004-05-19 | 2005-05-18 | System and method for context propagation in application servers and transaction-based systems |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007527587A true JP2007527587A (ja) | 2007-09-27 |
Family
ID=35376452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007502128A Pending JP2007527587A (ja) | 2004-05-19 | 2005-05-18 | アプリケーションサーバ及びトランザクションベースシステムにおけるコンテキスト伝搬のためのシステム及び方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20050262100A1 (ja) |
EP (1) | EP1747511A4 (ja) |
JP (1) | JP2007527587A (ja) |
CN (1) | CN101002160B (ja) |
AU (1) | AU2005246352B2 (ja) |
WO (1) | WO2005114382A2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7649854B2 (en) * | 2004-05-19 | 2010-01-19 | Bea Systems, Inc. | System and method for providing channels in application servers and transaction-based systems |
KR101148384B1 (ko) * | 2009-11-26 | 2012-05-21 | 삼성전기주식회사 | 기판 형성용 조성물, 및 이를 이용한 프리프레그 및 기판 |
EP2500856A1 (en) | 2011-03-15 | 2012-09-19 | Amadeus S.A.S. | Method and system for providing a session involving a plurality of software applications |
ES2454548T3 (es) | 2011-03-15 | 2014-04-10 | Amadeus S.A.S. | Procedimiento y sistema para proporcionar una sesión en un entorno heterogéneo |
EP2500848A1 (en) | 2011-03-15 | 2012-09-19 | Amadeus S.A.S. | Method and system for centralized reservation context management on multi-server reservation system |
EP2541473A1 (en) | 2011-06-27 | 2013-01-02 | Amadeus S.A.S. | Method and system for a pre-shopping reservation system with increased search efficiency |
US9235620B2 (en) | 2012-08-14 | 2016-01-12 | Amadeus S.A.S. | Updating cached database query results |
US9772835B1 (en) * | 2013-03-13 | 2017-09-26 | Amazon Technologies, Inc. | Modification of program code for execution in a multi-tenant or distributed computing environment |
US9754122B1 (en) | 2014-03-21 | 2017-09-05 | Amazon Technologies, Inc. | Isolating tenants executing in multi-tenant software containers |
US9703611B1 (en) | 2014-03-21 | 2017-07-11 | Amazon Technologies, Inc. | Isolating resources for utilization by tenants executing in multi-tenant software containers |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878258A (en) * | 1996-05-06 | 1999-03-02 | Merrill Lynch, Pierce, Fenner & Smith | Seamless application interface manager |
JP2000020329A (ja) * | 1998-07-03 | 2000-01-21 | Hitachi Ltd | オブジェクト間コンテキスト伝播方式 |
GB2346983B (en) * | 1999-02-18 | 2003-04-16 | Ibm | Client/server computing for transaction processing with superior coordinator o ptimization |
GB2376096B (en) * | 2001-05-30 | 2005-06-29 | Ibm | Identification of the source of a client/server flow |
US8782254B2 (en) * | 2001-06-28 | 2014-07-15 | Oracle America, Inc. | Differentiated quality of service context assignment and propagation |
US20030055965A1 (en) * | 2001-09-20 | 2003-03-20 | International Business Machines Corporation | User-defined units of context in a distributed computer environment |
EP1298527A1 (en) * | 2001-09-28 | 2003-04-02 | Sony International (Europe) GmbH | A system for automatically creating a context information providing configuration |
EP1508236B1 (en) * | 2002-05-24 | 2007-07-11 | Telefonaktiebolaget LM Ericsson (publ) | Method for authenticating a user to a service of a service provider |
US7185345B2 (en) * | 2002-06-20 | 2007-02-27 | International Business Machines Corporation | Data propagation in an activity service |
FR2841416B1 (fr) * | 2002-06-20 | 2005-01-28 | Cegetel Groupe | Procede de gestion d'informations de contexte par serveur intermediaire |
US20050021526A1 (en) * | 2002-07-11 | 2005-01-27 | International Business Machines Corporation | Method for ensuring the availability of a service proposed by a service provider |
US7171478B2 (en) * | 2002-10-25 | 2007-01-30 | Sap Aktiengesellschaft | Session coupling |
-
2005
- 2005-05-16 US US11/129,899 patent/US20050262100A1/en not_active Abandoned
- 2005-05-18 AU AU2005246352A patent/AU2005246352B2/en active Active
- 2005-05-18 CN CN2005800009113A patent/CN101002160B/zh active Active
- 2005-05-18 EP EP05753833A patent/EP1747511A4/en not_active Withdrawn
- 2005-05-18 JP JP2007502128A patent/JP2007527587A/ja active Pending
- 2005-05-18 WO PCT/US2005/017519 patent/WO2005114382A2/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
CN101002160B (zh) | 2011-06-08 |
AU2005246352B2 (en) | 2008-05-29 |
EP1747511A4 (en) | 2008-10-22 |
CN101002160A (zh) | 2007-07-18 |
AU2005246352A1 (en) | 2005-12-01 |
WO2005114382A3 (en) | 2007-03-01 |
EP1747511A2 (en) | 2007-01-31 |
US20050262100A1 (en) | 2005-11-24 |
WO2005114382A2 (en) | 2005-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007527587A (ja) | アプリケーションサーバ及びトランザクションベースシステムにおけるコンテキスト伝搬のためのシステム及び方法 | |
US7676538B2 (en) | Systems and methods for application view transactions | |
US7769825B2 (en) | System and method for web services Java API-based invocation | |
US6859834B1 (en) | System and method for enabling application server request failover | |
US6879995B1 (en) | Application server message logging | |
US7882501B1 (en) | System and method for enabling dynamic modifed class reloading in an application server environment | |
US7444620B2 (en) | Systems and methods for a common runtime container framework | |
US6845503B1 (en) | System and method for enabling atomic class loading in an application server environment | |
CN107077383B (zh) | 用于在多租户应用服务器环境中确定分区标识符的系统和方法 | |
US6697849B1 (en) | System and method for caching JavaServer Pages™ responses | |
JP5006314B2 (ja) | 管理された自動プログラミングモデル | |
EP2307977B1 (en) | System and method for dynamic partitioning of applications in client-server environments | |
EP1212680B1 (en) | Graceful distribution in application server load balancing | |
US8032623B2 (en) | Context-based dynamic policy assignment in a distributed processing environment | |
Rammer | Advanced. Net Remoting (C# Edition) | |
US20050261923A1 (en) | Method and apparatus for model based subscriptions for a publish/subscribe messaging system | |
US20220214931A1 (en) | System and method for exposing features of integration platform adapters as first-class actions in an orchestration template | |
US20070174232A1 (en) | Dynamically discovering subscriptions for publications | |
Burgy et al. | Language technology for internet-telephony service creation | |
Humphrey et al. | An early evaluation of WSRF and WS-notification via WSRF. NET | |
US7571236B2 (en) | System and method for managing connections | |
US8024746B2 (en) | Common handler framework | |
WO2004003770A1 (en) | System and method for web services java api-based invocation | |
Raj et al. | Implementing service-oriented architecture (soa) with the java ee 5 sdk | |
US7926068B2 (en) | Printing interface for a computer platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090302 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090907 |