JP5249764B2 - スクリプトアプリケーションフレームワーク - Google Patents

スクリプトアプリケーションフレームワーク Download PDF

Info

Publication number
JP5249764B2
JP5249764B2 JP2008531163A JP2008531163A JP5249764B2 JP 5249764 B2 JP5249764 B2 JP 5249764B2 JP 2008531163 A JP2008531163 A JP 2008531163A JP 2008531163 A JP2008531163 A JP 2008531163A JP 5249764 B2 JP5249764 B2 JP 5249764B2
Authority
JP
Japan
Prior art keywords
script
class
computer
recording medium
readable recording
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008531163A
Other languages
English (en)
Other versions
JP2009508255A (ja
JP2009508255A5 (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009508255A publication Critical patent/JP2009508255A/ja
Publication of JP2009508255A5 publication Critical patent/JP2009508255A5/ja
Application granted granted Critical
Publication of JP5249764B2 publication Critical patent/JP5249764B2/ja
Expired - Fee Related 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
    • 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/448Execution paradigms, e.g. implementations of programming paradigms

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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Devices For Executing Special Programs (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、スクリプトアプリケーションフレームワークに関する。
コンピュータの当業者によって知られているように、プログラミング言語またはコンピュータ言語とは、コンピュータが命令を実行して特定の行為を実施することができるように、コンピュータに対する命令を表す、標準化された伝達ツールである。プログラミング言語は、様々な様式をとる。一部は、Cなどの手続き型言語である。一部は、C++およびJava(登録商標)など、オブジェクト指向である。一部は、Haskellなどの関数型である。スクリプト言語は、プログラミングを簡単にし、特殊または限られたタスクを実施するために設計された、単純なプログラミング言語である傾向がある。たとえば、今日、ウェブアプリケーション向けの追加の機能および/または対話性を提供するために、Java(登録商標)スクリプトがしばしば使われる。Visual Basicスクリプト、Perl、およびTCLは、スクリプト言語の他の例である。概して、スクリプト言語は、C、C++、またはJava(登録商標)など、従来のプログラミング言語より単純なシンタクスおよびより少ないプログラミング構造体を有する。さらに、スクリプト言語は、実行時に翻訳され得るが、コンパイルされる必要がなく、直ちに実行され得る。
スクリプト記述は、スクリプト言語を使う特定の機能を遂行するための1組の命令を、スクリプト言語を使って作成するプロセスである。コンピュータのプロセスを操作するC、C++、またはJava(登録商標)などのプログラミング言語を使う従来のプログラミングとは異なり、スクリプト記述は、高速かつ比較的小さい1組の単純な命令を伴う傾向がある。スクリプトは、モデムを介してコンピュータを別のコンピュータに接続するプロセスの制御、またはウェブページ中の内容がユーザ入力によってどのように変わるかについての制御など、特定の目的を達成する傾向がある。ワールドワイドウェブ上では、スクリプトを作成してウェブページおよびウェブアプリケーションをカスタマイズし、またはそれらに対話性を加えるのに、スクリプト言語が使われ得る。たとえば、ウェブページに挿入されると、スクリプトは、ウェブページのユーザインターフェイス、様式、およびHTMLマークアップなど、ウェブページの様々な要素を制御することができる。
やがて、従来のプログラミングは、抽象化およびカプセル化などの概念をプログラミング言語に統合し、所定のパターンおよび構造を提供するC++およびJava(登録商標)などのプログラミング言語を生成した。一方、スクリプト記述は、パターンも構造も伴わず、保守することが困難なエラーが起きやすいコードをしばしば生じるアドホックのままである。たとえば、スクリプト記述環境は概して、アプリケーションフレームワーク層をもたない。スクリプト記述はしたがって、異なる機能の複雑さをわからないようにし、共通スクリプトパターンに対処するための、いかなる抽象化なしでも起こる。
この背景セクションにおいて既存のシステムの特定の欠点が例示され説明されたが、本明細書において権利請求される対象は、説明された欠点のいずれかまたはすべてを解決するどの特定の実装形態にも限定されないことを、当業者およびそれ以外の者は認識するであろう。
この要約は、選定された概念を、詳細な説明において後でさらに説明される簡略化された形で紹介するために与えられる。この要約は、権利請求される対象の主要な特徴を識別することも意図しておらず、権利請求される対象の範囲の確定を助けるものとして用いられることも意図していない。
本発明の態様は、スクリプトの開発を簡単にするためのスクリプトアプリケーションフレームワークを提供する。スクリプトアプリケーションフレームワークは、スクリプト記述ロジックをコンポーネントにカプセル化し、スクリプトオブジェクトモデルを提供し、異なるスクリプトオブジェクトのプロパティおよびメソッドをバインドし、スクリプトオブジェクトの存続期間を管理する、などのことを行う。スクリプトアプリケーションフレームワークは、どのスクリプト記述環境にも適用され得る。
本発明の一態様によると、スクリプトアプリケーションフレームワークは、あるスクリプトアプリケーションに、共通機能をカプセル化するApplicationクラスを提供することができる。スクリプトアプリケーションは、複数のスクリプトオブジェクトを含み得る。Applicationクラスは、複数のスクリプトオブジェクトを管理する機能を含み得る。
スクリプトオブジェクトに関連づけられた挙動および少なくとも1つのオブジェクト属性を定義するComponentクラスが提供され得る。オブジェクト属性は、スクリプトオブジェクトのプロパティ、スクリプトオブジェクトのメソッド、またはスクリプトオブジェクト用のイベントでよい。好ましくは、スクリプトオブジェクトのオブジェクトモデルを記述するTypeDescriptorクラスが提供される。
本発明の別の態様によると、スクリプトオブジェクトは、バインディングおよびアクションなどの機構を介して、互いと通信することができる。Bindingクラスは、第1のスクリプトオブジェクトのオブジェクト属性から第2のスクリプトオブジェクトのオブジェクト属性にデータを転送することによって、第1のスクリプトオブジェクトを第2のスクリプトオブジェクトと接続する機能を提供する。好ましくは、必要な場合、Transformerクラスが、第1のスクリプトオブジェクトのオブジェクト属性のデータのタイプを、第2のスクリプトオブジェクトのオブジェクト属性のタイプに変換するのに使われる。
一方、スクリプトオブジェクト中に特定のイベントが出現した場合、特定のアクションを呼び出すのに、Actionクラスが使われ得る。特定のアクションは、たとえば、別のスクリプトオブジェクトのメソッドを呼び出すことでも、別のスクリプトオブジェクトのプロパティを構成することでもよい。1つまたは複数のイベントハンドラを維持し、スクリプトオブジェクトに対するイベントの出現を信号通知するEventクラスが使われ得る。さらに、特定のイベントが起きたときに特定のアクションを実施するかどうか決定する特定の基準を提供するのに、Conditionクラスが使われ得る。
さらに、スクリプトアプリケーションフレームワークは、スクリプトオブジェクトの処理および/またはそのスクリプトオブジェクトと他のスクリプトオブジェクトの関係を解消するために実装され得るIDisposeインターフェイスをさらに含み得る。
本発明の上述の態様およびそれに付随する利点の多くが、添付の図面を併せ読み以下の詳細な説明を参照することによってよりよく理解され、より容易に理解されよう。
以下の本文は、本発明の例示的な実施形態を例示し、説明する。ただし、実施形態においては、本発明の精神および範囲から逸脱することなく様々な変更が行われ得ることを、当業者は理解するであろう。
図1は、例示的なスクリプトアプリケーションフレームワーク100およびその例示的なコンポーネントを示す。本発明の実施形態において、スクリプトアプリケーションフレームワーク100は、図1に示されるものよりも多い、またはより少ないコンポーネントを含み得る。
図1に示されるように、示されているスクリプトアプリケーションフレームワーク100は、Application102クラスを含む。Application102クラスは、スクリプトアプリケーションフレームワーク100の全コンポーネントをまとめ、アプリケーション中のスクリプトオブジェクトの存続期間の管理およびそのアプリケーションの異なる部分に対する、サービスへのアクセスの提供などのタスクを実施するトップレベルクラスである。本発明の例示的な実施形態では、個々のウェブページが、Application102クラスの1つのインスタンスを含む。次の擬似コードは、例示的なApplication102クラスを示す。
Figure 0005249764
Component104クラスは、全スクリプトコンポーネントにとってのベースクラスである。Component104クラスは、アプリケーション開発者によっても、他のスクリプトコンポーネントによっても使われ得るスクリプトコンポーネント向けの、特定の1組の機能をカプセル化するための機構である。本発明の例示的な実施形態において、Component104クラスは、スクリプトオブジェクトの挙動ならびにプロパティ、メソッド、およびイベントなど、オブジェクトモデルの属性を記述する。Component104クラスは、アプリケーションにおけるスクリプトオブジェクトの存続期間管理にスクリプトオブジェクトが関与し、スクリプトオブジェクトのプロパティが変化したときに変更通知を出し、スクリプトオブジェクトに固有のイベントを管理することを可能にすることもできる。次の擬似コードは、Component104クラスの例示的な実装を示す。
Figure 0005249764
TypeDescriptor106クラスは、スクリプトオブジェクトに、プロパティ(タイプおよび関連付けられた属性を伴う)、イベント、ならびにメソッド(関連付けられたパラメータを伴う)を含む、そのオブジェクトモデルを記述させる。たとえば、TIMERスクリプトオブジェクト向けのTypeDescriptorオブジェクトは、数値タイプのIntervalプロパティおよびブール値タイプのEnabledプロパティ、Tickイベント、ならびにStart()およびStop()などのメソッドを含み得る。たとえば、Arrayスクリプトオブジェクト向けのTypeDescriptorオブジェクトは、どのようなタイプのオブジェクトがアレイ中にあるかについて、情報を提供することができる。次のテキストは、TypeDescriptor106クラスの例示的な実装を示す。
Figure 0005249764
Figure 0005249764
Figure 0005249764
本発明の実施形態は、スクリプトオブジェクトを相互に接続するための1つまたは複数の機構を提供する。図1は、このような2つの機構、すなわちBinding108クラスおよびAction112クラスを示す。Binding108クラスは、あるオブジェクトプロパティから別のオブジェクトプロパティに、かつその逆にデータを転送するのに使われ得る。たとえば、スクリプトオブジェクトCounterがValueプロパティを有する場合、別のスクリプトオブジェクトLabelは、Textプロパティを有する。Binding108クラスのインスタンスは、Counter.ValueをLabel.Textにバインドさせることができる。その結果、スクリプトオブジェクトLabelは、Counter.Valueを表示することができる。本発明の例示的な実施形態において、Binding108クラスのインスタンスは、特定のプロパティ名ではなく、任意のプロパティパスに関連づけられ得る。たとえば、Label.Textは、Label.Textに対するデータのソースである被参照スクリプトオブジェクトの表現であるFoo.Bar.Bazにバインドされ得る。本発明の例示的な実施形態において、データは、プロパティの中へのみ転送させられても、プロパティから出て別のプロパティの中へ転送させられても、またはその両方、すなわち、プロパティから出て、もしくはその中へ転送させられてもよい。
本発明の実施形態において、Binding108クラスは、あるプロパティのタイプを別のプロパティのタイプに変換するTransformer110クラスに関連づけられ得る。たとえば、例示的なCounter.Valueは数値タイプであり、例示的なLabel.Textは、ストリングタイプである。したがって、こうした2つのプロパティの間のバインディングが起こると、Transformer110クラスのインスタンスは暗黙的に、Counter.Valueを数値タイプからストリングタイプ、すなわちLabel.Textのタイプに変換する。
次の擬似コードは、Binding106クラスの例示的な実装を示す。
Figure 0005249764
Figure 0005249764
本発明の実施形態は、イベントハンドラのリストを維持し、イベントが起きたときにそれを信号通知するのに使われ得るEvent116クラスも提供することができる。次のテキストは、Event116クラスの例示的な実装を示す。
Figure 0005249764
別の例示的なバインディング機構がAction112クラスによって提供されるが、このクラスは、特定のイベントが起きたときに特定のアクションを呼び出させる。たとえば、スクリプトオブジェクトTimerは、CounterプロパティおよびTickイベントを含み得る。スクリプトオブジェクトTimerの例示的な実装において、Tickイベントが起こると常に、Action112クラスのインスタンスが、Counterプロパティの値を増分させる。このようなアクションは、InvokeMethodアクションと呼ばれ得る。本発明の例示的な実施形態は、様々なタイプのアクションを提供する。たとえば、スクリプトオブジェクトのプロパティを具体的な値に設定するために、SetPropertyアクションが提供され得る。本発明の例示的な実施形態では、Action112クラスは、指定されたイベントが起きている場合にアクションを実施するかどうか決定するのに使われ得るCondition114クラスにさらに関連づけられ得る。次のテキストは、IActionインターフェイスおよびAction112クラスの例示的な実装を示す。
Figure 0005249764
Figure 0005249764
本発明の実施形態において、Binding108クラスのインスタンスによって提供されるサービス(たとえば、データ転送)は、変更通知に応答して、明示的または自動的にトリガされる必要がある場合がある。変更通知は、プロパティ変更通知でもコレクション変更通知でもよい。たとえば、スクリプトオブジェクトTimerに関連づけられた例示的なCounter.Valueが変化すると、プロパティ変更通知が、Binding108クラスの対応するインスタンスに発行され、このインスタンスは次いで、Label.Textを、現在のCounter.Valueでアップデートする。コレクション変更通知は、DataSourceなどのコレクションスクリプトオブジェクトに変化があったときに起こる。コレクションスクリプトオブジェクトは、データのコレクションを含む。DataSourceはたとえば、データベースでよい。DataSourceは、Dataプロパティを有し得る。Repeaterスクリプトオブジェクトも、Dataプロパティを有し得る。Repeater.DataがDataSource.Dataと結びついていると仮定する。データの新たな記録がDataSource.Dataに追加されると、コレクション変更通知がBinding108クラスの対応するインスタンスに発行され、このインスタンスは次いで、それに従ってRepeater.Dataをアップデートする。たとえば、Binding108クラスのインスタンスは、新たなデータをRepeaterのテーブルに投入することができる。次の擬似コードは、変更通知機能の例示的な実装を示す。
Figure 0005249764
たとえばBinding108クラスのインスタンスを介して、スクリプトオブジェクトが互いを参照すると、こうしたオブジェクトは、循環参照を作成する。すると、IDisposable118インターフェイス実装が、循環参照を中断するのに使われ得る。IDisposable118実装は、スクリプトオブジェクトおよびそのスクリプトオブジェクトの他のスクリプトオブジェクトへの参照を処理し一掃するロジックおよび機構を含む。次の擬似コードは、Disposable118インターフェイスの例示的な実装を示す。
Figure 0005249764
要約すると、スクリプトアプリケーションフレームワーク100は、共通スクリプト記述ロジックをコンポーネントにカプセル化し、スクリプトオブジェクト用の定義を提供し、スクリプトオブジェクトがバインディングおよびアクションなどの機構を介して互いと通信することを可能にする。スクリプトアプリケーションフレームワーク100はしたがって、従来通りのアドホック型スクリプト記述の構造を提供する。
添付の特許請求の範囲において定義される対象は、上述された特定の特徴にも実装形態にも必ずしも限定されないことが理解されるべきである。そうではなく、上述された特定の特徴および実装形態は、特許請求の範囲を実装する形の例として開示されている。
例示的なスクリプトアプリケーションフレームワークを示すブロック図である。

Claims (17)

  1. コンピュータに、共通機能の命令を書くために用いられるプラットフォームとして機能する共通スクリプトアプリケーションフレームワークを提供する方法を実行させるプログラムを記録したコンピュータ可読記録媒体であって、前記共通スクリプトアプリケーションフレームワークのデータ構造を用いて作成されるスクリプト命令は、当該共通スクリプトアプリケーションフレームワークに含まれる前記共通機能を使用するスクリプト言語で使用可能であり、前記方法は、
    フレームワークを提供するステップであって、前記フレームワークは、アプリケーション中のスクリプトオブジェクトの存続期間を管理し、当該アプリケーションの異なるコンポーネントに対するサービスへのアクセスを提供するトップレベルのApplicationクラス、および開発者または他のスクリプトコンポーネントによって使われ得るスクリプトコンポーネントの機能をカプセル化する、前記トップレベルのApplicationクラス下で動作するベースComponentクラスを含み、前記Componentクラスは、スクリプトオブジェクトが他のスクリプトオブジェクトの管理に関与し、別のスクリプトオブジェクトのプロパティに関する変更イベントの通知を受けることを可能にする、ステップと、
    複数のスクリプトロジックをカプセル化する、前記アプリケーションの複数のスクリプトオブジェクトを含む前記トップレベルのApplicationクラスを作成するステップと、
    前記複数のスクリプトロジックを前記Componentクラスにカプセル化するステップであって、前記Componentクラスは、前記Applicationクラスに含まれる各スクリプトオブジェクトの挙動および1または複数のオブジェクト属性を定義する複数のコンポーネントを含む、ステップと、
    前記スクリプトオブジェクトが
    第1のスクリプトオブジェクトのオブジェクト属性から第2のスクリプトオブジェクトのオブジェクト属性にデータを転送することによって、前記第1のスクリプトオブジェクトを前記第2のスクリプトオブジェクトと接続し、前記スクリプトロジックをカプセル化する前記スクリプトオブジェクトが互いに通信することを可能にするBindingクラス、および
    スクリプトオブジェクト中の特定のイベントに応答して特定のアクションを呼び出すActionクラスであって、前記呼び出されるアクションは、前記特定のイベントに応答して、別のスクリプトオブジェクトのメソッドを呼び出すこと、または別のスクリプトオブジェクトのプロパティを構成することを含む、Actionクラス
    の少なくとも1つを通じて互いに通信することを可能にするステップと
    を含むことを特徴とするコンピュータ可読記録媒体。
  2. 前記Componentクラスは、スクリプトオブジェクトの挙動ならびにプロパティ、メソッド、およびイベントを含む、オブジェクトモデルの属性を記述することを特徴とする請求項1に記載のコンピュータ可読記録媒体。
  3. 前記Componentクラスは、オブジェクト属性が変化した場合の変更通知を提供することを特徴とする請求項2に記載のコンピュータ可読記録媒体。
  4. 前記フレームワークは、前記スクリプトオブジェクトのオブジェクトモデルを記述するTypeDescriptorクラスをさらに含むことを特徴とする請求項2に記載のコンピュータ可読記録媒体。
  5. 前記Applicationクラスは、前記複数のスクリプトオブジェクトのうちの少なくとも2つを接続することを特徴とする請求項1に記載のコンピュータ可読記録媒体。
  6. 前記フレームワークは、前記第1のスクリプトオブジェクトの前記オブジェクト属性の前記データのタイプを、前記第2のスクリプトオブジェクトの前記オブジェクト属性のタイプに変換するTransformerクラスをさらに含むことを特徴とする請求項1に記載のコンピュータ可読記録媒体。
  7. 前記データは、
    スクリプトオブジェクトのオブジェクト属性の中へのみ、スクリプトオブジェクトのオブジェクト属性の外へのみ、およびスクリプトオブジェクトのオブジェクト属性の中へ、かつその外への方向に転送するように構成されることを特徴とする請求項1に記載のコンピュータ可読記録媒体。
  8. 前記Bindingクラスは、前記第1のスクリプトオブジェクトの前記オブジェクト属性が変化したことを信号通知する変更通知に応答してトリガされることを特徴とする請求項1に記載のコンピュータ可読記録媒体。
  9. 前記変更通知は、プロパティ変更通知またはコレクション変更通知のどちらかであることを特徴とする請求項8に記載のコンピュータ可読記録媒体。
  10. 前記第1のスクリプトオブジェクトの前記オブジェクト属性がプロパティであり、前記プロパティの値が変化したときに、前記プロパティ変更通知が起こることを特徴とする請求項9に記載のコンピュータ可読記録媒体。
  11. 前記第1のスクリプトオブジェクトがコレクションスクリプトオブジェクトであり、データのコレクションを含み、前記第1のスクリプトオブジェクトの前記オブジェクト属性がアップデートされたときに、前記コレクション変更通知が起こることを特徴とする請求項9に記載のコンピュータ可読記録媒体。
  12. 前記フレームワークは、1つまたは複数のイベントハンドラを維持し、およびイベントの出現を信号通知するEventクラスをさらに含むことを特徴とする請求項1に記載のコンピュータ可読記録媒体。
  13. 前記特定のアクションは、前記スクリプトオブジェクトの別のオブジェクト属性を呼び出すことであり、前記別のオブジェクト属性はメソッドであることを特徴とする請求項1に記載のコンピュータ可読記録媒体。
  14. 前記特定のアクションは、前記スクリプトオブジェクトの別のオブジェクト属性を修正することであることを特徴とする請求項1に記載のコンピュータ可読記録媒体。
  15. 前記フレームワークは、前記特定のイベントが出現したときに前記特定のアクションを実施するかどうか決定するための特定の基準を提供するConditionクラスをさらに含むことを特徴とする請求項1に記載のコンピュータ可読記録媒体。
  16. 前記フレームワークは、前記複数のスクリプトオブジェクトの少なくとも1つを処理するIDisposeクラスをさらに含むことを特徴とする請求項1に記載のコンピュータ可読記録媒体。
  17. 共通機能を定義する共通スクリプトロジックをコンポーネントにカプセル化するために用いられる共通スクリプトアプリケーションフレームワークのデータ構造を格納するメモリであって、前記データ構造は、
    アプリケーション中の複数のスクリプトオブジェクトを管理し、前記複数のスクリプトオブジェクトの存続期間を管理し、前記アプリケーションの異なるコンポーネントに対するサービスへのアクセスを提供し、前記プリケーションのサービスへのアクセスを提供するApplicationクラスと、
    開発者または他のスクリプトコンポーネントによって使われ得るスクリプトコンポーネントの機能をカプセル化するApplicationクラス下で動作するComponentクラスであって、当該Componentクラスは、全スクリプトコンポーネントにとってのベースクラスであり、前記複数のスクリプトオブジェクトの1つに関連づけられた挙動および少なくとも1つのオブジェクト属性を定義し、スクリプトオブジェクトが他のスクリプトオブジェクトの管理に関与し、別のスクリプトオブジェクトのプロパティに関する変更イベントの通知を受けることを可能にする、Componentクラスと、
    前記複数のスクリプトオブジェクトの少なくとも1つのオブジェクトモデルを記述するTypeDescriptorクラスであって、前記オブジェクトモデルはプロパティ、イベント、およびメソッドを含む、TypeDescriptorクラスと、
    前記スクリプトロジックをカプセル化する前記スクリプトオブジェクトが互いに通信することを可能にするBindingクラスであって、当該Bindingクラスは、前記複数のスクリプトオブジェクト中の第1のスクリプトオブジェクトを前記複数のスクリプトオブジェクト中の第2のスクリプトオブジェクトと接続し、前記第1のスクリプトオブジェクトのオブジェクト属性から前記第2のスクリプトオブジェクトのオブジェクト属性にデータを転送する、Bindingクラスと、
    前記第1のスクリプトオブジェクトの前記オブジェクト属性の前記データのタイプを、前記第2のスクリプトオブジェクトの前記オブジェクト属性のタイプに変換するTransformerクラスと、
    1つまたは複数のイベントハンドラのリストを維持し、およびイベントの出現を信号通知するEventクラスと、
    特定のイベントが出現したときの特定のアクションを呼び出すActionクラスと、
    特定の基準に従って、前記特定のイベントが出現したときに前記特定のアクションを実施するかどうか決定するConditionクラスと、
    スクリプトオブジェクトおよび他のスクリプトオブジェクトへの参照を処理するためのロジックを含むIDisposeクラスと
    を含む、メモリを備えたコンピュータに、前記共通スクリプトアプリケーションフレームワークの前記データ構造を用いて複数のスクリプト命令を作成させるためのプログラムであって、前記スクリプト命令は前記共通スクリプトアプリケーションフレームワークに含まれる共通機能を使用するスクリプト言語で使用可能であ、プログラムを記録したことを特徴とするコンピュータ可読記録媒体。
JP2008531163A 2005-09-12 2006-08-29 スクリプトアプリケーションフレームワーク Expired - Fee Related JP5249764B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71616905P 2005-09-12 2005-09-12
US60/716,169 2005-09-12
US11/317,580 2005-12-23
US11/317,580 US7861219B2 (en) 2005-09-12 2005-12-23 Script application framework
PCT/US2006/034310 WO2007032939A1 (en) 2005-09-12 2006-08-29 Script application framework

Publications (3)

Publication Number Publication Date
JP2009508255A JP2009508255A (ja) 2009-02-26
JP2009508255A5 JP2009508255A5 (ja) 2009-10-15
JP5249764B2 true JP5249764B2 (ja) 2013-07-31

Family

ID=37856850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008531163A Expired - Fee Related JP5249764B2 (ja) 2005-09-12 2006-08-29 スクリプトアプリケーションフレームワーク

Country Status (7)

Country Link
US (1) US7861219B2 (ja)
EP (1) EP1934806A4 (ja)
JP (1) JP5249764B2 (ja)
KR (1) KR20080055812A (ja)
SG (1) SG165365A1 (ja)
TW (1) TWI428828B (ja)
WO (1) WO2007032939A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7992130B2 (en) * 2007-05-07 2011-08-02 Microsoft Corporation Class-based object-oriented features in class-less script language
KR101598777B1 (ko) * 2014-04-01 2016-03-02 주식회사 오비고 애플리케이션 바인딩을 지원하기 위한 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
US11036933B2 (en) * 2014-09-25 2021-06-15 Oracle International Corporation User interface component autowiring
US11487643B1 (en) * 2018-11-12 2022-11-01 Xilinx, Inc. Debugging for integrated scripting applications

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668998A (en) * 1995-04-26 1997-09-16 Eastman Kodak Company Application framework of objects for the provision of DICOM services
US5745675A (en) * 1996-04-23 1998-04-28 International Business Machines Corporation Object oriented framework mechanism for performing computer system diagnostics
US5991877A (en) * 1997-04-03 1999-11-23 Lockheed Martin Corporation Object-oriented trusted application framework
US6714219B2 (en) * 1998-12-31 2004-03-30 Microsoft Corporation Drag and drop creation and editing of a page incorporating scripts
US20050091576A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
AUPQ808700A0 (en) * 2000-06-09 2000-07-06 Honeywell Limited Human-machine interface
US20030120824A1 (en) * 2001-05-03 2003-06-26 Scott Shattuck System supporting object-oriented constructs in ECMAScript
US6920461B2 (en) * 2001-07-10 2005-07-19 Microsoft Corp. Application program interface for network software platform
US7281202B2 (en) 2003-06-19 2007-10-09 Microsoft Corporation Framework for creating modular web applications

Also Published As

Publication number Publication date
US7861219B2 (en) 2010-12-28
WO2007032939A1 (en) 2007-03-22
JP2009508255A (ja) 2009-02-26
EP1934806A4 (en) 2008-12-17
EP1934806A1 (en) 2008-06-25
SG165365A1 (en) 2010-10-28
TW200731130A (en) 2007-08-16
TWI428828B (zh) 2014-03-01
US20070061819A1 (en) 2007-03-15
KR20080055812A (ko) 2008-06-19

Similar Documents

Publication Publication Date Title
US8352875B2 (en) System and method for integrating a plurality of software applications
US9772929B2 (en) System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies
US7590614B2 (en) Method, apparatus, and computer program product for implementing techniques for visualizing data dependencies
US8196096B2 (en) .Net ribbon model for a ribbon user interface
US7814157B2 (en) Hypermedia browser API simulation to enable use of browser plug-ins and applets as embedded widgets in script-language-based interactive programs
US7627865B2 (en) Method and apparatus for accessing instrumentation data from within a managed code environment
JP5809328B2 (ja) ウィジェットフレームワーク、リアルタイムサービス統合およびリアルタイムリソース集約
US20060101442A1 (en) Reusable software components
CN101192216B (zh) 静态页面控件与web服务器互动的实现方法及web服务器
US7801996B2 (en) Systems and methods for providing a local client proxy
CN101996078B (zh) 使用基于事件的遗留应用进行的集成系统组合建模
KR20150043333A (ko) 선언형 템플릿을 사용하여 컨트롤을 스탬프 아웃하기 위한 사용자 인터페이스 컨트롤 프레임워크
JP2005242984A (ja) モバイルアドホックネットワークにおけるコンテキストアウェア自動サービス発見及び実行エンジン
US20070006136A1 (en) Providing a user interface
KR20060087999A (ko) 확장가능 워크플로 모델에 관한 선언적 표현
US20050071850A1 (en) Software component architecture
CN104735111B (zh) 采用webservice作统一接口实现esb的方法
JP5249764B2 (ja) スクリプトアプリケーションフレームワーク
CN101258481B (zh) 脚本应用程序框架
CN109766137A (zh) 在混合型应用程序中加载直播页面的方法和装置
US20070256049A1 (en) Systems and methods for providing a status management service
GB2370658A (en) A modular software framework
CN109145243A (zh) 运行页面的方法和装置
Krause et al. Web Parts
EP1873656A1 (en) Facilitating access to application data at an application server by a wireless communication device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090831

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees