JP2001306308A - データ中心アプリケーションのクラス定義方法 - Google Patents

データ中心アプリケーションのクラス定義方法

Info

Publication number
JP2001306308A
JP2001306308A JP2000109978A JP2000109978A JP2001306308A JP 2001306308 A JP2001306308 A JP 2001306308A JP 2000109978 A JP2000109978 A JP 2000109978A JP 2000109978 A JP2000109978 A JP 2000109978A JP 2001306308 A JP2001306308 A JP 2001306308A
Authority
JP
Japan
Prior art keywords
application
model
user interface
tile
language
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
JP2000109978A
Other languages
English (en)
Inventor
Holy David
ホーリー デイヴィッド
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Priority to JP2000109978A priority Critical patent/JP2001306308A/ja
Priority to AU2001252256A priority patent/AU2001252256A1/en
Priority to PCT/EP2001/004095 priority patent/WO2001077822A2/en
Priority to EP01925541A priority patent/EP1330707A1/en
Publication of JP2001306308A publication Critical patent/JP2001306308A/ja
Priority to US10/646,428 priority patent/US7380236B2/en
Priority to US10/729,228 priority patent/US7418696B2/en
Pending legal-status Critical Current

Links

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

Abstract

(57)【要約】 (修正有) 【課題】 多くの異なる種類のコンピューティングデバ
イス上で使用できるデータ中心アプリケーションを短時
間で作成するために、共通のユーザ・インタフェースモ
デルを有するアプリケーションのクラスを定義する枠組
みを定義する。 【解決手段】 アプリケーションシステムは、ユーザ・
インタフェースモデル内でアプリケーションを表現する
ために必要な言語エレメントを定義するアプリケーショ
ン指定言語、ワークベンチ、及びインタプリタを有す
る。アプリケーション開発者はワークベンチと呼ばれる
コンポーネントを使用して、言語エレメントのインスタ
ンスを作成、組立し、アプリケーション指定を形成す
る。インタプリタは、アプリケーション指定を実行し、
コンピューティングデバイス上にユーザ・インタフェー
スを提示する。

Description

