説明

コンポーネント化されたアプリケーション環境のための拡張可能なユーザ・インターフェース拡張方法、コンポーネント化されたアプリケーション環境データ処理システム、およびコンピュータ・プログラム

【課題】コンポーネント化されたアプリケーション環境におけるアプリケーションのユーザ・インターフェースを拡張する。
【解決手段】ユーザ・インターフェース・コントロールのセットをマークアップで指定するステップと、当該セット内のユーザ・インターフェース・コントロールの拡張子をマークアップでさらに指定するステップとを含むことができる。ユーザ・インターフェース・コントロールのためのマークアップを拡張子のためのマークアップで置き換えてもよい。そして、拡張子のためのマークアップと、ユーザ・インターフェース・コントロールのセットとを、対応のコントロール・ファクトリのセットに提供することができ、置換ユーザ・インターフェース・コントロールがない場合には、コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するユーザ・インターフェース・コントロール・インスタンスを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンポーネント化されたアプリケーション環境の分野に関し、より特定的には、コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースの拡張に関する。
【背景技術】
【0002】
コンポーネント化されたアプリケーション環境とは、コンポーネント化されたアプリケーション環境の拡張ポイントへのプラグインとして指定されるアプリケーション・コンポーネントの配置から実行時に構築されるアプリケーション環境である。Eclipse(商標)プラットフォーム(Eclipseは、eclipse.orgというドメインでのウェブ・サイトを有するエクリプス・ファウンデーションの商標である)によって実施されるように、コンポーネント化されたアプリケーション環境は、既存のアプリケーション・コンポーネントの露出部分への拡張ポイントを宣言して、当該アプリケーション・コンポーネントへのプラグインを登録して追加の機能または外観を提供することによって、アプリケーションの機能または外観の拡大を提供する。このように、アプリケーション・コンポーネントの基礎をなすコードを改変せずに、既存のアプリケーションを容易に拡張することができる。
【発明の開示】
【発明が解決しようとする課題】
【0003】
一般的に、Eclipseプラットフォームを含むコンポーネント化されたアプリケーション環境は、アプリケーション寄与者が新規のユーザ・インターフェース・コンポーネントを既存のアプリケーションへ追加することができるようにする拡張モデルを提供することができる。具体的には、既存のアプリケーションのユーザ・インターフェースは、コンポーネント化されたアプリケーション環境への新規のプラグインを作成して、既存の拡張ポイントに対する拡張定義を提供することによって拡張できる。拡張モデルは、新規の機能をアプリケーションに追加するための強力な方法を提供するものの、これまでの拡張モデルは、既存のアプリケーション・コンポーネントの修正または除去に対応していない。
【0004】
より具体的に述べると、アプリケーションのできるだけ多くの展開においてアプリケーションを再使用できることを確かなものにするためには、アプリケーションが特定の展開の要求に合うように修正できるようなアプリケーションを構築するのが望ましい。また、効果的なサポートおよび展開されたアプリケーションのための「フィックス・パック(fix−pack)」配信を提供するためには、アプリケーションの長所を直接変更せずに展開固有の修正を適用するのが望ましい。にもかかわらず、現在、展開されたアプリケーションを特定の展開の要件に合うように修正するには、または、フィックス・パックを既存の展開に適用するには、展開されたアプリケーションを直接修正する必要がある。
【0005】
例えば、Eclipse環境において、ユーザ・インターフェースは、標準的なウィジェット・ツールキットを使用してプログラム・コードの直接的な命令を通じて作成できる。その結果、ユーザ・インターフェースの外部的な修正をプログラム的に許可するには、開発者は、ユーザ・インターフェースの該当するデータおよびメソッド・メンバーを公開することを確実にしなければならない。代替的に、アプリケーション内のEclipseユーザ・インターフェース・コンポーネントのマークアップ言語記述を使用することもよく知られている。後者の場合、標準的なウィジェット・ツールキットの本来の機能が、ユーザ・インターフェースの拡張性のために犠牲となることがある。さらに、マークアップ言語仕様で定義されたユーザ・インターフェースを拡張するには、マークアップ言語使用の修正が必要であり、Eclipseプログラミング・モデルの少なくとも1つの前提に違反することとになり、リリース毎の移動を提供する際のフィックス・パックの配布を阻害することになる。
【課題を解決するための手段】
【0006】
本発明の実施形態は、アプリケーションのユーザ・インターフェースの拡張に関する技術の不備に対処するものであり、コンポーネント化されたアプリケーション環境におけるアプリケーションのユーザ・インターフェースを拡張するための新規で非自明な方法、システム、装置を提供する。本発明の一実施形態において、コンポーネント化されたアプリケーション環境のためのユーザ・インターフェース拡張方法は、ユーザ・インターフェース・コントロールのセットをマークアップで指定するステップと、当該セット内のユーザ・インターフェース・コントロールの拡張子をマークアップでさらに指定するステップとを含むことができる。ユーザ・インターフェース・コントロールのためのマークアップを拡張子のためのマークアップで置き換えてもよい。そして、拡張子のためのマークアップと、ユーザ・インターフェース・コントロールのセットとを、対応のコントロール・ファクトリのセットに提供することができ、置換ユーザ・インターフェース・コントロールがない場合には、コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するユーザ・インターフェース・コントロール・インスタンスを生成する。
【0007】
実施形態の一側面において、ユーザ・インターフェース・コントロールのセットをマークアップで指定するステップは、ユーザ・インターフェース・コントロール毎にタイプを定義するステップを含むことができる。そのタイプは、定義されたタイプを有するユーザ・インターフェース・コントロールのインスタンスを生じさせることができるユーザ・インターフェース・コントロール・ファクトリに対応しうるものである。また、マネージャ・タイプを、ユーザ・インターフェース・コントロール毎にさらに定義することもできる。マネージャ・タイプは、さらに定義されたマネージャ・タイプを有するユーザ・インターフェース・コントロールのインスタンスについての動作を管理することができるウィジェット・マネージャに対応することができる。
【0008】
本発明の別の側面において、ユーザ・インターフェース・コントロールのためのマークアップを拡張子のためのマークアップで置き換えるステップは、ユーザ・インターフェース・コントロールの拡張子のための環境のユーザ・インターフェース・コントロール拡張ポイントを指定するステップと、拡張子のためのユーザ・インターフェース・コントロール定義をさらに指定するステップとを含むことができる。このように、拡張ポイントは、拡張子のためのユーザ・インターフェース・コントロール定義に関連付けることができ、拡張子は、環境のためのユーザ・インターフェースを組み立てる際に拡張子が代用されるべきユーザ・インターフェース・コントロールの代わりとして識別できる。
【0009】
本発明のさらに他の局面において、ユーザ・インターフェース・コントロールのセットの構成は、マークアップで宣言することができる。加えて、構成の拡張子は、マークアップでさらに宣言することができる。そして、構成のためのマークアップを構成の拡張子のためのマークアップで置き換えることができる。そして、構成の拡張子のためのマークアップは、コントロール・ファクトリに提供されて、コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するユーザ・インターフェース・コントロールのインスタンスの構成のインスタンスを生成することができる。
【0010】
本発明の他の実施形態において、コンポーネント化されたアプリケーション環境データ処理システムは、ユーザ・インターフェース拡張のために構成できる。本システムは、コンポーネント化されたアプリケーション環境を定義するプラグインと、コンポーネント化されたアプリケーション環境のためのユーザ・インターフェース・フレームワークとを含むことができる。ユーザ・インターフェース・フレームワークは、コントロール・ファクトリを含むことができ、各コントロール・ファクトリは、指定されたタイプを有するユーザ・インターフェース・コントロールを、当該指定されたタイプを宣言するユーザ・インターフェース・コントロール定義から生成することができるプログラム・コードを含む。
【0011】
ユーザ・インターフェース・フレームワークは、ウィジェット・マネージャも含んでいてよい。各ウィジェット・マネージャは、指定されたマネージャ・タイプを有する、当該指定されたマネージャ・タイプを宣言するユーザ・インターフェース・コントロール定義からのユーザ・インターフェース・コントロールのための動作を管理することができるプログラム・コードを含む。
【0012】
最後に、ユーザ・インターフェース・フレームワークは、コンフィギュレータも含んでいてよい。コンフィギュレータは、定義されたユーザ・インターフェース・コントロールの拡張子を識別することができるプログラム・コードを含むことができる。各拡張子は、定義されたユーザ・インターフェース・コントロールのうちの1つの置換を指定しうる。よって、コンフィギュレータは、どのコントロールおよび構成定義が新たなコントロールおよび構成定義によって置換されるかを識別することができる。
【0013】
オプションとして、少なくとも1つのコントロール・ファクトリは、ユーザ・インターフェース・コントロールの構成をユーザ・インターフェース・コントロールの構成のために定義された構成宣言から生成することができるプログラム・コードを含むことができる。これに関して、構成宣言は、グリッド・レイアウト、フォーム・レイアウト、スタック・レイアウト、および行レイアウトからなる群から選ばれたユーザ・インターフェース・コントロールのためのレイアウトを指定することができる。
【発明を実施するための最良の形態】
【0014】
本発明の実施形態は、複合アプリケーション環境のための拡張可能なユーザ・インターフェース・フレームワークのための方法、システム、およびコンピュータ・プログラムを提供する。本発明の一実施形態によれば、複合アプリケーション環境におけるユーザ・インターフェース・コントロールは、環境の拡張ポイントとして定義することができる。当該環境について定義された元来指定のユーザ・インターフェース・コントロールは、置換ユーザ・インターフェース・コントロールを拡張ポイントとして定義することを通じて拡張でき、置換ユーザ・インターフェース・コントロールは、元来指定のユーザ・インターフェース・コントロールの身元を参照することができる。このように、環境のためのユーザ・インターフェース・コントロールは、ユーザ・インターフェース・コントロールのロジックを修正せずに、修正することができる。
【0015】
とりわけ、本発明のフレームワークは、ユーザ・インターフェース・コントロールの定義に関するだけではなく、環境のユーザ・インターフェース内のユーザ・インターフェース・コントロールの構成または配置にも関しうる。このように、環境のためのユーザ・インターフェース・コントロールのもともとの指定された構成および配置は、ユーザ・インターフェース・コントロールの置換構成または配置を拡張ポイントとして定義することを通じて拡張でき、ユーザ・インターフェース・コントロールの置換構成または配列は、ユーザ・インターフェース・コントロールのもともとの指定された構成または配列の身元を参照することができる。上述のように、環境のためのユーザ・インターフェース・コントロールの構成および配列は、ユーザ・インターフェース・コントロールの構成および配列のロジックを修正せずに、修正することができる。
【0016】
さらなる図示において、図1は、アプリケーション・ユーザ・インターフェース拡張性のために構成された、コンポーネント化されたアプリケーション環境に対するホストとしてのデータ処理システムの概略図を示す。データ処理システム110は、コンポーネント化されたアプリケーション環境130を含むことができ、コンポーネント化されたアプリケーション環境130は、環境130に対する1つ以上のプラグイン120をサポートする。環境130は、コントロール・ファクトリ150と、ウィジェット・マネージャ180と、コンフィギュレータ拡張ポイント190と含むユーザ・インターフェース・フレームワークへ結合されることができる。ユーザ・インターフェース・フレームワークは、1つ以上の定義されたコントロール140と、定義されたコントロール140のセットの1つ以上の定義された構成170と、それぞれが定義されたコントロール140のうちの既存の1つおよび定義された構成170のうちの既存の1つのうちのいずれかの代わりとして定義される1つ以上のユーザ・インターフェース拡張子160とをさらに含むことができる。
【0017】
動作において、ユーザ・インターフェースは、定義されたコントロール140の選択から組み立てることができる。定義された各コントロール140は、当該コントロールについての文書型定義(DTD)に従ってマークアップで定義することができる。同様に、各構成170は、当該構成についてのDTDに従って、マークアップで定義することができる。その定義の一部として、コントロール140は、コントロール・タイプおよびマネージャ・タイプを指定することができる。定義内の指定されたコントロール・タイプを使用して、ユーザ・インターフェース・フレームワークは、コントロール・ファクトリ150のうち、環境130への拡張ポイントとして登録された関連する1つを呼び出して、コントロール140のうち、定義された1つのインスタンスを作成することができる。同様に、定義内の指定されたマネージャ・タイプを使用して、ユーザ・インターフェース・フレームワークは、ウィジェット・マネージャ180のうち、関連する1つを呼び出して、コントロール140のうち、定義された1つの動作を管理することができる
【0018】
フレームワークを使用するアプリケーション・インテグレータは、修正すべき環境のユーザ・インターフェース内のコントロール140を識別し、拡張子160の形式のコントロール140のうちの対応する置換コントロールをさらに識別することによって、環境130のユーザ・インターフェースをカスタマイズすることができる。コンフィギュレータ拡張ポイント190は、拡張子160の中のどの新規のコントロール定義がユーザ・インターフェース内のコントロール140についての既存のコントロール定義を置き換えるかを指定するプロパティ・ファイル(図示せず)を定義することができるプログラム・コードを含む。コンフィギュレータ拡張ポイント190は、環境130のユーザ・インターフェースを構築する際に、コントロール140の既存のコントロール定義に代えて、拡張子160内の新規のコントロール定義を適用する。その結果、環境130の基礎となるアプリケーション・コンポーネントは、環境130のユーザ・インターフェースを修正するために修正される必要がない。
【0019】
より詳しく図示すると、図2は、図1のコンポーネント化されたアプリケーション環境におけるユーザ・インターフェースの拡張子についてのアーキテクチャのためのDTDを示すブロック図である。アーキテクチャは、コンポーネント化されたアプリケーション環境のユーザ・インターフェースの拡張子205を含むことができる。拡張子205は、拡張ポイントであってもよく、プロパティとして、拡張子205の完全に認定された識別子210と、拡張子205によって拡張される対象ユーザ・インターフェース・コントロールの固有のオプションの識別子215と、拡張子205のインスタンスのためのオプションの名前220とを含むことができる。とりわけ、拡張子205は、1つ以上のコントロール定義225を含むことができる。
【0020】
各コントロール定義225は、コントロール定義225のための固有の識別子230と、コントロール定義225によって定義されるコントロールのインスタンスを作成するのに必要とされるタイプ・コントロール・ファクトリを指定するコントロール・タイプ235とを含むことができる。コントロール・タイプ235は、例えば、いくつか挙げると、テキスト・コントロール、ラベル・コントロール、必要なラベル、コンボ・ボックス、リスト・ボックス、押しボタン、チェック・ボックス、ラジオ・ボタン、表、構成、群、セパレータ、スクロールされた構成、およびツールバーを含むことができる。コントロール定義225は、コントロール定義によって定義されたコントロールのインスタンスを管理することが期待されるウィジェット・マネージャのタイプを指定するマネージャ・タイプ240と、コントロール定義225の基礎となり、かつ、コントロール定義内の明示的に定義されたプロパティによって上書き可能なプロパティをコントロール定義225が継承する他のコントロール定義を識別する参照識別子245とをさらに含むことができる。
【0021】
各コントロール定義225は、プロパティ要素250を参照できる。プロパティ要素250は、コントロール定義225のプロパティを説明するために使用でき、コントロール・インスタンスがコントロール定義225について作成される場合に、コントロール・ファクトリにとって利用可能にすることができる。同様に、コントロール定義225のインスタンスが管理される場合に、プロパティ要素250を、ウィジェット・マネージャに与えることができる。プロパティ要素250は、名前属性255と、値属性260とを含むことができる。名前属性255は、プロパティ要素250のインスタンスの名前を参照することができ、値属性260は、プロパティ要素250のインスタンスの単一の値を有することができる。しかしながら、リスト内の複数の値については、値要素265がプロパティ要素250に提供されて、値要素265のインスタンスは、プロパティ要素250のインスタンスに複数の値を提供することができる。
【0022】
一旦ユーザ・インターフェース・コントロールが環境のためのユーザ・インターフェースのために定義されると、ユーザ・インターフェース・コントロールのレイアウトを定義できる。例えば、レイアウトを指定するための構成およびレイアウト定義を提供することができる。本発明において、構成自体がコントロールのインスタントであり、コントロール・タイプが「構成」である図2のコントロールの拡張ポイントを使用して、宣言することができる。加えて、「compositeDefinitions」と称される、例えば、いくつか挙げると、グリッド・レイアウト・タイプ、フォーム・レイアウト・タイプ、スタック・レイアウト・タイプ、および行レイアウト・タイプなどの構成タイプに従った構成レイアウトの宣言を可能にする、環境の他の拡張ポイントを提供できる。このように、構成コントロール・ファクトリが、1つ以上のコントロールに関連した構成定義を処理して、構成についてのレイアウトおよび子コントロールを識別することができる。
【0023】
さらに詳しく図示すると、図3は、図1のコンポーネント化されたアプリケーション環境におけるユーザ・インターフェースの構成定義拡張ポイントについてのアーキテクチャのためのDTDを示すブロック図である。アーキテクチャは、構成定義のための構成拡張子305を含むことができる。構成拡張子305は、拡張ポイントであってもよく、プロパティとして、拡張子305の完全に認定された識別子310と、拡張子305によって拡張される対象ユーザ・インターフェース構成の固有のオプションの識別子315と、拡張子305のインスタンスのためのオプションの名前320とを含むことができる。とりわけ、拡張子305は、1つ以上の構成宣言325を含むことができる。
【0024】
各構成宣言325は、構成宣言325のための固有の識別子230を含むことができる。各構成宣言325は、レイアウト識別子335をさらに含むことができる。レイアウト識別子335は、構成宣言325に関連したレイアウト宣言を参照することができる。レイアウト宣言の例には、グリッド・レイアウト宣言、フォーム・レイアウト宣言、スタック・レイアウト宣言、および行レイアウト宣言が含まれる。最後に、各構成宣言325は、参照識別子345を含むことができる。参照識別子345は、構成宣言325の基礎となり、かつ、構成宣言325内の明示的に定義されたプロパティによって上書き可能なプロパティを構成宣言325が継承する他の構成宣言を識別することができる。
【0025】
各構成宣言325は、1つ以上の子コントロール要素350を参照することができる。子コントロール要素350は、子コントロールを作成するために使用されるコントロール識別子355を含むことができる。コントロール識別子355は、コントロールの拡張ポイントの拡張子として定義されたコントロール要素の識別子属性に適合することができる。コントロール識別子355は、関連構成宣言325のレイアウト・タイプによっては、他の属性を含むことができる。例えば、グリッド・レイアウトの場合、子コントロール要素350は、特にグリッド・レイアウトとグリッド・データ・宣言とを参照するデータ識別子360を含むこともでき、グリッド・データ拡張ポイントの拡張子として定義されたグリッド・データ要素の識別子属性に適合することができる。それに比べて、フォーム・レイアウトの場合、子コントロール350は、フォーム構成定義内で使用される高さ属性365、幅属性370、およびスパン属性375をも含むことができる。
【0026】
構成宣言325についてのフォーム・レイアウトを特に参照して、コントロール識別子355は、付加要素380を含むことができる。付加要素380は、左、右、上、下というタイプを含むことができ、それぞれは、フォーム構成内の関連コントロールの指定された側のフォームの付加を記述することができる。付加要素380は、フォームの付加位置からのコントロール側のオフセット385をピクセルで指定することができる。付加要素380は、フォームの配置を指定するための分子属性390および分母属性395と、フォームの位置合わせを指定する位置合わせ属性400とを含むこともできる。最後に、フォームが付加されるべきコントロールを識別するために、関係コントロール識別子405を提供することができる。
【0027】
動作において、図2および図3のDTD定義されたアーキテクチャを活用して、環境において各アプリケーション・コンポーネントの基礎となるコードを配信せずに、コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースの修正が可能となる。さらなる図示において、図4は、コンポーネント化されたアプリケーション環境内のアプリケーションのユーザ・インターフェースにおけるユーザ・インターフェース・コントロールを拡張するための処理を示すフローチャートである。ブロック410において開始し、環境のためのユーザ・インターフェースに含まれるユーザ・インターフェース・コントロールの選択を示すマニフェストが取り出される。ブロック420において、ユーザ・インターフェース・コントロールのためのコントロールのDTDに準拠するマークアップ言語仕様をロードでき、ブロック430において、コンフィギュレータをロードして、どのユーザ・インターフェース・コントロールがコントロールの参照された拡張子に基づいて修正されるべきかを判断することができる。
【0028】
判断ブロック440において、ユーザ・インターフェース・コントロールを修正すべきとコンフィギュレータが判断する場合には、ブロック450において、置換すべき既存のコントロールが識別されて、置換ユーザ・インターフェース・コントロールに置換できる。その後、ブロック460において、ユーザ・インターフェース・コントロールのためのレイアウトを示す構成を取り出すことができる。再び、コンフィギュレータは、判断ブロック470において、コントロールのための既存のレイアウトを置換すべきかどうかを判断できる。もし置換すべきであれば、ブロック480において、ユーザ・インターフェース・コントロールの既存の構成は、修正された構成に置換できる。最後に、ブロック490において、ユーザ・インターフェースは、構成によって定義されたレイアウトに従って配置されたユーザ・インターフェース・コントロールを含む環境のために提供される。これに関して、コントロールのためのマークアップおよび構成は、ユーザ・インターフェースにおける定義されたコントロールのインスタンスをそれぞれ生成するための該当するコントロール・ファクトリへ渡すことができる。
【0029】
ユーザ・インターフェースは、ユーザ・インターフェース・コントロールのマークアップ言語定義と、ユーザ・インターフェース・コントロールの構成のマークアップ言語定義とを通じて指定できることが、本発明の当業者によって理解されるだろう。特定のタイプのコントロールおよび構成を生成することができるコントロール・ファクトリは、各ユーザ・インターフェース・コントロールおよび構成を生成するために、マークアップ言語で定義されたコントロールおよび構成を処理するように構成することができる。
【0030】
そして、ユーザ・インターフェース・コントロールまたは構成を修正することは、コントロールまたは構成の拡張子のマークアップ言語定義のみを要求する。コンフィギュレータは、拡張子付きのユーザ・インターフェース・コントロールまたは構成の置換を示すマニフェストを理解でき、後者のマークアップは、前者のものに置き換えられてもよい。その後、置換された拡張子は、コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するインスタンスを生成するための適切なファクトリに提供できる。しかも、環境内の任意のアプリケーション・コンポーネントについてのユーザ・インターフェースのための基礎となるソース・コードのいずれも修正することなく、ユーザ・インターフェースに対する修正が適用できる。
【0031】
本発明の実施形態は、完全にハードウェアによる実施形態、完全にソフトウェアによる実施形態、またはハードウェアおよびソフトウェア要素を共に含む実施形態の形態を取ることができる。好ましい一実施形態において、本発明は、ソフトウェアで実施され、当該ソフトウェアには、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、これらに限定されない。さらに、本発明は、コンピュータまたは任意の命令実行システムによってまたは関連して使用されるプログラム・コードを提供するコンピュータ使用可能な、またはコンピュータ読み出し可能な媒体からアクセス可能なコンピュータ・プログラムの形態を取ることができる。
【0032】
本説明の目的のために、コンピュータ使用可能またはコンピュータ読み出し可能な媒体は、命令実行システム、装置、またはデバイスによって使用されるか、またはそれらに関連して使用される、プログラムを包含、記憶、通信、伝搬、または移植できる任意の装置であってもよい。媒体は、電子的、磁気的、光学的、電磁的、赤外線、または半導体システム(または装置またはデバイス)、または伝搬媒体であってもよい。コンピュータ読み出し可能な媒体の例には、半導体、固体メモリ、磁気テープ、着脱可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM),読み出し専用メモリ(ROM)、固定型磁気ディスク、および光ディスクが含まれる。光ディスクの現時点における例には、コンパクト・ディスク読み出し専用メモリ(CD−ROM)、コンパクト・ディスク読み出し/書き込み(CD−R/W)、およびDVDが含まれる。
【0033】
プログラム・コードを記憶または実行あるいはその両方を行うのに適切なデータ処理システムは、システム・バスを通じてメモリ要素と直接的または間接的に結合された少なくとも1つのプロセッサを含むことになる。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを取り出さなければならない回数を削減するために、少なくともいくつかのプログラム・コードの一時的な記憶を提供するキャッシュ・メモリとを含むことができる。入力/出力またはI/O装置(キーボード、ディスプレイ、ポインテインング・デバイスなどを含むがこれらに限定されない)は、直接または介在I/Oコントローラを通じてシステムと結合できる。また、ネットワーク・アダプタがシステムに結合されて、データ処理システムが他のデータ処理システムまたは遠隔プリンタまたは記憶装置と介在私的または公的ネットワークを通じて他のデータ処理システムに結合されてるようにしてもよい。モデム、ケーブル・モデム、およびイーサネット・カードは、現在利用可能なネットワーク・アダプタのうちのいくつかのものである。
【図面の簡単な説明】
【0034】
【図1】ユーザ・インターフェース拡張性のために構成された、コンポーネント化されたアプリケーション環境の概略図である。
【図2】図1のコンポーネント化されたアプリケーション環境において使用される拡張可能なユーザ・インターフェース・コントロールを示すブロック図である。
【図3】図1のコンポーネント化されたアプリケーション環境において使用される拡張可能なユーザ・インターフェース・コントロール構成を示すブロック図である。
【図4】コンポーネント化されたアプリケーション環境内のアプリケーションのユーザ・インターフェースにおけるユーザ・インターフェース・コントロールを拡張するための処理を示すフローチャートである。
【符号の説明】
【0035】
120 プラグイン
130 コンポーネント化されたアプリケーション環境
140 コントロール
150 コントロール・ファクトリ
160 拡張子
170 構成
180 ウィジェット・マネージャ
190 コンフィギュレータ拡張ポイント

