JP2005182419A - コンポーネント処理システム及びコンポーネント処理方法 - Google Patents

コンポーネント処理システム及びコンポーネント処理方法 Download PDF

Info

Publication number
JP2005182419A
JP2005182419A JP2003421629A JP2003421629A JP2005182419A JP 2005182419 A JP2005182419 A JP 2005182419A JP 2003421629 A JP2003421629 A JP 2003421629A JP 2003421629 A JP2003421629 A JP 2003421629A JP 2005182419 A JP2005182419 A JP 2005182419A
Authority
JP
Japan
Prior art keywords
component
application
definition information
middleware
information
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
Application number
JP2003421629A
Other languages
English (en)
Inventor
Minoru Saito
稔 斉藤
Daisuke Imamura
大輔 今村
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.)
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Solutions 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 Toshiba Solutions Corp filed Critical Toshiba Solutions Corp
Priority to JP2003421629A priority Critical patent/JP2005182419A/ja
Priority to US11/009,092 priority patent/US7418713B2/en
Priority to CNB2004100954707A priority patent/CN100340978C/zh
Publication of JP2005182419A publication Critical patent/JP2005182419A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems

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)
  • Executing Machine-Instructions (AREA)

Abstract

【課題】複数のアプリケーションがそれぞれ利用するコンポーネントを一元管理して、コンポーネントの変更に効率的に対応できるコンポーネント処理システム及びコンポーネント処理方法を提供する。
【解決手段】個々のアプリケーションが利用するコンポーネントの配置場所を公開するコンポーネント環境定義情報を、コンポーネントの配置場所を定義するコンポーネント配置定義情報、利用コンポーネントを定義したコンポーネント利用定義情報、個々のアプリケーションに対応するコンポーネント利用定義情報を指定する情報を含むアプリケーション配置定義情報とで構成する。フレームワーク上のコンポーネント管理部はアプリケーションからの要求で、このアプリケーションが利用するコンポーネントの配置場所の取得をミドルウェアに要求し、ミドルウェアはコンポーネント環境定義情報を読み込んで応答する。
【選択図】図1

Description