【発明の詳細な説明】
【0001】1.発明の分野 本発明はコンピューティングデバイス用のデータ中心ア
プリケーションの作成に関し、より詳細には共通のユー
ザ・インタフェースモデルを共有するアプリケーション
のクラスを定義するための方法、異なるユーザ・インタ
フェース能力、寸法、及び形状を有した様々なコンピュ
ーティングデバイスに適合した態様でユーザ・インタフ
ェースモデルを提示する技術、及び、断続的に接続され
るオンラインモード、又はオフラインモードで使用可能
な順応型アプリケーション(conformant applications)
を短時間で作成する技術に関する。
【0002】2.発明の背景 2.1 問題点 近年の技術の進展の結果、必ずしも、或いは全くデスク
トップコンピュータを使用できない環境における専門職
又は非専門職に従事する労働者に対して、低廉でメンテ
ナンスをあまり要しない小型のモバイル(“普及型”;
"pervasive")デバイスを提供することが可能になっ
た。このような普及型デバイスは企業データシステム及
びITを利用したビジネスプロセスと統合可能でなけれ
ばならない。さらに、現在の通信信頼性、通信コスト、
及びデバイスのバッテリー容量を考慮すると、接続モー
ドのみならず非接続モードをサポートする必要がある。
残念ながら、これら2つの条件を満たすツールは不足し
ている。
【0003】アプリケーションの開発、保守、及び実装
の観点からすると、複数のデバイス画面寸法(device fo
rm factors)に対応しなければならないという付加的な
問題がある。例えば、ウィンドウズCE一般消費者向け
デバイスは少なくとも4種類の異なるスクリーンサイズ
を有する。マイクロブラウザを搭載したワイヤレス電話
も非常に大きな関心を集めている。最後に、最も普及し
ているデバイスは昔ながらの電話である。音声媒体もま
た、企業コンテンツを、インタラクティブ・ボイス・レ
スポンスシステムを介して、電話のプッシュボタンや音
声認識/合成インタフェースを使用して伝達可能であ
る。開発者はこのような様々な、次々と誕生するデバイ
スに対するソリューションを提供することがますます困
難になってきている。
【0004】2.2課題 普及型コンピューティングデバイス用のカスタマイズ可
能なアプリケーションを短時間で作成するための方法を
提供する。アプリケーションはSAP R/3等の企業
データシステムと統合可能でなければならない。さら
に、通信インフラストラクチャは急速にかつ、世界中で
不統一に発展しているため、開発方法は、開発されたア
プリケーションのオンライン及びオフライン双方での使
用において過大な非連続性をもたらしたり、その結果、
エンドユーザにおいて過大な訓練費用が必要となること
のないようなものでなければならない。
【0005】上記デバイスにおけるアプリケーションロ
ジックに対する要求は通常低い。それは、このようなデ
バイス上で実行されるビジネスプロセスは比較的単純で
あり、また、デバイス自体が制限された能力しか有して
いないからである。
【0006】3.発明の要旨 本発明は、多くの異なる種類のコンピューティングデバ
イス上で使用できるデータ中心アプリケーションを短時
間で作成するための方法に関する。
【0007】アプリケーションは高水準で指定され、オ
プションとして特定の媒体又は画面寸法用に特化され、
適切なインタプリタにより実行される。この目的で、宣
言型アプリケーション指定言語のファミリーが指定され
る。これらの言語は、データモデルの表現、企業データ
との統合、及び、抽象化されたユーザ・インタフェース
が可能である。それぞれの言語は特定の総称的ユーザ・
インタフェースパラダイムに対応し、パラダイムに適合
するアプリケーションを指定するために使用される。ユ
ーザ・インタフェースパラダイムは、個々のデバイスお
よび媒体の能力に見合った方法で、様々なデバイスへマ
ッピングされる。個々の言語用のインタプリタはアプリ
ケーション指定を翻訳し、ユーザ・インタフェースを提
示する。インタプリタは基本的なユーザ・インタフェー
スの枠組み(ナビゲーションモデル、データのUIエレ
メントへの結合)、データサービス(妥当性検査、オブ
ジェクト間関係とナビゲーション、データイベント制
御、データ変更の取り込み)、及びミドルウェアサービ
ス(データ同期、仮想要求−応答)を提供する。内蔵機
能は、共通のスクリプト言語の使用、及び、COM又は同
様の技術に基づくカスタムオブジェクトコンポーネント
の使用により、強化することができる。クライアントデ
バイスとサーバ間の統合は、インタプリタに内蔵された
データ同期機構により実現される。従って、動作の基本
モードはオフラインである。しかし、オフラインとオン
ライン双方でのアプリケーションの混合使用も、インタ
プリタの付加的な能力によりサポートされている。この
付加的な能力とは、ユーザがオンライン接続において予
期する“要求−応答”型のインタラクションをシミュレ
ートする能力である。インタプリタはこのような見かけ
上の能力を、以下のことを実現することにより提供す
る。すなわち、1)データ同期がほぼ実時間で行われ、
2)同期から生じるデータ変更が、結果が利用可能とな
った時に明示的なユーザによる操作を要することなくユ
ーザ・インタフェースに反映される事、である。前者の
条件はコンピューティングデバイスの標準的なメッセー
ジ及び通信サービスにより実現可能である。後者の条件
を満たすためには、データ同期層がユーザ・インタフェ
ースデータイベント層への適切なフックを有するように
インタプリタを構成することにより、サーバ側で発生し
たデータ変更が自動的にUIエレメントに送られるよう
にする。
【0008】本発明の課題は、共通のユーザ・インタフ
ェースモデルを有するアプリケーションのクラスを定義
する枠組みを定義することである。
【0009】本発明の別の課題は、個々の特定のユーザ
・インタフェースモデル用のアプリケーション開発シス
テムを作成するためのプロセスと方法を定義することで
ある。
【0010】本発明の別の課題は、ユーザ・インタフェ
ースモデルの特定のアプリケーションを指定するために
使用するコンピュータ言語を定義する方法を提供するこ
とである。
【0011】本発明の別の課題は、特定のユーザ・イン
タフェースモデルを実現する、特定のコンピューティン
グデバイス用のインタプリタを提供することである。
【0012】本発明の別の課題は、個々のコンピューテ
ィングデバイスに適合した態様で特定のユーザ・インタ
フェースモデルを実現するレイアウトコンポーネントを
インタプリタ内に提供することである。
【0013】本発明の別の課題は、同一のユーザ・イン
タフェースモデルと実現を使用して、アプリケーション
のオフライン、オンライン、及びそれらの混合使用形態
を可能とすることである。
【0014】本発明の別の課題は、デバイスと1つ又は
複数のサーバ間でデータを同期するための機能性を、特
定のコンピューティングデバイスのインタプリタ内に提
供することである。
【0015】本発明の別の課題は、サーバ側で生じたデ
ータ変更を明示的なユーザによる操作を要することなく
ユーザ・インタフェース内に反映するための機能性を、
特定のコンピューティングデバイスのインタプリタ内に
提供することである。
【0016】本発明の別の課題は、パーソナルデジタル
アシスタント(Personal Digital Assistant)等の小型コ
ンピューティングデバイス上の前記インタプリタの性能
を向上させるための技術を提供することである。
【0017】本発明の別の課題は、特定のユーザ・イン
タフェースモデルに適合されたアプリケーションを作成
するためのプロセスと方法を定義することである。
【0018】4. 公知技術 4.1 複数のデバイス画面寸法及び媒体をサポートす
るための、サーバに基づくレイアウト 請求項(a)に関連 これらのソリューションは、オンライン使用を対象とす
る。場合によっては、これらのソリューションを、オフ
ラインブラウジングの使用により、限定されたオフライ
ンシナリオに応用することも可能である。後者の技術
は、提示(presentation)における柔軟性(データの動的
選択及びフォーマッティング)、データ妥当性検査、及
びデータボリュームスケーラビリティ(データ同期のサ
ポート等)に関連する多くの周知の短所を有する。
【0019】4.2 フォーム言語 請求項(c)に関連 これらの言語は、ユーザ・インタフェースのみを対象と
する。一例はCelesta SmartFormsである。フォーム言語
は単純なデータモデルしかサポートできず、企業データ
との統合性も貧弱である。
【0020】4.3 音声プロキシ 請求項(a)に関連 これらのゲートウェイサービスは、音声合成と音声認識
により、既に存在するウェブページを動的に、電話に適
した形式に変換しようとするものである。これらのプロ
キシは、大量の視覚情報を狭帯域音声インタフェース上
に提示するために、推論に基づいてウェブページ上に構
造を配置しなければならない。
【0021】公知技術では、このアプローチは適応範囲
及び能力の点で限界がある。
【0022】5. アプリケーションモデル 5.1 アプリケーションのモデル化 アプリケーションは、いくつかの関連したコンポーネン
トの組み合わせであり、以下のモデルに従う: アプリケーション=データモデル+ミドルウェアモデル
+ビジネスロジック+ユーザ・インタフェース ここで定義するアプリケーション指定言語(Application
Specification Languages)により、上記コンポーネン
トを個々にアドレスすることが可能となる。ただし、上
記したコンポーネントの全てが必要なわけではない。デ
ータモデルはアプリケーションが動作する基礎となるロ
ーカルデータ、即ちテーブルの集合とそれらの相互関係
を定義する。ミドルウェアモデルは、クライアントデバ
イスとサーバ間で交換されるメッセージの内容を定義し
てデータ同期を取るとともに、メッセージとデータモデ
ルのオブジェクト間の関係を定義する。ビジネスロジッ
クコンポーネントはファンクションのプールと、様々な
アプリケーションイベントに関連付けられたスクリプト
から構成される。ユーザ・インタフェースは、ユーザが
アプリケーションと対話するための手段を定義する。
【0023】さらにユーザ・インタフェースコンポーネ
ントを以下のような要素に分解する: ユーザ・インタフェース=ユーザ・インタフェースモデ
ル+テーマ ユーザ・インタフェースモデル=タイル+アセンブリ+
ナビゲーション タイル=カスタマ、コンタクト等の、アプリケーション
レベルオブジェクトのビュー。
【0024】提示されたインタフェースエレメントの集
合。
【0025】アセンブリ=タイルの群とそれらの相互関
係 例:関連ビジネスオブジェクトの集合に対するビューの
一群。
【0026】ナビゲーション=ユーザ・インタフェース
モデルの状態モデル、並びに、タイルとアセンブリ間の
アクセス、インスタンス化、及びトランジションを含
む、UIモデル上の操作。ナビゲーション状態は以前の
状態の記憶も含むことができる。
【0027】テーマ=特定のデバイス形式上でのユーザ
・インタフェースモデルの提示。テーマの実現には、ラ
ンタイムにおける提示のステータスを表す付加的“状
態”情報が必要な場合もある。この情報は論理的にナビ
ゲーション状態に関連付けられ、それを拡張する。
【0028】上記の各等式は、タイル、アセンブリ、及
びナビゲーションモデルの具体的定義によりパラメタ化
されたアプリケーションのファミリを定義する。選択さ
れる特定のタイル、アセンブリ、及びナビゲーションモ
デルから、対応UIモデルに適合するアプリケーション
を特定するアプリケーション特定言語の必要条件が分か
る。結果として得られるアプリケーションは、個々の特
定のデバイス及び媒体の種類に適したテーマに従って、
様々なデバイス及び媒体上に提示される。以下では、幾
つかのユーザ・インタフェースモデルを提示する。
【0029】5.2 MDF(タイルセット・スタック
モデル) MDFフレームワーク用のユーザ・インタフェースモデ
ルは、全てのアプリケーション特定言語の場合と同様、
タイル、アセンブリ、及びナビゲーションモデルの定義
により特徴付けられる。MDFに対しては、 タイル=特定のビジネスオブジェクトタイプ内のフィー
ルドに結合されたUIエレメントの集合。例えば、カス
タマ詳細タイルはカスタマのコレクションに結合され、
個々のUIエレメントはカスタマ番号、氏名、業種等の
フィールドに結合される。
【0030】アセンブリ=階層(又は階層のコレクショ
ン)内に組織された、タイルセットと呼ばれるタイルの
集合。1つ又は複数のタイルは“メイン”タイルと呼ば
れ、それぞれ“サブ”タイルのツリーのルートを構成す
る。サブタイルは、それに対応付けられた全てのデータ
アイテムの集合上の照会(query)により、そのペアレン
トに関連付けられる。この照会はペアレント内で現在選
択されているアイテムの特性によりパラメタ化されてい
る。これにより、例えば、メインタイル内のあるカスタ
マを選択することにより、サブタイル内の関連性を有す
る売り注文を自動的に選択・表示可能となる。
【0031】ナビゲーション=ナビゲーション状態はア
センブリ(タイルセット等)インスタンスのスタックを
有し、その最上位がカレント(current)であるとされ
る。カレントタイルセットのみが表示され、ユーザと対
話可能である。論理的には、全てのタイルが同時にユー
ザに提示されるが、特定のデバイスにおけるテーマレイ
アウトによっては、ユーザは明示的に何らかの動作を行
って個別のタイルにアクセスすることが必要となる場合
もある。そのような動作はナビゲーションスタックに影
響を与えない。新規のタイルセットインスタンスは、い
ずれかのタイル内で“ハイパーリンク”を実行すること
により作成可能であり、その場合、新規インスタンスは
スタックの最上位に置かれる。この動作は、スタックの
最上位を廃棄することにより、逆転できる。いくつかの
タイルセットは最上位タイルセットとして区別される。
そのようなタイルセットを直接作成するための機構があ
り、その場合スタックは、新規インスタンスの作成前に
クリアされる。
【0032】このユーザ・インタフェースモデル、及び
対応するアプリケーション言語は好適な実施例である。
このモデル用のアプリケーション指定言語の表1を参照
されたい。MDFテーマの例は第8.3.1章に記載さ
れている。
【0033】5.3 普及型ワークフロー(ダイアログ
モデル) “ダイアログ”UIモデルは単純なワークフロー(Workf
low)アプリケーションに適しており、エンドユーザは、
ワークフロー内の特定の時点における少量の所定のデー
タに基づいて単純な選択を行うよう要求される。この選
択ステップはモバイルコンピューティング・デバイス上
で提示可能である。このシナリオに適したユーザ・イン
タフェースモデルは以下の定義により記述される: タイル=ワークフローコンテナ上のフィールドに結合さ
れたUIエレメントの集合。例えば、休暇請求承認用の
ワークフロー・コンテナは、請求者、日付、理由その他
のフィールドに結合されたUIエレメントを有する。
【0034】アセンブリ=アセンブリは1つのタイルを
有する。理解を容易にするために、この章内の以下の説
明では、タイルと、それが構成するアセンブリの間に区
別を設けないこととする。
【0035】ナビゲーション=ナビゲーション状態は、
カレントタイルと呼ばれる一つのタイル・インスタンス
を有する。ユーザはこのタイルとのみ対話可能である。
全てのタイルインスタンスはプール内で利用可能であ
り、ユーザは該プールにアクセスして任意のタイルイン
スタンスをカレントタイルインスタンスと命名すること
ができる。ユーザはプールから別のインスタンスを選択
することにより、任意のインスタンスをプールに戻すこ
とができる。タイルインスタンスの処理が完了したこと
を示すためにユーザが利用できる機構が設けられてお
り、処理終了後、タイルはプールから論理的に取り除か
れる。ユーザはまた、アプリケーション内に定義された
タイルのリストから選択して新規タイルインスタンスを
開始し、プールに付加することができる。
【0036】このUIモデルは構成を複雑化することに
より、より複雑なタイルインスタンスプールを管理可能
である。例えば、個々のタイルインスタンスにより表さ
れたワークフローは、対応優先順位又は付加的状態を有
することができる。
【0037】6. アプリケーションシステム 6.1 概観 アプリケーションシステムは、特定のユーザ・インタフ
ェースモデルを共有するアプリケーションを作成するた
めの機構を提供する。
【0038】アプリケーションシステムはアプリケーシ
ョン指定言語、ワークベンチ、及びインタプリタを有す
る。アプリケーション指定言語は、ユーザ・インタフェ
ースモデル内でアプリケーションを表現するために必要
な言語エレメントを定義する。アプリケーション開発者
はワークベンチと呼ばれるコンポーネントを使用して、
言語エレメントのインスタンスを作成・組立し、アプリ
ケーション指定を形成する。インタプリタは、アプリケ
ーション指定を実行し、コンピューティングデバイス上
にユーザ・インタフェースを提示するコンポーネントで
ある。
【0039】アプリケーションシステムを作成するステ
ップは以下のステップを有する。
【0040】第1のステップはユーザ・インタフェース
モデルを定義するステップであり、以下のステップを有
する:タイル、及びタイル上に含まれる全てのユーザ・
インタフェースのタイプと機能を判断し;アセンブリ内
のタイル間の濃度と関係、及び特定の専用化アセンブリ
内のタイル間の操作に対する特定の要求を判断し;論理
ナビゲーションモデルと、モデル状態上の要求されたユ
ーザ動作を判断する。
【0041】第2ステップはメタ言語によりアプリケー
ション指定言語を定義し、以下のステップから構成され
る:タイル形式(タイプ)、タイル内に(あるとすれ
ば)含まれるユーザ・インタフェースエレメント、エレ
メント間の包含関係、及びエレメント間の参照関係を表
すために必要とされる属性を指定するエレメントを定義
し;タイルとユーザ・インタフェースエレメントの特性
を表すために必要とされるエレメント上の属性を定義
し;ナビゲーションモデルにより必要とされるエレメン
ト上の属性を定義する。
【0042】第3ステップは総称的ワークベンチをカス
タマイズするステップであり、以下のステップから構成
される:メタ言語で表現不可能なアプリケーション指定
の妥当性に関する制約を実現するイベントハンドラを作
成する。
【0043】第4ステップでは個々のサポートされたデ
バイスのためのレイアウトテーマが定義され、以下のス
テップを有する:UIモデルの個々のエレメントに対し
て、出力媒体上の表示を定義し;UIモデル上の個々の
動作に対するユーザ・インタフェースを定義し;UIモ
デル上の個々の動作のユーザ・インタフェースを定義
し;出力表示及びUIモデル動作ユーザ・インタフェー
スにより必要とされる付加的エレメント及び属性をアプ
リケーション指定言語内に定義する。
【0044】第5ステップはインタプリタのUIモデル
を実現し、以下のステップ:タイル、ユーザ・インタフ
ェースエレメント、及びアセンブリの各指定のオブジェ
クトモデルを作成し、該オブジェクトを“定義オブジェ
クト”と呼び;アプリケーション指定又はそのフラグメ
ント(fragments)からオブジェクトモデルインスタンス
を作成する定義オブジェクトコンストラクタ(construct
or)を実行し;適切なコンピュータプログラミング言語
で、定義オブジェクトからUIモデルインスタンスの作
成を実行するステップを有する。
【0045】第6ステップはインタプリタ内にテーマを
実現するステップであり、個々のテーマに対して以下の
ステップを有する:適切なコンピュータ言語でそれぞれ
のテーマをレイアウトハンドラとして実行し;インタプ
リタによるコンピューティングデバイスに対する適切な
テーマ選択を可能にする機構を提供する。
【0046】このプロセスの詳細は第8章に、好適な実
施例すなわちMDFと共に記載されている。
【0047】アプリケーション指定言語の構文の好適な
実施例はXML(eXtensible MarkupLanguage; World Wi
de Web Consortium, www.w3c.org)である。この文脈に
おけるこの“XML”という用語の使用はWorld Wide W
eb ConsortiumによるXMLの指定、及びXMLをバイ
ナリ又はその他のXML構造を保存する形式に符号化す
るスキームを指す。
【0048】前記構文の別の好適な実施例はXMLのバ
イナリ符号化である、“WAPバイナリXML符号化"
(WAP Binary XML encoding; WAP Consortium, www.wapf
orum. org.)である。
【0049】アプリケーション指定言語を定義するため
のメタ言語の好適な実施例はXMLスキーマ(Schema)
(World Wide Web Consortium, www.w3c.org)である。
【0050】6.2 ワークベンチ ワークベンチはアプリケーション開発者がアプリケーシ
ョンを作成するための手段である。その動作はアプリケ
ーション指定言語の定義を含む文書により制御される。
ワークベンチは前記言語に従うために、その文書ブラウ
ジング及び編集機能を拘束する。前記に関わらず、アプ
リケーション指定言語を定義したメタ言語により適切に
表現されなかった文書妥当性基準を実現するために、ワ
ークベンチに何らかのカスタマイズが必要な場合もあ
る。
【0051】6.2.1 アーキテクチャ 図3は、ワークベンチの単純化オブジェクトモデルを示
す。ワークベンチはタイプされた文書(Typed Document)
及び対応する文書カーソル、タイプされた文書をブラウ
ジング及び編集するためのツリービュー(TreeView)及び
エレメント属性パネル(Element Attribute Panel)、及
び開発プロセス中に文書の最終表示をシミュレートする
ための多くのプレビューア(Previewers)を含む。タイプ
された文書コンポーネントはアプリケーション指定言語
定義を指定して指定文書構造を理解し、個々のエレメン
ト及び属性上で許容される編集動作を決定する。
【0052】タイプされた文書コンポーネントはアプリ
ケーションプログラミングインタフェース(API)を
提供する。APIは以下の目的で使用される。すなわ
ち、1)アプリケーション指定言語のロード、2)アプ
リケーション指定文書の作成、ロード及びセーブ、及び
3)その他のコンポーネントに対して有効編集オペレー
ションに関する情報を供給することによる、該コンポー
ネントの適切な動作の誘導。アプリケーション指定文書
に対する変更は全て、その他全てのコンポーネントに同
報通信(broadcast)され、それらコンポーネントはそれ
ぞれ内部状態を更新し、該更新に従った表示を行う。
【0053】“カレントエレメント”という考え方は、
文書カーソル(Document Cursor)により実現される。こ
のコンポーネントは、カレントエレメントと呼ばれるア
プリケーション文書内の、特別なエレメントに対する参
照を含む。文書エレメントをブラウズ可能なコンポーネ
ント、例えばツリービューやプレビューアはいずれも、
文書カーソルAPIを呼び出すことにより、カレントエ
レメントレファレンスを更新できる。文書カーソルは、
新規レファレンスを全ての他のコンポーネントに連絡
し、それら他のコンポーネントはそれぞれ内部状態を更
新し、該更新に従った表示を行う。
【0054】ツリービューは、文書の実際の構造を反映
した階層として文書を表示する。コンテキスト対応(con
text-sensitive)メニューは、文書に対するエレメント
の削除又は挿入のために設けられる。
【0055】エレメント属性パネルは、カレントエレメ
ント用に定義された属性の集合を表示する。属性はパネ
ル上で、それらのタイプ及びその他のメタ属性に適した
形で表される。
【0056】プレビューアコンポーネントはアプリケー
ション文書を、インタプリタにより実行された場合の提
示態様に近似した形式で提示する。個々のプレビューア
コンポーネントはそれぞれ異なる具体的提示(テーマ)
を実現し、ワークベンチユーザ・インタフェースを介し
て個別に開始することができる。
【0057】カレントエレメントは、ユーザ・インタフ
ェースエレメントに対応する場合は、個々のオープンプ
レビューア内で見ることができ、ハイライト表示され
る。また、プレビューア内でユーザ・インタフェースエ
レメントの表示を選択することにより、当該エレメント
がカレントエレメントになる。その結果、ツリービュー
及び全てのプレビューアはそれぞれの表示を適切に更新
する。
【0058】6.2.2 動作 ワークベンチの動作の詳細は第7.2章に説明してあ
る。
【0059】6.3 インタプリタ インタプリタは、アプリケーション指定を実行し、ユー
ザ・インタフェースを提示するコンポーネントである。
【0060】6.3.1 アーキテクチャ インタプリタのアーキテクチャは図7に示されている。
特に重要なのは、“XMLサービス”と題されたサブシ
ステムである。このサブシステムは、左端に例示として
GUI定義、データモデル、及びミドルウェアモデルコ
ンポーネントに分けられたアプリケーション指定に対す
るアクセスを提供する。右端には、デバイス・ネイティ
ブ・UIサービスがある。これらは、特定のコンピュー
ティングデバイスにより提供されるユーザ・インタフェ
ースサービスであり、グラフィカルディスプレイを有す
るデバイス用のウィンドウ管理、音声インタフェースを
有するデバイス用の音声合成等を含む。その他のコンポ
ーネントは集合的にランタイムコンポーネントと呼ばれ
る。
【0061】・タイルハンドラコンポーネントはタイル
タイプのコレクションと、タイルが含む可能性のある全
てのユーザ・インタフェースエレメントを実現する。タ
イルインスタンス、及び全ての含まれたUIエレメント
はこのコンポーネント内で、タイルアセンブリとナビゲ
ーションエンジンコンポーネントの指示に従って作成又
は消去される。
【0062】・タイルアセンブリ及びナビゲーションエ
ンジンコンポーネントは、総称的ユーザ・インタフェー
スモデルを実現する。アセンブリの作成中、このコンポ
ーネントはタイル間関係を、UIエレメントとデータカ
ーソルにより形成されたデータイベント伝播ネットワー
クを設定することにより、作成する。
【0063】・テーマハンドラコンポーネントは、タイ
ルアセンブリ及びナビゲーションエンジンコンポーネン
トにより実現された総称的ユーザ・インタフェースモデ
ルの、具体的ユーザ・インタフェースに対するマッピン
グを行う。テーマハンドラは、タイルアセンブリとナビ
ゲーションエンジンの側と、ユーザ側との間のブリッジ
役として機能する。定義されたテーマが必要とすれば、
ハンドラは個々のタイル上で表示又は隠蔽(Show or Hid
e)動作や、グラフィカルでないユーザ・インタフェース
の場合には同等の動作を行わせることができる。
【0064】・データイベントサービスコンポーネント
は、個々のタイル、UIエレメント、及び同期サービス
を1つにまとめる、言わば接着剤の役目を果たす。この
コンポーネントにおけるデータカーソルオブジェクト
は、オブジェクトのシーケンスと、シーケンス内の区別
された位置の概念を実現する。区別された位置は“カー
ソル”と呼ばれ、その位置のオブジェクトは“カレント
オブジェクト”と呼ばれる。データイベントサービスコ
ンポーネント内のオブジェクトは、データ保存に関する
イベントを、データカーソル及びUIエレメント間で伝
播する。
【0065】・同期サービスコンポーネントは、モバイ
ルクライアントデバイスと遠隔サーバ間でのデータ保存
の同期を取る。このコンポーネントは、タイルハンドラ
コンポーネントから生じる、データ保存に対する変更を
取り出し、記録し、最終的にサーバに送られるメッセー
ジに組み入れる。他の方向では、同期サービスコンポー
ネントはサーバから、該サーバからの変更要求メッセー
ジの形で変更を受け取り、該変更をデータ保存に適用す
る。受け取り動作は、データイベントを、変更に対応す
るデータイベントサービスコンポーネントに発行するこ
とにより完了する。
【0066】・データ保存サービスコンポーネントは、
コンピューティングデバイスの継続的データ保存をカプ
セル化する。前記継続的保存は例えばリレーショナルデ
ータベース管理システム、又は、ウィンドウズCEデータ
ベース(マイクロソフト社、シアトル、WA)等のよりシ
ンプルな設備である。
【0067】次の章では、より詳細な説明を行う。
【0068】6.3.2 アプリケーション文書サービ
スコンポーネント アプリケーション文書サービスコンポーネントは、アプ
リケーション指定の符号化の理解のため、及び、その他
のコンポーネントにおいて効率的に使用可能な形式で該
指定を提示するために使用される。図8は、アプリケー
ション文書サービスコンポーネントによる、アプリケー
ションフラグメントの翻訳を図示したものである。同図
において、ランタイムコンポーネントはタイル定義の指
定を要求し、タイル定義のオブジェクト表示を返答とし
て受け取る。総称的パーサ(Parser)はタイル定義フラグ
メントを読み取ると同時に、パーサイベントを、フラグ
メントのルートにあるエレメント、即ちタイルエレメン
トに固有のコンストラクタオブジェクトに発行する。こ
のコンストラクタオブジェクトは、デバイス上のワーキ
ングメモリ内のタイル定義のオブジェクト表示を作成
し、このオブジェクト表示を、インタプリタのランタイ
ムコンポーネントに送り返す。
【0069】好適な実施例では、フラグメントの内容に
対する最初の参照の際にオブジェクト表示を要求し、該
オブジェクトレファレンスを以後使用する時のためにキ
ャッシュする。
【0070】6.3.3 インタプリタ変化型(variati
on) アプリケーションシステムは、特別な環境又はシステム
構成に特化されたインタプリタ変化型を提供できる。図
2には2つのインタプリタ変化型が例示されている。
【0071】図2のクライアント側インタプリタは、完
全にクライアント上で実行する。この好適な実施例は図
7のアーキテクチャの完全な実現である。
【0072】図2のサーバ側インタプリタは、プレゼン
テーション層を例外として、完全にサーバ上で実行す
る。この変化型は同期サービスコンポーネントを必要と
しない。このインタプリタ上では、WAPマイクロブラ
ウザテーマは、デバイス上のネイティブ・マイクロブラ
ウザを使用して、WML(Wireless Markup Language; W
AP Consortium, www.wapforum.org)を実現する。ボイス
テーマは、音声認識及び音声合成ユーザ・インタフェー
スを実現する。この場合、プレゼンテーション層は電話
上の音声入力及び出力である。
【0073】7 アプリケーション開発プロセス ここでは、アプリケーションを作成するためにアプリケ
ーション開発者が実行するプロセスを説明する。
【0074】7.1 プロセスの概略 図1は、アプリケーション作成における各ステップを示
す。アプリケーションは、アプリケーションシステム内
のコンポーネントのコンテキスト及び使用(usage)によ
り定義される。ワークベンチコンポーネントは、開発者
が、アプリケーション指定言語、従ってアプリケーショ
ンモデルに適合したアプリケーション指定を作成するこ
とをサポートする。前記アプリケーションモデルは、特
定の区画(Pane)、アセンブリ、及びナビゲーションに対
応したユーザ・インタフェースモデルを含む。アプリケ
ーション開発プロセスは、以下のステップを有する:ア
プリケーションシステムのワークベンチコンポーネント
を使用して、アプリケーションの指定を含む文書を作成
し;オプションとして、前記アプリケーション指定文書
を特定のデバイス用に専用化し;アプリケーション指定
文書を、インタプリタに適した形式に符号化する。
【0075】そして、アプリケーション指定は適切な記
憶装置内に記憶され、要求に応じてインタプリタにより
検索及び実行される。
【0076】7.2 プロセスの詳細 アプリケーション指定は、特定のアプリケーション指定
言語に従ったXML文書である。そのような言語は、文
書タイプ定義(DTD; Document Type Definition)又はX
MLスキーマ等のメタ言語で指定される。ワークベンチ
は、アプリケーション開発者による前記文書の作成をサ
ポートするXML文書である。このサポートのため、ワ
ークベンチは、アプリケーション指定言語に適合した文
書妥当性検査及びコンテキスト対応編集を行う。好適な
実施例では、XMLスキーマメタ言語が使用される。
【0077】開発者は新規文書を作成する際、ワークベ
ンチメニューから“新規"コマンドを呼び出す。その
後、開発者は文書を変更するためには、XMLエレメン
トを付加ないし削除したり、それらエレメントの属性を
付加、変更、又は削除する。エレメントの操作はツリー
ビュー上のユーザ・インタフェース操作により行われ、
他方、エレメント属性の操作は“エレメント属性パネ
ル”を介して行われる。
【0078】文書内に新規インスタンスを挿入するため
には、開発者はXMLツリービュー内のエレメントを選
択し、ポップアップメニューを呼出す。そして開発者は
メニューから、選択されたエレメントの前後いずれにお
いて同じレベルでエレメントを付加するのか、又は選択
されたエレメントの子として付加するのかを指定する。
図4の例では、開発者はリストビューエレメントを選択
し、子エレメントの挿入を指定した。ワークベンチはダ
イアログボックスにおいて、文書のこの場所の候補エレ
メントのリストを示す。候補エレメントは、アプリケー
ション指定言語の検査により自動的に決定される。
【0079】特定エレメントの属性の値を設定するため
に、開発者はXMLツリービュー内のエレメントを選択
する。ワークベンチは、アプリケーション指定言語を検
査することにより、このエレメントに対する可能な全て
の属性のリストを決定し、それらをエレメント属性パネ
ル内に表示する。個々の属性のタイプ及びメタ属性に関
する情報により、属性パネル上でのその視覚的外観が決
定される。例えば、列挙型として定義された属性は、図
6に示すように、列挙された数値の集合を含むドロップ
ダウンリストとして表示できる。
【0080】アプリケーション開発者はこのようにし
て、アプリケーション指定文書を作成する。このプロセ
スの好適な実施例の1つはプロトタイプ化と呼ばれ、エ
ンドユーザの理解及びデザインに関するフィードバック
を得るため、まずユーザ・インタフェース部分が作成さ
れる。データモデル部分はその後で作成される。別の好
適な実施例では、データモデルがアプリオリに分かって
いる場合、文書のその部分が最初に作成され、続いてユ
ーザ・インタフェース部分が作成される。
【0081】プロトタイプ化の実施例は、アプリケーシ
ョンの提示をインタプリタ上で近似できるプレビューア
コンポーネントにより可能となる。プレビューアコンポ
ーネントはこのシミュレーションを、不完全で従ってイ
ンタプリタ自体では実行不可能な文書に対して行うこと
ができる。個々のプレビューアは特定レイアウトテーマ
のシミュレーションを実現するので、また、複数のプレ
ビューアは同時に表示可能であるので、開発者は、アプ
リケーションのそれぞれの目標デバイス上での提示を同
時に確認することができる。ワークベンチのアーキテク
チャはまた、アプリケーション文書への変更はいずれも
全てのコンポーネントに同報通信されるよう構成されて
いるので、個々の目標デバイスにおける提示の確認を、
アプリケーションの作成又は変更中に行うことができ
る。
【0082】アプリケーション指定文書の作成が終了し
た後、開発者はワークベンチの妥当性検査機能を使用し
て、インタプリタが正確に文書を実行できることを確認
する。妥当性検査機能は言語定義によってもドライブさ
れる文書は最後に変換・符号化され(図1参照)、イン
タプリタにより使用可能なように記憶される。
【0083】8 モバイルデータアプリケーションフレ
ームワーク(MDF)アプリケーションシステム この章では、アプリケーションシステムの好適な実施
例、すなわちモバイルデータアプリケーションフレーム
ワーク(MDF)を説明する。
【0084】8.1 MDFアプリケーション指定言語 第5.2章で説明したユーザ・インタフェースモデルに
対応する言語が、表1に示されている。
【0085】表1に示したMDFアプリケーション指定
言語はXML対応言語であり、XMLスキーマ(現時点
ではマイクロソフト社による、ドラフトW3C標準の具体
化に基づく)により定義される。
【0086】
【表1】
【0087】
【表2】
【0088】
【表3】
【0089】
【表4】
【0090】
【表5】
【0091】
【表6】
【0092】8.2 MDFワークベンチ MDF用ワークベンチは、開発者に対して、MDF言語
定義(XMLスキーマ)からドライブされたコンテキス
ト対応ガイダンスを提供する。図4の中央に、開発者の
“ノード挿入”コマンドに応答して、候補エレメントの
リストを表示するポップアップウィンドウが示されてい
る。候補リストは、ワークベンチによりMDF言語定義
を検査することにより決定される。
【0093】図4の下部に、アプリケーションが、サポ
ートされているレイアウトテーマの1つにおいてどのよ
うに見えるかが分かるプレビューが示されている。ここ
では、レイアウトテーマはハンドヘルドPC(Handheld
PC)である。ワークベンチは、テーマの外観と動作に近
似したスクリーンを提供することにより、アプリケーシ
ョン開発者がアプリケーションが実装された時の視覚的
イメージを得ることができるようにする。
【0094】8.3 MDFインタプリタ 総称的インタプリタは第6.3章に説明してある。
【0095】アプリケーションの第5ステップ、総称的
UIモデルの実現 第6.1章で説明したシステム作成プロセスは、C++
等のオブジェクトプログラミング言語を使用して実行可
能である。同様に、第6ステップである、MDFテーマ
の実現も、このプログラミング言語を使用して実行でき
る。
【0096】8.3.1 MDFレイアウトテーマ この章では、UIモデルが、特定デバイスのスクリーン
レイアウト(“テーマ”)に左右されないことを示す。
1つのMDFアプリケーション定義が、3つのGUIテ
ーマと共に示されている。これら3つのテーマは、ハー
フVGA(Half-VGA)ハンドヘルドPC、パーム(Palm)P
C、及びVGAハンドヘルドPCであり、対応するスク
リーンサイズを有するウィンドウズCE(マイクロソフ
ト社、シアトル、WA)に適用可能である。
【0097】1.1 ハンドヘルドPC(ハーフVGA
サイズ) 図9に、ハーフVGAハンドヘルドPC(縦240ピク
セル、横640ピクセル)スクリーンレイアウトが示さ
れている。総称的UIモデルのテーマに対するマッピン
グは以下のように行われる: (a)最上位タイルセットアセンブリのタイトルが、左
上のナビゲーションバーの形で表示される; (b)ナビゲーションスタックがリストとして左下に表
示される。エントリをクリックすることにより、選択さ
れたエントリより奥にある全てのエントリが除外され
る。さらに、逆向きの矢印によりスタックから最上位の
エレメントを除外することができる。
【0098】(c)リストビュータイル及びフレームタ
イルテキストボックスエレメントは関連したハイパーリ
ンクを有する場合がある。ハイパーリンクをクリックす
ることにより該ハイパーリンクが呼び出され、新しいタ
イルセットが作成され、ナビゲーションスタックの最上
位に付加される。今までのカレントタイルセットは隠さ
れ、新規タイルセットが表示される。
【0099】(d)カレントタイルセットのメインタイ
ルは即座に中央ウィンドウのナビゲーションバーの右側
に示され、サブタイルが右側のタブストリップ内に示さ
れる。
【0100】1.2 パームPC パームPC(縦320ピクセル、横240ピクセル)ス
クリーンレイアウトは、MDFプロトタイプによりサポ
ートされる最小のGUIレイアウトである。図10に
は、外観が示されている。ハンドヘルドPCテーマとは
対照的に、最上位タイルセットのリストは、ナビゲーシ
ョンバーではなくメニューを介してアクセスされる。ナ
ビゲーションスタックは目に見えるコントロールとして
は表示されないが、ハーフVGAハンドヘルドPCテー
マの場合のように、ツールバー上の逆矢印を介して操作
可能である。カレントタイルセットのメインタイルはタ
ブストリップの左端のタブとして示されており、サブタ
イルが右側に続く。
【0101】1.3 ハンドヘルドPC(フルVGAサ
イズ) フルVGA(縦640ピクセル、横480ピクセル)ス
クリーンレイアウトを使用することにより、より多くの
情報を同時にスクリーン上に表示可能である。図11に
は外観が示されている。従って、タブストリップを使用
してタイルを整理するのではなく、タイルを同時にスク
リーン上の1つ又は複数の固定された場所ないし“スロ
ット”に表示する。
【0102】詳細には、総称的UIモデルのフルVGA
テーマに対するマッピングは、ハーフVGAテーマの場
合と類似する。すなわち、ステップ(a)〜(c)は同
じである。
【0103】ステップ(d)は以下のように置換され
る。
【0104】スクリーンが4個のスロットと呼ばれる領
域に分割される;付加的属性であるターゲットフレーム
が、個々のタイルセットのメインタイル及びサブタイル
上で定義される。この属性はタイルがスクリーン上で占
めるべきスロットのセットを指定する;タイルセットの
最初の表示において、タイルセットのタイルが順番に検
査される。タイルに対してターゲットフレーム属性内で
指定されたスロットが空きである場合、タイルはそれら
のスロットに表示され、それ以外の場合は表示されな
い。
【0105】いずれのスロットも占めないタイルは、ス
クリーンの底部のオーバフロー領域でキャプションとし
て最小の形で表示される。このキャプションの1つをク
リックすることにより、ユーザは強制的に関連タイルを
そのターゲットフレーム属性内に指定されたスロットに
おいて表示し、関連キャプションをオーバフロー領域か
ら除外する;タイルを前記ユーザ操作により表示したい
場合は、該タイルが占めるべきスクリーンスロットが、
現在表示されている1つ又は複数のタイルから除外され
る;そのようなタイルが、必要とする最小限のタイルセ
ットを持たない場合、該タイルは全てのスロットを解放
し、自身をオーバフロー領域におけるキャプションとし
て表示する;そうでない場合、前記タイルはその表示サ
イズを縮小し、現在割り当てられているスロットに収め
られる;タイル上に表示されたUIエレメントは、該タ
イルに割り当てられたスロットの数に応じて変わる。例
えば、リストビュータイル(List View Tile)の列は関連
重要性属性を有し、それによって、利用可能なスペース
に納めるために抑制するべき列が決定される。図11の
例では、上部のカスタマリストが半分に縮小されている
が、それは、そのスロット割り当ての右半分が、カスタ
マ詳細タイルにより同時に選択されたことに対応した結
果である。
【0106】以下の表2は、MDFアプリケーション言
語で定義された、シンプルなサービス管理デモンストレ
ーションプログラムを示す。
【0107】
【表7】
【0108】
【表8】
【0109】
【表9】
【図面の簡単な説明】
【図1】図1は、アプリケーション作成プロセスの概略
である。
【図2】図2は、アプリケーション用の実施構成範囲を
示す。
【図3】図3は、ワークベンチアーキテクチャの概略を
示す。
【図4】図4は、コンピュータスクリーンであり、ワー
クベンチスクリーンレイアウトが示されている。
【図5】図5は、新規エレメントインスタンスの挿入中
におけるワークベンチのビューである。
【図6】図6は、属性値の設定中のワークベンチのビュ
ーである。
【図7】図7は、インタプリタアーキテクチャの概略で
ある。
【図8】図8は、インタプリタの構文解析サービスの動
作の詳細を示す。
【図9】図9は、表2のMDFアプリケーション用の、
240x640ピクセルハンドヘルドPCレイアウトテ
ーマを例示するコンピュータスクリーンの一連のビュー
である。
【図10】図10は、表2のMDFアプリケーション用
のパームPCレイアウトテーマを例示する、コンピュー
タスクリーンの一連のビューである。
【図11】図11は、表2のMDFアプリケーション用
の480x640ピクセルハンドヘルドPCレイアウト
テーマを例示する、コンピュータスクリーンの一連のビ
ューである。
【図12】図12は、表2のMDFアプリケーション用
のサーバ側インタプリタのWAPテーマを例示する、マ
イクロブラウザ装備無線電話のディスプレイの一連のビ
ューを示す図である。
【図13】図13は、表2のMDFアプリケーションを
実行しているユーザと、サーバ側インタプリタの音声テ
ーマ間の電話上で行われる対話の記録である。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 特定の総称的ユーザ・インタフェースモ
    デルを共有するデータ中心アプリケーションのクラスを
    定義する方法において、以下のステップ:前記総称的ユ
    ーザ・インタフェースモデルが必要とする、タイルと呼
    ばれる特別ユーザ・インタフェースエレメントと、それ
    らの構成エレメントのタイプを決定し;アセンブリと呼
    ばれるタイル群内の、タイル間の濃度と関係を決定し;
    アセンブリ間のナビゲーション用の論理モデル、及びモ
    デル状態上で必要なユーザ操作を決定するステップを有
    したことを特徴とする方法。
  2. 【請求項2】 アプリケーションの前記クラスのそれぞ
    れに適したメタ言語によりアプリケーション指定言語を
    定義する方法において、以下のステップ:タイルタイプ
    と構成エレメントを指定するエレメント、エレメント間
    の包含関係、及びエレメント間の参照関係を表すために
    必要な属性を定義し;タイルとユーザ・インタフェース
    エレメントの特性を表すために必要とされるエレメント
    の属性を定義し;ナビゲーションモデルにより必要とさ
    れるエレメントの属性を定義するステップを有すること
    を特徴とする方法。
  3. 【請求項3】 アプリケーションの前記クラスのそれぞ
    れに対するアプリケーションシステムを、前記クラスの
    インスタンスの開発と実行のために作成する方法におい
    て、 総称的ワークベンチを、メタ言語で表現不可能なアプリ
    ケーション指定の妥当性に関する制約を実現するイベン
    トハンドラでカスタマイズし;総称的インタプリタをカ
    スタマイズするステップを有し、このインタプリタカス
    タマイズは以下のステップ: a)タイル、ユーザ・インタフェースエレメント、及び
    アセンブリの指定に対するオブジェクトモデルを作成
    し; b)アプリケーション指定又はそのフラグメントからオ
    ブジェクトモデルインスタンスを作成する定義オブジェ
    クトコンストラクタを実行し; c)定義オブジェクトから、適切なコンピュータプログ
    ラミング言語でのUIモデルインスタンスの作成を実行
    するステップを有することを特徴とする方法。
  4. 【請求項4】 特定のクラスのアプリケーションを作成
    する方法において、 前記アプリケーションの指定を含む文書を、アプリケー
    ションシステムのワークベンチコンポーネントを使用し
    て作成し;オプションとして、前記アプリケーション指
    定文書を特定のデバイス用に専用化し;アプリケーショ
    ン指定文書を、インタプリタに適した形式に符号化する
    ステップを有することを特徴とする方法。
  5. 【請求項5】 前記総称的ユーザ・インタフェースモデ
    ルのそれぞれに対応する複数の具体的ユーザ・インタフ
    ェースを提供する方法において、 UIモデルの個々のエレメントに対して、デバイスの出
    力媒体上の表示を定義し;UIモデル上の個々の操作に
    対する具体的ユーザ・インタフェースを定義し;出力表
    示とUIモデル操作ユーザ・インタフェースの必要に応
    じて、アプリケーション指定言語内に付加的なエレメン
    ト及び属性を定義し;個々のテーマを適切なコンピュー
    タ言語でインタプリタのコンポーネントとして実行し;
    ユーザ・インタフェースが提示される特定のコンピュー
    ティングデバイスに適した適切なテーマをインタプリタ
    が選択できるようにする機構を提供するステップを有し
    たことを特徴とする方法。
  6. 【請求項6】 ユーザに対して、遠隔システムとの対話
    を外見上、反応−応答形式で提示することにより、モバ
    イルデバイス上で前記アプリケーションのオンライン、
    オフライン、及びそれらの混合動作を提供する方法。
  7. 【請求項7】 特定の環境のために、様々なインタプリ
    タを作成する方法。