【特許請求の範囲】
【請求項1】
コンポーネント化されたアプリケーション環境のためのユーザ・インターフェース拡張方法であって、
ユーザ・インターフェース・コントロールのセットをマークアップで指定するステップと、
前記セット内のユーザ・インターフェース・コントロールの拡張子をマークアップでさらに指定するステップと、
前記ユーザ・インターフェース・コントロールのための前記マークアップで前記拡張子のための前記マークアップを置き換えるステップと、
前記拡張子のための前記マークアップと、ユーザ・インターフェース・コントロールの前記セットとを、前記置換ユーザ・インターフェース・コントロールがない場合には、対応のコントロール・ファクトリのセットに提供して、前記コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するユーザ・インターフェース・コントロール・インスタンスを生成するステップと
を含む、方法。
【請求項2】
ユーザ・インターフェース・コントロールのセットをマークアップで指定するステップは、
前記ユーザ・インターフェース・コントロール毎にタイプを定義するステップであって、前記タイプは、前記定義されたタイプを有するユーザ・インターフェース・コントロールのインスタンスを生じさせることができるユーザ・インターフェース・コントロール・ファクトリに対応している、ステップと、
マネージャ・タイプを、前記ユーザ・インターフェース・コントロール毎にさらに定義するステップであって、前記マネージャ・タイプは、前記さらに定義されたマネージャ・タイプを有するユーザ・インターフェース・コントロールのインスタンスについての動作を管理することができるウィジェット・マネージャに対応している、ステップと
を含む、請求項1に記載の方法。
【請求項3】
ユーザ・インターフェース・コントロールのための前記マークアップを前記拡張子のための前記マークアップで置き換えるステップは、
前記ユーザ・インターフェース・コントロールの拡張子のための環境のユーザ・インターフェース・コントロール拡張ポイントを指定するステップと、
前記拡張子のためのユーザ・インターフェース・コントロール定義をさらに指定するステップと、
前記拡張ポイントを前記拡張子のためのユーザ・インターフェース・コントロール定義に関連付けるステップと、
前記環境のためのユーザ・インターフェースを組み立てる際に前記拡張子が代用されるべき前記ユーザ・インターフェース・コントロールの代わりとして前記拡張子を識別するステップと
を含む、請求項2に記載の方法。
【請求項4】
ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するステップと、
前記構成の拡張子をマークアップでさらに宣言するステップと、
構成のための前記マークアップを前記構成の前記拡張子のための前記マークアップで置き換えるステップと、
前記構成の前記拡張子のための前記マークアップをコントロール・ファクトリに提供して、前記コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するユーザ・インターフェース・コントロールのインスタンスの構成のインスタンスを生成するステップと
をさらに含む、請求項1に記載の方法。
【請求項5】
ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するステップは、ユーザ・インターフェース・コントロールのセットのグリッド・レイアウト構成をマークアップで宣言するステップを含む、請求項4に記載の方法。
【請求項6】
ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するステップは、ユーザ・インターフェース・コントロールのセットのフォーム・レイアウト構成をマークアップで宣言するステップを含む、請求項4に記載の方法。
【請求項7】
ユーザ・インターフェース・コントロールのための前記マークアップを前記拡張子のための前記マークアップで置き換えるステップは、
マニフェスト内で、前記ユーザ・インターフェース内のユーザ・インターフェース・コントロールの拡張子のセットを識別するステップと、
前記マニフェスト内の前記識別された各ユーザ・インターフェース・コントロールのためのマークアップを対応する識別された前記拡張子のうちの1つのためのマークアップで置き換えるステップと
を含む、請求項1に記載の方法。
【請求項8】
ユーザ・インターフェース拡張のために構成された、コンポーネント化されたアプリケーション環境データ処理システムであって、
コンポーネント化されたアプリケーション環境を定義する複数のプラグインと、
前記コンポーネント化されたアプリケーション環境のためのユーザ・インターフェース・フレームワークとを備え、前記ユーザ・インターフェース・フレームワークは、
複数のコントロール・ファクトリであって、各コントロール・ファクトリは、指定されたタイプを有するユーザ・インターフェース・コントロールを、前記指定されたタイプを宣言するユーザ・インターフェース・コントロール定義から生成することができるプログラム・コードを備える、コントロール・ファクトリと、
指定されたマネージャ・タイプを有する、当該指定されたマネージャ・タイプを宣言するユーザ・インターフェース・コントロール定義からのユーザ・インターフェース・コントロールのための動作を管理することができるプログラム・コードを備える、複数のウィジェット・マネージャと、
定義されたユーザ・インターフェース・コントロールの拡張子を識別することができるプログラム・コードを備え、各拡張子は、前記定義されたユーザ・インターフェース・コントロールのうちの1つの置換を指定する、コンフィギュレータと
を備える、システム。
【請求項9】
前記指定されたタイプは、テキスト・コントロール、ラベル・コントロール、必要なラベル、コンボ・ボックス、リスト・ボックス、押しボタン、チェック・ボックス、ラジオ・ボタン、表、構成、群、セパレータ、スクロールされた構成、およびツールバーからなる群から選ばれるタイプを備える、請求項8に記載のシステム。
【請求項10】
前記コントロール・ファクトリのうちの少なくとも1つは、ユーザ・インターフェース・コントロールの構成をユーザ・インターフェース・コントロールの前記構成のために定義された構成宣言から生成することができるプログラム・コードを備える、請求項8に記載のシステム。
【請求項11】
前記構成宣言は、グリッド・レイアウト、フォーム・レイアウト、スタック・レイアウト、および行レイアウトからなる群から選ばれたユーザ・インターフェース・コントロールのためのレイアウトを指定する、請求項10に記載のシステム。
【請求項12】
複合アプリケーション環境のためのユーザ・インターフェース拡張のためのコンピュータ使用可能なプログラム・コードを実施するコンピュータ使用可能な媒体を備えるコンピュータ・プログラムであって、
ユーザ・インターフェース・コントロールのセットをマークアップで指定するためのコンピュータ使用可能なプログラム・コードと、
前記セット内のユーザ・インターフェース・コントロールの拡張子をマークアップでさらに指定するためのコンピュータ使用可能なプログラム・コードと、
ユーザ・インターフェース・コントロールのための前記マークアップを前記拡張子のための前記マークアップで置き換えるためのコンピュータ使用可能なプログラム・コードと、
前記拡張子のための前記マークアップと、ユーザ・インターフェース・コントロールの前記セットとを、前記置換ユーザ・インターフェース・コントロールがない場合には、対応のコントロール・ファクトリのセットに提供して、前記コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するユーザ・インターフェース・コントロール・インスタンスを生成するためのコンピュータ使用可能なプログラム・コードと
を含む、コンピュータ・プログラム。
【請求項13】
ユーザ・インターフェース・コントロールのセットをマークアップで指定するためのコンピュータ使用可能なプログラム・コードは、
前記ユーザ・インターフェース・コントロール毎にタイプを定義するためのコンピュータ使用可能なプログラム・コードであって、前記タイプは、前記定義されたタイプを有するユーザ・インターフェース・コントロールのインスタンスを生じさせることができるユーザ・インターフェース・コントロール・ファクトリに対応している、コンピュータ使用可能なプログラム・コードと、
マネージャ・タイプを、前記ユーザ・インターフェース・コントロール毎にさらに定義するためのコンピュータ使用可能なプログラム・コードであって、前記マネージャ・タイプは、前記さらに定義されたマネージャ・タイプを有するユーザ・インターフェース・コントロールのインスタンスについての動作を管理することができるウィジェット・マネージャに対応している、コンピュータ使用可能なプログラム・コードと
を含む、請求項12に記載のコンピュータ・プログラム。
【請求項14】
ユーザ・インターフェース・コントロールのための前記マークアップを前記拡張子のための前記マークアップで置き換えるためのコンピュータ使用可能なプログラム・コードは、
前記ユーザ・インターフェース・コントロールの拡張子のための前記環境のユーザ・インターフェース・コントロール拡張ポイントを指定するためのコンピュータ使用可能なプログラム・コードと、
前記拡張子のためのユーザ・インターフェース・コントロール定義をさらに指定するためのコンピュータ使用可能なプログラム・コードと、
前記拡張ポイントを前記拡張子のためのユーザ・インターフェース・コントロール定義に関連付けるためのコンピュータ使用可能なプログラム・コードと、
前記環境のためのユーザ・インターフェースを組み立てる際に前記拡張子が代用されるべき前記ユーザ・インターフェース・コントロールの代わりとして前記拡張子を識別するためのコンピュータ使用可能なプログラム・コードと
を含む、請求項13に記載のコンピュータ・プログラム。
【請求項15】
ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するためのコンピュータ使用可能なプログラム・コードと、
前記構成の拡張子をマークアップでさらに宣言するためのコンピュータ使用可能なプログラム・コードと、
構成のための前記マークアップを前記構成の前記拡張子のための前記マークアップで置き換えるためのコンピュータ使用可能なプログラム・コードと、
前記構成の前記拡張子のための前記マークアップをコントロール・ファクトリに提供して、前記コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するユーザ・インターフェース・コントロールのインスタンスの構成のインスタンスを生成するためのコンピュータ使用可能なプログラム・コードと
をさらに含む、請求項12に記載のコンピュータ・プログラム。
【請求項16】
ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するためのコンピュータ使用可能なプログラム・コードは、ユーザ・インターフェース・コントロールのセットのグリッド・レイアウト構成をマークアップで宣言するためのコンピュータ使用可能なプログラム・コードを含む、請求項15に記載のコンピュータ・プログラム。
【請求項17】
ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するためのコンピュータ使用可能なプログラム・コードは、ユーザ・インターフェース・コントロールのセットのフォーム・レイアウト構成をマークアップで宣言するためのコンピュータ使用可能なプログラム・コードを含む、請求項15に記載のコンピュータ・プログラム。
【請求項18】
ユーザ・インターフェース・コントロールのための前記マークアップを前記拡張子のための前記マークアップで置き換えるためのコンピュータ使用可能なプログラム・コードは、
マニフェスト内で、前記ユーザ・インターフェース内のユーザ・インターフェース・コントロールの拡張子のセットを識別するためのコンピュータ使用可能なプログラム・コードと、
前記マニフェスト内の前記識別された各ユーザ・インターフェース・コントロールのためのマークアップを対応する識別された前記拡張子のうちの1つのためのマークアップで置き換えるためのコンピュータ使用可能なプログラム・コードと
を含む、請求項12に記載のコンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2007−207226(P2007−207226A)
【公開日】平成19年8月16日(2007.8.16)
【国際特許分類】
【出願番号】特願2006−353514(P2006−353514)
【出願日】平成18年12月27日(2006.12.27)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】