本発明は、コンポーネントを利用してアプリケーションを動作させるためのコンポーネント処理システム及びコンポーネント処理方法に関する。
コンポーネントとは、アプリケーションを構築するためのビジネスロジックなどを実装したソフトウェア部品である。例として、米国Sun Microsystems社が提唱している規約であるEJB(Enterprise Java Beans(登録商標))などがある。EJBは、Java(登録商標)プログラム言語で分散オブジェクト指向の業務アプリケーションを構築するための標準コンポーネントアーキテクチャであり、異なるベンダのツールを使用して開発したコンポーネントを組み合わせることで分散アプリケーションの構築を可能とするものである。EJBを利用することによって、開発者は、アプリケーション開発時にビジネスロジックの開発だけに専念でき、効率的なアプリケーション開発が可能になる。
EJBアーキテクチャにおいては、EJBコンポーネントの実行環境をコンテナが提供するようになっている。通常、このコンテナはEJBサーバによって管理される。EJBクライアント(アプリケーション)が、コンテナが提供する標準化されたインターフェイスを介してコンテナにEJBのオブジェクト生成を要求すると、コンテナは、Deployment Descriptorと呼ばれる、コンポーネントの動作条件(トランザクション管理、セキュリティ管理などの属性値)を定義する記述を読み込み、この動作条件に基づいてコンポーネントの組み込み、実体生成を行う。これにより実行可能なコンポーネントが生成される(たとえば、特許公報1参照)。
特開2002−49496号公報
図12は、一般的なコンポーネント処理システムの構成を示す図である。コンポーネント環境定義情報71は、アプリケーション72(72A、72B)が利用するコンポーネント73(73A、73B、73C)の配置場所などを定義したものである。ミドルウェア76は、アプリケーション72からのコンポーネント73の利用の要求を受けて、コンポーネント環境定義情報71を読み込み、アプリケーション72が利用するコンポーネント73の配置場所を認識する。このことにより、アプリケーション72は、ミドルウェア76により実体化されたコンポーネント73を利用している。
また、コンポーネント環境定義情報71はアプリケーション72ごとの配置定義情報74(アプリケーションA配置定義情報74A、アプリケーションB配置定義情報74B)で構成されている。それぞれのアプリケーション配置定義情報74には、各々のアプリケーション72が利用するコンポーネント73を定義する情報75(コンポーネントC1定義情報75A、コンポーネントC2定義情報75B、コンポーネントC3定義情報75C)が共通に記述されており、この情報75に基づいて、該当するコンポーネント73の配置場所が記述されたコンポーネント配置定義情報77(コンポーネントC1配置定義情報77A、コンポーネントC2配置定義情報77B、コンポーネントC3配置定義情報77C)を取得することで、コンポーネント73の配置場所が分かるようになっている。
しかしながら、上記のように、各々のアプリケーション配置定義情報74には、アプリケーション72が利用するコンポーネント73を定義する情報75が含まれる構成となっているので、各アプリケーション72が共通に利用するコンポーネント73の変更が発生した場合に、各アプリケーション配置定義情報74に同様の変更を加える必要があり、コンポーネントの管理が煩雑になるという問題があった。また、複数のアプリケーション72のアプリケーション配置定義情報74を新たに設定する際にも、コンポーネント73を定義する情報75を共通に記述する必要があり、多大な作業時間を要することになり面倒であっただけでなく、コンポーネントの一元管理をミドルウェアに任せていたため、ミドルウェアに要する処理負担が非常に多かった。
また、EJBアーキテクチャでは、前述したように、コンテナがコンポーネントの振る舞い定義情報を読み込むことによって実行可能なコンポーネントを生成しているが、振る舞い定義情報の置き場所はコンテナベンダーによって決められ、コンテナにその場所情報にアクセスする機能が実装されている。また、振る舞い定義情報の形式もコンテナに依存している。すなわち、EJBアーキテクチャでは、定義情報の場所、その記述形式、定義内容について多くの制約が課せられており、このことがシステムの設計の自由度を損ね、開発効率の向上を阻んでいた。
したがって、従来の技術においては、前述したように、アプリケーションに利用されるコンポーネントの変更が発生した場合に、このコンポーネントを利用するすべてのアプリケーションのコンポーネント環境定義情報に同様の変更を加えなければならず、管理コストの増大、開発効率の低下を招くという課題があった。また、コンポーネントの一元管理をミドルウェアが実行していたため、ミドルウェアによる処理負担が非常に大きい課題もあった。さらに、コンポーネント振る舞い定義情報の場所、記述形式、定義内容に課せられた制約により、システム設計の自由度が損なわれ、開発効率の低下を招いていた。
本発明はこれらの課題を解決するためになされたもので、複数のアプリケーションがそれぞれ利用するコンポーネントを一元管理して、アプリケーションに利用されるコンポーネントの変更に効率的に対応することのできるコンポーネント処理システム及びコンポーネント処理方法を提供することを目的とする。
また、本発明は、コンポーネントの振る舞いを高い自由度で変更でき、システム設計の自由度を高めることのできるコンポーネント処理システム及びコンポーネント処理方法を提供することを目的とする。
かかる目的を達成するために、本発明のコンポーネント処理システムは、オペレーティング・システム上で動作するミドルウェアと、このミドルウェア上で動作するフレームワークと、フレームワーク上で動作する少なくとも一つのアプリケーションと、アプリケーションによって選択的に利用可能な複数のコンポーネントと、個々のコンポーネントの配置場所が定義されたコンポーネント配置定義情報、利用されるコンポーネントが定義されたコンポーネント利用定義情報、及びアプリケーションに対応するコンポーネント利用定義情報を指定する情報を含むアプリケーション配置定義情報を有するコンポーネント環境定義情報と、フレームワークに設けられ、アプリケーションからの要求により、アプリケーションにより利用されるコンポーネントの配置場所の取得をミドルウェアに要求し、その応答として取得した配置場所にあるコンポーネントに対して実体化を要求するコンポーネント管理部と、ミドルウェアに設けられ、コンポーネント管理部からの要求を受け、コンポーネント環境定義情報から、アプリケーションにより利用されるコンポーネントの配置場所を取得してコンポーネント管理部に応答するコンポーネント環境定義情報読込部とを有することを特徴とする。
この発明によれば、フレームワークに設けたコンポーネント管理部が個々のアプリケーションにより利用されるコンポーネントをコンポーネント環境定義情報で一元管理することになり、管理コストの低減、開発効率の向上を図ることができ、さらに、従来コンポーネントの実体化を一元管理させていたミドルウェアの処理負担を軽減することができるという効果を奏する。
また、本発明のコンポーネント処理システムは、オペレーティング・システム上で動作するミドルウェアと、ミドルウェア上で動作するフレームワークと、フレームワーク上で動作する少なくとも一つのアプリケーションと、アプリケーションによって選択的に利用可能な複数のコンポーネントと、個々のコンポーネントの振る舞いがそれぞれ定義された複数の振る舞い定義情報と、個々のコンポーネントの配置場所が定義されたコンポーネント配置定義情報、利用されるコンポーネントが定義されたコンポーネント利用定義情報、及びアプリケーションに対応するコンポーネント利用定義情報を指定する情報を含むアプリケーション配置定義情報を有するコンポーネント環境定義情報と、フレームワークに設けられ、アプリケーションからの要求により、アプリケーションにより利用されるコンポーネントの配置場所の取得をミドルウェアに要求し、その応答として取得した配置場所にあるコンポーネントに対して振る舞い定義情報に基づく動作条件を与えて実体化を要求するコンポーネント管理部と、ミドルウェアに設けられ、コンポーネント管理部からの要求を受け、コンポーネント環境定義情報から、アプリケーションに利用されるコンポーネントの配置場所を取得してコンポーネント管理部に応答するコンポーネント環境定義情報読込部とを有することを特徴とする。
この発明によれば、フレームワークに設けたコンポーネント管理部が個々のアプリケーションにより利用されるコンポーネントをコンポーネント環境定義情報で一元管理することになり、コンポーネントの開発時や設計時において振る舞い定義情報を自由に変更することによりコンポーネントの振る舞いを高い自由度でカスタマイズすることができ、システム設計の自由度や他システムへの流用性を高めることができる。さらに、従来コンポーネントの実体化を一元管理させていたミドルウェアの処理負担を軽減することができるという効果を奏する。
本発明のコンポーネント処理システム及びコンポーネント処理方法によれば、個々のアプリケーションにより利用されるコンポーネントをコンポーネント環境定義情報で一元管理することができ、管理コストの低減、開発効率の向上を図ることができる。また、コンポーネントの振る舞いを、高い自由度で変更することができ、システム設計の自由度を高めることができる。
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本発明の第1の実施形態に係るコンポーネント処理システム100の構成を示す図面である。
同図に示すように、このコンポーネント処理システム100は、CPU1、メモリ2、外部記憶装置3、バス4などの一般的なコンピュータアーキテクチャを有するコンピュータ10上に構築されている。このコンピュータ10はインターネットやLANなどのネットワーク5にネットワーク接続装置6を通じて接続されている。
このコンポーネント処理システム100のソフトウェア要素としては、オペレーティング・システム11(以下「OS11」という。)と、OS11上で動作するミドルウェア12と、ミドルウェア12上で動作するフレームワーク13と、フレームワーク13上で動作するアプリケーション14(14A、14B)と、アプリケーション14が利用するロジックを実装したコンポーネント15(15A、15B、15C)と、コンポーネント環境定義情報18と、フレームワーク13に設けられ、アプリケーション14からの要求により、当該アプリケーション14が利用するコンポーネント15の配置場所の取得をミドルウェア12に依頼してアプリケーション14に応答するコンポーネント管理部20とがある。ここでアプリケーション14の数は2、コンポーネント15の数は3としたが、これらの数に特に限定や制限はない。コンポーネント管理部20は、フレームワーク13にプラグインして構成されたものである。
ミドルウェア12はアプリケーション・サーバと同義であり、トランザクション処理、負荷分散処理、データベース処理を実行する。さらに、ミドルウェア12には、そしてコンポーネント管理部20からの依頼を受け、コンポーネント環境定義情報18から当該アプリケーション14が利用するコンポーネント15の配置場所を取得してコンポーネント管理部20に応答する機能を有するコンポーネント環境定義情報読込部12aが組み込まれている。
コンポーネント環境定義情報18は、個々のアプリケーション14が利用するコンポーネント15の配置場所をコンポーネント管理部20に公開する定義文である。すなわち、図2に示すように、コンポーネント環境定義情報18は、個々のコンポーネント15(コンポーネントC1、コンポーネントC2、コンポーネントC3)の配置場所を定義した複数のコンポーネント配置定義情報16(コンポーネントC1配置定義情報16A、コンポーネントC2配置定義情報16B、コンポーネントC3配置定義情報16C)と、アプリケーション14によって利用されるコンポーネントを定義したコンポーネント利用定義情報17と、個々のアプリケーション14に対応するコンポーネント利用定義情報17を指定する情報21(21A、21B)を含むアプリケーション配置定義情報19(アプリケーションA配置定義情報19A、アプリケーションB配置定義情報19B)とを有するものである。
図2の例では、アプリケーションAとアプリケーションBが、3つのコンポーネントC1、コンポーネントC2、コンポーネントC3を使用するものとなっており、コンポーネント利用定義情報17には、その3つのコンポーネントC1、C2、C3を各々指定する情報(コンポーネントC1指定情報17A、コンポーネントC2指定情報17B、コンポーネントC3指定情報17C)が記述されている。したがって、アプリケーションA配置定義情報19A、アプリケーションB配置定義情報19Bの中の指定情報21A、21Bは、それぞれ同一のコンポーネント利用定義情報17を指定するものとなっている。もちろん、個々のアプリケーションA、Bが、異なるコンポーネントの組み合わせを使用する場合には、異なるコンポーネントの組み合わせを記述したコンポーネント利用定義情報17を複数用意し、アプリケーションA配置定義情報19A、アプリケーションB配置定義情報19Bの中のコンポーネント利用定義情報の指定情報21A、コンポーネント利用定義情報の指定情報21Bにより、別々のコンポーネント利用定義情報17を指定するようにすればよい。このコンポーネント環境定義情報18はミドルウェア12による読み込みを前提としているので、その場所や、記述の形式、定義内容はミドルウェア12による制約の範囲で決められる。
図3は、アプリケーションAとアプリケーションBが、3つのコンポーネントC1、コンポーネントC2、コンポーネントC3を共通に使用する場合のコンポーネント環境定義情報18のXML(eXtensible Mark−up Language)による記述例である。
このように、個々のアプリケーション14が利用するコンポーネント15をコンポーネント環境定義情報18によって一元管理することができる。これにより、コンポーネント環境定義情報18の中のコンポーネント利用定義情報17の内容を変更するだけで、アプリケーション14とコンポーネント15との関係を変更することができる。これにより、管理コストの低減、開発効率の向上を図れる。
それに関連して、従来の方法に倣って、個々のアプリケーション配置定義情報19A、19Bに、アプリケーションA、Bが利用するコンポーネントを指定する情報23A、23Bを記述した場合は図4のようになる。同図に示すように、各々のアプリケーション配置定義情報19A、19Bに、自アプリケーションが利用するコンポーネントの同一情報23A、23Bを別々に記述しなければならないため、アプリケーションが利用するコンポーネントに変更が生じた場合、各アプリケーション配置定義情報19A、19Bそれぞれを別々に書き換えて再度変更しなければならない。
次に、このコンポーネント処理システム100の動作手順を、図5を参照して説明する。
まず、クライアント110からの、アプリケーション利用のリクエストが、ミドルウェア12、フレームワーク13を通じて目的のアプリケーション14に与えられる(1.リクエスト〜3.リクエスト)。利用のリクエストを受けたアプリケーション14は、コンポーネント管理部20に対してコンポーネント15の要求を行う(4.コンポーネント要求)。コンポーネント管理部20は、この要求を受けると、当該アプリケーション14が利用するコンポーネント15の配置場所をミドルウェア12に要求する(5.コンポーネント要求)。
ミドルウェア12は、コンポーネント管理部20からの要求により、コンポーネント環境定義情報18から当該アプリケーション14が利用するコンポーネントの配置場所を読み込み(6.コンポーネントの配置場所取得)、目的のコンポーネントの情報、具体的にはそのコンポーネントを生成するためのインターフェース(たとえばEJBのHomeInterface))をコンポーネント管理部20に応答する(7.コンポーネント応答)。
コンポーネント環境定義情報18からのコンポーネント配置場所の読み込みは次のようにして行われる。コンポーネント環境定義情報18の中の、要求元であるアプリケーション14に対応するアプリケーション配置定義情報19の中の指定情報21を読み込み、この指定情報21に基づいてコンポーネント利用定義情報17を読み込む。コンポーネント利用定義情報17には、コンポーネントを指定するコンポーネントC1指定情報17A、コンポーネントC2指定情報17B、コンポーネントC3指定情報17Cが記述されているので、この記述に従って該当するコンポーネントのコンポーネント配置定義情報16(16A、16B、16C)をそれぞれ読み込んでコンポーネントの配置場所を取得する。
コンポーネント管理部20は、コンポーネントの応答を受けると、該当するコンポーネント15に対して所定の動作条件を与えるとともに、実体の生成を要求する(8.実体生成要求)。コンポーネント15は、渡された動作条件に基づいて自らを実体化し(9.実体生成)、この実体への参照情報(たとえばEJBのRemoteInterface)をコンポーネント管理部20へ返す(10.実体参照応答)。
なお、実体生成の要求の度にコンポーネントの実体を生成することはハードウェア資源の利用効率の低下を招くので、一度生成された実体への参照情報(たとえばEJBのRemoteInterface)をプールしておき、次回以降の実体生成の要求に対しては、このプールされた実体への参照情報をコンポーネント管理部20へ返すようにしてもよい。これにより、ユーザからの指示により発生するリクエストの後に、コンポーネントを生成することがなくなり、コンポーネント管理部20の負担が軽減することになる。
コンポーネント管理部20は、コンポーネント15から渡された実体への参照情報を、要求元のアプリケーション14に返す(11.実体参照応答)。この後、アプリケーション14は、実体化されたコンポーネントを利用した処理の要求を行う(12.コンポーネント利用)。この処理要求を受けたコンポーネント15は、自らの実体に基づいて処理を実行し、その結果をアプリケーション14に返却する(13.処理結果応答)。アプリケーション14は、受け取った処理結果を利用して、自らの実装に基づいた処理を行い、その結果をフレームワーク13を通じてミドルウェア12へ返却する(14.処理結果応答)。そしてミドルウェア12は、自らの実装に基づき処理結果をクライアント110に返却する(15.処理結果応答)。
したがって、この実施形態のコンポーネント処理システム100によれば、個々のアプリケーション14が利用するコンポーネント15をコンポーネント環境定義情報18によって一元管理することができる。より具体的には、コンポーネント環境定義情報18の中のコンポーネント利用定義情報17の内容を変更するだけで、アプリケーション14とコンポーネント15との関係を煩雑なく変更することができる。これにより、管理コストの低減、開発効率の向上を図れる。
次に、本実施形態の変形例として、初期化時に、ミドルウェア12で作成された、コンポーネントを生成するためのインターフェース(たとえばEJBのHomeInterface)をコンポーネント管理部20にてプールする場合の、コンポーネント処理システム200の動作を図6を用いて説明する。
まず、ミドルウェア12は、フレームワーク13の初期化を行い(1.初期化)、フレームワーク13は自らの初期化において、アプリケーション14及びコンポーネント管理部20の初期化を実行する(2.初期化、3.初期化)。
コンポーネント管理部20は、初期化された後、コンポーネント要求をミドルウェア12に対して行う(4.コンポーネント要求)。ミドルウェア12は、コンポーネント要求に対して、コンポーネント環境定義情報18からアプリケーション14が利用するコンポーネントの配置場所を読み込み(5.コンポーネントの配置場所取得)、目的のコンポーネントの情報、具体的にはコンポーネントを生成するためのインターフェース(たとえばEJBのHomeInterface)を生成してコンポーネント管理部20に応答する(6.コンポーネント応答)。
コンポーネント管理部20は、ミドルウェア12から応答されたコンポーネントの情報(コンポーネントを生成するためのインターフェース)をプールする(7.コンポーネント応答プール)。この後、コンポーネント管理部20から初期化完了をフレームワーク13に通知する(8.初期化応答)。フレームワーク13は、続いてミドルウェア12に初期化完了を通知する(9.初期化応答)。
続いて、クライアント110からアプリケーション利用のリクエストが、ミドルウェア12、フレームワーク13を通じて目的のアプリケーション14に与えられる(10.リクエスト〜12.リクエスト)。利用のリクエストを受けたアプリケーション14は、コンポーネント管理部20に対してコンポーネント15の要求を行う(13.コンポーネント要求)。コンポーネント管理部20は、この要求を受けると、自身にプールしているコンポーネントの情報を取得し(14.プールからコンポーネント応答取得)、このコンポーネントの情報に基づいて該当するコンポーネント15に対して実体の生成を要求するとともに動作条件を渡す(15.実体生成要求)。コンポーネント15は、渡された動作条件に基づいて自らを実体化し(16.実体生成)、この実体への参照情報(たとえばEJBのRemoteInterface)をコンポーネント管理部20へ返す(17.実体参照応答)。
コンポーネント管理部20は、コンポーネント15から渡された実体への参照情報を、要求元のアプリケーション14に返す(18.実体参照応答)。この後、アプリケーション14は、実体化されたコンポーネントを利用した処理の要求を行う(19.コンポーネント利用)。この処理要求を受けたコンポーネント15は、自らの実体に基づいて処理を実行し、その結果をアプリケーション14に返却する(20.処理結果応答)。アプリケーション14は、受け取った処理結果を利用して、自らの実装に基づいた処理を行い、その結果をフレームワーク13を通じてミドルウェア12へ返却する(21.処理結果応答、22.処理結果応答)。そしてミドルウェア12は、自らの実装に基づき処理結果をクライアント110に返却する(23.処理結果応答)。
このようにコンポーネント管理部20にコンポーネントの情報をプールしておくことで、リクエストの度にコンポーネントの情報を生成することがなくなり、リクエストに対する応答が早くなる。
次に、本発明の他の実施形態を説明する。
図7は、本発明の第2の実施形態に係るコンポーネント処理システム200の構成を示す図である。
同図に示すように、このコンポーネント処理システム200は、図1に示した先の実施形態のコンポーネント処理システム100に、フレームワーク13に設けられたコンポーネント管理部20によって直接読み込みが可能なコンポーネント振る舞い定義情報22(コンポーネントC1振る舞い定義22A、コンポーネントC2振る舞い定義22B、コンポーネントC振る舞い定義22C)を付加して構成されたものである。
なお、この図の例では、コンポーネント振る舞い定義情報22がコンポーネントの種類ごとに1つずつ設けられているが、1つのコンポーネントに複数のコンポーネント振る舞い定義情報22を用意してもよい。
どのコンポーネント振る舞い定義情報22を読み込むかは、アプリケーション配置定義情報19の中で定義しておけばよい。たとえば、図2に示したアプリケーション配置定義情報19の中やコンポーネント利用定義情報17の中で定義したり、コンポーネント振る舞い定義情報22を指定するための定義情報を別途用意してもよい。いずれの場合においても、コンポーネント振る舞い定義情報22を指定する情報として、コンポーネント振る舞い定義情報22の配置場所を記述しておくことで、コンポーネントの開発時や設計時において振る舞い定義情報を自由に変更することによりコンポーネントの振る舞いを高い自由度でカスタマイズすることができ、システム設計の自由度や他システムへの流用性を高めることができる。さらに、これまでのミドルウェアに依存するコンポーネント振る舞い定義情報の場所や、形式、定義内容に課せられていた制約が無くなり、コンポーネント型ソフトウェア開発の自由度、開発効率の向上を図ることができる。
次に、このコンポーネント処理システム200の動作手順を、図8を参照して説明する。
まず、クライアント110からの、アプリケーション利用のリクエストが、ミドルウェア12、フレームワーク13を通じて目的のアプリケーション14に与えられる(1.リクエスト〜3.リクエスト)。利用のリクエストを受けたアプリケーション14は、コンポーネント管理部20に対してコンポーネント15の要求を行う(4.コンポーネント要求)。コンポーネント管理部20は、この要求を受けると、当該アプリケーション14が利用するコンポーネント15の配置場所をミドルウェア12に要求する(5.コンポーネント要求)。
ミドルウェア12は、コンポーネント管理部20からの要求により、コンポーネント環境定義情報18から当該アプリケーション14が利用するコンポーネント15の配置場所を読み込み(6.コンポーネントの配置場所取得)、コンポーネントを生成するためのインターフェース(たとえばEJBのHomeInterface)を生成してコンポーネント管理部20に応答する。また、このとき、コンポーネント環境定義情報18から、当該利用コンポーネントの振る舞いを定義するコンポーネント振る舞い定義情報22の配置場所を読み込み、コンポーネントの配置場所とともにコンポーネント管理部20に応答する(7.コンポーネント応答)
コンポーネント管理部20は、この応答を受けると、該当するコンポーネント15に対するコンポーネント振る舞い定義情報22を読み込み(8.振る舞い定義情報取得)、このコンポーネント振る舞い定義情報22の内容に基づく動作条件を当該コンポーネント15に対して与えるとともに、実体の生成を要求する(9.実体生成要求)。コンポーネント15は、渡された動作条件を加味しつつ自らを実体化し(10.実体生成)、この実体への参照情報(たとえばEJBのRemoteInterface)をコンポーネント管理部20へ返す(11 .実体参照応答)。
なお、実体生成の要求の度にコンポーネントの実体を生成することはハードウェア資源の利用効率の低下を招くので、一度生成された実体への参照情報をプールしておき、次回以降の実体生成の要求に対しては、このプールされた実体への参照情報をコンポーネント管理部20へ返すようにしてもよい。
コンポーネント管理部20は、コンポーネント15から渡された実体への参照情報を、要求元のアプリケーション14に返す(12.実体参照応答)。この後、アプリケーション14は、実体化されたコンポーネントを利用した処理の要求を行う(13.コンポーネント利用)。この処理要求を受けたコンポーネント15は、自らの実体に基づいて処理を実行し、その結果をアプリケーション14に返却する(14.処理結果応答)。アプリケーション14は、受け取った処理結果を利用して、自らの実装に基づいた処理を行い、その結果をフレームワーク13を通じてミドルウェア12へ返却する(15.処理結果応答)。そしてミドルウェア12は、自らの実装に基づき処理結果をクライアント110に返却する(16.処理結果応答)。
したがって、この実施形態のコンポーネント処理システム200によれば、これまでのミドルウェア12に依存していたコンポーネント動作条件定義情報の配置場所や、形式、定義内容に課せられていた制約が無くなり、コンポーネントの振る舞いを、高い自由度で変更することができ、システム設計の自由度を高めることができる。
図9は、コンピュータ30のミドルウェア31上で実体化されて実行されるコンポーネント32を、他の複数のコンピュータ40、50上で動作される異なるアプリケーション41、51によって共用する形態を示している。ここで、それぞれのアプリケーション41、51側のコンポーネント振る舞い定義情報42、52に異なる内容を定義しておくことで、コンポーネント32は、それぞれのアプリケーション41、51において異なった振る舞いをすることになる。
次に、本発明の第3の実施形態として、分散環境におけるコンポーネント処理システム300について説明する。分散環境におけるコンポーネント処理システム300とは、複数のコンピュータに分散して配置されたコンポーネントを処理する機構である。
図10は、この分散環境におけるコンポーネント処理システム300の例を示す図である。
同図に示すように、このコンポーネント処理システム300は、コンポーネント利用のリクエストを処理する側のコンピュータ400と、リクエストに対してコンポーネントを提供する側の1以上のコンピュータ500、600とで構成される。
コンポーネントを提供する一方のコンピュータ500において、フレームワークB(513)には、ビジネスロジックを実装したコンポーネントB(515)を管理するためのコンポーネント管理部B(520)がコンポーネントとして実装されている。コンポーネント管理部B(520)は、自らによって直接読み込み可能なコンポーネントB振る舞い定義527に基づいてコンポーネントB(515)の振る舞いを定義する。ミドルウェアB(512)は、コンポーネント環境定義情報518からコンポーネントB(515)の配置場所を取得できるようになっている。
同様に、コンポーネントを提供する他方のコンピュータ600において、フレームワークB(613)には、ビジネスロジックを実装したコンポーネントC(615)を管理するコンポーネント管理部C(620)がコンポーネントとして実装されている。コンポーネント管理部C(620)は、自らによって直接読み込み可能なコンポーネントC振る舞い定義情報627に基づいてコンポーネントC(615)の振る舞いを定義する。ミドルウェアC(612)は、コンポーネント環境定義情報618からコンポーネント管理部C(620)が利用するコンポーネントC2(615)の配置場所を取得できるようになっている。
一方、コンポーネントをリクエストする側のコンピュータ400のフレームワークA(413)には、コンポーネントを提供する側のコンピュータ500、600にコンポーネントとして組み込まれたコンポーネント管理部B(520)、C(620)を管理するコンポーネント管理部A(420)が実装されている。ミドルウェアA(412)によって直接読み込み可能なコンポーネント環境定義情報418には、コンポーネント管理部A(420)の管理対象であるコンポーネント管理部の情報が記述されている。すなわち、この例では、コンポーネント管理部B(520)及びコンポーネント管理部C(620)がコンポーネント管理部A(420)の管理対象であることが記述されている。
コンポーネント管理部Bアドレス定義情報427Bには、コンポーネント管理部A(420)の管理対象であるコンポーネント管理部B(520)のアドレス情報が記述されている。コンポーネント管理部Cアドレス定義情報427Cには、コンポーネント管理部A(420)の別の管理対象であるコンポーネント管理部C(620)のアドレス情報が記述されている。
次に、この分散環境におけるコンポーネント処理システム300において、コンポーネントをリクエストする側のコンピュータ400上のアプリケーション414から別のコンピュータ500上のコンポーネントB(515)を利用する場合の動作を図11を用いて説明する。
まず、ミドルウェアA(412)は、フレームワークA(413)の初期化を行い(1.初期化)、フレームワークA(413)は自らの初期化において、アプリケーション414及びコンポーネント管理部A(420)の初期化を実行する(2.初期化、3.初期化)。
コンポーネント管理部A(420)は、初期化された後、コンポーネント管理部Bアドレス定義情報427Bを読み込んで、コンポーネント管理部A(420)の管理対象の一つであるコンポーネント管理部B(520)のアドレス情報を取得した後(4.コンポーネント管理部Bアドレス情報取得)、ミドルウェアA(412)に対してコンポーネント管理部B(520)の要求を行う(5.コンポーネント管理部B要求)。
この要求を受けたミドルウェアA(412)は、コンポーネント環境定義情報418から、コンポーネント管理部B(520)がコンポーネント管理部A(420)の管理対象であることを判断し(6.コンポーネント管理部B定義取得)、コンピュータ500上のミドルウェアB(512)に対してコンポーネント管理部B(520)の要求を行う(7.コンポーネント管理部B要求)。
コンピュータ500上のミドルウェアB(512)は、この要求を受けると、コンポーネント管理部B(520)の配置場所を取得(8.コンポーネント管理部B配置場所取得)、このコンポーネント管理部Bのコンポーネントを生成するためのインターフェース(たとえばEJBのHomeInterface)を生成して、コンピュータ400上のミドルウェアA(412)に応答する(9.コンポーネント管理部B応答)。
コンピュータ400上のミドルウェアA(412)は、この応答を受信するとコンポーネント管理部A(420)に渡す(10.コンポーネント管理部B応答)。コンポーネント管理部A(420)は、受け取った応答に基づいて、コンポーネント管理部B(520)に対して実体の生成を要求する(11.実体生成要求)。
コンポーネント管理部B(520)は、この要求に応じて自らを実体化し(12.実体生成)、この実体への参照情報(たとえばEJBのRemoteInterface)をコンポーネント管理部A(420)へ返す(13.実体参照応答)。
この後、コンポーネント管理部A(420)は、実体化されたコンポーネント管理部B(520)に対して初期化を指示する(14.コンポーネント初期化指示)。コンポーネント管理部B(520)は、自らの初期化において、コンポーネントB(515)の要求をミドルウェアB(512)に対して行う(15.コンポーネント要求)。
ミドルウェアB(512)は、このコンポーネント要求に応じて、コンポーネント環境定義情報518からコンポーネントB(515)の配置場所を取得し(16.コンポーネント配置場所取得)、コンポーネントB(515)の情報、具体的には、コンポーネントB(515)を生成するためのインターフェース(たとえばEJBのHomeInterface)をコンポーネント管理部B(520)に応答する(17.コンポーネント応答)。
コンポーネント管理部B(520)は、応答されたコンポーネントB(515)の情報をプールし(18.コンポーネント応答プール)、この後、初期化完了をコンポーネント管理部A(420)に通知する(19.初期化応答)。コンポーネント管理部A(420)は、続いてミドルウェアA(412)に初期化完了を通知する(20.初期化応答)。
続いて、クライアント110からアプリケーション利用のリクエストが、ミドルウェアミドルウェアA(412)、フレームワークA(413)を通じてアプリケーション414に与えられる(21.リクエスト〜23.リクエスト)。利用のリクエストを受けたアプリケーション414は、コンポーネント管理部A(420)に対してコンポーネントB(515)の要求を行う(24.コンポーネント要求)。
コンポーネント管理部A(420)は、この要求を受けると、コンポーネント管理部B(520)に対してコンポーネントB(515)の要求を行う(25.コンポーネント要求)。コンポーネント管理部B(520)は、自身にプールしているコンポーネントの情報を取得し(26.プールからコンポーネント応答取得)、このコンポーネントの情報に基づいてコンポーネントB(515)に対して実体の生成を要求するとともに、コンポーネントB振る舞い定義情報527を読み込み、このコンポーネントB振る舞い定義情報527の内容に基づく動作条件を当該コンポーネント15に対して与える(27.実体生成要求)。
この要求に応じてコンポーネントB(515)は動作条件を加味しつつ自らを実体化し(28.実体生成)、この実体への参照情報(たとえばEJBのRemotoInteface)をコンポーネント管理部B(520)へ返す(29.実体参照応答)。続いて、コンポーネント管理部B(520)からコンポーネント管理部A(420)へ実体への参照情報が応答され(30.実体参照応答)、さらに、コンポーネント管理部A(420)からアプリケーション414に実体への参照情報が送られる(31.実体参照応答)。
アプリケーション414は、実体化されたコンポーネントB(515)を利用した処理の要求を行う(32.コンポーネント利用)。この処理要求を受けたコンポーネントB(515)は、自らの実体に基づいて処理を実行し、その結果をアプリケーション414に返却する(33.処理結果応答)。アプリケーション414は、受け取った処理結果を利用して、自らの実装に基づいた処理を行い、その結果をフレームワークA(413)を通じてミドルウェアA(412)へ返却する(34.処理結果応答、35.処理結果応答)。そしてミドルウェアA(412)は、自らの実装に基づき処理結果をクライアント110に返却する(36.処理結果応答)。
また、別のコンピュータ600上のコンポーネントC(615)についても、同様の手順でアプリケーション414から利用できる。
このように、本実施形態のコンポーネント処理システム300によれば、分散環境に配置された個々のコンポーネントB(515)、コンポーネントC(615)の振る舞いを定義する記述の配置場所や、形式、定義内容に課せられていた制約が無くなり、コンポーネントの振る舞いを、高い自由度で変更することができ、システム設計の自由度を高めることができる。
以上本発明の実施形態を説明したが、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
本発明の第1の実施形態に係るコンポーネント処理システムの構成を示す図である。 コンポーネント環境定義情報の構成を示す図である。 コンポーネント環境定義情報の例を示す図である。 従来のアプリケーション配置定義情報の例を示す図である。 図1のコンポーネント処理システムの動作手順を示す図である。 第1の実施形態に係るコンポーネント処理システムの他の動作手順を示す図である。 本発明の第2の実施形態に係るコンポーネント処理システムの構成を示す図である。 図7のコンポーネント処理システムの動作手順を示す図である。 第2の実施形態に係るコンポーネント処理システムの変形例を示す図である。 本発明の第3の実施形態に係る分散環境でのコンポーネント処理システムの構成を示す図である。 図10の分散環境でのコンポーネント処理システムの動作手順を示す図である。 一般的なコンポーネント処理システムの構成を示す図である。
符号の説明
1…CPU、2…メモリ、3…外部記憶装置、4…バス、5…ネットワーク、6…ネットワーク接続装置、10…コンピュータ、11…オペレーティング・システム、12…ミドルウェア、12a…コンポーネント環境定義情報読込部、13…フレームワーク、14(14A,14B)…アプリケーション、15(15A,15B,15C)…コンポーネント、16…コンポーネント配置定義情報、16A…コンポーネントC1配置定義情報、16B…コンポーネントC2配置定義情報、16C…コンポーネントC3配置定義情報、17…コンポーネント利用定義情報、17A…コンポーネントC1指定情報、17B…コンポーネントC2指定情報、17C…コンポーネントC3指定情報、18…コンポーネント環境定義情報、19…アプリケーション配置定義情報、19A…アプリケーションA配置定義情報、19B…アプリケーションB配置定義情報、20…コンポーネント管理部、21(21A,21B)…コンポーネント利用定義情報の指定情報、22…コンポーネント振る舞い定義情報、22A…コンポーネントC1振る舞い定義、22B…コンポーネントC2振る舞い定義、22C…コンポーネントC振る舞い定義、30,40,50…コンピュータ、31…ミドルウェア、32…コンポーネントA、41…アプリケーションA、42,52…コンポーネント振る舞い定義情報、51…アプリケーションB、100,200,300…コンポーネント処理システム、110…クライアント、400,500,600…コンピュータ、412…ミドルウェアA、413…フレームワークA、414…アプリケーション、418…コンポーネント環境定義情報、420…コンポーネント管理部A、427B…コンポーネント管理部Bアドレス定義情報、427C…コンポーネント管理部Cアドレス定義情報、512…ミドルウェアB、513…フレームワークB、515…コンポーネントB、518…コンポーネント環境定義情報、520…コンポーネント管理部B、527…コンポーネントB振る舞い定義情報、612…ミドルウェアC、613…フレームワークC、615…コンポーネントC、618…コンポーネント環境定義情報、620…コンポーネント管理部C、627…コンポーネントC振る舞い定義情報。