JP2000109978A 2000-04-11 2000-04-11 データ中心アプリケーションのクラス定義方法 Pending JP2001306308A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2000109978A JP2001306308A (ja) 2000-04-11 2000-04-11 データ中心アプリケーションのクラス定義方法
AU2001252256A AU2001252256A1 (en) 2000-04-11 2001-04-10 Method and computer program for rendering assemblies objects on user-interface to present data of application
PCT/EP2001/004095 WO2001077822A2 (en) 2000-04-11 2001-04-10 Method and computer program for rendering assemblies objects on user-interface to present data of application
EP01925541A EP1330707A1 (en) 2000-04-11 2001-04-10 Method and computer program for rendering assemblies objects on user-interface to present data of application
US10/646,428 US7380236B2 (en) 2000-04-11 2003-08-21 Method and computer program for rendering assemblies objects on user-interface to present data of application
US10/729,228 US7418696B2 (en) 2000-04-11 2003-12-05 Method and computer program for rendering assemblies objects on user-interface to present data of application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000109978A JP2001306308A (ja) 2000-04-11 2000-04-11 データ中心アプリケーションのクラス定義方法

Publications (1)

Publication Number Publication Date
JP2001306308A true JP2001306308A (ja) 2001-11-02

Family

ID=18622575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000109978A Pending JP2001306308A (ja) 2000-04-11 2000-04-11 データ中心アプリケーションのクラス定義方法

