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

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

Info

Publication number
JP5165886B2
JP5165886B2 JP2006353514A JP2006353514A JP5165886B2 JP 5165886 B2 JP5165886 B2 JP 5165886B2 JP 2006353514 A JP2006353514 A JP 2006353514A JP 2006353514 A JP2006353514 A JP 2006353514A JP 5165886 B2 JP5165886 B2 JP 5165886B2
Authority
JP
Japan
Prior art keywords
user interface
extension
markup
control
program code
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.)
Active
Application number
JP2006353514A
Other languages
English (en)
Other versions
JP2007207226A (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 JP2007207226A publication Critical patent/JP2007207226A/ja
Application granted granted Critical
Publication of JP5165886B2 publication Critical patent/JP5165886B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

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

Claims (14)

  1. コンポーネント化されたアプリケーション環境のためのユーザ・インターフェース拡張方法であって、
    ユーザ・インターフェース・コントロールのセットをマークアップで指定するステップと
    前記セット内のユーザ・インターフェース・コントロールの拡張子をマークアップでさらに指定するステップであって、前記ユーザ・インターフェース・コントロールの拡張子は、既存のユーザ・インターフェース・コントロールを置換するためのプラグインであるステップと
    マニフェストを取得するステップと、
    前記ユーザ・インターフェース・コントロールのセットをロードするステップと、
    前記ユーザ・インターフェース・コントロールのための前記マークアップを前記拡張子のための前記マークアップで置き換えるステップと、
    コンフィギュレータをロードするステップと、
    前記コンフィギュレータが、コントロールの参照された拡張子に基づいて、ユーザ・インターフェース・コントロールを修正すべきかどうか判断し、もしそうなら、置換すべき既存のコントロールを識別し、ユーザ・インターフェース・コントロールを置換するステップと、
    前記拡張子、ユーザ・インターフェース・コントロールの前記セットとを、対応のコントロール・ファクトリのセットに提供して、前記コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するユーザ・インターフェース・コントロール・インスタンスを生成するステップと
    を含む、方法。
  2. ユーザ・インターフェース・コントロールのセットをマークアップで指定するステップは、前記ユーザ・インターフェース・コントロール毎にタイプを定義するステップであって、前記タイプは、前記定義されたタイプを有するユーザ・インターフェース・コントロールのインスタンスを生じさせることができるユーザ・インターフェース・コントロール・ファクトリに対応している、ステップと、マネージャ・タイプを、前記ユーザ・インターフェース・コントロール毎にさらに定義するステップであって、前記マネージャ・タイプは、前記さらに定義されたマネージャ・タイプを有するユーザ・インターフェース・コントロールのインスタンスについての動作を管理することができるウィジェット・マネージャに対応している、ステップとを含む、請求項1に記載の方法。
  3. ユーザ・インターフェース・コントロールのための前記マークアップを前記拡張子のた
    めの前記マークアップで置き換えるステップは、前記ユーザ・インターフェース・コントロールの拡張子のための環境のユーザ・インターフェース・コントロール拡張ポイントを指定するステップと、前記拡張子のためのユーザ・インターフェース・コントロール定義をさらに指定するステップと、前記拡張ポイントを前記拡張子のためのユーザ・インターフェース・コントロール定義に関連付けるステップと、前記環境のためのユーザ・インターフェースを組み立てる際に前記拡張子が代用されるべき前記ユーザ・インターフェース・コントロールの代わりとして前記拡張子を識別するステップとを含む、請求項2に記載の方法。
  4. ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するステップと、前記構成の拡張子をマークアップでさらに宣言するステップと、構成のための前記マークアップを前記構成の前記拡張子のための前記マークアップで置き換えるステップと、前記構成の前記拡張子のための前記マークアップをコントロール・ファクトリに提供して、前記コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するユーザ・インターフェース・コントロールのインスタンスの構成のインスタンスを生成するステップとをさらに含む、請求項1に記載の方法。
  5. ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するステップは、ユーザ・インターフェース・コントロールのセットのグリッド・レイアウト構成をマークアップで宣言するステップを含む、請求項4に記載の方法。
  6. ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するステップは、ユーザ・インターフェース・コントロールのセットのフォーム・レイアウト構成をマークアップで宣言するステップを含む、請求項4に記載の方法。
  7. ユーザ・インターフェース・コントロールのための前記マークアップを前記拡張子のた
    めの前記マークアップで置き換えるステップは、マニフェスト内で、前記ユーザ・インターフェース内のユーザ・インターフェース・コントロールの拡張子のセットを識別するステップと、前記マニフェスト内の前記識別された各ユーザ・インターフェース・コントロールのためのマークアップを対応する識別された前記拡張子のうちの1つのためのマークアップで置き換えるステップとを含む、請求項1に記載の方法。
  8. コンポーネント化されたアプリケーション環境のためのユーザ・インターフェース拡張のためのコンピュータ使用可能なプログラム・コードを実施するコンピュータ・プログラムであって、
    ユーザ・インターフェース・コントロールのセットをマークアップで指定するためのコンピュータ使用可能なプログラム・コードと
    前記セット内のユーザ・インターフェース・コントロールの拡張子をマークアップでさらに指定するためのコンピュータ使用可能なプログラム・コードであって、前記ユーザ・インターフェース・コントロールの拡張子は、既存のユーザ・インターフェース・コントロールを置換するためのプラグインであるステップと
    マニフェストを取得するためのコンピュータ使用可能なプログラム・コードと、
    前記ユーザ・インターフェース・コントロールのセットをロードするためのコンピュータ使用可能なプログラム・コードと、
    前記ユーザ・インターフェース・コントロールのための前記マークアップを前記拡張子のための前記マークアップで置き換えるためのコンピュータ使用可能なプログラム・コードと、
    コンフィギュレータをロードするためのコンピュータ使用可能なプログラム・コードと、
    前記コンフィギュレータが、コントロールの参照された拡張子に基づいて、ユーザ・インターフェース・コントロールを修正すべきかどうか判断し、もしそうなら、置換すべき既存のコントロールを識別し、ユーザ・インターフェース・コントロールを置換するためのコンピュータ使用可能なプログラム・コードと、
    前記拡張子、ユーザ・インターフェース・コントロールの前記セットとを、対応のコントロール・ファクトリのセットに提供して、前記コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するユーザ・インターフェース・コントロール・インスタンスを生成するためのコンピュータ使用可能なプログラム・コードとを含む、コンピュータ・プログラム。
  9. ユーザ・インターフェース・コントロールのセットをマークアップで指定するためのコ
    ンピュータ使用可能なプログラム・コードは、前記ユーザ・インターフェース・コントロール毎にタイプを定義するためのコンピュータ使用可能なプログラム・コードであって、前記タイプは、前記定義されたタイプを有するユーザ・インターフェース・コントロールのインスタンスを生じさせることができるユーザ・インターフェース・コントロール・ファクトリに対応している、コンピュータ使用可能なプログラム・コードと、マネージャ・タイプを、前記ユーザ・インターフェース・コントロール毎にさらに定義するためのコンピュータ使用可能なプログラム・コードであって、前記マネージャ・タイプは、前記さらに定義されたマネージャ・タイプを有するユーザ・インターフェース・コントロールのインスタンスについての動作を管理することができるウィジェット・マネージャに対応している、コンピュータ使用可能なプログラム・コードとを含む、請求項に記載のコンピュータ・プログラム。
  10. ユーザ・インターフェース・コントロールのための前記マークアップを前記拡張子のための前記マークアップで置き換えるためのコンピュータ使用可能なプログラム・コードは、前記ユーザ・インターフェース・コントロールの拡張子のための前記環境のユーザ・インターフェース・コントロール拡張ポイントを指定するためのコンピュータ使用可能なプログラム・コードと、前記拡張子のためのユーザ・インターフェース・コントロール定義をさらに指定するためのコンピュータ使用可能なプログラム・コードと、前記拡張ポイントを前記拡張子のためのユーザ・インターフェース・コントロール定義に関連付けるためのコンピュータ使用可能なプログラム・コードと、前記環境のためのユーザ・インターフェースを組み立てる際に前記拡張子が代用されるべき前記ユーザ・インターフェース・コントロールの代わりとして前記拡張子を識別するためのコンピュータ使用可能なプログラム・コードとを含む、請求項に記載のコンピュータ・プログラム。
  11. ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するためのコンピュータ使用可能なプログラム・コードと、前記構成の拡張子をマークアップでさらに宣言するためのコンピュータ使用可能なプログラム・コードと、構成のための前記マークアップを前記構成の前記拡張子のための前記マークアップで置き換えるためのコンピュータ使用可能なプログラム・コードと、前記構成の前記拡張子のための前記マークアップをコントロール・ファクトリに提供して、前記コンポーネント化されたアプリケーション環境のためのユーザ・インターフェースを定義するユーザ・インターフェース・コントロールのインスタンスの構成のインスタンスを生成するためのコンピュータ使用可能なプログラム・コードとをさらに含む、請求項に記載のコンピュータ・プログラム。
  12. ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するためのコンピュータ使用可能なプログラム・コードは、ユーザ・インターフェース・コントロールのセットのグリッド・レイアウト構成をマークアップで宣言するためのコンピュータ使用可能なプログラム・コードを含む、請求項11に記載のコンピュータ・プログラム。
  13. ユーザ・インターフェース・コントロールのセットの構成をマークアップで宣言するためのコンピュータ使用可能なプログラム・コードは、ユーザ・インターフェース・コントロールのセットのフォーム・レイアウト構成をマークアップで宣言するためのコンピュータ使用可能なプログラム・コードを含む、請求項11に記載のコンピュータ・プログラム。
  14. ユーザ・インターフェース・コントロールのための前記マークアップを前記拡張子のための前記マークアップで置き換えるためのコンピュータ使用可能なプログラム・コードは、マニフェスト内で、前記ユーザ・インターフェース内のユーザ・インターフェース・コントロールの拡張子のセットを識別するためのコンピュータ使用可能なプログラム・コードと、前記マニフェスト内の前記識別された各ユーザ・インターフェース・コントロールのためのマークアップを対応する識別された前記拡張子のうちの1つのためのマークアップで置き換えるためのコンピュータ使用可能なプログラム・コードとを含む、請求項に記載のコンピュータ・プログラム。
JP2006353514A 2006-01-30 2006-12-27 コンポーネント化されたアプリケーション環境のための拡張可能なユーザ・インターフェース拡張方法、コンポーネント化されたアプリケーション環境データ処理システム、およびコンピュータ・プログラム Active JP5165886B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/342770 2006-01-30
US11/342,770 US7765485B2 (en) 2006-01-30 2006-01-30 Extensible user interface framework for a componentized application environment

Publications (2)

Publication Number Publication Date
JP2007207226A JP2007207226A (ja) 2007-08-16
JP5165886B2 true JP5165886B2 (ja) 2013-03-21

Family

ID=38369978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006353514A Active JP5165886B2 (ja) 2006-01-30 2006-12-27 コンポーネント化されたアプリケーション環境のための拡張可能なユーザ・インターフェース拡張方法、コンポーネント化されたアプリケーション環境データ処理システム、およびコンピュータ・プログラム

Country Status (3)

Country Link
US (1) US7765485B2 (ja)
JP (1) JP5165886B2 (ja)
CN (1) CN100570555C (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869066B2 (en) 2006-07-06 2014-10-21 Addthis, Llc Generic content collection systems
US8056092B2 (en) * 2006-09-29 2011-11-08 Clearspring Technologies, Inc. Method and apparatus for widget-container hosting and generation
US20080082627A1 (en) * 2006-09-29 2008-04-03 Allen Stewart O Method and Apparatus for Widget Container/Widget Tracking and Metadata Manipulation
US8266274B2 (en) * 2007-03-06 2012-09-11 Clearspring Technologies, Inc. Method and apparatus for data processing
US9009728B2 (en) 2007-03-06 2015-04-14 Addthis, Inc. Method and apparatus for widget and widget-container distribution control based on content rules
US8209378B2 (en) 2007-10-04 2012-06-26 Clearspring Technologies, Inc. Methods and apparatus for widget sharing between content aggregation points
US20100100626A1 (en) * 2008-09-15 2010-04-22 Allen Stewart O Methods and apparatus related to inter-widget interactions managed by a client-side master
US20100185954A1 (en) * 2009-01-21 2010-07-22 Microsoft Corporation Collaborative Environment Project Extensibility with Composition Containers
JP2011002923A (ja) * 2009-06-17 2011-01-06 Fuji Xerox Co Ltd 情報処理装置及びプログラム
CN102812466A (zh) 2010-03-31 2012-12-05 伟伦公司 用于医疗数据的操作的可扩展性
DE102010046200A1 (de) * 2010-09-21 2012-03-22 Atlas Elektronik Gmbh Führungs- und Waffeneinsatzsystem zur Unterstützung militärischer Führungsprozesse
US20120324377A1 (en) * 2011-06-15 2012-12-20 Microsoft Corporation User interface extensibility for web application development tool
CN102637130A (zh) * 2012-03-15 2012-08-15 北京神州数码思特奇信息技术股份有限公司 一种web项目的建立方法及装置
US20140310681A1 (en) * 2013-04-12 2014-10-16 Microsoft Corporation Assisted creation of control event
US9875605B2 (en) 2013-09-26 2018-01-23 Bally Gaming, Inc. Separately served user interface for mobile gaming
CN107368334B (zh) * 2017-07-24 2020-08-28 北京奇艺世纪科技有限公司 一种业务插件交互系统及方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220675A (en) * 1990-01-08 1993-06-15 Microsoft Corporation Method and system for customizing a user interface in an integrated environment
JPH064280A (ja) 1992-04-06 1994-01-14 Internatl Business Mach Corp <Ibm> ウィズィウィグ式エディターでオブジェクトをユーザ制御する機能を備えたグラフィカル・ユーザ・インターフェース
US5960403A (en) * 1992-11-17 1999-09-28 Health Hero Network Health management process control system
US5625783A (en) * 1994-12-13 1997-04-29 Microsoft Corporation Automated system and method for dynamic menu construction in a graphical user interface
US5634002A (en) * 1995-05-31 1997-05-27 Sun Microsystems, Inc. Method and system for testing graphical user interface programs
US5872568A (en) * 1996-08-14 1999-02-16 International Business Machines Corporation Application and method for creating a list from pre-defined and user values
US6357038B1 (en) * 1998-04-13 2002-03-12 Adobe Systems Incorporated Cross platform and cross operating system macros
US6370537B1 (en) * 1999-01-14 2002-04-09 Altoweb, Inc. System and method for the manipulation and display of structured data
DE19906358A1 (de) * 1999-02-16 2000-08-31 Siemens Ag System und Verfahren zur Verschaltung von Komponenten
US6920607B1 (en) * 1999-12-15 2005-07-19 Microsoft Corp. Methods and systems for dynamically creating user interfaces
US6968503B1 (en) * 2000-03-09 2005-11-22 Quovadx, Inc. XML user interface for a workflow server
US6874143B1 (en) * 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
AU2001264895A1 (en) * 2000-06-21 2002-01-02 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US6915486B2 (en) * 2001-02-13 2005-07-05 International Business Machines Corporation Customizing a graphical user interface of a host application
US7647254B2 (en) * 2002-11-20 2010-01-12 Acer Incorporated Method and system for providing customized computer solutions
KR100565060B1 (ko) * 2003-03-14 2006-03-30 삼성전자주식회사 언어 정보에 따라 적응적으로 재생가능한 데이터 구조로기록된 정보저장매체, 그 재생 방법 및 장치
US7168035B1 (en) * 2003-06-11 2007-01-23 Microsoft Corporation Building a view on markup language data through a set of components
JP4428952B2 (ja) * 2003-07-14 2010-03-10 キヤノン株式会社 ユーザインタフェース制御装置及びその方法
US7236982B2 (en) * 2003-09-15 2007-06-26 Pic Web Services, Inc. Computer systems and methods for platform independent presentation design
US7340447B2 (en) * 2003-10-09 2008-03-04 Oracle International Corporation Partitioning data access requests
US20050091641A1 (en) * 2003-10-23 2005-04-28 Starbuck Bryan T. System and method for modifying a host user interface
US7426734B2 (en) * 2003-10-24 2008-09-16 Microsoft Corporation Facilitating presentation functionality through a programming interface media namespace
US7496837B1 (en) * 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7296034B2 (en) * 2004-08-10 2007-11-13 Palo Alto Research Center Incorporated Integrated support in an XML/XQuery database for web-based applications
US7703022B2 (en) * 2004-09-17 2010-04-20 International Business Machines Corporation Display and installation of portlets on a client platform
US7630997B2 (en) * 2005-03-23 2009-12-08 Microsoft Corporation Systems and methods for efficiently compressing and decompressing markup language
WO2008033415A2 (en) * 2006-09-12 2008-03-20 Morgan Stanley Dynamic accessible reporting tool (dart)

Also Published As

Publication number Publication date
JP2007207226A (ja) 2007-08-16
US20070192339A1 (en) 2007-08-16
CN100570555C (zh) 2009-12-16
US7765485B2 (en) 2010-07-27
CN101013364A (zh) 2007-08-08

Similar Documents

Publication Publication Date Title
JP5165886B2 (ja) コンポーネント化されたアプリケーション環境のための拡張可能なユーザ・インターフェース拡張方法、コンポーネント化されたアプリケーション環境データ処理システム、およびコンピュータ・プログラム
US11853774B2 (en) Dynamically loaded plugin architecture
US9830135B2 (en) Declarative and pluggable business logic for systems management
JP6581710B2 (ja) オブジェクト指向スクリプトツールをサポートするシステムおよび方法
KR101795844B1 (ko) 런타임 시스템
US9021419B2 (en) System and method for supporting intelligent design pattern automation
US8549514B2 (en) Distributing customized software products
JP5282677B2 (ja) 互換性評価装置、互換性評価方法、及びプログラム
JP5204070B2 (ja) ソフトウェア成果物の第2バージョンに移行する際に、当該ソフトウェア成果物の第1バージョンになされたカスタマイズをマージするためのツールを生成する方法、コンピュータ使用可能な媒体及びデータ処理システム
US20150220308A1 (en) Model-based development
US20150220325A1 (en) Agile framework for vertical application development and delivery
JP5542796B2 (ja) モバイル・デバイス・ソフトウェアの管理方法及び装置
US20160004516A1 (en) Code Generation Framework for Application Program Interface for Model
US20150220327A1 (en) Extensible data model and service for infrastructure management
US20150220330A1 (en) Template derivation for configuration object management
US9626251B2 (en) Undo configuration transactional compensation
US8606766B2 (en) Method and system to handle java class versioning
US8584080B2 (en) Modeling and generating computer software product line variants
US20110271248A1 (en) Converting controls into source code
JP5895616B2 (ja) 情報処理装置およびプログラム実行方法
US8561057B2 (en) Information processing apparatus, processing method, and computer-readable recording medium having processing program recorded thereon
JP5574017B2 (ja) 情報処理装置、互換性評価方法、及びプログラム
Chiozzi et al. A UML profile for code generation of component based distributed systems
CN111737964A (zh) 表格动态处理方法、设备及介质
WO2007041901A1 (en) System and method for formal verification of statecharts

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121220

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

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5165886

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150