Claims (5)

  1. オペレーティング・システム上で動作するミドルウェアと、
    前記ミドルウェア上で動作するフレームワークと、
    前記フレームワーク上で動作する少なくとも一つのアプリケーションと、
    前記アプリケーションによって選択的に利用可能な複数のコンポーネントと、
    個々の前記コンポーネントの配置場所が定義されたコンポーネント配置定義情報、前記利用されるコンポーネントが定義されたコンポーネント利用定義情報、及び前記アプリケーションに対応する前記コンポーネント利用定義情報を指定する情報を含むアプリケーション配置定義情報を有するコンポーネント環境定義情報と、
    前記フレームワークに設けられ、前記アプリケーションからの要求により、当該アプリケーションにより利用されるコンポーネントの配置場所の取得を前記ミドルウェアに要求し、その応答として取得した配置場所にあるコンポーネントに対して実体化を要求するコンポーネント管理部と、
    前記ミドルウェアに設けられ、前記コンポーネント管理部からの要求を受け、前記コンポーネント環境定義情報から、前記アプリケーションにより利用されるコンポーネントの配置場所を取得して前記コンポーネント管理部に応答するコンポーネント環境定義情報読込部とを有することを特徴とするコンポーネント処理システム。
  2. オペレーティング・システム上で動作するミドルウェアと、
    前記ミドルウェア上で動作するフレームワークと、
    前記フレームワーク上で動作する少なくとも一つのアプリケーションと、
    前記アプリケーションによって選択的に利用可能な複数のコンポーネントと、
    個々の前記コンポーネントの振る舞いがそれぞれ定義された複数の振る舞い定義情報と、
    個々の前記コンポーネントの配置場所が定義されたコンポーネント配置定義情報、利用されるコンポーネントが定義されたコンポーネント利用定義情報、及び前記アプリケーションに対応する前記コンポーネント利用定義情報を指定する情報を含むアプリケーション配置定義情報を有するコンポーネント環境定義情報と、
    前記フレームワークに設けられ、前記アプリケーションからの要求により、当該アプリケーションにより利用されるコンポーネントの配置場所の取得を前記ミドルウェアに要求し、その応答として取得した配置場所にあるコンポーネントに対して前記振る舞い定義情報に基づく動作条件を与えて実体化を要求するコンポーネント管理部と、
    前記ミドルウェアに設けられ、前記コンポーネント管理部からの要求を受け、前記コンポーネント環境定義情報から、前記アプリケーションにより利用されるコンポーネントの配置場所を取得して前記コンポーネント管理部に応答するコンポーネント環境定義情報読込部とを有することを特徴とするコンポーネント処理システム。
  3. オペレーティングシステム上で動作するミドルウェアと、前記ミドルウェア上で動作するフレームワークと、前記フレームワーク上で動作する少なくとも一つのアプリケーションと、前記アプリケーションによって選択的に利用可能な複数のコンポーネントと、個々の前記コンポーネントの配置場所が定義されたコンポーネント配置定義情報、利用されるコンポーネントが定義されたコンポーネント利用定義情報、及び前記アプリケーションに対応する前記コンポーネント利用定義情報を指定する情報を含むアプリケーション配置定義情報を有するコンポーネント環境定義情報とが配置されたコンピュータシステムにおけるコンポーネント処理方法であって、
    前記アプリケーションからの要求により、前記アプリケーションにより利用されるコンポーネントの配置場所の取得を前記ミドルウェアに要求するステップと、
    前記コンポーネント環境定義情報から前記アプリケーションにより利用されるコンポーネントの配置場所を取得するステップと、
    前記取得されたコンポーネントの配置場所を前記フレームワークに応答するステップと、
    前記配置場所にある前記コンポーネントに対して、所定の動作条件を与えて前記コンポーネントの実体化を要求するステップと、
    前記実体化されたコンポーネントの実体への参照情報を前記アプリケーションに応答するステップとを具備することを特徴とするコンポーネント処理方法。
  4. オペレーティングシステム上で動作するミドルウェアと、前記ミドルウェア上で動作するフレームワークと、前記フレームワーク上で動作する少なくとも一つのアプリケーションと、前記アプリケーションによって選択的に利用可能な複数のコンポーネントと、個々の前記コンポーネントの振舞いがそれぞれ定義された複数の振舞い定義情報と、個々の前記コンポーネントの配置場所が定義されたコンポーネント配置定義情報、前記利用されるコンポーネントが定義されたコンポーネント利用定義情報、及び前記アプリケーションに対応する前記コンポーネント利用定義情報を指定する情報を含むアプリケーション配置定義情報を有するコンポーネント環境定義情報とが配置されたコンピュータシステムにおけるコンポーネント処理方法であって、
    前記アプリケーションからの要求により、前記アプリケーションにより利用されるコンポーネントの配置場所の取得を前記ミドルウェアに要求するステップと、
    前記コンポーネント環境定義情報から前記アプリケーションにより利用されるコンポーネントの配置場所を取得するステップと、
    前記取得されたコンポーネントの配置場所を前記フレームワークに応答するステップと、
    前記配置場所にある前記コンポーネントに対し、前記振舞い定義情報に基づいて前記コンポーネントの実体化を要求するステップと、
    前記実体化されたコンポーネントの実体への参照情報を前記アプリケーションに応答するステップとを具備することを特徴とするコンポーネント処理方法。
  5. 前記応答されたコンポーネントの情報を前記フレームワークにプールするステップとをさらに具備し、
    前記コンポーネントの実体化を要求するステップは、前記コンポーネントの実体化の要求を受けた場合、前記フレームワークにプールされたコンポーネントの情報を参照することにより、前記コンポーネントの実体化を要求することを特徴とする請求項3又は4に記載のコンポーネント処理方法。
JP2003421629A 2003-12-18 2003-12-18 コンポーネント処理システム及びコンポーネント処理方法 Pending JP2005182419A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003421629A JP2005182419A (ja) 2003-12-18 2003-12-18 コンポーネント処理システム及びコンポーネント処理方法
US11/009,092 US7418713B2 (en) 2003-12-18 2004-12-13 Component processing system and component processing method
CNB2004100954707A CN100340978C (zh) 2003-12-18 2004-12-17 组件处理系统和组件处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003421629A JP2005182419A (ja) 2003-12-18 2003-12-18 コンポーネント処理システム及びコンポーネント処理方法

Publications (1)

Publication Number Publication Date
JP2005182419A true JP2005182419A (ja) 2005-07-07

Family

ID=34675280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003421629A Pending JP2005182419A (ja) 2003-12-18 2003-12-18 コンポーネント処理システム及びコンポーネント処理方法

Country Status (3)

Country Link
US (1) US7418713B2 (ja)
JP (1) JP2005182419A (ja)
CN (1) CN100340978C (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009508252A (ja) * 2005-09-13 2009-02-26 マイクロソフト コーポレーション 属性を使用したプラグ可能な機能の識別およびフィルタリング
WO2010050601A1 (ja) * 2008-10-31 2010-05-06 株式会社 東芝 フレームワークプログラム及びクライアント装置
JP2012014700A (ja) * 2010-07-01 2012-01-19 Nhn Corp 開発者インタフェース提供方法およびシステム
JP2015230622A (ja) * 2014-06-05 2015-12-21 キヤノン株式会社 情報処理装置、アプリケーションの管理方法、およびプログラム
JP2019016215A (ja) * 2017-07-07 2019-01-31 横河電機株式会社 制御系システム、および共通プラットフォーム
JP2021524098A (ja) * 2018-05-14 2021-09-09 ユニティ アイピーアール エイピーエスUnity Ipr Aps ソフトウェア開発におけるアドレス可能なアセット

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008041038A (ja) * 2006-08-10 2008-02-21 Mitsubishi Electric Corp ソフトウエア作成方法
CN103809979B (zh) * 2014-02-25 2017-03-29 南京南瑞继保电气有限公司 一种人机交互软件模块集成系统及其实现方法
CN110896407B (zh) * 2018-09-13 2023-03-10 亿阳信通股份有限公司 一种nfvo组件配置管理、请求转发方法和请求处理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0501610B1 (en) * 1991-02-25 1999-03-17 Hewlett-Packard Company Object oriented distributed computing system
US5732261A (en) * 1995-07-19 1998-03-24 Ricoh Company, Ltd. Method of using an object-oriented communication system with support for multiple remote machine types
US5964843A (en) * 1996-04-25 1999-10-12 Microsoft Corporation System for enhancing device drivers
US6438616B1 (en) * 1997-12-18 2002-08-20 Sun Microsystems, Inc. Method and apparatus for fast, local corba object references
JP2000020490A (ja) * 1998-07-01 2000-01-21 Fujitsu Ltd 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
JP2000039998A (ja) * 1998-07-23 2000-02-08 Nippon Telegr & Teleph Corp <Ntt> オブジェクト指向ソフトウェア部品変更支援方法及び装置及びオブジェクト指向ソフトウェア部品変更支援プログラムを格納した記憶媒体
US6795968B1 (en) * 1998-11-25 2004-09-21 Microsoft Corporation Dynamic object behavior for object-oriented-computing environments
US6951021B1 (en) * 1999-11-30 2005-09-27 Recursion Software, Inc. System and method for server-side communication support in a distributed computing environment
JP2002049496A (ja) 2000-08-03 2002-02-15 Hitachi Ltd プログラム制御方法およびシステム並びにその処理プログラムを格納した記録媒体
US20020046240A1 (en) * 2000-08-31 2002-04-18 Scott Graham Web server framework
JP4019817B2 (ja) * 2002-06-28 2007-12-12 株式会社日立製作所 分散オブジェクト制御方法およびその実施システム
US20040216147A1 (en) * 2002-07-18 2004-10-28 Motorola, Inc. Component based application middleware framework

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009508252A (ja) * 2005-09-13 2009-02-26 マイクロソフト コーポレーション 属性を使用したプラグ可能な機能の識別およびフィルタリング
WO2010050601A1 (ja) * 2008-10-31 2010-05-06 株式会社 東芝 フレームワークプログラム及びクライアント装置
JP2010108370A (ja) * 2008-10-31 2010-05-13 Toshiba Corp フレームワークプログラム及びクライアント装置
JP2012014700A (ja) * 2010-07-01 2012-01-19 Nhn Corp 開発者インタフェース提供方法およびシステム
JP2015230622A (ja) * 2014-06-05 2015-12-21 キヤノン株式会社 情報処理装置、アプリケーションの管理方法、およびプログラム
JP2019016215A (ja) * 2017-07-07 2019-01-31 横河電機株式会社 制御系システム、および共通プラットフォーム
JP2021524098A (ja) * 2018-05-14 2021-09-09 ユニティ アイピーアール エイピーエスUnity Ipr Aps ソフトウェア開発におけるアドレス可能なアセット
JP7092893B2 (ja) 2018-05-14 2022-06-28 ユニティ アイピーアール エイピーエス ソフトウェア開発におけるアドレス可能なアセット
US11406901B2 (en) 2018-05-14 2022-08-09 Unity IPR ApS Addressable assets in software development

Also Published As

Publication number Publication date
CN1637706A (zh) 2005-07-13
CN100340978C (zh) 2007-10-03
US7418713B2 (en) 2008-08-26
US20050138336A1 (en) 2005-06-23

Similar Documents

Publication Publication Date Title
US9235380B2 (en) Software modeling framework
US6957228B1 (en) Object oriented apparatus and method for providing context-based class replacement in an object oriented system
KR101795844B1 (ko) 런타임 시스템
US7627865B2 (en) Method and apparatus for accessing instrumentation data from within a managed code environment
CN110716748B (zh) 业务处理方法、装置、计算机可读介质及电子设备
US7530081B2 (en) System for creating a dynamic OGSI service proxy framework using runtime introspection of an OGSI service
Krishnan et al. XCAT3: A framework for CCA components as OGSA services
Gabbrielli et al. Self-reconfiguring microservices
JPH08286916A (ja) オブジェクトにより手続きソフトウェアを機能的に改良するシステム及び方法
US6877163B1 (en) Method and system for dynamic proxy classes
US8479153B2 (en) Abstracting transformation for model driven architecture
JP2006252536A (ja) レガシーコンポーネントのための動的サービスの生成
JP2002540536A (ja) コンピュータシステム用分散型オブジェクト
JP2014528116A (ja) ポータブルコンピューティングデバイスにおける分散リソース管理
US6353859B1 (en) Object-oriented apparatus and method for controlling accesses to objects in a distributed object environment
US7725478B2 (en) Localization of CIM-Based instrumentation
JP2005182419A (ja) コンポーネント処理システム及びコンポーネント処理方法
KR100370548B1 (ko) 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를제공하는 실시간 미들웨어 장치 및 그 서비스 방법
US7383551B2 (en) Method and system for integrating non-compliant providers of dynamic services into a resource management infrastructure
Humphrey et al. An early evaluation of WSRF and WS-notification via WSRF. NET
US8676842B2 (en) Creating multiple Mbeans from a factory Mbean
US20060282460A1 (en) Method and system for generic data objects
US7546313B1 (en) Method and framework for using XML files to modify network resource configurations
Schantz et al. Middleware for Distributed Systems.
US6745250B1 (en) Finding named EJB homes via life cycle support

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070502

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070626