Country Status (5)

Country Link
US (2) US7380236B2 (ja)
EP (1) EP1330707A1 (ja)
JP (1) JP2001306308A (ja)
AU (1) AU2001252256A1 (ja)
WO (1) WO2001077822A2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520938A (ja) * 2002-12-26 2006-09-14 リサーチ イン モーション リミテッド コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法
US7533114B2 (en) 2005-02-22 2009-05-12 Nextair Corporation Mobile device having extensible software for presenting server-side applications, software and methods
US7546298B2 (en) 2001-01-09 2009-06-09 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
US7668937B2 (en) 2005-02-22 2010-02-23 Research In Motion Limited Wireless communication device use of application server applications
US7865528B2 (en) 2001-01-09 2011-01-04 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
US8224951B2 (en) 2005-02-22 2012-07-17 Nextair Corporation Determining operational status of a mobile device capable of executing server-side applications

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020198931A1 (en) * 2001-04-30 2002-12-26 Murren Brian T. Architecture and process for presenting application content to clients
US20030046017A1 (en) 2001-06-06 2003-03-06 Claudius Fischer Deployment console for use with a computer system deploying software to remotely located devices
US7503032B2 (en) * 2001-06-15 2009-03-10 International Business Machines Corporation Method and framework for model specification, consistency checking and coordination of business processes
US7546602B2 (en) 2001-07-10 2009-06-09 Microsoft Corporation Application program interface for network software platform
US7017162B2 (en) * 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US7165239B2 (en) * 2001-07-10 2007-01-16 Microsoft Corporation Application program interface for network software platform
US7117504B2 (en) 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US7581231B2 (en) * 2001-07-10 2009-08-25 Microsoft Corporation Computing system and method for allowing plurality of applications written in different programming languages to communicate and request resources or services via a common language runtime layer
US7620908B2 (en) 2001-12-28 2009-11-17 Sap Ag Managing a user interface
US20030131144A1 (en) * 2002-01-10 2003-07-10 Ncr Corporation Data wedge
WO2004001575A1 (en) * 2002-06-24 2003-12-31 National Instruments Corporation Task based polymorphic graphical program function nodes
US7698276B2 (en) * 2002-06-26 2010-04-13 Microsoft Corporation Framework for providing a subscription based notification system
US20040002958A1 (en) * 2002-06-26 2004-01-01 Praveen Seshadri System and method for providing notification(s)
US20040002988A1 (en) * 2002-06-26 2004-01-01 Praveen Seshadri System and method for modeling subscriptions and subscribers as data
US7412658B2 (en) 2002-11-14 2008-08-12 Sap Ag Modeling system for graphic user interface
US7650276B2 (en) * 2003-02-26 2010-01-19 Bea Systems, Inc. System and method for dynamic data binding in distributed applications
US20050080608A1 (en) * 2003-06-30 2005-04-14 Joe Burns Simulator for request/response systems
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
EP1526448B1 (en) * 2003-10-24 2008-11-12 Sap Ag Method and computer system for document authoring
EP1526447A1 (en) 2003-10-24 2005-04-27 SAP Aktiengesellschaft Method and computer system for document authoring
US7669177B2 (en) 2003-10-24 2010-02-23 Microsoft Corporation System and method for preference application installation and execution
US7426734B2 (en) 2003-10-24 2008-09-16 Microsoft Corporation Facilitating presentation functionality through a programming interface media namespace
EP1544728B1 (en) 2003-12-18 2008-12-03 Sap Ag Method and computer system for evaluating the complexity of a user interface
US8255828B2 (en) * 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US9471332B2 (en) * 2004-10-19 2016-10-18 International Business Machines Corporation Selecting graphical component types at runtime
US7730484B2 (en) * 2004-11-12 2010-06-01 Opera Software Asa Method and device for providing interfaces that are tailored to specific devices
JP4391434B2 (ja) * 2005-03-10 2009-12-24 フェリカネットワークス株式会社 テーマ変更システム,携帯通信装置,サーバ装置,およびコンピュータプログラム
US7966601B2 (en) * 2005-05-31 2011-06-21 International Business Machines Corporation Generating web service without coding logic with a programming language
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
EP1955201A4 (en) * 2005-11-02 2011-04-20 Sourcecode Technology Holding Inc METHODS AND APPARATUS FOR PROCESSING BUSINESS OBJECTS, ELECTRONIC FORMS, AND WORKSTREAM
US20070143305A1 (en) * 2005-11-02 2007-06-21 Sourcecode Technology Holding, Inc. Methods and apparatus for storing functions associated with an electronic form
US8224853B2 (en) * 2005-11-02 2012-07-17 Sourcecode Technologies Holdings, Inc. Methods and apparatus for updating a plurality of data fields in an electronic form
US8239226B2 (en) * 2005-11-02 2012-08-07 Sourcecode Technologies Holdings, Inc. Methods and apparatus for combining properties and methods from a plurality of different data sources
US8037018B2 (en) * 2005-12-21 2011-10-11 Decernis, Llc Document validation system and method
US7769712B2 (en) * 2005-12-21 2010-08-03 Decernis, Llc Document validation system and method
US7774745B2 (en) 2005-12-29 2010-08-10 Sap Ag Mapping of designtime to runtime in a visual modeling language environment
US7840935B2 (en) 2005-12-29 2010-11-23 Sap Ag Restrictive visualization of a stereotype construct for entities in a visual modeling environment
US7757204B2 (en) 2005-12-29 2010-07-13 Sap Ag Limiting extensibility of a visual modeling language
WO2007133294A2 (en) * 2005-12-30 2007-11-22 Bmo Llc Ubiquitous navbar user interface across multiple heterogeneous digital media devices
US7913234B2 (en) 2006-02-13 2011-03-22 Research In Motion Limited Execution of textually-defined instructions at a wireless communication device
EP1821204A1 (en) * 2006-02-20 2007-08-22 Alcatel Lucent A method and a design environment dedicated communication device for IP phone application prototyping
US7958492B2 (en) * 2006-05-04 2011-06-07 Oracle International Corporation Integration of external schemas and types into native programming languages
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US7908584B2 (en) * 2006-11-03 2011-03-15 Sap Ag Method and apparatus for creating an offline service-oriented architecture based application from an online service-oriented architecture based application
US20080120538A1 (en) * 2006-11-22 2008-05-22 University Of New Brunswick Visual web page authoring tool for multi-context web pages
US8285732B2 (en) * 2006-12-18 2012-10-09 Sap Ag Method and system for providing themes for software applications
US20080281718A1 (en) * 2007-01-08 2008-11-13 Barrett Morgan Household network incorporating secure set-top devices
EP1965301A1 (en) * 2007-02-27 2008-09-03 Abb Research Ltd. Method and system for generating a control system user interface
US8286128B2 (en) 2007-04-24 2012-10-09 Intel Corporation Methods for type analysis in systems for code generation
US10817811B2 (en) * 2007-05-08 2020-10-27 Sourcecode Technology Holdings, Inc. Methods and apparatus for exposing workflow process definitions as business objects
US20080307312A1 (en) * 2007-06-08 2008-12-11 Infosys Technologies Ltd. User interface development tools
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8045828B2 (en) * 2007-07-09 2011-10-25 Kabushiki Kaisha Toshiba Apparatus for processing images, and method and computer program product for detecting image updates
US8832675B1 (en) * 2007-09-26 2014-09-09 Avaya Inc. Dynamic user-interface generation and administration method and apparatus
JP4982347B2 (ja) * 2007-12-11 2012-07-25 株式会社東芝 画像情報の更新を検出するプログラム、方法および画像処理装置
JP5010492B2 (ja) * 2008-01-31 2012-08-29 株式会社東芝 通信装置、方法及びプログラム
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US20100175031A1 (en) * 2009-01-08 2010-07-08 Microsoft Corporation Discovery of media content via user interface
US8392828B2 (en) * 2009-05-20 2013-03-05 Yahoo! Inc. Open theme builder and API
US20110185294A1 (en) * 2010-01-22 2011-07-28 Microsoft Corporation Pattern-based user interfaces
US9002876B2 (en) * 2010-12-02 2015-04-07 Sap Se Interpreted computer language to analyze business object data with defined relations
US9436685B2 (en) 2010-12-23 2016-09-06 Microsoft Technology Licensing, Llc Techniques for electronic aggregation of information
US9679404B2 (en) 2010-12-23 2017-06-13 Microsoft Technology Licensing, Llc Techniques for dynamic layout of presentation tiles on a grid
US9715485B2 (en) 2011-03-28 2017-07-25 Microsoft Technology Licensing, Llc Techniques for electronic aggregation of information
US20120311474A1 (en) * 2011-06-02 2012-12-06 Microsoft Corporation Map-based methods of visualizing relational databases
US8909641B2 (en) 2011-11-16 2014-12-09 Ptc Inc. Method for analyzing time series activity streams and devices thereof
US9098312B2 (en) 2011-11-16 2015-08-04 Ptc Inc. Methods for dynamically generating an application interface for a modeled entity and devices thereof
US9576046B2 (en) 2011-11-16 2017-02-21 Ptc Inc. Methods for integrating semantic search, query, and analysis across heterogeneous data types and devices thereof
US9395959B2 (en) * 2011-12-09 2016-07-19 Microsoft Technology Licensing, Llc Integrated workflow visualization and editing
US8959431B2 (en) * 2012-01-16 2015-02-17 Microsoft Corporation Low resolution placeholder content for document navigation
US20140173556A1 (en) * 2012-12-17 2014-06-19 Qualcomm Incorporated Systems and methods for selection of specialized functions in dynamically-typed languages
EP2973047A4 (en) 2013-03-15 2016-11-02 Ptc Inc METHODS OF MANAGING APPLICATIONS USING SEMANTIC MODELING AND LABELING, AND DEVICES THEREOF
IN2013DE01423A (ja) * 2013-05-14 2015-07-10 Sap Ag
US9370299B2 (en) 2013-05-16 2016-06-21 Successfactors, Inc. Display accessibility for color vision impairment
US9817794B2 (en) 2013-06-13 2017-11-14 Sap Se Responsive rendering of data sets
US9116766B2 (en) * 2013-07-31 2015-08-25 Sap Se Extensible applications using a mobile application framework
US20150143267A1 (en) * 2013-11-18 2015-05-21 Nuwafin Holdings Ltd SYSTEM AND METHOD FOR DEVELOPING A RULE-BASED EVENT-DRIVEN MULTI-LAYERED FRONTEND FOR BUSINESS SERVICES AND RENDERING THE GUIs ON MULTIPLE CLIENT DEVICES
US9535935B2 (en) 2013-12-09 2017-01-03 Sap Se Schema-based application model validation in a database
US9350791B2 (en) 2014-03-21 2016-05-24 Ptc Inc. System and method of injecting states into message routing in a distributed computing environment
US9560170B2 (en) 2014-03-21 2017-01-31 Ptc Inc. System and method of abstracting communication protocol using self-describing messages
US9350812B2 (en) 2014-03-21 2016-05-24 Ptc Inc. System and method of message routing using name-based identifier in a distributed computing environment
US10025942B2 (en) 2014-03-21 2018-07-17 Ptc Inc. System and method of establishing permission for multi-tenancy storage using organization matrices
US10313410B2 (en) 2014-03-21 2019-06-04 Ptc Inc. Systems and methods using binary dynamic rest messages
US9467533B2 (en) 2014-03-21 2016-10-11 Ptc Inc. System and method for developing real-time web-service objects
WO2015143416A1 (en) 2014-03-21 2015-09-24 Ptc Inc. Systems and methods for developing and using real-time data applications
US9762637B2 (en) 2014-03-21 2017-09-12 Ptc Inc. System and method of using binary dynamic rest messages
US9462085B2 (en) 2014-03-21 2016-10-04 Ptc Inc. Chunk-based communication of binary dynamic rest messages
US9961058B2 (en) 2014-03-21 2018-05-01 Ptc Inc. System and method of message routing via connection servers in a distributed computing environment
US9881032B2 (en) * 2014-06-13 2018-01-30 Business Objects Software Limited Personal objects using data specification language
US9489363B2 (en) 2014-06-25 2016-11-08 Sap Se User configurable user interface
CN107491289B (zh) * 2016-06-12 2023-01-24 阿里巴巴(中国)有限公司 一种窗口渲染方法及装置
US10007490B1 (en) * 2016-12-14 2018-06-26 Facebook, Inc. Automatic generation of native E-commerce applications for mobile devices
US11599369B1 (en) * 2018-03-08 2023-03-07 Palantir Technologies Inc. Graphical user interface configuration system
US10776412B2 (en) * 2018-07-11 2020-09-15 EMC IP Holding Company LLC Dynamic modification of information presentation and linkage based on usage patterns and sentiments
KR102260738B1 (ko) * 2020-11-16 2021-06-07 주식회사 플링크 Api 기반 웹 어플리케이션 런타임에 레이아웃을 동적으로 제공하기 위한 방법 및 이를 이용한 시스템
US20230059021A1 (en) * 2021-08-23 2023-02-23 Jobby Inc. Portal and interface system and method
CN115904353B (zh) * 2023-03-02 2023-06-23 上海合见工业软件集团有限公司 一种用户界面的目标源文件的生成方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756628B2 (ja) * 1990-10-22 1995-06-14 富士ゼロックス株式会社 グラフィカル・ユーザインターフェースの編集装置
US5752056A (en) * 1994-03-02 1998-05-12 Apple Computer, Inc. System for binding document parts and handlers by fidelity of parts or by automatic translation of parts
US6374308B1 (en) * 1996-04-23 2002-04-16 Sun Microsystems, Inc. Method and apparatus for interactively connecting distributed objects to a graphic user interface
US6104874A (en) * 1996-10-15 2000-08-15 International Business Machines Corporation Object oriented framework mechanism for order processing including pre-defined extensible classes for defining an order processing environment
US6990652B1 (en) * 1997-03-04 2006-01-24 National Instruments Corporation System and method for determining methods and properties to be invoked on objects in a graphical program
EP0929873A1 (en) * 1997-07-15 1999-07-21 Koninklijke Philips Electronics N.V. A method and system for designing a graphical user interface for an electronic consumer product
US5974256A (en) * 1997-09-29 1999-10-26 International Business Machines Corporation Method for translating graphical user interface (GUI) resource data into native java code
US6772409B1 (en) * 1999-03-02 2004-08-03 Acta Technologies, Inc. Specification to ABAP code converter
US6442748B1 (en) * 1999-08-31 2002-08-27 Accenture Llp System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment
US7181686B1 (en) * 1999-10-29 2007-02-20 International Business Machines Corporation Selecting screens in a GUI using events generated by a set of view controllers
US20020077823A1 (en) * 2000-10-13 2002-06-20 Andrew Fox Software development systems and methods
US6996800B2 (en) * 2000-12-04 2006-02-07 International Business Machines Corporation MVC (model-view-controller) based multi-modal authoring tool and development environment
US7082386B2 (en) * 2001-02-21 2006-07-25 International Business Machines Corporation Generalized software modeling tool
EP1402352A4 (en) * 2001-02-22 2010-08-25 Accenture Global Services Gmbh DISTRIBUTED DEVELOPMENT ENVIRONMENT FOR BUILDING INTERNET APPLICATIONS BY DEVELOPERS AT DISCONTINUED LOCATIONS
US6789254B2 (en) * 2001-06-21 2004-09-07 International Business Machines Corp. Java classes comprising an application program interface for platform integration derived from a common codebase
US7356777B2 (en) * 2005-01-26 2008-04-08 Attenex Corporation System and method for providing a dynamic user interface for a dense three-dimensional scene
CA2604449C (en) * 2005-04-18 2012-10-02 Research In Motion Limited A system and method for flexible visual representation of presentation components

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546298B2 (en) 2001-01-09 2009-06-09 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
US7865528B2 (en) 2001-01-09 2011-01-04 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
US8204911B2 (en) 2001-01-09 2012-06-19 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
JP2006520938A (ja) * 2002-12-26 2006-09-14 リサーチ イン モーション リミテッド コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法
US7533114B2 (en) 2005-02-22 2009-05-12 Nextair Corporation Mobile device having extensible software for presenting server-side applications, software and methods
US7668937B2 (en) 2005-02-22 2010-02-23 Research In Motion Limited Wireless communication device use of application server applications
US8190712B2 (en) 2005-02-22 2012-05-29 Research In Motion Limited Wireless communication device use of application server applications
US8224951B2 (en) 2005-02-22 2012-07-17 Nextair Corporation Determining operational status of a mobile device capable of executing server-side applications

Also Published As

Publication number Publication date
US20040083463A1 (en) 2004-04-29
US7418696B2 (en) 2008-08-26
US20040113930A1 (en) 2004-06-17
US7380236B2 (en) 2008-05-27
EP1330707A1 (en) 2003-07-30
WO2001077822A3 (en) 2003-10-02
WO2001077822A2 (en) 2001-10-18
AU2001252256A1 (en) 2001-10-23

Similar Documents

Publication Publication Date Title
JP2001306308A (ja) データ中心アプリケーションのクラス定義方法
US11023834B2 (en) Collaborative design systems, apparatuses, and methods
US10379710B2 (en) Modeling system for graphic user interface
US9361069B2 (en) Systems and methods for defining a simulated interactive web page
JP3839468B2 (ja) 国際データ処理システム
US6279015B1 (en) Method and apparatus for providing a graphical user interface for creating and editing a mapping of a first structural description to a second structural description
KR101076904B1 (ko) 컴퓨터 플랫폼에 대한 프로그래밍 인터페이스
US20020199025A1 (en) System and method to create an application and to manipulate application components within the application
JP2002189595A (ja) リフレッシュ可能なWebクエリを作成するための統合された方法
JP2008146665A (ja) メニュー項目表示方法および装置
JP2003330712A (ja) 異種装置プラットフォーム間におけるプラットフォーム特定型のグラフィカルユーザインターフェイスの実行状態のマイグレーション
US11677807B2 (en) System and method to standardize and improve implementation efficiency of user interface content
JPH11167584A (ja) ページ遷移方法及びその実施装置並びにその処理プログラムとデータを記録した媒体
EP1743232B1 (en) Generic user interface command architecture
EP0926607A2 (en) Object-oriented system for mapping structered information to different structured information
Costabile et al. Iconit: an environment for design and prototyping of iconic interfaces
Akoumianakis et al. GENERIC STRATEGIES FOR MANIPULATING GRAPHICAL INTERACTION OBJECTS: AUGMENTING, EXPANDING AND INTEGRATING COMPONENTS
Cazzulino et al. Web Development in. NET

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070202