(57)【特許請求の範囲】
【請求項１】
データオブジェクトに基づいて、コンポーネントアプリケーションのスクリーン要素を生成する方法であって、前記方法は、ワイヤレスデバイス上で動作するプロセッサによって実行され、前記コンポーネントアプリケーションは、前記ワイヤレスデバイスのユーザインタフェース上に表示するために、前記ワイヤレスデバイス上で実行され、前記コンポーネントアプリケーションは、少なくとも１つのデータフィールド定義を有するデータコンポーネントと、少なくとも１つのスクリーン要素定義を有するスクリーンコンポーネントとを含み、前記コンポーネントは、構造化定義言語で定義され、
前記方法は、
表示のために選択された前記スクリーン要素に対応する前記スクリーンコンポーネントを選択するステップと、
前記スクリーンコンポーネント内に存在する少なくとも１つのマッピングを識別するステップであって、前記マッピングは、前記スクリーンコンポーネントと、前記マッピングを表す識別子によって定義される前記データコンポーネントとの間の動的関係を特定するためのものであり、マッピングマネージャは、動的なデータの一体性を維持し、ランタイム環境において、前記スクリーンコンポーネントと対応するデータコンポーネントとの間の変化およびその逆の変化を自動的に同期する、ステップと、
マッピング識別子に従って前記マッピングによってマッピングされた前記データコンポーネントを選択するステップと、
前記マッピングされたデータコンポーネントの前記データフィールド定義に対応するデータオブジェクトフィールド値を取得するステップと、
前記マッピングされたデータコンポーネントにおいて定義された前記データフィールド定義のフォーマットに従って、前記データオブジェクトフィールド値を含むように、前記スクリーン要素定義からスクリーン要素を生成するステップと
を含む、方法。
【請求項２】
前記データコンポーネントの複数の前記データフィールド定義は、前記スクリーンコンポーネントと、前記マッピングによって表されるデータコンポーネントとの間で共有される、請求項１に記載の方法。
【請求項３】
前記複数のデータフィールド定義を、前記識別子によって表される前記スクリーンコンポーネントの複数の前記スクリーン要素定義のうちの対応するスクリーン要素定義にリンクするステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記スクリーン要素に関連する前記ユーザインタフェースのユーザ事象を検出するステップをさらに含む、請求項２に記載の方法。
【請求項５】
影響されるスクリーン要素のリンクされたデータコンポーネントに対応する前記スクリーンコンポーネント内のマッピングを識別するステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記リンクされたデータコンポーネントの前記データフィールド定義を用いて、メモリ内の前記データオブジェクトを更新するステップをさらに含む、請求項５に記載の方法。
【請求項７】
前記リンクされたデータコンポーネントの前記データフィールド定義を用いて、メモリ内の前記データオブジェクトの新しいデータオブジェクトを作成するステップをさらに含む、請求項５に記載の方法。
【請求項８】
前記データオブジェクトフィールド値は、パラメータとして前記ユーザインタフェースに伝えられることによって取得される、請求項２に記載の方法。
【請求項９】
第１のスクリーン要素定義は、前記複数の識別子のうちの第１の識別子によって前記複数のデータコンポーネントのうちの第１のデータコンポーネントにマッピングされ、第２のスクリーン要素定義は、前記複数の識別子のうちの第２の識別子によって、前記第１のデータコンポーネントとは異なる、前記複数のデータコンポーネントのうちの第２のデータコンポーネントにマッピングされる、請求項２に記載の方法。
【請求項１０】
前記第１のスクリーン要素定義および前記第２のスクリーン要素定義は、前記第１の識別子を用いて同一のデータコンポーネントにマッピングされる、請求項９に記載の方法。
【請求項１１】
前記構造化定義言語は、ＸＭＬベースである、請求項２に記載の方法。
【請求項１２】
前記識別子は、単純なプライマリキーである、請求項２に記載の方法。
【請求項１３】
前記識別子は、複合キーである、請求項２に記載の方法。
【請求項１４】
前記デバイスに結合されたネットワークを経由して、前記デバイスによって、非同期通信メッセージを受信するステップをさらに含み、前記メッセージはメッセージデータオブジェクトを含む、請求項２に記載の方法。
【請求項１５】
前記メッセージ内で受信された前記メッセージデータオブジェクトのフォーマットに応答して、ランタイムにおいて前記データフィールド定義を動的に定義することをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記デバイス上に提供された前記アプリケーションの前記データコンポーネントに対応するマッピングについて、前記非同期通信メッセージをチェックするステップをさらに含む、請求項１４に記載の方法。
【請求項１７】
前記メッセージに従って前記データコンポーネントを更新し、その後、前記データコンポーネントにリンクされた前記スクリーン要素に前記更新を反映するステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記データコンポーネントの前記データフィールド定義を用いてメモリ内の前記メッセージに対応する前記データオブジェクトを作成するステップをさらに含む、請求項１６に記載の方法。
【請求項１９】
前記マッピングの使用は、前記スクリーンコンポーネントを定義すること、または、スクリーン処理を行うことの命令の量を低減する、請求項１に記載の方法。
【請求項２０】
データオブジェクトに基づいて、コンポーネントアプリケーションのスクリーン要素を生成するシステムであって、前記コンポーネントアプリケーションは、ワイヤレスデバイスのユーザインタフェース上に表示するために、前記ワイヤレスデバイス上で実行され、前記コンポーネントアプリケーションは、少なくとも１つのデータフィールド定義を有するデータコンポーネントと、少なくとも１つのスクリーン要素定義を有するスクリーンコンポーネントとを含み、前記コンポーネントは、構造化定義言語で定義され、
前記システムは、コンピュータ読み取り可能な命令を格納するメモリと、前記命令を実行するように構成されたプロセッサとを有し、前記命令は、
マッピングマネージャであって、前記マッピングマネージャは、前記スクリーンコンポーネント内に存在する少なくとも１つのマッピングを識別することであって、前記マッピングは、前記スクリーンコンポーネントと、前記マッピングを表す識別子によって定義される前記データコンポーネントとの間の動的関係を特定する、ことと、マッピング識別子に従って前記マッピングによってマッピングされたデータコンポーネントを選択することとを行うためのものであり、前記マッピングマネージャは、動的なデータの一体性を維持し、ランタイム環境において、前記スクリーンコンポーネントと対応するデータコンポーネントとの間の変化およびその逆の変化を自動的に同期する、マッピングマネージャと、
前記マッピングされたデータコンポーネントの前記データフィールド定義に対応するデータオブジェクトフィールド値を取得するデータマネージャと、
前記マッピングされたデータコンポーネントにおいて定義されたデータフィールド定義のフォーマットに従って、前記データオブジェクトフィールド値を含むように、前記スクリーン要素定義からスクリーン要素を生成するプレゼンテーションマネージャと
を提供する、システム。
【請求項２１】
前記データコンポーネントの複数の前記データフィールド定義は、前記スクリーンコンポーネントと、前記マッピングによって表されるデータコンポーネントとの間で共有される、請求項２０に記載のシステム。
【請求項２２】
前記複数のデータフィールド定義は、前記識別子によって表される前記スクリーンコンポーネントの前記スクリーン要素定義のうちの対応するスクリーン要素定義にリンクされる、請求項２１に記載のシステム。
【請求項２３】
前記プレゼンテーションマネージャは、前記スクリーン要素に関連する前記ユーザインタフェースのユーザ事象を検出するようにさらに構成されている、請求項２１に記載のシステム。
【請求項２４】
前記マッピングマネージャは、前記関連するスクリーン要素のリンクされたデータコンポーネントに対応する前記スクリーンコンポーネント内のマッピングを識別するようにさらに構成されている、請求項２３に記載のシステム。
【請求項２５】
前記データマネージャは、前記リンクされたデータコンポーネントの前記データフィールド定義を用いて、メモリ内の前記データオブジェクトを更新するようにさらに構成されている、請求項２４に記載のシステム。
【請求項２６】
前記リンクされたデータコンポーネントの前記データフィールド定義を用いて、メモリ内の前記データオブジェクトの新しいデータオブジェクトを作成するようにさらに構成されている、請求項２４に記載のシステム。
【請求項２７】
前記データオブジェクトフィールド値は、パラメータとして前記ユーザインタフェースに伝えられることによって取得される、請求項２１に記載のシステム。
【請求項２８】
第１のスクリーン要素定義は、前記複数の識別子のうちの第１の識別子によって前記複数のデータコンポーネントのうちの第１のデータコンポーネントにマッピングされ、第２のスクリーン要素定義は、前記複数の識別子のうちの第２の識別子によって、前記第１のデータコンポーネントとは異なる、前記複数のデータコンポーネントのうちの第２のデータコンポーネントにマッピングされる、請求項２１に記載のシステム。
【請求項２９】
前記第１のスクリーン要素定義および前記第２のスクリーン要素定義は、前記第１の識別子を用いて同一のデータコンポーネントにマッピングされる、請求項２８に記載のシステム。
【請求項３０】
前記構造化定義言語は、拡張マークアップ言語（ＸＭＬ）ベースである、請求項２１に記載のシステム。
【請求項３１】
前記識別子は、単純なプライマリキーである、請求項２１に記載のシステム。
【請求項３２】
前記識別子は、複合キーである、請求項２１に記載のシステム。
【請求項３３】
前記デバイスに結合されたネットワークを経由して、前記デバイスによって、非同期通信メッセージを受信する通信マネージャをさらに含み、前記メッセージはメッセージデータオブジェクトを含む、請求項２１に記載のシステム。
【請求項３４】
前記メッセージ内で受信された前記メッセージデータオブジェクトのフォーマットに応答して、ランタイムにおいて前記データフィールド定義を動的に定義するようにさらに構成されている、請求項３３に記載のシステム。
【請求項３５】
前記マッピングマネージャは、前記デバイス上に提供された前記アプリケーションの前記データコンポーネントに対応するマッピングについて、メッセージをチェックするようにさらに構成されている、請求項２１に記載のシステム。
【請求項３６】
前記データマネージャは、前記メッセージに従って前記データコンポーネントを更新し、その後、前記データコンポーネントにリンクされた前記スクリーン要素に前記更新を反映するようにさらに構成されている、請求項３５に記載のシステム。
【請求項３７】
前記データマネージャは、前記データコンポーネントの前記データフィールド定義を用いてメモリ内の前記メッセージに対応する前記データオブジェクトを作成するようにさらに構成されている、請求項３５に記載のシステム。
【請求項３８】
前記マッピングの使用は、前記スクリーンコンポーネントを定義すること、または、スクリーン処理を行うことの命令の量を低減する、請求項２０に記載のシステム。
【請求項３９】
ワイヤレスデバイスのユーザインタフェース上に表示されたスクリーン要素における変化に基づいて、前記ワイヤレスデバイス上で実行されるコンポーネントアプリケーションのデータオブジェクトを生成する方法であって、前記方法は、前記ワイヤレスデバイスのプロセッサによって実行され、前記コンポーネントアプリケーションは、少なくとも１つのデータフィールド定義を有するデータコンポーネントと、少なくとも１つのスクリーン要素定義を有するスクリーンコンポーネントとを含み、前記コンポーネントは、構造化定義言語で定義され、
前記方法は、
前記スクリーン要素に対応する前記スクリーンコンポーネントを選択するステップと、
前記スクリーンコンポーネント内に存在する少なくとも１つのマッピングを識別するステップであって、前記マッピングは、前記スクリーンコンポーネントと前記データコンポーネントとの間の動的関係を特定し、マッピングマネージャは、動的なデータの一体性を維持し、ランタイム環境において、前記スクリーンコンポーネントと対応するデータコンポーネントとの間の変化およびその逆の変化を自動的に同期する、ステップと、
前記マッピングによってマッピングされたデータコンポーネントを選択するステップと、
前記マッピングされたデータコンポーネントに対応するスクリーン要素から、変化した値を取得するステップと、
前記マッピングされたデータコンポーネントにおいて定義された前記データフィールド定義のフォーマットに従って、前記変化した値を前記データオブジェクトのデータフィールド値に割り当てるステップと
を含む、方法。
【請求項４０】
前記マッピングの使用は、前記スクリーンコンポーネントを定義すること、または、スクリーン処理を行うことの命令の量を低減する、請求項３９に記載の方法。
【請求項４１】
データオブジェクトに基づいて、コンポーネントアプリケーションのスクリーン要素を生成するプロセッサを有するワイヤレスデバイスであって、前記コンポーネントアプリケーションは、前記ワイヤレスデバイスのユーザインタフェース上に表示するために、前記ワイヤレスデバイス上で実行され、前記コンポーネントアプリケーションは、少なくとも１つのデータフィールド定義を有するデータコンポーネントと、少なくとも１つのスクリーン要素定義を有するスクリーンコンポーネントとを含み、前記コンポーネントは、構造化定義言語で定義され、
前記ワイヤレスデバイスは、
表示のために選択された前記スクリーン要素に対応する前記スクリーンコンポーネントを選択する手段と、
前記スクリーンコンポーネント内に存在する少なくとも１つのマッピングを識別する手段であって、前記マッピングは、前記スクリーンコンポーネントと前記データコンポーネントとの間の動的関係を特定するためのものである、手段と、
動的なデータの一体性を維持し、ランタイム環境において、前記スクリーンコンポーネントと対応するデータコンポーネントとの間の変化およびその逆の変化を自動的に同期する、マッピングマネージャと、
前記マッピングによってマッピングされたデータコンポーネントを選択する手段と、
前記マッピングされたデータコンポーネントのデータフィールド定義に対応するデータオブジェクトフィールド値を取得する手段と、
前記マッピングされたデータコンポーネントにおいて定義された前記データフィールド定義のフォーマットに従って、前記データオブジェクトフィールド値を含むように、前記スクリーン要素定義からスクリーン要素を生成する手段と
を含む、ワイヤレスデバイス。
【請求項４２】
前記マッピングの使用は、前記スクリーンコンポーネントを定義すること、または、スクリーン処理を行うことの命令の量を低減する、請求項４１に記載のワイヤレスデバイス。
【請求項４３】
前記データコンポーネントの複数の前記データフィールド定義は、前記スクリーンコンポーネントと、前記マッピングによって表されるデータコンポーネントとの間で共有され、
前記ワイヤレスデバイスは、
前記デバイスに結合されたネットワークを経由して、前記デバイスによって、非同期通信メッセージを受信する手段であって、前記メッセージはメッセージデータオブジェクトを含む、手段と、
前記メッセージ内で受信された前記メッセージデータオブジェクトのフォーマットに応答して、ランタイムにおいて前記データフィールド定義を動的に定義する手段と
をさらに含む、請求項４１に記載のワイヤレスデバイス。
【請求項４４】
データオブジェクトに基づいて、コンポーネントアプリケーションのスクリーン要素を生成する命令を含むコンピュータ読み取り可能な格納媒体であって、前記コンポーネントアプリケーションは、ワイヤレスデバイスのユーザインタフェース上に表示するために、前記ワイヤレスデバイス上で実行され、前記コンポーネントアプリケーションは、少なくとも１つのデータフィールド定義を有するデータコンポーネントと、少なくとも１つのスクリーン要素定義を有するスクリーンコンポーネントとを含み、前記コンポーネントは、構造化定義言語で定義され、前記命令は、コンピューティングデバイス上で実行された場合に、
表示のために選択された前記スクリーン要素に対応する前記スクリーンコンポーネントを選択するステップと、
前記スクリーンコンポーネント内に存在する少なくとも１つのマッピングを識別するステップであって、前記マッピングは、前記スクリーンコンポーネントと、前記マッピングを表す識別子によって定義される前記データコンポーネントとの間の動的関係を特定する、ステップと、
動的なデータの一体性を維持し、ランタイム環境において、前記スクリーンコンポーネントと対応するデータコンポーネントとの間の変化およびその逆の変化を自動的に同期する、ステップと、
マッピング識別子に従って前記マッピングによってマッピングされたデータコンポーネントを選択するステップと、
前記マッピングされたデータコンポーネントのデータフィールド定義に対応するデータオブジェクトフィールド値を取得するステップと、
前記マッピングされたデータコンポーネントにおいて定義されたデータフィールド定義のフォーマットに従って、前記データオブジェクトフィールド値を含むように、前記スクリーン要素定義からスクリーン要素を生成するステップと
を前記コンピューティングデバイスに実行させる、コンピュータ読み取り可能な格納媒体。
【請求項４５】
前記マッピングの使用は、前記スクリーンコンポーネントを定義すること、または、スクリーン処理を行うことの命令の量を低減する、請求項４４に記載のコンピュータ読み取り可能な格納媒体。
【請求項４６】
前記データコンポーネントの複数の前記データフィールド定義は、前記スクリーンコンポーネントと、前記マッピングによって表されるデータコンポーネントとの間で共有され、
前記命令は、
前記コンピューティングデバイスに結合されたネットワークを経由して、非同期通信メッセージを受信することであって、前記メッセージはメッセージデータオブジェクトを含む、ことと、
前記メッセージ内で受信された前記メッセージデータオブジェクトのフォーマットに応答して、ランタイムにおいて前記データフィールド定義を動的に定義することと
を前記コンピューティングデバイスに行わせる、請求項４４に記載のコンピュータ読み取り可能な格納媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、ワイヤレス・デバイスのユーザー・インターフェースにおける
ワイヤレス・アプリケーションの表示に関する。
【背景技術】
【０００２】
携帯電話、ワイヤレス・コミュニケーション機能を有するＰＤＦ、双方向ポケベルのよ
うに今日使用されているワイヤレス・デバイスの数は増加し続けている。これらのデバイ
スで作動するソフトウエア・アプリケーションの実用性が高まっている。例えば、携帯電
話が、ある範囲の都市の天気を検索するアプリケーションを含んでいることもあり、ある
いはＰＤＦが、ユーザーが食料雑貨類の買い物をできるようにするアプリケーションを含
んでいることもある。これらのソフトウエア・アプリケーションは、ユーザーにタイムリ
ーで有用なサービスを提供するために、ネットワークとの接続性を活用している。しかし
、ある種のデバイスは供給源が限定されており、またそれらのデバイスに大量のデータを
転送するのが複雑であるため、種々のデバイスに対するソフトウエア・アプリケーション
を開発するのは、相変わらず困難でかつ時間を要する仕事である。
【０００３】
現在では、 デバイスは、インターネット・ベース・ブラウザー及び／又はネイテイブ
・アプリケーションによってウエブ・サービスとコミュニケーションするように構成され
ている。ブラウザーは、種々の異なるデバイスに対して、クロスプラットフォーム・ベー
スで動作するように適合しうる利点を有しているが、ウエブ・サービスからページ（ＨＴ
ＭＬでのスクリーン定義）を要請するので、それがスクリーンに含まれたデータの持続を
妨げるという難点がある。ネイテイブ・アプリケーションは、デバイス・プラットフォー
ムのタイプに対して特別に開発され, 各ランタイム環境に対して比較的最適化されアプリ
ケーション・プログラムを提供するという利点を有する。しかし、ネイテイブ・アプリケ
ーションは、プラットフォーム非依存でないので、同じアプリケーションの多数のバージ
ョンを開発する必要があるとともに、サイズが比較的大きく、デバイスのメモリ資源に重
い負担をかけることになるという難点を有する。さらに、アプリケーション・デベロッパ
ーは、スクリーン・エレメントとデータ・エェメントとのハードコードされた静的相互作
用を含むハードコードされたネイテイブ・アプリケーションを構成するためには、Ｊａｖ
ａ（登録商標）やＣ++のようなプログラム言語の経験を必要とする。データとスクリーン
・エレメントとの間の動的相互作用を利用して種々のランタイム環境を有するとともに、
デバイス資源の消耗の少ないクライアント・デバイスで作動し得るアプリケーション・プ
ログラムが必要とされる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本明細書で開示されるシステム及び方法は、上述した難点の少なくとも幾つかを排除ま
たは軽減するためのリンクしたスクリーン及びデータ・コンポーネント定義環境を提供す
る。
【課題を解決するための手段】
【０００５】
明示的コード化を行う必要性を軽減するとともに、組み入れ時にアプリケーションによ
って利用されるデバイス資源を軽減することによって、ワイヤレス・アプリケーションの
開発時に伴う複雑性を少なくすることが望ましい。アプリケーション・データ・ドメイン
とユーザー・インタフェース（ＵＩ）スクリーン及びコントロールとの間で直接のマッピ
ングを実行することによる、ワイヤレス・デバイスのユーザー・インタフェース（ＵＩ）
の効果的な管理のためのシステム及び方法について記述する。デバイスは、一連のリンク
したスクリーン及びデータ・コンポーネント定義を含むワイヤレス・アプリケーションを
管理するための１つの組の基本サービスを提供するインテリジェントなワイヤレス・デバ
イス・ランタイム環境 (デバイス・ランタイム)を有しており、かつそれらの相互作用が
、開発努力を単純化させ、そして資源の割り当てを少なくすることができる。このカテゴ
リのアプリケーションに対するデータ・メインは、アトミック・データ・コンポーネント
定義を用いて定義される。デバイス・ユーザー・インタフェースとデータ・コンポーネン
トの間のコミュニケーションは、アトミック・スクリーン・コンポーネント定義を用いて
定義される。 スクリーンとデータのコンポーネント定義の両方とも、ＸＭＬのような体
系的な定義言語を用いてメタデータで記述される。スクリーン及びデータ・コンポーネン
ト定義の間の関係は、スクリーン／データ・マッピングの形でＸＭＬ定義で具現化される
。通常は、表示のための描画スクリーンは、ある基調をなすデータ・コンポーネントから
得られ、かつユーザー事象によって影響されるスクリーン・コントロールがアプリケーシ
ョンの現在の状態（またはデータ表示）に影響を与える。アプリケーション・ドメイン・
データに対する変化は、ユーザー・インタフェースと自動的に同期化され、ユーザーが入
れたデータがアプリケーション・ドメイン・データに自動的に反映される。この同期化の
背後における主要な機構は、スクリーン及びデータのマッピングである。この機構が、動
的でかつ対話的なスクリーンの生成を可能にする。データ・コンポーネントの変化はすべ
て、スクリーンに直ちに反映され、またその逆のこともなされる。 このモデルは、サー
バーとデバイスとの通知に基づいて、効果的なワイヤレス・アプリケーションを構築する
ことを可能にする。サーバーから非同期的に押されるデータ更新は即時にＵＩスクリーン
に反映される。
【０００６】
本発明によれば、少なくとも１つのデータ・フィールド定義を有するデータ・コンポー
ネント及び少なくとも１つのスクリーン・エレメント定義を有するスクリーン・コンポー
ネントを含んでいて、コンポーネント定義が構造化定義言語で表現されているワイヤレス
・アプリケーションのスクリーン・エレメントをワイヤレス・デバイスのユーザー・イン
タフェースに表示されるデータ・オブジェクトに基づいて生成する方法であって、表示の
ために選択されるスクリーン・エレメントに対応するスクリーン・コンポーネントを選択
するステップと、スクリーン・コンポーネントに存在する少なくとも１つのマッピングで
あって、マッピングを表わす識別子によって定義されるスクリーン・コンポーネントとデ
ータ・コンポーネントとの間の関係を指定するためのマッピングを識別するステップと、
前記マッピング識別子に従って前記マッピングによってマップされたデータ・コンポーネ
ントを選択するステップと、マップされたデータ・コンポーネントのデータ・フィールド
定義に対応するデータ・オブジェクト・フィールド値を取得するステップと、マップされ
たデータ・コンポーネントで定義されたデータ・フィールド定義のフォーマットに従って
フィールド値を含むように、スクリーン・エレメント定義からスクリーン・エレメントを
生成するステップとを含む、ワイヤレス・アプリケーションのスクリーン・エレメントを
生成する方法が提供される。
【０００７】
本発明の他の態様によれば、少なくとも１つのデータ・フィールド定義を有するデータ
・コンポーネント及び少なくとも１つのスクリーン・エレメント定義を有するスクリーン
・コンポーネントを含んでいて、コンポーネント定義が構造化定義言語で表現されている
ワイヤレス・アプリケーションのスクリーン・エレメントをワイヤレス・デバイスのユー
ザー・インタフェースに表示されるデータ・オブジェクトに基づいて生成するシステムで
あって、前記スクリーン・エレメントに対応するスクリーン・コンポーネントを選択しか
つ前記スクリーン・コンポーネントに存在する少なくとも１つのマッピングを識別するマ
ッピング・マネージャであり、前記マッピングはスクリーン・コンポーネントと前記マッ
ピングを表わす識別子によて定義されたデータ・コンポーネントとの間の関係を特定し、
前記マッピング・マネージャはマッピング識別子によるマッピングによってマップされた
データ・コンポーネントを選択するマッピング・マネージャと、マップされたマッピング
・マネージャのデータ・フィールド定義に対応したデータ・オブジェクト・フィールド値
を取得するデータ・マネージャと、マップされたデータ・コンポーネントで定義されたデ
ータ・フィールド定義のフォーマットによるデータ・オブジェクト・フィールド値を含む
ように、スクリーン・エレメント定義からスクリーン・エレメントを生成するスクリーン
マネージャとを具備する、ワイヤレス・アプリケーションのスクリーン・エレメントを
生成するシステムが提供される。
【０００８】
本発明のさらに他の態様によれば、少なくとも１つのデータ・フィールド定義を有する
データ・コンポーネント及び少なくとも１つのスクリーン・エレメント定義を有するスク
リーン・コンポーネントを含んでいて、コンポーネント定義が構造化定義言語で表現され
ているワイヤレス・アプリケーションのデータ・オブジェクトをワイヤレス・デバイスの
ユーザー・インタフェースに表示されるスクリーン・エレメントの変化に基づいて生成す
る方法であって、スクリーン・エレメントに対応するスクリーン・コンポーネントを選択
するステップと、スクリーン・コンポーネントとデータ・コンポーネントとの間の関係を
指定するためのマッピングであって、スクリーン・コンポーネントに存在する少なくとも
１つのマッピングを識別するステップと、マッピングによってマップされたデータ・コン
ポーネントを選択するステップと、マップされたデータ・コンポーネントに対応するスク
リーン・エレメントから変化した値を取得するステップと、前記マップされたデータ・コ
ンポーネントで定義されたデータ・フィールド定義のフォーマットに従ってデータ・オブ
ジェクトのデータ・フィールド値に、前記変化した値を割り当てるステップとを含む、ワ
イヤレス・アプリケーションのデータ・オブジェクトを生成する方法が提供される。
【０００９】
本発明のさらに他の態様によれば、少なくとも１つのデータ・フィールド定義を有する
データ・コンポーネント及び少なくとも１つのスクリーン・エレメント定義を有するスク
リーン・コンポーネントを含んでいて、コンポーネント定義が構造化定義言語で表現され
ているワイヤレス・アプリケーションのスクリーン・エレメントをワイヤレス・デバイス
のユーザー・インタフェースに表示されるデータ・オブジェクトに基づいて生成する装置
であって、表示のために選択されるスクリーン・エレメントに対応するスクリーン・コン
ポーネントを選択する手段と、スクリーン・コンポーネントとマッピングを表わす識別子
によって定義されるデータ・コンポーネントとの間の関係を指定するためのマッピングで
あって、スクリーン・コンポーネントに存在する少なくとも１つのマッピングを識別する
手段と、前記マッピングによってマップされたデータ・コンポーネントを選択する手段と
、マップされたデータ・コンポーネントのデータ・フィールド定義に対応するデータ・オ
ブジェクト・フィールド値を取得する手段と、マップされたデータ・コンポーネントで定
義されたデータ・フィールド定義のフォーマットに従ってフィールド値を含むように、ス
クリーン・エレメント定義からスクリーン・エレメントを生成する手段と、を含む、ワイ
ヤレス・アプリケーションのスクリーン・エレメントを生成する装置が提供される。
【００１０】
本発明のさらに他の態様によれば、少なくとも１つのデータ・フィールド定義を有する
データ・コンポーネント及び少なくとも１つのスクリーン・エレメント定義を有するスク
リーン・コンポーネントを含んでいて、コンポーネント定義が構造化定義言語で表現され
ているワイヤレス・アプリケーションのスクリーン・エレメントをワイヤレス・デバイス
のユーザー・インタフェースに表示されるデータ・オブジェクトに基づいて生成するコン
ピュータ・プログラム製品であって、コンピュータ可読媒体と、前記コンピュータ可読媒
体に格納され、前記スクリーン・エレメントに対応するスクリーン・コンポーネントを選
択しかつスクリーン・コンポーネントに存在する少なくとも１つのマッピングであって、
マッピングを表わす識別子によって定義されるスクリーン・コンポーネントとデータ・コ
ンポーネントとの間の関係を指定するためのマッピングを識別し、マッピング識別子に従
ってマッピングによってマップされたデータ・コンポーネントを選択するマッピング・モ
ジュールと、前記コンピュータ可読媒体に格納され、前記マップされたデータ・コンポー
ネントのデータ・フィールド定義に対応したデータ・オブジェクト・フィールド値を取得
するデータ・モジュールと、前記コンピュータ可読媒体に格納され、前記マップされたデ
ータ・コンポーネントで定義されたデータ・フィールド定義のフォーマットに従ってデー
タ・オブジェクト・フィールド値を含むように前記スクリーン・エレメント定義からスク
リーン・エレメントを生成するスクリーン・モジュールと、
を備えるコンピュータ・プログラム製品が提供される。
【実施例】
【００１１】
これらの及び他の特徴は、例示のためのみに添付図面を参照してなされる下記の詳細な
説明において、さらに明らかとなるであろう。
【００１２】
図１を参照すると、ネットワーク・システム１０は、インタネットのようなものである
が、それに限定されない結合広域ネットワーク（ＷＡＮ）１０４を経由して、１またはそ
れ以上のジェネリック・サービス１０６と相互作用するための複数のワイヤレス・デバイ
ス１００を含んでいる。 これらのデバイス１００は、ＰＤＡ、ポケベル、携帯電話等の
ようなものでありうるが、それらに限定されない。サービス１０６によって提供されるジ
ェネリック・サービスは、ＳＱＬデータベース、ＩＤＬベースＣＯＲＢＡ及びＲＭＩ／Ｉ
ＩＯＰシステム、レガシー・データベース、Ｊ２ＥＥ、ＳＡＰ  ＲＦＣ、及びＣＯＭ／Ｄ
ＣＯＭコンポーネントのようなものであるが、それらに限定されないウエブ・サービス及
び／又は他のサービスでありうる。さらに、システム１０は、ワイヤレス・デバイス１０
０をＷＡＮ１０４に接続するためのワイヤレス・ネットワーク１０２を有していてもよい
。他のデバイス（図示せず）がＷＡＮ１０４及び図１に示されているもの以外の関連ネッ
トワークを経由してウエブ・サービス１０６に接続されうることが分かる。システム １
０についての下記の説明では、簡単のために、スキーマに従って定義されたウエブ・サー
ビス１０６が選択される。しかし、もし所望されれば、そのウエブ・サービス１０６を他
のサービスに置き換えてもよいことが認めされている。さらに、システム１０のネットワ
ーク１０２、１０４を、以後簡単のために、ネットワーク１０４と呼ぶことにする。
【００１３】
図１を再び参照すると、デバイス１００は、ウエブ・サービス１０６とコミュニケーシ
ョンしているときに、リクエスト／レスポンス・メッセージ１０５をそれぞれ送信しかつ
受信する。デバイス１００は、例えば製品価格及びオンライン・マーチャントからの入手
可能性を要求して受信するように、メッセージ・ヘッダー情報及び関連したデータ内容の
形態でのリクエスト／レスポンス・メッセージを用いることによってウエブ・サービス１
０６のウエブ・クライアントとして動作することができる。ウエブ・サービス１０６は、
コミュニケーション・デバイス１００のユーザーに便益を提供するために、コミュニケー
ション・デバイス１００におけるクライアント・アプリケーション・プログラム３０２（
図２参照）が、ネットワーク１０４を介して、相互作用するシステムの一例である。
【００１４】
適切なリクエスト／レスポンス・メッセージ１０５を充足させるために、ウエブ・サー
ビス１０６は、デバイス１００にいったん搭載されたクライアント・アプリケーション・
プログラム３０２（図２参照）に、該当するビジネス・ロジック(方法)を顕在化させるた
めの種々のプロトコル（ＨＴＴＰ及びコンポーネントＡＰＩのようなものであるが、それ
らに限定されない）を介してアプリケーション・サーバー１１０とコミュニケートするこ
とができる。アプリケーション・サーバー１１０は、ウエブ・サービス１０６がアプリケ
ーション・サーバー１１０のサブセットと認定できるように、ウエブ・サービス１０６ソ
フトウエアを含んでいてもよい。 デバイス１００のアプリケーション・プログラム３０
２は、オブジェクト（又は機能）についての方法を呼び出すために、アプリケーション・
サーバー１１０のビジネス・ロジックをどうように使用することができる。クライアント
・アプリケーション・プログラム３０２は、ネットワーク１０４を経由してメッセージ１
０５を通じて、アプリケーション・サーバー１１０に関連して、デバイス１００に直接に
ダウンロード／ダウンロードすることができることが分かる。デバイス１００は、ネット
ワーク１０４を経由して、１つまたはそれ以上のウエブ・サービス１０６及び関連するア
プリケーション・サーバー１１０とコミュニケートできることがさらに分かる。
サーバー環境
図１を参照すると、ウエブ・サービス１０６は、デバイス１００上のクライアント・ア
プリケーション・プログラム（図２参照）によって同期的にまたは非同期的に使用される
情報メッセージ１０５を提供する。 あるいは、またはさらに、ウエブ・サービス１０６
は、デバイス１００で実行されるクライアント・アプリケーション・プログラム３２０に
よって提供される情報メッセージ１０５を受信かつ使用してもよく、あるいはデバイス１
００で実行されるクライアント・アプリケーション・プログラム３０２のためにタスクを
行ってもよい。ウエブ・サービス１０６は、ウエブ・サービス・レジストリにおけるユニ
バーサル・デイスカバリ・デスクリプション・アンド・インテグレーション（ＵＤＤＩ）
に登録されたウエブ・サービス記述言語（ＷＳＤＬ）を用いて表現されるようなインタフ
ェースを実行可能なソフトウエア サービスとして定義することができ、かつシンプル・
オブジェクト アクセス プロトコル（ＳＯＡＰ）のような適切なプロトコルによりネット
ワーク１０４上に露呈されることによって、メッセージ１０５を介してクライアント・デ
バイス１００とコミュニケートすることができる。ある種の実行場面では、ＳＯＡＰが、
ＳＯＡＰエレメントに封入された適格なＸＭＬフラグメントを含むメッセージ１０５のた
めのＸＭＬフォーマットを定義する規格である。ＳＯＡＰはまた、ＳＯＡＰメッセージ１
０５がＸＭＬ文書のまわりのラッパーである文書形式のアプリケーションをサポートする
。ＳＯＡＰの他の任意の部分がＨＴＴＰバインデイング（すなわち、ヘッダー）を定義し
、他方、あるＳＯＡＰ実行がＭＳＭＱ、ＭＱシリーズ、ＳＭＴＰ、又はＴＣＰ／ＩＰトラ
ンスポート・プロトコルをサポートする。 あるいは、ウエブ・サービス１０６は、他の
既知のコミュニケーション・プロトコル、メッセージ１０５フォーマットを使用してもよ
く、かつインタフェースは、上述した以外のウエブ・サービス言語で表現されてもよい。
クライアント環境
図２を参照すると、コンポーネント・アプリケーション３０２は、ネットワーク１０４
を経由して伝送され、そしてデバイス１００のデバイス・インフラストラクチャー２０４
のメモリ・モジュール２１０にロードされる。あるいは、コンポーネント アプリケーシ
ョン３０２は、シリアル接続、ＵＳＢ接続、あるいはＩＲ，８０２．１１（ｘ）ブルーツ
ースＴＭ（図示せず）のような短距離ワイヤレス・コミュニケーション・システムを介し
てロードされてもよい。デバイス１００にいったんロードされると、コンポーネント・ア
プリケーション３０２は、デバイス１００におけるインテリジェント・ランタイム・フレ
ームワーク２０６によって実行することができ、それでコンポーネント・アプリケーショ
ン３０２をネイテイブ・コードに変換することができ、そのネイテイブ・コードがデバイ
ス・インフラストラクチャー２０４におけるプロセッサ２０８によって実行される。 あ
るいは、アプリケーション３０２は、デバイス１００における他のソフトウエア・モジュ
ール又はオペレーテイング・システムによって解釈されてもよい。いずれにしても、コン
ポーネント・アプリケーション３０２は、デバイス１００によって提供されるターミナル
・ランタイム環境で作動され、ランタイム環境が典型的なアプリケーション３０２動作（
例えば、持続、メッセージング、スクリーン、ナビゲーションおよびデイスプレイ）を管
理しかつ実行する１つの組のベーシック・サービスを提供するインテリジェント・ソフト
ウエア・フレームワーク２０６である。
【００１５】
図１を再び参照すると、デバイス１００によって提供されるクライアント・ランタイム
環境は、デバイス１００をウエブ・サービス１０６のウエブ・クライアントとして動作さ
せるように構成されうる。クライアント・ランタイム環境は、他の任意のジェネリック・
スキーマ定義されたサービスのデバイス１００クライアントをネットワーク１０４上で作
成することもできることが分かる。 デバイス１００のクライアント・ランタイム環境は
、デバイス１００上でクライアント・アプリケーション・プログラム３０２（データ４０
０及びスクリーン４０２コンポーネント定義を含む‐図４及び下記の説明を参照）を生成
し、ホステイングし、かつ実行できることが好ましい。さらに、クライアント・ランタイ
ム環境の特定の機能は、言語に対するサポート、メモリ割り当ての調整、ネットワーキン
グ、Ｉ／Ｏ動作時におけるデータの管理、デバイス１００のうちの１つの出力デバイスに
おけるグラフィックスの調整、コア・オブジェクト・オリエンテッド・クラスへのアクセ
スの提供、及びファイル／ライブラリのサポート等を含むが、それらに限定されない。デ
バイス１００によって実行されるランタイム環境の例は、マイクロソフトの共通言語ラン
タイム（ＣＬＲ）およびサン・マイクロ・システムのＪａｖａ（登録商標）ランタイム環
境（ＪＲＥ）を含んでいてもよいが、それらに限定されない。
【００１６】
デバイス１００のターミナル・ランタイム環境は、クライアント・アプリケーション・
プログラム３０２（図２参照）の常駐実行可能バージョンに対する下記のような、ただし
それらに限定されない基本機能をサポートすることが好ましい。すなわち、
メッセージ１０５をウエブ・サービス１０６に、あるいはネットワーク１０４を経由し
てデバイス１００に接続された任意の他のジェネリック・スキーマ定義サービスにメッセ
ージ１０５を送るためのコミュニケーション機能を提供すること；
ウエブ・サービス１０６発信メッセージ１０５（そのサービスへのメッセージ）に対す
るデータ部分を供給するための入力デバイスに対するユーザーによるデータ入力機能を提
供すること；
ウエブ・サービス１０６レスポンス・メッセージ１０５（着信メッセージ）又は出力デ
バイスにおける無相関の告知のためのデータ・プレゼンテーション又は出力機能を提供す
ること；
デバイス１００のメモリ・モジュール２１０（図２参照）にローカル・クライアント・
データを維持するためのデータ格納サービスを提供すること；
クライアント・アプリケーション・プログラム３０２のコンポーネント４００、４０２
（図４参照）の動作を調整するためのスクリプト言語に対する実行環境を提供することで
ある。
【００１７】
図２、４及び５を参照すると、クライアント・ランタイム（例えばコンポーネント・フ
レームワーク２０６によって提供される）が、コンポーネント４００、４０２定義に含ま
れたメタデータをロードし、そしてまた、例えば実行環境３００を介してデバイス１００
上のアプリケーション・プログラム３０２の実行可能バージョンを構成する。クライアン
ト・ランタイムに対しては、テンプレート・ベース・ネイテイブ実行とメタデータ・ベー
ス実行との２つのオペレーショナル・モードがあるが、それらには限定されない。完全に
定義されたコンポーネント・ベース・アプリケーション３０２（データ４００、スクリー
ン４０２、メッセージ４０４０、及びワークフロー４０６コンポーネントを有する‐図４
参照）の場合には、フレームワーク２０６は、データ、メッセージ、及びネイテイブ・コ
ードを用いてデバイス１００上に予め構築されたスクリーン・テンプレート５００をホス
テイングするためのテンプレート・ベース・ネイテイブ実行モデルを実行することができ
る。アプリケーション・プログラム３０２定義がロードされる場合には、フレームワーク
２０６によって提供されるクライアント環境が、コンポーネント４００、４０２、４０４
からのメタデータ定義パラメータをテンプレート５００に充填し、そして実行可能なクラ
イアント・アプリケーション・プログラム３０２をネイテイブ・フォーマットで構築する
。ワークフロー・コンポーネント４０６のワークフロー・スクリプト（例えばＥＣＭＡＳ
スクリプト)は、ネイテイブ・コードに変換されるか、あるいはネイテイブ・コード・リ
デイレクタ５０４に適当なスクリプト・インタプリタ５０２（例えばＥＣＭＡＳスクリプ
ト・インタプリタ）を用いて実行されてもよく、この場合、リデイレクタ５０４は、ネイ
テイブ・ランタイム・エンジン５０６を介して、ネイテイブ・コンポーネントにおける動
作内でのスクリプト言語への呼びかけを解釈する。メタデータ・ベース実行では、フレー
ムワーク２０６のランタイム環境は、実行時間の間に解析されるＸＭＬ（例えば）でのコ
ンポーネント４００、４０２、４０４、４０６定義を保持するか、あるいはＸＭＬ（例え
ば）ノードのネイテイブ・リプレゼンテーションを用いる。実行時には、ネイテイブ・ラ
ンタイム・エンジン５０６が、ネイテイブ・コンポーネント・エンテイテイに対してでは
なくて、コンポーネント４００、４０２、４０４、４０６の定義に対して動作する。他の
形式の実行モデルは、データとスクリーンに対してコンポーネント定義４００、４０２を
有するアプリケーションを含んでいるとともに、アプリケーション３０２の他のメッセー
ジ及びワークフロー要素に対する、よりハード・コードされた４０５アプローチを有する
であろうことが分かる。
【００１８】
従って、ネイテイブ・クライアント・ランタイム環境は、デバイス・インフラストラク
チャー２０４のプロセッサ２０８及び関連オペレーテイング・システムのデバイス１００
機能性にクライアント・アプリケーション・プログラム３０２に対するインタフェースを
提供する。ランタイム環境は、コンポーネント・アプリケーション・プログラム３０２が
実行するコントロールされた確実で安定した環境をデバイス１００上に供給することが好
ましい。デバイス１００の各デバイス・インフラストラクチャー２０４に固有の事実上の
ウエブ・クライアントを生成するために、ランタイム環境は、コンポーネント４００、４
０２の定義（及び使用されておれば、定義４０４、４０６）を供給する。簡単のために、
下記の説明では、一例のみとして、フレームワーク２０６によって提供されているクライ
アント・ランタイム環境 について述べる。
コミュニケーション・デバイス
図２を再び参照すると、デバイス１００は、携帯電話、ＰＤＡ、双方向ポケベル、ある
いはデユアル・モード・コミュニケーション・デバイス等のデバイスであるが、それらに
限定されない。デバイス１００は、コネクション２１８を介してデバイス・インフラスト
ラクチャー２０４に接続されたワイヤレス・トランシーバー２０４のようなネットワーク
・コネクション・インタフェース２００を含んでいる。コネクション・インタフェース２
００は、デバイス１００の動作時に、ネットワーク１０４を介してデバイス１００を互い
にかつ外部システム（ウエブ・サービス１０６のような）コミュニケートさせ、かつクラ
イアント・アプリケーション・プログラムs３０２とサービス１０６（図一参照）との間
のリクエスト／レスポンス・メッセージ１０５を調和させるワイヤレス・ネットワーク１
０２のようなネットワーク １０４にワイヤレス・リンク（例えば、ＦＲ、ＩＲ、等）に
よって接続可能である。ネットワーク１０４は、このネットワーク１０４に接続されるデ
バイスと外部システムとの間のリクエスト／レスポンス・メッセージ１０５におけるデー
タの伝送をサポートする。ネットワーク１０４はまた、デバイスとこのネットワークの外
部のデバイスとの間の電話呼び出しのための音声コミュニケーションをもサポートするこ
とができる。ＤａｔａＴＡＣ、ＧＰＲＳあるいはＣＤＭＡのような、しかしそれらに限定
されないワイヤレス データ伝送 プロトコルが、ワイヤレス・ネットワーク１０２によっ
て使用できる。
【００１９】
図２を再び参照すると、デバイス１００はまた、ユーザー１００（図示せず）と通話す
るために、ユーザー・インタフェース２０２をコネクション２２２によってデバイス・イ
ンフラストラクチャー２０４に結合されている。ユーザー・インタフェース２０２は、Ｑ
ＷＥＲＴＹキーボード、キーパッド、トラックホイール、スタイラス、マウス、マイクロ
ホン、及びＬＣＤスクリーン・デイプレイ及び／又はスピーカーのようなユーザー出力デ
バイスのような、しかしそれらに限定されない１つ又はそれ以上のユーザー入力デバイス
を具備している。スクリーンがタッチセンシテイブである場合には、デイスプレイは、デ
バイス・インフラストラクチャー２０４によって制御されるユーザー入力デバイスとして
も使用されうる。ユーザー・インタフェース２０２は、さらに後述するように、フレーム
ワーク２０６のクライアント・アプリケーション・プログラム３０２によって用いられる
システム１０（図１参照）上でリクエスト／レスポンス・メッセージ１０５を調整するた
めに、デバイス１００のユーザーによって使用される。
【００２０】
図２を再び参照すると、デバイス１００の動作が、デバイス・インフラストラクチャー
２０４によって可能とされる。デバイス・インフラストラクチャー２０４は、コンピュー
タ・プロセッサ２０８及び関連したメモリ・モジュール２０１を具備している。コンピュ
ータ・プロセッサ２０８は、メモリ・モジュール２１０内に配置されたオペレーテイング
・システム及びクライアント・アプリケーション・プログラム３０２によって与えられる
関連する命令を実行することによって、コミュニケーション・デバイス１００のネットワ
ーク・インタフェース２００、ユーザー・インタフェース２０２及びフレームワーク２０
６の動作を操作する。 さらに、デバイス・インフラストラクチャー２０４は、プロッセ
さに及び／又はメモリ・モジュール２１０におけるロード／更新クライアント・アプリケ
ーション・プログラム３０２に命令を与えるためにプロッセに結合されたコンピュータ可
読記憶媒体２１２を含んでいてもよいことが分かる。コンピュータ可読媒体２１２は、例
示としてのみの磁気デイスク、磁気テープ、ＣＤ／ＤＶＤ  ＲＯＭＳのような光学的に読
み取り可能な媒体、及びメモリ・カードのようなハードウエア及び／又は ソフトウエア
を含んでいてもよい。それぞれの場合において、コンピュータ可読媒体２１２は、小型デ
イスク、フロッピー（登録商標）・デイスケット、カセット、ハード・デイスク・ドライ
ブ、固体メモリ・カード、あるいはメモリ・モジュール２１０で提供されるＲＡＭの形態
をなしうる。上記に例示したコンピュータ可読媒体２１２は、単独でまたは組み合わせで
使用できることに注目すべきである。
コンポーネント間のマッピング関係
実際には、通常、デベロッパーによるコンポーネント４００、４０２の表現は重複した
内容を有していてもよいが、アプリケーション３２０の各コンポーネント４００、４０２
の動作は異なっている。従って、ユーザー・インタフェース２０２（図１参照）内容があ
る種の基調をなすデータ・エレメントから生成されることが多いことを認識し、かつこれ
らのコンポーネント４００、４０２の表現間の類似性を考慮すると、後述するように、ス
クリーン・コンポーネント４０２の表現に所定のマッピング８０４（図８参照）を導入す
るのが好都合である。図４及び８を参照すると、これらのマッピング８０４は、スクリー
ン・コンポーネント４０２に関連したスクリーン・エレメント８０２(スクリーン・エレ
メント定義)の表現への、及びアプリケーション３０２の実行時のランタイムで、スクリ
ーン・コンポーネント４０２がどのように動作するかへの、本質的にショートカットであ
る。マッピング８０４は、スクリーン・コンポーネントのスクリーン・エレメント定義と
データ・コンポーネント４００定義の間の規定された関係である。スクリーン・コンポー
ネント４０２の表現との関連では、マッピング８０４を用いると、コンポーネント４０２
を記述するために要するメタデータ４０２の量を軽減することができる。従って、マッピ
ング８０４を使用することは、アプリケーション３０２を記述するのに要する「コード」
の量に直接の影響を及ぼしうる。コンポーネント４０２がランタイムでどのように動作す
るかに関連して、リンクしたデータ・エレメント（データ・コンポーネント４００によっ
て記述された）がスクリーン・エレメント８０２状態によって、どのように解決されかつ
影響されるかを、マッピング８０４が指定する。この関連で、マッピング８０４を指定す
ると、デベロッパーがアプリケーション３０２に付加的な特定のスクリーン処理コードを
提供する必要性を軽減することができる。
【００２１】
図８を参照すると、スクリーン・コンポーネント４０２（図４参照）のスクリーン・リ
プレゼンテーションは、ユーザー・インタフェース２０２上に表示されかつ対応するデー
タ・オブジェクト８００のデータ・フィールド事例に関連したＵＩコントロールのような
、しかしそれに限定されないスクリーン・エレメント８０２よりなる。従って、各スクリ
ーン・エレメント８０２は、該当するデータ・オブジェクト８００のフィールドにバイン
ドまたはマップ８０４される。アプリケーション３０２のユーザーは、ユーザー・インタ
フェース２０２（図１参照）におけるスクリーン・エレメント８０２を選択し、かつそれ
ら内の、すなわちユーザー事象によるコントロールを編集することができる。スクリーン
・エレメント８０２の修正は、スクリーン・エレメント８０２にマップされるデータ・オ
ブジェクト８００に伝播される。同様に、データ・オブジェクト８００に対する全ての修
正（アプリケーション３０２ロジック又は着信サーバー・メッセージ１０５によって駆動
される）は、これらのデータ・オブジェクト８００に対してマッピングされるスクリーン
・エレメント８０２に反映される。ユーザー事象及びデータ・オブジェクト８００に対す
る直接の修正の追跡は、後述するように、マッピング・マネージャ３１２を介してモニタ
ーされる。マッピング８０４は、このマッピング８０４によって影響されるデータ・オブ
ジェクト８００の同定及び修正を規定する。マッピング８０４は、対応するスクリーン・
コンポーネント４０４のスクリーン・エレメント８０２がリンクされるデータ・コンポー
ネント４００のデータ・オブジェクト８００を隔離する。
【００２２】
スクリーン・コンポーネント４０２又はデータ・コンポーネント４００定義が、データ
・オブジェクト８００とスクリーン・エレメント８０２の間の関係又はデータ・オブジェ
クト８００の個々のデータ・フィールド（又はデータ・フィールドのグループ）とスクリ
ーン・エレメント８０２との間の関係を定義するマッピング８００を含んでいることが分
かる。データ・オブジェクト８００は、パラメーターとしてユーザー・インタフェース２
０２に通過されてもよいことが分かる。この場合には、スクリーン・エレメント８０４に
マップされたデータ・オブジェクト８００のデータ・フィールド値が、通過されたパラメ
ーターから抽出されるであろう。例えば、スクリーン・コンポーネント４０２のスクリー
ン・フィールド定義で定義された編集コントロール（スクリーン・エレメント８０２）が
、リンクされたデータ・コンポーネント４００のデータ・フィールド定義内に（すなわち
１対１マッピング８０４）マッピングされうるか、あるいはスクリーン・コンポーネント
４０２のスクリーン・フィールド定義で定義された選択コントロール（スクリーン・エレ
メント８０２）が、データ・コンポーネント４００のコレクションの特定のデータ・フィ
ールド 定義内に（すなわち、１対多数マッピング８０４）マップされうる。
【００２３】
図４及び８を参照すると、スクリーン・コンポーネント・メタデータが、それの他の属
性に加えて、リンクされたデータ・コンポーネント４００のデータ・フィールド定義への
マッピングを記述することができる。例えば、単一のスクリーン・エレメント８０２は下
記に対してマップできる：
・データ・コンポーネント４００のデータ・フィールド定義の１つ
・プライマリ・キー（又はマッピング識別子）によるデータ・コンポーネント４００の全
てのデータ・フィールド定義‐この場合には、マッピング８０４はプライマリ・キー・フ
ィールドに帰着する。
選択／リスト・スクリーン・エレメント８０２は下記に対してマップできる：
・データ・コンポーネント４００の全ての事例のコレクション、又は
・コレクションであるデータ・コンポーネント４００のデータ・フィールド定義の１つ。
【００２４】
「ユーザー」データ・コンポーネント４００の特定のデータ・オブジェクト８００の「
ネーム」フィールドに対してマップされたエデイット・スクリーン・エレメント８０２「
ｅｂＮａｍｅ」の一例と、「ユーザー」データ・コンポーネント４００の全てのデータ・
オブジェクト８００の「ネーム」フィールドに対してマップされた選択スクリーン・エレ
メント８０４「ｃｂＮａｍｅｓ」の一例に対しては、下記の例示コンポーネント アプリ
ケーション３０２を参照されたい。
デバイスのフレームワーク
図２を参照すると、デバイス１００のフレームワーク２０６が、コネクション２２０に
よって、デバイス・インフラストラチャー２０４に接続されている。デバイス１００のク
ライアント・ランタイム環境は、フレームワーク２０６によって提供され、かつメタデー
タ定義からクライアント・アプリケーション・プログラム３０２（コンポーネント定義を
含む‐下記を参照）を生成し、ホステイングし、そして実行できることが好ましい。デバ
イス・ランタイムは、持続、提供、メッセージング、スクリーン・ナビゲーション、及び
ユーザー・インタフェース/スクリーン・サービスのような、しかしそれらに限定されな
い典型的なアプリケーション３０２動作を管理しかつ実行するための１つの組の基本サー
ビス３０４を提供するインテリジェント・ソフトウエア・フレームワーク２０６と考える
ことができる。 従って、フレームワーク２０６は、クライアント・アプリケーション・
プログラム３０２に対するネイテイブ・クライアント ランタイム環境を提供し、かつデ
バイス・インフラストラクチャー２０４のプロセッサ２０８および関連したオペレーテイ
ング・システムのデバイス１００機能性に対するインタフェースである。フレームワーク
２０６は、好ましくはデバイス１００上にコントロールされた確実で安定した環境を供給
することによってランタイム環境を提供し、この場合には、コンポーネント・アプリケー
ション・プログラム３０２が、例えばアプリケーション・コンナテナ又は実行環境３００
で実行する。
【００２５】
図３を参照すると、フレームワーク２０６は、ターミナル・ランタイム環境内でクライ
アント・アプリケーション・プログラム３０２（ウエブ・サービス・クライアント・アプ
リケーションのような）を実行するために使用することができ、かつネットワーク１０４
上でリクエスト／レスポンス・メッセージ１０５を経由してのウエブ・サービス１０６及
び関連アプリケーション・サーバー１１０（図１参照）へのアクセスをサポートする。コ
ンポーネント・アプリケーション・プログラム３０２は、フレームワーク２０６によって
実行されるソフトウエア・アプリケーションを含んでいる。フレームワーク２０６は、ア
プリケーション・プログラム３０２が実行されるごとに、アプリケーション・プログラム
３０２の各コンポーネント４００、４０２（及びもし使用されておれば定義４０４、４０
６- 図４参照）に対する実行環境３００を生成する。実行環境３００は、アプリケーショ
ン・プログラム３０２のコンポーネント４００、４０２（もし使用されていれば定義４０
４、４０６）をロードし、かつデバイス・インフラストラクチャー ２０４におけるプロ
セッサ２０８によって実行されるネイテイブ・コードを生成する。従って、フレームワー
ク２０６は、コンポーネント４００、４０２の定義（もし使用されていれば定義４０４、
４０６）を提供するためのホスト実行環境３００を提供して、コミュニケーション・デバ
イス１００の各該当するデバイス・インフラストラクチャー２０４に固有の実際のウエブ
クライアントを生成する。実行環境３００は、例示のみとして上述したテンプレート・
ベース・ネイテイブ実行モデル及びメタデータ・ベース実行モデルによって、アプリケー
ション３０２を提供することができる。実行環境３００は、クライアント・アプリケーシ
ョン・プログラム３０２のためのスマート・ホスト・コンテナを称することができ、かつ
スクリーン値（スクリーン・エレメント８０２の、図８参照）を解析すること及びメモリ
・モジュール２１０における値（データ・オブジェクト８００）の表示を更新することを
受け持つことができる。
【００２６】
図３を再び参照すると、フレームワーク２０６はまた、ある種のサービスがコンポーネ
ント４００、４０２（もし使用されていれば定義４０４、４０６‐図４参照）の一部とし
て含まれていないか、あるいはコンポーネント・アプリケーション・プログラム３０２の
一部としての個別のコンポーネント（図示せず）として受け取られなり場合には、クライ
アント・アプリケーション・プログラム３０２にフレームワーク・サービス３０４（標準
の組のジェネリック サービス）を提供する。アプリケーション・プログラム３０２は、
実行環境３００を伴うコミュニケーション２１４を有しており、それで必要に応じて、フ
レームワーク・サービス３０４とのコミュニケーション２１６を調整することができる。
フレームワーク２０６のフレームワーク・サービス３０４は、デバイス・インフラストラ
クチャー２０４とのコネクション２２０を介してのコミュニケーションを調整する。従っ
て、デバイス・インフラストラクチャー２０４、ユーザー・インタフェース２０２及びネ
ットワーク・インタフェース２００に対するアクセスが、フレームワーク２０６及び関連
サービス３０４によって、クライアント・アプリケーション・プログラム３０２に与えら
れる。デバイス・インフラストラクチャー２０４（図２参照）のオペレーテイング・シス
テムは、フレームワーク・サービス３０４の実行環境３００及び選択されたサービス／マ
ネージャを表わしうることが分かる。
【００２７】
図３及び８を参照すると、フレームワーク・サービス３０４は、コミュニケーション・
マネージャ３０６、プレゼンテーション・マネージャ３０８、データ・マネージャ３１０
を含むが、それらに限定されるものではなく、またアクセス・サービス、提供サービス及
び実用サービスを含む。アクセス・サービス（図示せず）は、コミュニケーション・デバ
イス１００上に存在する他のソフトウエア・アプリケーションにアプリケーション・プロ
グラム３０２アクセスを提供する。提供サービス(図示せず)は、コミュニケーション・デ
バイス１００でのソフトウエア・アプリケーション３０２の提供を管理する。 アプリケ
ーション提供は、新規の及び更新されたプリケーション・プログラム３０２を要請しかつ
受け取ること、ネットワーク１０４を介してアクセス可能なサービスへのアクセスのため
のアプリケーション・プログラム３０２を構成すること、アプリケーション・プログラム
３０２及びサービス３０２の構成を修正すること、アプリケーション・プログラム３０２
及びサービスを削除することを含むことができる。実用サービス（図示せず）は、種々の
フォーマットの変換においてデータ操作を行うような種々の一般的なタスクを達成するた
めに用いられる。
【００２８】
図３、８及び９を参照すると、コミュニケーション・マネージャ３０６は、アプリケー
ション３０２のためにウエブ・サービス１０６に関して（コミュニケーション・マネージ
ャ３０６によって）送信され／受信されるメッセージ１０５及び関連データ３０６のよう
なアプリケーション・プログラム３０２と外部システム１０との間の接続性を管理する。
下記にさらに説明されるように、コミュニケーション・マネージャ３０６は、一連のマッ
ピング８０４を実行するために用いることができる。プレゼンテーション・マネージャ３
０８は、ユーザー・インタフェース２０２（図２参照）の出力デバイスに出力されるとき
に、アプリケーション・プログラム３０２のリプレゼンテーションを管理する。データ・
マネージャ３１０は、コンポーネント・アプリケーション・プログラム３０２が、デバイ
ス・インフラストラクチャー２０４（図２参照）のメモリ・モジュール２１０にデータを
格納できるようにする。データ・マネージャ３１０は、マッピング８０４を介してスクリ
ーン・コンポーネント４０２にリンクされたデータ・コンポーネント４００のデータ事例
の修正／生成を調整するために用いることができる。フレームワーク２０６は、各データ
・オブジェクト８００とスクリーン・エレメント８０２の間の個々の関係（マッピング）
を追跡するマッピング・マネージャ３１２をも有している。マッピングは、マッピング・
マネージャ３１２に連結されたマッピング・テーブル３０９に格納される。スクリーン・
エレメント８０２がユーザー・インタフェース２０２で初期化されると、プレゼンテーシ
ョン・マネージャ３０８が、スクリーン・エレメント８０２と表示された対応するデータ
・オブジェクト８００との間に動的な一体性を維持するために、the マッピング・マネー
ジャ３１２を用いる。スクリーン・エレメント８０２の１つが、ユーザー・インタフェー
スを介してユーザーによって修正された場合には、マッピング・マネージャ３１２が、メ
モリ２１０における正しいデータ・オブジェクト８００に対する変化を、データ・マネー
ジャ３１０を通じて伝搬させるようにする。メモリ２１０内のデータ・オブジェクト８０
０のうちの１つが修正された場合には、マッピング・マネージャ３１２は、オブジェクト
８００がユーザー・インタフェース２０２に現在表示されているかどうかを見るためにチ
ェックし、もし表示されていれば、プレゼンテーション・マネージャ３０８を通じて、対
応するスクリーン・エレメント８０２を更新させて、テーブル４０９における対応マッピ
ング８０４のエントリを参照することによって、データ・オブジェクト８００の変化を反
映させるひょうにする。コミュニケーション・デバイス１００のフレームワーク・サービ
ス３０４が、上述したマネージャを含む機能性をコンポーネント・アプリケーション・プ
ログラム３０２に提供することが分かる。
【００２９】
従って、フレームワーク２０６が、通常アプリケーション３０２ドメインからの情報を
提示するユーザー・インタフェース２０２における対話型アプリケーション３０２の表示
を可能にするとともに、ユーザーが関連したデータ・オブジェクト８００及びスクリーン
・エレメント８０２を入力しかつ修正できるようにする。フレームワーク２０６は、アプ
リケーション・データ・ドメイン（データ・オブジェクト８００）とＵＩスクリーン・エ
レメント８０２（例えば、ＵＩコントロール）との間での直接マッピング８００を実行す
ることによって、ユーザー・インタフェース２０２の効果的な管理のためのシステムを提
供する。アプリケーション・ドメイン・データ・オブジェクト８００の変化が、ユーザー
・インタフェース２０２と自動的に同期化され、かつユーザー入力データが、アプリケー
ション・ドメイン・データ・オブジェクト８００に自動的に反映される。この同期化の背
後における主要なメカニズムは、対をなすスクリーン・エレメント８０２及びデータ・オ
ブジェクト８００の間のマッピング８０４である。このマッピング・システムは、ＸＭＬ
のような構造化言語で表現されたメタデータを用いて定義されたワイヤレス・アプリケー
ション３０２に関係する。このマッピング８０４メカニズムは、ユーザー・インタフェー
ス２０２上での動的で対話型のスクリーンの生成を可能にする。データ・オブジェクト８
００に対する全ての変化が、ユーザー・インタフェース上に同期的に反映されることがで
き、またその逆もありうる。このマッピング８０４の実行が、サーバー対デバイス通知に
基づいたワイヤレス・アプリケーション３０２の構築を容易にする。サーバー（ウエブ・
サービス１０６）から非同期的にプッシュされるデータ・オブジェクト８００更新は、リ
ンクされたＵＩスクリーン・エレメント８０２によってユーザー・インタフェース２０２
上に非同期的に反映される。これらのマッピング８００は、株式取引、ニュース更新、警
報、天気予報更新等の種々のワイヤレス・アプリケーション３０２に適用可能である。
【００３０】
アプリケーション・コンポーネント
図２を参照すると、クライアント・アプリケーション・プログラム３０２が、フレーム
ワーク２０６のターミナル・ランタイム環境内で実行され、そしてサービス１０６（図１
参照）へのアクセスをサポートする。ＷＳＤＬ及びＳＯＡＰプロトコル定義が、メッセー
ジ／データ・パターンを明確に示す。ＷＳＤＬウエブ・サービス定義では、ウエブ・サー
ビス クライアント・アプリケーション・プログラム３０２を関連データ４００とメッセ
ージ４０４コンポーネントの１つの組として（図４参照）定義するために使用できるメッ
セージとデータ部分の概念を用いて、動作が定義される。
【００３１】
図４を参照すると、コンポーネント・アプリケーション・プログラム３０２のブロック
図は、データ・コンポーネント４００と、プレゼンテーション・コンポーネント４０２を
含んでいる。アプリケーション３０２の他のメッセージ／ワークフロー部分４０５は、実
行環境３００を有するコミュニケーション２１４を介してワークフロー・コンポーネント
４０６によって調整されるメッセージ・コンポーネント４０４によって提供されることが
できるが、アプリケーション３０２のハード・コードされたエレメント４０５（アプリケ
ーション・デベロッパーによって定義された）として提供されることもできる。 各エレ
メントが１つ又はそれより多い値を有しうるように１つのリソースの固有の属性を表す多
数の予め定義されたエレメントよりなる一連のメタデータ・レコードとしてコンポーネン
ト４００、４０２（及びもし使用されていれば４０４）を構成するために、構造化定義言
語を用いることができる。各メタデータ スキーマは、通常、限定された数のエレメント
、各エレメントのネーム、及び各エレメントの意味のような、しかしそれらに限定されな
い定義された特徴を有する。例示メタデータ・スキーマとしては、ダブリン・コア（Ｄｕ
ｂｌｉｎ Ｃｏｒｅ (ＤＣ)）、アングロ・アメリカン・カタロギング・ルールズ（Ａｎｇ
ｌｏ−Ａｍｅｒｉｃａｎ Ｃａｔａｌｏｇｉｎｇ Ｒｕｌｅｓ (ＡＡＣＲ2)）、ガバメント
・インフォーメイション・ロケータ・サービス（Ｇｏｖｅｒｎｍｅｎｔ  Ｉｎｆｏｒｍａ
ｔｉｏｎ  Ｌｏｃａｔｏｒ  Ｓｅｒｖｉｃｅ(ＧＩＬＳ)）、エンコーデッド・アーカイブ
ス・デイスクリプション（Ｅｎｃｏｄｅｄ  Ａｒｃｈｉｖｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ
(ＥＡＤ)）、アイエムエス・グローバル・ラーニング・コンソーテイウム（ＩＭ  Ｇｌ
ｏｂａｌ  Ｌｅａｒｎｉｎｇ  Ｃｏｎｓｏｒｔｉｕｍ  (ＩＭＳ)）、及びオーストラリア
ン・ガバメント・ロケータ・サービス（Ａｕｓｔｒａｌｉａｎ  Ｇｏｖｅｒｎｍｅｎｔ  
Ｌｏｃａｔｏｒ  Ｓｅｒｖｉｃｅ  (ＡＧＬＳ)）等があるが、それらに限定されない。コ
ード化構文は、コンポーネント４００、４０２（及びもし使用されていれば、４０４）の
メタデータをデバイス・インフラストラクチャー２０４（図２参照）によって処理できる
ようにし、コード化スキームとしては、ＸＭＬ、ＨＴＭＬ、ＸＨＴＭＬ、ＸＳＭＬ、ＲＤ
Ｆ、マシーン・リーダブル・カタロギング（Ｍａｃｈｉｎｅ  Ｒｅａｄａｂｌｅ  Ｃａｔ
ａｌｏｇｉｎｇ  (ＭＡＲＣ)）、及びマルチパーパス・インターネット・メール・エクス
テンションズ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓ
ｉｏｎｓ  (ＭＩＭＥ)）等があるが、それらに限定されない。
【００３２】
図4及び８を参照すると、データ・コンポーネント４００が、例えばネイテイブ・コー
ド又はＸＭＬで表されたアプリケーション・データを含むコンポーネント・アプリケーシ
ョン・プログラム３０２によって使用さｓれるデータ・オブジェクト８００を定義する。
【００３３】
データ・コンポーネント４００が記述しうるデータ・オブジェクト８００の例は、オー
ダー、ユーザー、及び金融取引である。データ・コンポーネント４００は、データ・オブ
ジェクト８００を記述するためにどのような情報が必要とされるか、およびその情報がど
のようなフォーマットで表現されるかを定義する。 例えば、データ・コンポーネント４
００は、番号としてフォーマット化されたオーダーに対する固有の識別子、文字列としれ
フォーマット化されたアイテムのリスト、日付・時刻フォーマットを有するオーダーが生
成された時刻、文字列としてフォーマット化されたオーダーの状況、データ・コンポーネ
ント４００の他の１つの定義に従ってフォーマット化されたオーダーを入れたユーザーで
構成されたオーダーを定義するが、それに限定はされない。データ部分（エレメント）は
通常、ウエブ・サービスの１０６の振り付けルールに従ってメッセージ１０５からメッセ
ージ１０５へと転送されるので、データ・オブジェクト８００の持続が存在することが好
ましい。データ・オブジェクト８００は、ウエブ・サービスの１０６の振り付けルール定
義（もしあれば）に従って動的に生成されてもよく、あるいは複合型定義及び／又はメッ
セージ相互関係情報に基づいてアプリケーション設計者によって定義されてもよい。後述
するように、スクリーン・コンポーネント４０２は、マッピング８０４を介して、データ
・コンポーネント４００（図９参照）にリンクされうることが分かる。
【００３４】
さらに、データ・コンポーネント４００は、ＨＴＭＬ、ＸＨＴＭＬ、ＸＭＬおよび構造
か定義言語のような、しかしそれに限定されない言語で書かれた一連のデータ・フィール
ド定義で構成されることができ、データ・オブジェクト８００（図９参照）は、データ・
フィールド定義に従ったデータ事例である。データ・オブジェクト定義が、データ・フィ
ールドの構造の定義及びそれらの対応するデータ形式を提供し、データ・オブジェクト８
００は、特定のデータ・オブジェクト定義の事例である。データ・フィールドは、データ
・オブジェクト定義よりなり、かつすべてのデータ・フィールドは、関連するデータ形式
を有する。さらに、複合データ・フィールドは、サブ・データ・フィールドの構造を含む
。データ・オブジェクト８００の定義は、アプリケーション３０２のデータ・コンポーネ
ント４００スキーマに含まれる。これらの定義が、アプリケーション３０２によって使用
されるようなデータ・オブジェクト８００を定義するためのデータ・モデルを提供する。
従って、データ・コンポーネント４００は、データ・オブジェクト８００として例示化さ
れた場合に対応するデータ・フィールド値のフォーマットを定義するためにグループ分け
された１つの組の１つまたはそれより多いデータ・フィールド定義である。データ・コン
ポーネント４００定義は、基本キー又は複合キーを有していてもよく、あるいは必要に応
じてキーを伴いことなしに定義されてもよい。これらのキーは、1対のマップ化されたデ
ータ４００とスクリーン４０２コンポーネントとの間に固有のリンクを提供するために、
マッピング８０４と一緒に使用されうる。
【００３５】
図４を再び参照すると、プレゼンテーション／スクリーン・コンポーネント４０２は、
ユーザー・インタフェース２０２によって表示された場合のアプリケーション・プログラ
ム３０２の外観と動作を定義する。プレゼンテーション・コンポーネント４０２は、ＧＵ
Ｉスクリーン及びコントロール、そしてを特定することができ、かつユーザーがユーザー
・インタフェース２０２を用いてコンポーネント・アプリケーション３０２と対話する場
合に実行されるべき動作を特定することができる。例えば、プレゼンテーション・コンポ
ーネント４０２は、スクリーン、ラベル、エデイット・ボックス、ボタン及びメニュー、
及びユーザーがエデイット・ボックスにタイプする場合又はボタンを押す場合行われるべ
き動作を定義しうる。ウエブ・サービス需要者の大部分が、ウエブ・サービス動作結果の
視覚的プレゼンテーションを使用し、従って、ユーザー・インタフェース・スクリーンを
表示することができる、それらのデバイス１００上にランタイム環境を提供する。
【００３６】
スクリーン・コンポーネント４０２にパラメータを送る例示アプリケーション３０２と
、その送られたパラメータを受け取るスクリーン・コンポーネント４０２について、下記
に例示する。
下記の事項、
・データ・コンポーネント４００「ユーザー」
・選択されたユーザーの詳細を表示するためのボタン／メニュー・アイテムと一緒にての
ユーザーの選択ボックスを列挙するスクリーン・コンポーネント４０２「ｓｃｒＡｌｌユ
ーザー」
・パラメータとして送られたユーザーに対する詳細を表示するスクリーン・コンポーネン
ト４０２「ｓｃｒＵｓｅｒＩｎｆｏ」
を有するアプリケーションについて検討する。
【００３７】
例示ＸＭＬデータ・コンポーネント４００
基本キー・フィール「ネーム」を有するデータ・コンポーネント４００「ユーザー」は
、下記のメタデータを用いて定義することができる:
【数１】
0005248964.tif 000002
【００３８】
例示ＸＭＬプレゼンテーション コンポーネント４０２
「scrAllUsers」スクリーンは、ユーザー・データ・コンポーネント４００の全ての事
例の「ネーム」フィールドにマップされた選択コントロール「ｃｂＮａｍｅｓ」を定義す
ることができる。スクリーン メタデータ定義は、ユーザー・インタフェース２０２に対
するパラメーターとして選択され、送られるパラメーター「ユーザー」を有するデイスプ
レイ・スクリーン「scrUserInfo」に対する動作とともにボタン又はメニュー・アイテム
を含む。
【数２】
0005248964.tif 000003
【００３９】
スクリーン「scrUserInfo」は、パラメーターとして送られる固有の事例の「ネーム」
フィールドに対してマップされたエデイット・コントロール「ｅｂＮａｍｅ」を定義する
:
【数３】
0005248964.tif 000004
【００４０】
図４を再び参照すると、他のメッセージ及びアプリケーション３０２の他のワークフロ
ー部分１０５が、ハードコードされたハードコードされたアプリケーション３０２エレメ
ントによって提供されことができ、及び／又は構造化定義言語及びコード／スクリプトで
それぞれ記述された他のコンポーネント４０４、４０６として提供されることができる。
アトミック・メッセージ・コンポーネント４０４を用いる場合には、これらは、ウエブ・
サービス１０６のような外部システムとコミュニケートするためのコンポーネント・アプ
リケーション・プログラム３０２によって使用されるメッセージ１０５のフォーマットを
定義し、かつ例えばネイテイブ・コード又はＸＭＬで表示されたメッセージ・データを含
む。例えば、メッセージ・コンポーネント４０４の１つは、オーダーのための固有の識別
子を含むオーダーを入れるためのメッセージ、そのオーダーの状況、及びそのオーダーに
関連するノートを記述できるが、それらに限定されない。構造化定義言語で書かれたメッ
セージ・コンポーネント４０４定義が、ＷＳＤＬメッセージ（及びそれに対するマッピン
グ）を固有に表示することができ、かつランタイムで動的に生成されうる。従って、例え
ばＷＳＤＬ及びＢＰＥＬのような、しかしそれらに限定されないウエブ・サービス・イン
タフェースを表現するために用いられる定義言語での標準的なウエブ・サービス・メタデ
ータから、クライアント・アプリケーション・メッセージ１０５に対するコンポーネント
及び関連するデータ内容の動的生成が行われうる。ウエブ・サービス・メッセージ１０５
は、動作の範囲内で定義され、かつコンポーネント・アプリケーション・プログラム３０
２定義のメッセージ コンポーネント４０４の間の交互関係が定義される。この相互関係
は、さらに後述するように、予め定義されたメッセージ・パラメーターを用いて及び／又
は個別のワークフロー・コンポーネント４０６を通じて行われうる。
【００４１】
図４を再び参照すると、コンポーネント・アプリケーション・プログラム３０２のアト
ッミク・ワークフロー・コンポーネント４０６を用いる場合には、これらが、上述したよ
うにプレゼンテーション・コンポーネント４０２によって特定された動作のような動作、
あるいはシステム１０からメッセージ１０５（図１参照）が到着するときに行われるべき
動作が行われるべき場合に生ずる処理を定義する。プレゼンテーション・ワークフロー及
びメッセージ１０５処理は、ワークフロー・コンポーネント４０６によって定義されうる
。ワークフロー・コンポーネント４０６は、プログラミング言語で又はＥＣＭＡＳｃｒｉ
ｐｔのような、しかしそれに限定されないスクリプト言語で書かれ、そして上述のように
、ネイテイブ・コードに編集され、実行環境３００によって実行されうる。ワークフロー
・コンポーネント４０６の一例は、データに値を割り当てること、スクリーンを操作する
こと、あるいはメッセージ１０５を送ることでありうる。ワークフロー・コンポーネント
４０６は、メッセージ１０５の間の相関関係をサポートし、かつアプリケーション・フロ
ーを他のコンポーネント４００、４０２、４０４における動作のために１つの組のルール
として定義する。
【００４２】
一般に、ＥＣＭＡ(Ｅｕｒｏｐｅａｎ  Ｃｏｍｐｕｔｅｒ  Ｍａｎｕｆａｃｔｕｒｅｒ
ｓ  Association)スクリプトは、標準のスクリプト言語であり、この場合ん、スクリプト
は、コンピュータ・プロセッサによってではなくて他のプログラムによって解釈されるか
あるいは実行される命令のシーケンスと呼ばれうる。スクリプト言語の幾つかの他の例は
、Ｐｅｒｌ、Ｒｅｘｘ、ＶＢＳｃｒｉｐｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、及びＴ
ｃｌ／Ｔｋである。一般に、スクリプト言語は、デバイス１００のような既存のシステム
の機能を操作し、カストマイズし、そして自動化するために用いられる命令言語である。
このようなシステムでは、有用な機能性がユーザー・インタフェース２０２（図２参照）
を通じて既に利用可能であり、かつスクリプト言語は、その機能性をプログラム・コント
ロールに顕在化させるための機構である。このようにして、デバイス１００は、オブジェ
クトのホスト・ランタイム環境及びスクリプト言語の能力を完成する機能を提供すると言
われている。
【００４３】
コンポーネント・ベース・アプリケーション３０２に対する例示コンポーネント４０４
、４０６は、下記のようでありうる：
【００４４】
例示ＸＭＬメッセージ コンポーネント４０４
【数４】
0005248964.tif 000005
【００４５】
例示ＥＣＭＡＳｃｒｉｐｔワークフロー コンポーネント４０６
【数５】
0005248964.tif 000006
【００４６】
ＸＭＬ又はそれの派生語を用いてデータ４００、メッセージ４００４、プレゼンテーシ
ョン４０２コンポーネントを表現すること及びＥＣＭＡスクリプト言語又はそれのサブセ
ットを用いてワークフロー・コンポーネント４０６を表現することは、アプリケーション
・デベロッパーに任意固有のプラットフォーム又は環境からウエブ・サービス・クライア
ントを抽出することができるようにし、かつ原理的に「一度作成すれば、どこでも動く」
アプリケーション（'ｄｅｖｅｌｏｐ  ｏｎｃｅ  ｒｕｎ  ｅｖｅｒｙｗｈｅｒｅ'  ａｐ
ｐｌｉｃａｔｉｏｎｓ）を実行できるようにさせる。下記の例は、ウエブ・サービス・ク
ライアント・アプリケーション・プログラムＸＭＬのような、しかしそれに限定されない
構造化定義言語及びＥＣＭＡＳｃｒｉｐｔ定義コンポーネントのような、しかしそれに限
定されないプラットフォーム・ニュートラル・スクリプト／プログラミング言語を用いて
どのようにして表現できるかを示している。
【００４７】
さらに、図４を参照すると、上述のように、メッセージ・コンポーネント４０４が、メ
ッセージ１０５の入力及び出力のための所要データを中継することができることが分かる
。対応するデータ・コンポーネント４００が、プレゼンテーション・コンポーネント４０
２によるユーザー・インタフェース２０２（図２参照）における爾後のプレゼンテーショ
ンに対するデバイス１００のメモリ・モジュール２１０（図２参照）におけるデータの格
納を調整する。ワークフロー・コンポーネント４０６は、データ４００、プレゼンテーシ
ョン４０２、及びメッセージ４０４コンポーネント間のデータの転送を調整する。クライ
アント・ランタイムは、アトミック・データ・オブジェクト８００を直接格納しかつ更新
することができる。
コンポーネント・ベース・アプリケーションの例示基本動作
マッピング８０４を処理の詳細な動作について、図９、１０、及び１１を参照して下記
に説明することに注目すべきである。
【００４８】
例えば、図１、３及び６を参照すると、動作６００は、デバイス１００がメッセージ・
データを含むレスポンス・メッセージ１０５を受信６０２するときに、該当ワークフロー
・コンポーネント４０６が該当メッセージ・コンポーネント４０４に従ってメッセージ１
０５のデータ内容を解釈する６０４ことを示している。次に、ワークフロー・コンポーネ
ント４０６がデータ内容を処理６０６し、そしてメモリ・モジュール２１０（図２参照）
に爾後に格納６１２するために、そのデータを対応するデータ・コンポーネント４００内
に挿入９１０する。さらに、必要であれば、ワークフロー・コンポーネント４０６はまた
、ユーザー・インタフェース２０２（図２参照）における爾後の表示６１４のために該当
プレゼンテーション・コンポーネント４０２にデータを挿入６０８する。
【００４９】
図１、３及び７を参照すると、動作７００は、ユーザーがユーザー・インタフェース２
０２（図２参照）を通じてユーザー・インタフェース・エレメントに対して実行７０２し
たボタンを押したりあるいはメニュー・アイテムを選択したりするような動作のための入
力７０２を示している。該当ワークフロー・コンポーネント４０６が、該当プレゼンテー
ション・コンポーネント４０４に従って入力データを解釈７０４し、そして該当データ・
コンポーネント４００によって定義されたデータ・エンテイテイを生成７０６する。次に
、ワークフロー コンポーネント４０６が、メモリ・モジュール２１０（図２参照）に爾
後に格納７１２するためにユーザーによって提供される入力データをデータ・コンポーネ
ント４００に投入７１０する。さらに、ワークフロー・コンポーネント４０６はまた、メ
ッセージ・コンポーネント４０４によって定義されるように、メッセージ１０５における
ウエブ・サービスに対するデータ・エンテイテイのような入力データを爾後に送る７１４
ために入力データを該当メッセージ・コンポーネント４０４に挿入７０８する。
【００５０】
上記の動作では、ワークフロー４０６及びメッセージ４０４コンポーネントの動作が、
アプリケーション３０２のハードコードされた部分４０５として含まれている場合には、
それに対応して異なった動作となるであろうことが分かる。
予め定義された動的なスクリーン生成
ワイヤレス・アプリケーション３０２は、スクリーン・エレメント８０２及びデータ・
オブジェクト８００の予め定義された組を有していてもよく、その場合、これらの組の間
の関係は、データ・コンポーネント４００及びスクリーン・コンポーネント４０４のフィ
ールド定義におけるアプリケーション設計フェーズで確認される。このモデルは、予め定
義されたスクリーン及びデータ関係モデルと呼ぶことができ、ユーザーに提示されるスク
リーン・エレメント８０２とデータ・オブジェクトとの間のマッピング８０４が、ＸＭＬ
のような構造化言語を用いてコンポーネント・フィールド定義においてメタデータで表
現できるようになされる。
【００５１】
ユーザー・インタフェース２０２のスクリーンはまた、スクリーン・エレメント８０２
に関連したデータ・オブジェクト８００の構造に基づいて動的に生成できる。 ある状況
では、メッセージ１０５（図１参照）を介してサーバー（ウエブ・サービス１０６）から
入力として受信されたデータ・ストリームのフォーマットは、前もって予想することはで
きない（例えば、ウエブ・サービス１０６動作が任意のＸＭＬを戻す）。受信されたデー
タ・ストリームが構造化されたフォーマット（例えばＸＭＬ）で提示される場合には、デ
バイス１００が、データ・ストリームによって表示されたデータ・オブジェクト８００を
提示するために、スクリーン・フォーマット（例えば、ＵＩコントロール、レイアウト等
）で、定義された翻訳ルールを用いてフレームワーク２０６によって知的予想を行うこと
ができる。これは、データ・ストリームにおいてＸＭＬ（例えば）ノードで動作して対応
するデータ・コンポーネント４００を構築することによって行うことができ、その対応す
るデータ・コンポーネント４００が次にマッピング・マネージャ３１２（図８参照）によ
って解釈され、フレームワーク２０６によって最も良く決定されたマップされたスクリー
ン・コンポーネント４０２を介して対応するスクリーン・エレメント８０２を割り当てて
、変換されデータ・ストリームのデータ・コンテンツを処理する。ＸＭＬコンテンツのた
めのスキーマは、そのスキーマに基づいたデータ・ストリームをマッピング・マネージャ
３１２及び翻訳ルールのデベロッパーによって良く理解されるコンポーネント定義フォー
マットに翻訳するために、ワイヤレス・アプリケーション３０２及びルールの開発時に予
め定義される。翻訳ルールは、マッピング・マネージャ３１２の一部分であり、最も普通
に出会うＸＭＬ（例えば）構造化データ・ストリーム・コンテンツを翻訳するように設計
されるであろう。さらに、ユーザーは、ＵＩフィールドを、それがデバイス１００に格納
されるか又はサーバーに送り戻される前に、更新しかつそのデータを修正する機会を持つ
ことができる。
【００５２】
下記の例は、ＸＭＬスキーマの任意のＸＭＬデータ・ストリーム・フラグメントを示し
ている：
【数６】
0005248964.tif 000007
【００５３】
マッピング・マネージャ３１２は、データ・フィールド定義を含むアプリケーション・
デベロッパーによって提供されるスキーマ定義を用いる：
【数７】
0005248964.tif 000008
【００５４】
そして翻訳ルールを動的に適用して、ＸＭＬデータ・ストリームをアプリケーション許容
フォーマット（提供されるスキーマにつき）に変換し、そして適格なＸＭＬデータ・オブ
ジェクト４００を生成する：
【数８】
0005248964.tif 000009
【００５５】
ユーザー・インタフェースにおけるデータ・オブジェクトのプレゼンテーション
ユーザー・インタフェース２０２のスクリーンが描画されると、マップされたスクリー
ン・エレメント８０２に対して表示されるデータ・オブジェクト８００は分解される必要
がある。初期値に対して用いられるべき特定のデータ・オブジェクト８００を分解するた
めの異なるオプションは下記のとおりである:
【００５６】
スクリーン・パラメーターに基づいた初期化
通常、データ・コンポーネント４００のデータ・オブジェクト８００が、マップされた
スクリーン・エレメント８０２の値とともに、パラメーターとして、ユーザー・インタフ
ェース２０２のスクリーンに送られる。上記の例示スクリーン・コンポーネント４０４で
は、スクリーン‘ｓｃｒＵｓｅｒＩｎｆｏ’が、パラメーターとして、ユーザーのデータ
・オブジェクト８００を受信した。ユーザー・データ・コンポーネント４００のデータ・
フィールド定義４００に対してマップされた、このスクリーン上のスクリーン・エレメン
ト８０２は、このパラメーターからデータ値を表示するであろう。
【００５７】
分解されていない初期値
スクリーンに対してマッピング８０４が定義されるが、関連データ・コンポーネント４
００の初期データ・オブジェクト８００が分解されていない場合には、マップされたスク
リーン・エレメント８０２に対しては初期データ値は表示されない。これの一例は、新し
いユーザーに対するデータ値を入力するために定義されたスクリーンであろう。初期ユー
ザー・データ・コンポーネント４００は適切ではないだろう。ユーザーがスクリーン・エ
レメント８０２のデータ・フィールドに新しい値を入れた後で、ユーザー・データ更新に
関して後述するように、このデータ・コンポーネント４００の当たらしデータ・オブジェ
クト８００を生成するために、マッピング 定義が用いられる。
【００５８】
すべてのデータ・オブジェクトのリスト
スクリーン・エレメント８２０の選択コントロール／リスト・タイプに対して、マッピ
ング８０４は、上記の例示スクリーン・コンポーネント４０４で示されたように、すべて
の生成されたデータ・オブジェクトが使用されるべきことを指定することができる。
スクリーン・プレゼンテーション
図３、８、及び９を参照すると、このシナリオ８５０は、新しいスクリーンがユーザー
・インタフェース２０２上に描かれた場合にスクリーン・エレメント８２０に対して実行
されるステップを記述する。ステップ８５２で、マッピング・マネージャ３１２が、デー
タ・コンポーネント４００フィールドにマップされたスクリーン・エレメント８０２を検
知する。ステップ８５４で、このタイプのデータ・オブジェクト８００が、スクリーンに
付着されたかどうか、すなわち、パラメーターとして送られたかどうかを、マッピング・
マネージャ３１２がチェックする。もし肯定（ｙｅｓ）であれば、マッピング・マネージ
ャが、ステップ８５８で、データ・オブジェクト８００のデータ・フィールド値を取り出
し、そしてそれをプレゼンテーション・マネージャ３０８に送って、スクリーン上に表示
させる。もし否定（ｎｏ）であれば、フィールド・タイプに対するデフォルト値が、ステ
ップ８５６で、スクリーン２０２上に表示される（例えば、スクリーンは空白、数は０、
のように）。
データの更新に対するコントロール
図３及び８を参照すると、マッピング８０４メタデータに基づいて、ユーザーが入力す
る値が、メモリ２１０の該当データ・オブジェクト８００のフィールド値に反映される。
このプロセスは下記の機能性を含む：
・入力検証
・データ作成
・データ更新
【００５９】
入力検証
ユーザーが入力したデータの検証は、データｃｍｐ（例えば、電話番）に基づいて自動的
に行われうるであろう。
【００６０】
データ作成
新しいデータ・キー値に遭遇した場合には、入力値に基づいて、新しいデータ・オブジェ
クト８００が作成される。上記の例示データ・コンポーネント４００では、前に定義され
ていないネームが入力された場合には、新しいユーザー・データ・オブジェクト８００が
作成される。
【００６１】
データ更新
既存のデータ・コンポーネント４００に対するデータ・オブジェクト８００のフィールド
値が、ユーザー・インタフェース２０２に対してユーザーが入力した結果として、更新さ
れうる。
【００６２】
更新動作
２方向更新モデルが２つのモードで作用すであろう：
・自動コミット（Ａｕｔｏｍａｔｉｃ  ｃｏｍｍｉｔ）
ユーザーがスクリーンを離れると、データがコミットされる（ｃｏｍｉｔｔｅｄ）。
・管理されたトランザクション・モード（Ｍａｎａｇｅｄ  ｔｒａｎｓａｃｔｉｏｎ  ｍ
ｏｄｅ）
特定のメニュー動作（スクリーン・エレメント８０２）がデータを処理するためにマッピ
ングされる。例えば、マルチプル・オーダー・スクリーンの場合には、最後のスクリーン
上の「サブミット」（‘ｓｕｂｍｉｔ’）メニュー・アイテムが、得られたデータ・オブ
ジェクト８００を更新／作成するであろう。他のメニュー・アイテム（例えば、「キャン
セル」（‘ｃａｎｃｅｌ’）は、入力されたデータを廃棄することになるであろう。
【００６３】
図３、８及び１０を参照すると、下記のシナリオが、ユーザー・インタフェース２０２
におけるマッピング・ユーザー入力データ(ユーザー事象)の、データ・オブジェクト８０
０内へのフロー（流れ）を記述する。ステップ８７２において、ユーザーがスクリーン・
エレメント８０２でデータを入力／更新すると、ＵＩマネージャ３０８が、その値をマッ
ピング・マネージャ３１２に送る。 ステップ８７４において、もしこれがマップされた
スクリーン・エレメント８０２であれば、マッピング・マネージャ３１２が、該当データ
・コンポーネント４００を分解し、データ・マネージャ３１０からのデータ・オブジェク
ト８００を要請する。ステップ８７６において、データ・コンポーネント４００のフィー
ルド・タイプに合致したスクリーン・エレメント８０２に対して入力された値に、このス
クリーン・エレメント８０２がマッピングされることを、データ・マネージャ３１２が検
証する。ステップ８７８において、データ・マネージャ３１０が、修正されたデータ値を
一時的記憶器内に、付託されていない「汚い」データとして保持する。データ・マネージ
ャはまた、これが既存のデータ・オブジェクト８００の更新であるか、あるいは新しいデ
ータ・オブジェクトの作成であるかを判定する。ステップ８８０において、ユーザー事象
が、コミットされた（ｃｏｍｉｔｔｅｄ）（オプションＡ）又はアボーテッド（ａｂｏｒ
ｔｅｄ）（オプションＢ）として認定される。
【００６４】
コミットされた判定の場合：
オプションＡ：コミット、
１)ユーザーがコミット・アクションにマップされたボタン又はメニュー・アイテムを選
択する；
２)ＵＩマネージャ３０８が、アクションについてマッピング・マネージャ３１２に通知
する；
３）マッピング・マネージャ３１２がデータ・マネージャ３１０に変化をコミットするよ
うに要請する；
４）データ・マネージャ ３１０が、変化をコミットし、そしてデータ・オブジェクト８
００をメモリ２１０に格納する。
アボートされた認定の場合：オプションＢ  ロールバック、
１）ユーザーが、コミット・アクションに対してマップされていないボタン又はメニュー
・アイテム（スクリーン・エレメント８０２）を選択することによって、スクリーンを離
れることを選ぶ；
２）ＵＩマネージャ３０８が、アクションについてマッピング・マネージャ３１２に通知
する；
３）マッピング・マネージャ３１２が、変化をロールバックするようにデータ・マネージ
ャ３１０に要請する；
４）データ・マネージャ３１２が変化を廃棄する−これは、個々のフィールドに対する変
化だけを廃棄すること意味するか、あるいは、スクリーン・コンポーネント４０２対デー
タ・コンポーネント４００マッピング８０４の結果として新しい変化が生成された場合に
は、全データ・オブジェクト８００を除去することを意味する。
【００６５】
更新をコントロールするためのデータ
デバイス１００が外部ソース（例えば、ウエブ・サービス１０６）データ更新を非同期
的に受信できる場合には、クリーン・エレメント８０２に関連したデータ値の変化が、新
しい情報を有するスクリーン・リフレッシュを生ずるであろう。図３、８、及び１１を参
照すると、メッセージ・マネージャ３１２は、サーバー１０６からメッセージ１０５を受
信９５２すると、このメッセージ１０５がフレームワーク２０６における現在実行してい
るアプリケーション３０２のデータ・コンポーネント４００に対してマップされるかどう
かを認定９５４する。もしそうである場合には、下記の他のステップが行われる：ステッ
プ９５６、デバイス・フレームワーク２０６が、データ変更についてのサーバー１０６か
らの通知を受け取る；ステップ９５８、メッセージ・マネージャ３０６が、データ・オブ
ジェクト８００に対して任意の該当するデータ更新を行うようにデータ・マネージャ３１
０に通知する；ステップ９６０、メッセージ・マネージャ３０６はまた、データ変更をマ
ッピング・マネージャ３１２に通知する；ステップ９６２、マッピング ８０４メタデー
タを用いて、データ変更が現在のスクリーンに該当するかどうかを、マッピング・マネー
ジャ３１２が検証する；ステップ９６４、変更が現在表示されている情報に関係していれ
ば、マッピング・マネージャ３１２が、スクリーンをリフレッシュするように、ＵＩマネ
ージャ３０８に要請する；そしてステップ９６６、スクリーンが、更新されたデータ・オ
ブジェクト８００を表示するようにリフレッシュされる。そうでないと、ステップ９６８
では、メッセージ１０５は、ユーザー・インタフェース２０２に表示されるスクリーン・
エレメント８０２の現在値に影響しない。
【００６６】
本明細書での開示は１つまたは複数の例示的なシステムと方法について記述したもので
あるが、この分野に精通した人には、多くの変更が明らかとなるであろうし、そのような
変更は本願の範囲内にある。例えば、ＸＭＬ及びＥＣＭＡＳｃｒｉｐｔのサブセット実施
例で用いられたが、コンポーネント・アプリケーション３０２を定義するためには、他の
言語及び言語変形を用いてもよい。さらに、上述したマッピング８０４に対する代替とし
て、データ・フィールドの定義をスクリーン・コンポーネント４０２（図４参照）に含ま
せてもよいことが分かる。従って、スクリーン・エレメント８０２の生成は、スクリーン
・コンポーネント４０２定義に含まれたデータ・フィールド定義に基づくことになり、そ
してデータ・コンポーネント４００が、データ・フィールド定義を含んだ対応するスクリ
ーン・コンポーネント４０２に対してマップされるであろう。従って、データ・オブジェ
クト８００の生成は、マップされたスクリーン・コンポーネント４０２に含まれたデータ
・フィールド定義に依存するであろう。
【図面の簡単な説明】
【００６７】
【図１】ネットワーク・システムのブロック図である。
【図２】図１のワイヤレス・デバイスのブロック図である。
【図３】図２のデバイスのインテリジェント・フレームワークのブロック図である。
【図４】図２のコンポーネント・アプリケーション・プログラムのブロック図である。
【図５】図４の例示コンポーネント・アプリケーションに対する代表的なアプリケーション・パッケージング及びホステイング・モデルを示している。
【図６】図５のコンポーネント・アプリケーション・プログラムを実行する例示方法を示している。
【図７】図５のコンポーネント・アプリケーション・プログラムを実行する他の例示方法を示している。
【図８】図２のアプリケーションのためのデータとスクリーン・コンポーネントの間のマッピングを示している。
【図９】図８のマッピングに対する初期スクリーン・デイスプレイの動作を示している。
【図１０】図８のマッピングに対するユーザー事象によるデータ・オブジェクトの更新を示している。
【図１１】図８のマッピングに対する非同期メッセージによるデータ・オブジェクトの更新を示している。
【符号の説明】
【００６８】
１０      ネットワーク・システム
１００    ワイヤレス・デバイス
１０２    ワイヤレス・ネットワーク
１０４    広域ネットワーク
１０５    リクエスト／レスポンス・メッセージ
１０６    ウエブ・サービス
１１０    アプリケーション・サービス
【図１】
0005248964.tif 000010
【図２】
0005248964.tif 000011
【図３】
0005248964.tif 000012
【図４】
0005248964.tif 000013
【図５】
0005248964.tif 000014
【図６】
0005248964.tif 000015
【図７】
0005248964.tif 000016
【図８】
0005248964.tif 000017
【図９】
0005248964.tif 000018
【図１０】
0005248964.tif 000019
【図１１】
0005248964.tif 000020