JP5241440B2 - コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法 - Google Patents

コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法 Download PDF

Info

Publication number
JP5241440B2
JP5241440B2 JP2008291566A JP2008291566A JP5241440B2 JP 5241440 B2 JP5241440 B2 JP 5241440B2 JP 2008291566 A JP2008291566 A JP 2008291566A JP 2008291566 A JP2008291566 A JP 2008291566A JP 5241440 B2 JP5241440 B2 JP 5241440B2
Authority
JP
Japan
Prior art keywords
component
message
communication device
mobile communication
application
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
JP2008291566A
Other languages
English (en)
Other versions
JP2009087361A (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.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of JP2009087361A publication Critical patent/JP2009087361A/ja
Application granted granted Critical
Publication of JP5241440B2 publication Critical patent/JP5241440B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/12Application layer protocols, e.g. WAP [Wireless Application Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

本願は、一般に無線通信に関し、特にモバイル通信装置のためのソフトウェアに関する
今日、移動電話、無線通信能力を有するPDA及び2ウェイポケットベルのようなモバ
イル通信装置の使用数は絶えず増加している。これらのモバイル通信装置上で実行される
ソフトウェアアプリケーションのユーティリティも増加している。例えば、携帯電話は、
或る範囲の都市の天気を検索するアプリケーションを含む場合があり、PDAは、ユーザ
が食料雑貨を買うことができるアプリケーションを含み得る。これらのソフトウェアアプ
リケーションは、ユーザがどこにいるかに関わらず、ユーザにタイムリで役立つサービス
を提供するために、これらの装置の可動性及び無線ネットワークへの接続性を有効に利用
する。しかしながら、モバイル通信装置のリソース(例えばメモリ)の制約と、データを
ワイヤレスでモバイル通信装置に配信することの複雑さとにより、モバイル通信装置用の
アプリケーションの開発は、依然として困難であり且つ時間のかかるタスクである。
現在のところ、モバイル通信装置は、インターネットベースのブラウザおよび/または
ネイティブアプリケーションを介してウェブサービスと通信するように構成されている。
ブラウザは、様々な異なる装置に対してクロスプラットフォームで動作するよう構成可能
であるという長所を有するが、ウェブサービスからのページ(HTMLでの画面定義)を
要求する短所も有し、このことは、画面に含まれるデータの持続性を妨げる。ブラウザの
更なる短所は、画面が実行時(ランタイム)に描画されることであり、これはリソース集
約的になり得る。ネイティブアプリケーションは、モバイル装置のタイプを特定して開発
されることにより、各ランタイム環境に対して比較的最適化されたアプリケーションプロ
グラムが提供されるという長所がある。しかしながら、ネイティブアプリケーションはプ
ラットフォーム非依存ではないので、同じアプリケーションの複数バージョンの開発を必
要とすると共に、比較的サイズが大きいので、モバイル装置のメモリリソースに負担を課
すという短所を有する。広範囲のランタイム環境を有するウェブサービスクライアント上
で実行可能であると共に、モバイル装置のリソースの消費が低減されたアプリケーション
プログラムが必要である。
本願明細書において開示されるシステム及び方法は、上述した短所を少なくとも部分的
に解消または緩和する、コンポーネントベースのアプリケーション環境を提供する。
現在のアプリケーションプログラムは、広範囲のランタイム環境を有するクライアント
上で実行されるようには構成できず、モバイル装置のリソースを望ましくないほど多く消
費し得る。ブラウザは、ウェブサービスからのページ(HTMLでの画面定義)を要求す
る短所を有するアプリケーションプログラムであり、このことは画面に含まれるデータの
持続性を妨げる。ブラウザの更なる短所は、画面が実行時に描画されることであり、これ
はリソース集約的になり得る。ネイティブアプリケーションは、現在のアプリケーション
プログラムの更なる例であるが、プラットフォーム非依存ではないので、同じアプリケー
ションの複数バージョンの開発を必要とすると共に、比較的サイズが大きいので、モバイ
ル装置のメモリリソースに負担を課すという短所を有する。
現在のアプリケーションプログラムとは対照的な、無線コンポーネントアプリケーショ
ンを作成して同アプリケーションと通信するシステムが提供される。このシステムは、無
線ネットワーク、インターネットおよび/または必要に応じてメッセージマップサービス
を介してウェブサービスと通信するモバイル通信装置を含む。各無線コンポーネントアプ
リケーションは、構造化定義言語で表現される一連のコンポーネント及び1セットの命令
を有し、これらは、モバイル通信装置の1つの上でコンポーネントフレームワークにより
実行される。このコンポーネントは、1つ以上のデータコンポーネント、プレゼンテーシ
ョンコンポーネント、メッセージコンポーネントおよび/またはワークフローコンポーネ
ントを含むことができる。コンポーネントフレームワークは、アプリケーションコンテナ
内のコンポーネントアプリケーションを実行する。アプリケーションコンテナは、通信サ
ービス、画面サービス、持続性サービス、アクセスサービス、プロビジョニングサービス
及びユーティリティサービスの1つ以上を含む一般的なフレームワークサービスへのアク
セスを提供する。メッセージを、コンポーネントアプリケーションからメッセージマップ
サービスに送ることができ、メッセージマップサービスは、アプリケーションメッセージ
マップを用いて、このメッセージをウェブサービスによって要求されるフォーマットに変
換し、このメッセージをウェブサービスに送信する。このメッセージに対する応答は、メ
ッセージマップサービスに送信され、コンポーネントアプリケーションが要求するフォー
マットに変換され、コンポーネントアプリケーションに送信されることが可能である。
更に、この無線コンポーネントアプリケーションを作成して同アプリケーションと通信
するシステムは、無線コンポーネントアプリケーションを配備して同アプリケーションと
通信する方法も提供する。この方法は、モバイル通信装置に無線コンポーネントアプリケ
ーションを配備するステップと、メッセージマップサービスにメッセージマップを配備す
るステップとを含む。この方法は、ある例においては、メッセージマップサービスにメッ
セージを送信するステップを更に含むことができ、メッセージマップサービスはメッセー
ジマップを用いて、メッセージをウェブサービスが要求するフォーマットに変換してから
、このメッセージをウェブサービスに送信する。この方法は、ウェブサービスからの応答
をメッセージマップサービスに送信するステップを更に含むことができ、メッセージマッ
プサービスは、メッセージを無線コンポーネントアプリケーションが要求するフォーマッ
トに変換して、このメッセージを無線コンポーネントアプリケーションに送信する。
本願では、ネットワークを介してサーバから受信したコンポーネントアプリケーション
プログラムの実行可能バージョンを供給するよう構成されたモバイル通信装置が提供され
る。このプログラムは、構造化定義言語で表現されたメタデータ記述子を含む複数のコン
ポーネントを有する。このモバイル装置は、実行可能バージョンを実行するためのインフ
ラ手段と、インフラ手段に接続され、装置のユーザによる実行可能バージョンとの通信の
ために構成されるインターフェイス手段と、インフラ手段に接続され、ネットワークと通
信するよう構成される通信手段と、インフラ手段に対して実行可能バージョンをインター
フェイスすると共に、実行可能バージョンにクライアントランタイム環境を提供するよう
構成されるフレームワーク手段と、を含む。
本願では、更に、モバイル通信装置上にコンポーネントアプリケーションプログラムの
実行可能バージョンに供給するためのコンピュータプログラム製品が提供される。このプ
ログラムは構造化定義言語で表現されたメタデータ記述子を含む複数のコンポーネントを
有する。このコンピュータプログラム製品は、コンピュータ読み取り可能媒体と、プロセ
ッサ及び関連メモリを含む装置インフラに対して実行可能バージョンをインターフェイス
するためにコンピュータ読み取り可能媒体に格納されたコンポーネントフレームワークモ
ジュールと、メタデータ記述子から実行可能バージョンを生成すると共に、得られた実行
可能バージョンのためのクライアントランタイム環境をホスティングするための、コンポ
ーネントフレームワークモジュールに接続されるアプリケーションコンテナモジュールと
、を含む。
本願では、更に、モバイル通信装置上にコンポーネントアプリケーションプログラムの
実行可能バージョンを供給する方法が提供される。この方法は、構造化定義言語で表現さ
れたメタデータ記述子を含みコンポーネントアプリケーションプログラムを表す複数のコ
ンポーネントを、サーバからネットワークを介して受信するステップと、装置のアプリケ
ーションコンテナであってプログラムのためのクライアントランタイム環境をホスティン
グするためのアプリケーションコンテナ内に、メタデータ記述子をロードするステップと
、メタデータ記述子から、装置のクライアントランタイム環境で実行される実行可能バー
ジョンを生成するステップと、を含む。
本願では、更に、ネットワークを介してサーバから受信したコンポーネントアプリケー
ションプログラムの実行可能バージョンを供給するよう構成されたモバイル通信装置が提
供される。このプログラムは構造化定義言語で表現されたメタデータ記述子を含む複数の
コンポーネントを有する。このモバイル装置は、モバイル装置を動作させるための装置イ
ンフラであって、実行可能バージョンを実行するためのプロセッサ及び関連メモリを含む
装置インフラと、実行可能バージョンと通信するよう構成された入力装置及び出力装置を
有し、装置インフラと接続されるユーザーインターフェイスと、装置インフラに接続され
、ネットワークと通信するために無線トランシーバに接続するよう構成される通信装置と
、装置インフラに対して実行可能バージョンをインターフェイスすると共に、実行可能バ
ージョンにクライアントランタイム環境を提供するよう構成されるコンポーネントフレー
ムワークと、を含む。
上記及び他の特徴は、添付の図面を参照した以下の詳細な説明において、より一層明ら
かとなる。
図1を参照すると、通信システム10は、接続された無線ネットワーク102及びイン
ターネット104を介してウェブサーバ106により提供される1つ以上のウェブサービ
スと対話するための、モバイル通信装置100を含む。モバイル装置100はそれぞれ、
ウェブサーバ106のウェブサービスとの通信中に、要求/応答メッセージ105を送受
信する。モバイル装置100は、メッセージヘッダ情報及び関連データコンテンツ(例え
ば、オンライン販売業者からの製品価格及び入手可能性の要求及び受信)の形態の要求/
応答メッセージ105を用いることにより、ウェブサービスのウェブクライアントとして
動作する。ウェブサーバ106は、適切な要求/応答メッセージ105を満足させるため
に、モバイル装置100のクライアントアプリケーションプログラム302(図2参照)
に対して該当するビジネスロジック(メソッド)を提示するための様々なプロトコル(例
えば、HTTP及びコンポーネントAPIであるがこれらに限定されない)を介して、ア
プリケーションサーバ110と通信する。モバイル装置100のアプリケーションプログ
ラム302は、或るオブジェクト(または機能)に対するメソッドを呼び出すのと同様に
して、アプリケーションサーバ110のビジネスロジックを用いることができる。なお、
モバイル装置100は、無線ネットワーク102を介して、1つ以上のウェブサーバ10
6及び関連のアプリケーションサーバ110と通信できる。また、必要に応じて、モバイ
ル装置100は、アプリケーションサーバ110に直接接続されることにより、ウェブサ
ーバ106を迂回してもよい。
図2を参照すると、モバイル通信装置100は、移動電話、PDA、2ウェイポケット
ベルまたはデュアルモード通信装置(図9参照)等であるがこれらに限定されない装置で
ある。モバイル装置100は、接続218を介して装置インフラ204に接続された無線
トランシーバ200を含む。モバイル装置100の動作中、無線トランシーバ200は、
適切な無線チャネル(例えばRFまたはIRリンク)によって、無線ネットワーク102
に接続可能であり、これにより、モバイル装置100どうしで、及び無線ネットワーク1
02を介して外部システム(例えばウェブサーバ106)と通信可能になると共に、クラ
イアントアプリケーションプログラム302とサーバ106、110(図1参照)との間
の要求/応答メッセージ105を調整可能になる。無線ネットワーク102は、装置と無
線ネットワーク102に接続された外部システムとの間での要求/応答メッセージ105
内のデータの伝送をサポートする。無線ネットワーク102は、モバイル通信装置100
と無線ネットワーク102の外部にある装置との間での電話の音声通信をサポートしても
よい。無線ネットワーク102は、例えばDataTAC、GPRSまたはCDMA等で
あるがこれらに限定されない無線データ伝送プロトコルを用いることが可能である。
再度図2を参照すると、モバイル装置100は、ユーザ(図示せず)と対話するために
、接続222によって装置インフラ204に接続されたユーザーインターフェイス202
も有する。ユーザーインターフェイス202は、例えばQWERTYキーボード、キーパ
ッド、トラックホイール、スタイラス等であるがこれらに限定されない1つ以上のユーザ
入力装置と、例えばLCD画面ディスプレイ等のユーザ出力装置とを含む。画面がタッチ
センシティブである場合には、ディスプレイを、装置インフラ204により制御されるユ
ーザ入力装置として用いることも可能である。モバイル装置100のユーザは、ユーザー
インターフェイス202を用いて、更に後述するコンポーネントフレームワーク206の
クライアントアプリケーションプログラム302によって用いられるシステム10(図1
参照)を介した要求/応答メッセージメッセージ105を調整する。
再度図2を参照すると、モバイル通信装置100の動作は、装置インフラ204によっ
て可能にされる。装置インフラ204は、コンピュータプロセッサ208と、関連するメ
モリーモジュール210とを含む。コンピュータプロセッサ208は、関連の命令を実行
することによって、無線トランシーバ200、ユーザーインターフェイス202及びモバ
イル通信装置100のコンポーネントフレームワーク206の動作を操作する。関連の命
令は、メモリーモジュール210内に位置するオペレーティングシステム及びクライアン
トアプリケーションプログラム302により供給される。なお、装置インフラ204は、
プロセッサに命令を提供するため、および/またはメモリーモジュール210にクライア
ントアプリケーションプログラム302をロード/更新するための、プロセッサ208に
接続されたコンピュータ読み取り可能記憶媒体212を含むことができる。コンピュータ
読み取り可能媒体212は、例えば、磁気ディスク、磁気テープ、光学的に読み込み可能
な媒体(例えばCD−ROMやDVD−ROM)及びメモリーカード等といった、ハード
ウェアおよび/またはソフトウェアを含むことができる。いずれの場合においても、コン
ピュータ読み取り可能媒体212は、小型ディスク、フロッピー(登録商標)ディスケッ
ト、カセット、ハードディスクドライブ、固体メモリーカードまたはメモリーモジュール
210内に配設されるRAMの形態をとってもよい。なお、上述の例のコンピュータ読み
取り可能媒体212は、単独でまたは組み合わせて用いられ得る。
再度図2を参照すると、モバイル装置100のコンポーネントフレームワーク206は
、接続220によって装置インフラ204に接続される。コンポーネントフレームワーク
206は、クライアントアプリケーションプログラム302にネイティブランタイム環境
を提供すると共に、プロセッサ208のモバイル装置100の機能性及び装置インフラ2
04の関連オペレーティングシステムに対するインターフェイスである。コンポーネント
フレームワーク206は、モバイル装置100上における制御され安全且つ安定した環境
を好ましく供給するランタイム環境を提供し、そのランタイム環境において、アプリケー
ションコンテナ300内のコンポーネントアプリケーションプログラム302が実行され
る。アプリケーションコンテナ300は、クライアントアプリケーションプログラム30
2のためのスマートなホストコンテナと呼ぶことができ、(例えばメッセージ105(図
1参照)の)メッセージメタデータを解析する役割及びメモリーモジュール210内のメ
タデータの表現を更新する役割を果たすことできる。
コンポーネントフレームワーク206は、クライアントアプリケーションプログラム3
02に、フレームワークサービス304(通信、画面、データ持続性、セキュリティ等で
あるがこれらに限定されない一般的なサービスの標準セット)も提供する。アプリケーシ
ョンプログラム302は、アプリケーションコンテナ300との通信214を有し、通信
214は、フレームワークサービス304との通信216を調整する。コンポーネントフ
レームワーク206のフレームワークサービス304は、接続220を介した装置インフ
ラ204との通信を調整する。従って、装置インフラ204、ユーザーインターフェイス
202及び無線トランシーバ200へのアクセスは、コンポーネントフレームワーク20
6によって、クライアントアプリケーションプログラム302に提供される。更に、アプ
リケーションコンテナ300は、クライアントアプリケーションプログラム302への及
びクライアントアプリケーションプログラム302からの、コンポーネントフレームワー
ク206の通信214、216の全てのアクセスを制御及び検証できるので、クライアン
トアプリケーションプログラム302は、適切なウイルス抵抗性を有することが可能であ
る。なお、装置インフラ204(図2参照)のオペレーティングシステムの一部は、アプ
リケーションコンテナ300を表すことができる。
再度図2を参照すると、コンポーネントフレームワーク206のクライアントランタイ
ム環境は、メタデータ定義から(コンポーネントアプリケーション(下記参照)の形態の
)クライアントアプリケーションプログラム302を生成し、ホスティングして実行でき
るのが好ましい。更に、コンポーネントフレームワーク206の具体的な機能としては、
言語のサポート、メモリアロケーションの調整、ネットワーキング、入出力動作中のデー
タの管理、装置インフラ204を介したユーザーインターフェイス202の出力装置上の
グラフィックスの調整、コアオブジェクト指向クラス及びそれをサポートするファイル/
ライブラリへのアクセスの提供を含み得る。コンポーネントフレームワーク206により
実現されるランタイム環境の例は、マイクロソフト(Microsoft) による共通言語ランタ
イム(Common Language Runtime:CLR)及びサン・マイクロシステムズ(Sun Microsy
stems)によるJava(登録商標)ランタイム環境(Java(登録商標) Runtime Enviro
nment:JRE)等を含み得るが、これらに限定されない。コンポーネントフレームワー
ク206のランタイム環境は、モバイル装置100上のクライアントアプリケーションプ
ログラム302の基本機能をサポートする。基本機能の例としては、ウェブサーバ106
(図1参照)のウェブサービスにメッセージ105を送信するための通信機能の提供、ウ
ェブサーバ106(図1参照)のウェブサービスの出力メッセージ105(サービスに対
するメッセージ)にデータパーツを供給するためのユーザによる入力装置上でのデータ入
力機能の提供、ウェブサービスの応答(受信メッセージ)またはウェブサーバ106(図
1参照)の無相関の通知のための出力装置上でのデータプレゼンテーションまたは出力機
能の提供、メモリーモジュール210内のローカルクライアントデータを維持するための
データ格納サービスの提供、及び、クライアントアプリケーションプログラム302のア
プリケーションコンポーネント408(図3参照)の動作を調整するためのスクリプト言
語の実行環境の提供が含まれるが、これらに限定されない。
従って、図2を参照すると、コンポーネントフレームワーク206は、ランタイム環境
でクライアントアプリケーションプログラム302(ウェブサービスクライアントアプリ
ケーション)を実行すると共に、要求/応答メッセージ105を介した、ウェブサーバ1
06のウェブサービスオペレーション及び関連のアプリケーションサーバ110(図1参
照)へのアクセスをサポートするために使用される。コンポーネントアプリケーションプ
ログラム302は、コンポーネントフレームワーク206により実行されるソフトウェア
アプリケーションを含む。コンポーネントフレームワーク206は、コンポーネントアプ
リケーションプログラム302が実行される度に、アプリケーションプログラム302の
各コンポーネント(例えば400、402、404、406(図3参照))のためのアプ
リケーションコンテナ300を作成する。アプリケーションコンテナ300は、アプリケ
ーションプログラム302のコンポーネント(例えば400、402、404、406)
をロードして、装置インフラ204内のプロセッサ208により実行されるネイティブコ
ードを作成できる。従って、コンポーネントフレームワーク206は、通信装置100の
各装置インフラ204に特定された実際のウェブクライアントを作成するために、400
、402、404、406等のコンポーネントの定義を供給するための、ホストアプリケ
ーションコンテナ300を提供する。
図3を参照すると、コンポーネントアプリケーションプログラム302のブロック図は
、データコンポーネント400、プレゼンテーションコンポーネント402および/また
はメッセージコンポーネント404を含むことができ、これらは、アプリケーションコン
テナ300との通信214を介してワークフローコンポーネント406によって調整され
る。
データコンポーネント400は、コンポーネントアプリケーションプログラム302に
よって用いられるデータ実体を定義する。データコンポーネント400が記述し得るデー
タ実体の例は、注文、ユーザ及び金融取引である。データコンポーネント400は、デー
タ実体を記述するためにどの情報が必要であるか、及び、情報がどのフォーマットで表現
されるかを定義する。例えば、データコンポーネント400は、数としてフォーマットさ
れる注文の固有識別子で構成される注文、文字列としてフォーマットされる項目リスト、
日付−時間フォーマットを有する注文作成時間、文字列としてフォーマットされる注文ス
テータス、別のデータコンポーネント400の定義に従ってフォーマットされる発注ユー
ザを定義してもよいが、これらに限定されない。
メッセージコンポーネント404は、外部システム(例えばウェブサービス106)と
通信するためにコンポーネントアプリケーションプログラム302によって用いられるメ
ッセージのフォーマットを定義する。例えば、メッセージコンポーネント404の1つは
、その注文の固有識別子、その注文のステータス、及びその注文と関連する注記等を含む
発注用メッセージを記述し得るが、これらに限定されない。
プレゼンテーションコンポーネント402は、ユーザーインターフェイス202によっ
て表示されるコンポーネントアプリケーションプログラム302の外観及び挙動を定義す
る。プレゼンテーションコンポーネント402は、GUIの画面及び制御部(コントロー
ル)、並びに、ユーザがユーザーインターフェイス202を用いてコンポーネントアプリ
ケーション302と対話した際に実行されるアクションを指定できる。例えば、プレゼン
テーションコンポーネント402は、画面、ラベル、編集ボックス、ボタン及びメニュー
、並びに、ユーザが編集ボックス内に文字を入力した際またはボタンを押した際に生じる
アクションを定義してもよい。
コンポーネントアプリケーションプログラム302のワークフローコンポーネント40
6は、アクション(例えば、上述のプレゼンテーションコンポーネント402によって指
定されるアクション、またはシステム10からのメッセージ105(図1参照)が届いた
際に実行されるアクション)が実行される際に生じる処理を定義する。画面ワークフロー
及びメッセージ処理は、ワークフローコンポーネント406により定義される。ワークフ
ローコンポーネント406は、ECMAScript等であるがこれに限定されないプロ
グラミング言語またはスクリプト言語で書かれ、上述のようにネイティブコードにコンパ
イルされてアプリケーションコンテナ300によって実行されることができる。ワークフ
ローコンポーネント406の例としては、データに値を割り当てるもの、画面を操作する
もの、または、メッセージを送信するものが挙げられる。
なお、上述のクライアントコンポーネントアプリケーションプログラム302定義のホ
スティングモデルにおいては、プレゼンテーションコンポーネント402(図3参照)は
、モバイル装置100(図1参照)のクライアントプラットフォーム及び環境によって変
わり得る。例えば、ウェブサービスの消費者が、視覚的なプレゼンテーションを要求しな
い場合もある。コンポーネントアプリケーションプログラム302のコンポーネント40
0、402、404、406のアプリケーション定義は、プラットフォームニュートラル
(中立)なデータコンポーネント400、メッセージコンポーネント404、ワークフロ
ーコンポーネント406の記述子と、様々な予め定義されたクライアントランタイム(即
ち、特定のコンポーネントフレームワーク206)用の1セットのプラットフォームを特
定したプレゼンテーションコンポーネント402記述子とのバンドルとして、ウェブサー
ビスレジストリ内でホスティングされることが可能である。発見または配備要求メッセー
ジ105(図1参照)が発行される際には、この要求メッセージ105の一部としてクラ
イアントタイプが特定されるべきである。通信装置100の複数の異なるクライアントプ
ラットフォーム用のコンポーネントアプリケーションプログラム302をパッケージング
する際に、データ、メッセージ及びワークフローメタデータを複製しないために、アプリ
ケーション定義を、複数の異なるセットのプレゼンテーションコンポーネント402とリ
ンクされたプラットフォームニュートラルなコンポーネント定義のバンドルとして、(例
えば)アプリケーションサーバ110にホスティングすることができる。ユーザが発見ま
たはダウンロード要求メッセージ105を発すると、通信装置100のクライアントラン
タイムのタイプが確認され、ウェブサーバ106によって無線ネットワーク102を介し
て装置100に配信するための適切なバンドルが構成される。場合によっては、ワークフ
ローコンポーネント406は、プラットフォームを特定した表現で管理及び配備されても
よく、この場合、特定のプラットフォームの既知の処理能力を活用し、特定のプラットフ
ォームに対して、より効率的なおよび/または強化されたコンポーネントアプリケーショ
ンプログラム302を提供できる。
従って、図3を参照すると、クライアントアプリケーションプログラム302は、1セ
ットのプラットフォームニュートラルなコンポーネント定義(すなわちXML(または他
の任意の適切な構造化定義言語)を用いたデータコンポーネント400及びメッセージコ
ンポーネント404、並びにプレゼンテーションコンポーネント402に対する定義)と
して定義可能である。ワークフローコンポーネント406は、ECMAScript(ま
たは他の任意の適切なプラットフォームニュートラルなスクリプト言語)を用いて定義可
能である。コンポーネントアプリケーションプログラム302のコンポーネント400,
402、404、406が通信装置100に供給されると、コンポーネントフレームワー
ク206(図2参照)のクライアントランタイム環境は、メタ定義に基づいてコンポーネ
ントテンプレートを生成できる(更に後述する)。広範囲のランタイム環境では、コンポ
ーネントアプリケーションプログラム302を予め構築しておく代わりに、XMLやEC
MAScript等のようなクロスプラットフォーム標準を用いてアプリケーションコン
ポーネントメタデータを定義する。この遅延させた構築(delayed binding)により、様
々な異なる通信装置100によって表される広範囲のシステム環境で、コンポーネントア
プリケーションプログラム302の汎用アプリケーション定義を実行することが可能にな
る。
XMLまたはその派生語を用いてデータコンポーネント400、メッセージコンポーネ
ント404、及びプレゼンテーションコンポーネント402を表現することと、ECMA
Script言語またはそのサブセットを用いてワークフローコンポーネント406を表
現することとにより、アプリケーション開発者が、ウェブサービスクライアントをどの特
定のプラットフォームや環境からも分離して、原則的に「一旦開発すれば至る所で実行で
きる」アプリケーションを実現することができる。以下の例は、XML等であるがこれに
限定されない構造化定義言語と、ECMAScript等であるがこれに限定されないプ
ラットフォームニュートラルなスクリプト/プログラミング言語とによって定義されたコ
ンポーネントを用いて、ウェブサービスクライアントアプリケーションプログラム302
がどのように表現され得るかを示している。
XMLによるデータコンポーネント400の例
Figure 0005241440
XMLによるメッセージコンポーネント404の例
Figure 0005241440
XMLによるプレゼンテーションコンポーネント402の例
Figure 0005241440
ECMAScriptによるワークフローコンポーネント406の例
Figure 0005241440
図4を参照すると、上述のアプリケーションプログラム302のコンポーネント400
、402、404、406は、一旦通信装置100に供給されると、コンポーネントフレ
ームワーク206のアプリケーションコンテナ300によって、フレームワークサービス
304の所定のセットへのアクセスが与えられる。フレームワークサービス304は、通
信サービス306、画面サービス308、持続性サービス310、アクセスサービス31
2、プロビジョニングサービス314及びユーティリティサービス316等を含むがこれ
らに限定されない。
図1及び図4を参照すると、通信サービス306は、コンポーネントアプリケーション
プログラム302と外部システム10(例えばウェブサービス106)との間の接続性を
管理する。例えば、コンポーネントアプリケーション302の代理として通信サービス3
06によって、ウェブサービス106にメッセージ105が送信される。また、通信サー
ビス306は、ウェブサービス106からのメッセージ105のデータを受信し、そのデ
ータをコンポーネントアプリケーション302に配信する。通信サービス306によって
受信されるデータは、コンポーネントアプリケーションプログラム302が行った要求に
対する同期応答と、ウェブサービス106によってモバイル通信装置100にプッシュさ
れる非同期データとを含み得る。通信サービス306は、モバイル通信装置100が無線
ネットワーク102から切断される際の接続性も管理する。モバイル通信装置100が無
線ネットワーク102によってカバーされない領域にあるとき、または無線トランシーバ
が使用不能であるときに、モバイル通信装置100は無線ネットワークから切断される。
モバイル通信装置100が切断モードにあるときには、コンポーネントアプリケーション
302によって送信されたメッセージは通信サービス306によってキューに入れられ、
モバイル通信装置100が無線ネットワーク102に再接続したときに、そのメッセージ
を送信することができる。
再度図1及び図4を参照すると、画面サービス308は、ユーザーインターフェイス2
02(図2参照)の出力装置に表示されるコンポーネントアプリケーションプログラム3
02の視覚的表現を管理する。視覚的表現は、画像、グラフィカルユーザーインターフェ
イス(GUI)制御部及びウインドウ、並びにテキストを含み得る。画面サービス308
は、装置インフラ204の出力装置上でユーザが見るものを制御する画面スタックを管理
する。
再度図1及び図4を参照すると、持続性サービス310は、コンポーネントアプリケー
ションプログラム302が装置インフラ204のメモリーモジュール210(図2参照)
にデータを格納できるようにする。持続性サービス310によって、コンポーネントアプ
リケーションプログラム302にデータベース操作が透過的に提供される。更に、コンポ
ーネントフレームワーク206のランタイム環境は、メッセージ105のメタデータ(す
なわちXMLデータ)コンテンツに対して実行されるアクションを容易にし、それによっ
てデータの持続性を提供する。
再度図1及び図4を参照すると、アクセスサービス312は、コンポーネントアプリケ
ーションプログラム302に、モバイル通信装置100上に存在する他のソフトウェアア
プリケーションへのアクセスを提供する。例えば、アクセスサービス312は、コンポー
ネントアプリケーションプログラム302に、電子メールを送信するためのソフトウェア
アプリケーション、電話をするためのソフトウェアアプリケーション、またはメモリーモ
ジュール210(図2参照)に格納されている連絡先情報にアクセスするためのソフトウ
ェアアプリケーション(これらに限定されない)へのアクセスを可能にしてもよい。通信
装置100上の他のソフトウェアアプリケーションへのアクセスは、安全な方法で提供可
能である。アクセスサービス312は、モバイル通信装置100上に存在する他のソフト
ウェアアプリケーションがコンポーネントアプリケーションプログラム302にアクセス
することも可能にする。なお、他のソフトウェアプログラムは、装置インフラ204(図
2参照)のオペレーティングシステムの一部であってもよい。
再度図1及び図4を参照すると、プロビジョニングサービス314は、モバイル通信装
置100上のソフトウェアアプリケーションのプロビジョニング(供給)を管理する。ア
プリケーションプロビジョニングは、新たな及び更新されたコンポーネントアプリケーシ
ョンプログラム302を要求して受信することと、無線ネットワーク102を介してアク
セス可能なサービスにアクセスするようコンポーネントアプリケーションプログラム30
2を構成することと、コンポーネントアプリケーションプログラム302及びサービスの
構成を修正することと、コンポーネントアプリケーションプログラム302及びサービス
を削除することとを含む。プロビジョニングサービス314は、コンポーネントアプリケ
ーションプログラム302の代理としてソフトウェアアプリケーションをプロビジョニン
グするために必要なステップを実行する。
再度図1及び図4を参照すると、コンポーネントアプリケーションプログラム302は
、ユーティリティサービス316を用いて、各種の一般的なタスクを達成する。例えば、
ユーティリティサービス316は、例えば、コンポーネントアプリケーションプログラム
302の代理として、文字列を異なるフォーマットに変換する等といったデータ操作を実
行できる。
なお、通信装置100のフレームワークサービス304は、コンポーネントアプリケー
ションプログラム302に、上述したサービスを含む機能性を提供する。その結果、コン
ポーネントアプリケーションプログラム302は、通信装置100の機能性を実装する必
要なしに、通信装置100の機能性へのアクセスを有する。フレームワークサービス30
4によって提供される機能性は、典型的な無線アプリケーションの大半に存在する中心的
な機能性であるので、現在利用できるハードコード化された各無線アプリケーションは、
望ましくないことに、上述のサービスの一部又は全てを実装するためのコードを含む。例
えば、典型的なモバイル装置上に10個のハードコード化された無線アプリケーションが
ある場合には、現在の公知の技術では、GUIの表示や無線ネットワークへのアクセス等
といったサービスを実装するための同じコードのコピーが10個あり得ることになる。
一方、モバイル通信装置100(図2参照)のコンポーネントフレームワーク206は
、存在するコンポーネントアプリケーションプログラム302の数に関係なく、フレーム
ワークサービス304内に存在するこれらのサービスを実装するコードのコピーを1つだ
け有するので好ましい。フレームワークサービス304のコードの複製が最小限になるの
で、現在利用できるハードコード化されたアプリケーションと比較して、コンポーネント
アプリケーションプログラム302のサイズを低減できる。このように、コンポーネント
アプリケーションプログラム302が消費するメモリを低減できると共に、無線ネットワ
ーク102を介した送信に要する時間を低減できる。これにより、一般的にメモリ及び処
理能力に関する制約を受けるモバイル通信装置100上で用いられるようにコンポーネン
トアプリケーションプログラム302を最適化できる。更に、ソフトウェアアプリケーシ
ョン開発者は、コンポーネントフレームワーク206のフレームワークサービス304に
より提供される任意の機能性を実装するために時間及び労力を費やす必要がない。
コンポーネントフレームワーク206のクライアントランタイムは、コンポーネント4
00、402、404、406の定義に含まれるメタデータをロードし、アプリケーショ
ンコンテナ300を介して、通信装置100上で実行可能な、アプリケーションプログラ
ム302の実行可能バージョンを構築する。例えば、クライアントランタイムに対する2
つの動作モデル、即ち、テンプレートベースのネイティブ実行及びメタデータベースの実
行がある。テンプレートベースのネイティブ実行モデルでは、ランタイムは、ネイティブ
コードを用いて通信装置100上に予め構築されたデータ、メッセージ及び画面のテンプ
レートをホスティングする。アプリケーションプログラム302定義がロードされると、
コンポーネントフレームワーク206により提供されるクライアント環境は、テンプレー
トにメタデータで定義されたパラメータを埋め、実行可能なクライアントアプリケーショ
ンプログラム302をネイティブフォーマットで構築する。ワークフローコンポーネント
406のワークフロースクリプト(例えば、ECMAScript)は、ネイティブコー
ドに変換されてもよく、または、ネイティブコードリダイレクタに対するインタプリタ(
例えば、ネイティブコードに対するECMAScript)を用いて実行されてもよい。
この場合、リダイレクタは、スクリプト言語に対する呼び出しを、ネイティブコンポーネ
ントに対する操作に翻訳する。メタデータベースの実行では、コンポーネントフレームワ
ーク206のランタイム環境は、コンポーネント400、402、404、406定義を
XML等の表現フォーマットに保ち、これを実行時に構文解析するか、または、(例えば
)XMLノードのネイティブ表現を用いる。実行中、ネイティブランタイムエンジンは、
ネイティブコンポーネント実体ではなく、コンポーネント400、402,404、40
6定義を操作する。なお、テンプレートベースの手法は、メタデータベースの実行よりも
性能効率が高くなり得るが、より複雑な実行環境及びより多くのメモリリソースを必要と
し得る。
各コンポーネントアプリケーション302がモバイル通信装置100にロードされる前
に、ワークフローコンポーネント406をネイティブコードまたは中間形式(例えばJa
va(登録商標)バイトコード)にコンパイルできる。この中間形式は、次にモバイル通
信装置100上でネイティブコードに変換される。ワークフローコンポーネント406が
モバイル通信装置100にロードされる前に、ワークフローコンポーネント406をコン
パイルすることは、ワークフローコンポーネント406を構成するコードがモバイル通信
装置100上で1つのレベルで翻訳されるだけでよいことを確実にする一助となる。或い
はまた、ワークフローコンポーネント406は、翻訳された言語で記述されたコードとし
てモバイル通信装置100にロードされてもよく、このコードは、ネイティブコードへの
変換前に、モバイル通信装置100上のインタプリタにより処理される。或いは、ワーク
フローコンポーネント406は、任意のコンパイルされたまたは翻訳された言語で記述さ
れるコードで構成されてもよい。
上述したフレームワークサービス304へのアクセスを有すると共に、ユーザにユーテ
ィリティを提供するためにモバイル環境で動作する利点を利用する、コンポーネントアプ
リケーション302を作成するために、アプリケーション開発者は、上述のようなコンポ
ーネントを作成できる。データコンポーネント400、プレゼンテーションコンポーネン
ト402及びメッセージコンポーネント404のためのXML(eXtensible Markup Lang
uage)、及びワークフローコンポーネント406のためのECMAScriptを含む、
標準的な技術を用いることが可能である。そして、これらのコンポーネントは、アプリケ
ーションコンテナ300内で、コンポーネントフレームワーク206によって実行される
。コンポーネントフレームワーク206は、上述したフレームワークサービス304を用
いて、ワークフローコンポーネント406を実行すると共にプレゼンテーションコンポー
ネント402、データコンポーネント400及びメッセージコンポーネント404を翻訳
する。このアプリケーション開発モデルは、アプリケーションプログラマに要求される専
門知識を最小限にすると共にモバイル通信装置100用のソフトウェアアプリケーション
の作成に要する時間を最小限にするのに有用である。更に、一旦コンポーネントが作成さ
れれば、それらを多数のコンポーネントアプリケーション302で再利用でき、開発が更
に容易になる。
図1及び図5を参照すると、コンポーネントアプリケーションプログラム302モデル
の動作800が示されている。モバイル装置100のユーザは、ウェブサービスと交信し
、次に802で、ネットワーク102を介して要求メッセージ105を送信することによ
り、ウェブサービスから選択したアプリケーションプログラム302を要求する。適切な
ウェブサーバ106が、要求メッセージ105を適切なアプリケーションサーバ110に
送り、次に804で、応答メッセージ105において1セットのコンポーネント定義をネ
ットワーク102を介してモバイル装置100に送信する。応答メッセージ105は、X
ML等であるがこれに限定されない構造化定義言語で表現されたメタデータ記述子を含む
一連のデータコンポーネント400、メッセージコンポーネント404及びプレゼンテー
ションコンポーネント402(図3参照)の形態のコンポーネントアプリケーションプロ
グラム302を含む。応答メッセージ105は、ECMAScript等であるがこれに
限定されないプログラミング/スクリプト言語で表現された記述子を含むワークフローコ
ンポーネント406も含む。806で、モバイル装置100は、コンポーネントフレーム
ワーク206(図2参照)を介して、アプリケーションプログラム302にランタイム環
境を提供し、これにより、808で、実行モデルを用いて、交信したウェブサービスに対
応するウェブクライアントをモバイル装置100上に作成し、アプリケーションプログラ
ム302のコンポーネント400、402、404、406の定義を供給する。供給され
たアプリケーションプログラム302は、フレームワークサービス304(図2参照)を
用いて、ネットワーク102を介したメッセージ105によるモバイル装置100のアク
セスを調整する。モバイル装置100のユーザは、ユーザーインターフェイス202を介
して、供給されたアプリケーションプログラム302と対話する。
図示しない統合開発環境(IDE)を用いてコンポーネントアプリケーション302を
視覚的に作成できるので、上述したコンポーネントアプリケーションモデルは、無線アプ
リケーションの開発を更に容易にする。IDEは、アプリケーション開発者が、コンポー
ネントの視覚的表現を開発者に提示するGUIを用いて、上述のコンポーネントを迅速に
作成できるようにするソフトウェアアプリケーションである。プレゼンテーションコンポ
ーネント402、データコンポーネント400及びメッセージコンポーネント404は、
ツリー表示で示される。開発者は、コンポーネントをドラッグ・アンド・ドロップして、
それらをコンポーネントアプリケーション302に加える。プレゼンテーションコンポー
ネント402を表すアイコンをクリックすると、プレゼンテーションコンポーネント40
2を設計するためのエディタが開かれる。プレゼンテーションコンポーネント402間の
リンクは視覚的に表され、それらのリンクをクリックして、画面ワークフローを定義する
ワークフローコンポーネント406を編集する。プレゼンテーションコンポーネント40
2は、コンポーネントアプリケーション302が実行されるモバイル通信装置100の表
現を含むインターフェイスを用いて設計される。メニュー項目が表されており、それらを
クリックすることにより、それらのメニュー項目の選択時に実行されるワークフローコン
ポーネント406が定義される。メッセージコンポーネント404は、データコンポーネ
ント400に視覚的にマップできる。メッセージコンポーネント404を、ウェブサービ
ス106メッセージと視覚的に関連付けることもでき、メッセージコンポーネント404
は、WSDL等で定義されたウェブサービス106メッセージに基づいて作成可能である
図6及び図7を参照すると、システム10の更なる例は、メッセージマップサービス1
08を用いたメッセージ通信システムを含む。また、ウェブサーバ106上のウェブサー
ビス、通信サービス306、コンポーネントフレームワーク206及びモバイル通信装置
100も示されている。説明を簡単にするため、その他の要素は図示しない。
無線ネットワーク102はインターネット104に接続され、モバイル通信装置100
が、インターネット104に接続されたシステムへの/からのメッセージ107のデータ
を転送できるようになっている。無線ネットワーク102とインターネット104との間
の接続は、無線ネットワーク102に接続された装置(例えばモバイル通信装置100)
からインターネット104に接続されたシステム(例えばウェブサービス)にデータが流
れるのを可能にするインターネットゲートウェイ(図示せず)を含む。
ウェブサーバ106上のウェブサービスは、モバイル通信装置100上のソフトウェア
アプリケーション302(図2参照)によって用いられる情報を提供する。或いは、また
はそれに加えて、ウェブサービスは、モバイル通信装置100上のソフトウェアアプリケ
ーションにより提供される情報を受信して用いてもよく、または、モバイル通信装置10
0上のソフトウェアアプリケーションの代理としてタスクを遂行してもよい。ウェブサー
ビスは、WSDL(Web Services Description Language)を用いて表現可能な、モバイ
ル通信装置100上のソフトウェアアプリケーション302とのインターフェイスを実装
し、SOAP(Simple Object Access Protocol)等の適切な通信プロトコルを用いてク
ライアントシステムと通信する。或いは、ウェブサービスは、その他の公知のプロトコル
を用いてもよい。
ウェブサービスは、モバイル通信装置100上のソフトウェアアプリケーションが、モ
バイル通信装置100のユーザにユーティリティを提供するために、無線ネットワーク1
02及びインターネット104を介して対話するシステムの例である。モバイル通信装置
100とウェブサービスとの間で送信されるメッセージ107は、メッセージマップサー
ビス108を通る。メッセージマップサービス108は、メッセージ107を、モバイル
通信装置100上のソフトウェアアプリケーションが使用可能なフォーマットから、ウェ
ブサービスが要求するフォーマットに変換することにより、メッセージ105を作成する
。モバイル通信装置100の1つからの107メッセージが適切なフォーマットに変換さ
れたら、メッセージマップサービス108は、メッセージ105をウェブサービスに送信
する。同様に、ウェブサービスからのメッセージまたは応答105が、要求されるフォー
マットに変換されたら、メッセージマップサービス108は、メッセージ107をモバイ
ル通信装置100の1つに送信する。メッセージマップサービス108については、図7
で更に詳細に説明する。
図7を参照すると、コンポーネントアプリケーション302(図2参照)は、情報を交
換するためにウェブサービスと対話するために、通信サービス306を用いて、無線ネッ
トワーク102及びインターネット104を介して無線メッセージ502を送信する。例
えば、無線メッセージ502は、コンポーネントアプリケーション302内で定義された
メッセージコンポーネント404(図3参照)の1つに従ってフォーマットされる。ウェ
ブサービスにアクセスするために、例えばSOAPメッセージ504が用いられる。メッ
セージタイプの違いを解決するために、メッセージマップサービス108は無線メッセー
ジ502を受信して、対応するSOAPメッセージ504を構成し、適切なSOAPプロ
トコルを用いて、ウェブサーバ106上のウェブサービスにインターネット104を介し
てSOAPメッセージ504を送信する。同様に、ウェブサービスにより生成された応答
メッセージ504は、SOAPを用いて、インターネット104を介してメッセージマッ
プサービス108に送信され、そこで、応答メッセージ504は、メッセージコンポーネ
ント404の1つに従ってフォーマットされた対応する無線メッセージ502に変換され
、モバイル通信装置100に送信され、そこで、コンポーネントアプリケーション302
の代理として通信サービス306によって無線メッセージ502が受信される。
再度図7を参照すると、メッセージマップサービス108は、各コンポーネントアプリ
ケーション302(図2参照)に対するアプリケーションメッセージマップ500を含む
。アプリケーションメッセージマップ500は、コンポーネントアプリケーション302
から受信される各無線メッセージ502が、SOAPメッセージ504等の対応するウェ
ブサービスメッセージにどのように変換されるかを定めると共に、ウェブサービスから受
信されてこれからコンポーネントアプリケーション302に送信される各ウェブサービス
メッセージ(例えばSOAPメッセージ504)が、対応する無線メッセージ502にど
のように変換されるかを定めている。上述のように、各無線メッセージ502は、コンポ
ーネントアプリケーション302のメッセージコンポーネント404の1つに従ってフォ
ーマットでき、一方、各ウェブサービスメッセージ(例えば、SOAPメッセージ504
)は、ウェブサービスの定義に従ってフォーマットできる。メッセージマップ500は、
定義で定められるどの情報が、アプリケーションプログラム302のメッセージコンポー
ネント404で定められる情報に対応するかを指定する。これらの定義は、WSDL等の
適切なフォーマットで符号化できる。次に、このマッピングを用いて、これら2つのフォ
ーマット間でメッセージ502、504を変換する。
なお、SOAPメッセージ504内の情報の全てが、対応する無線メッセージ502内
の情報にマップされる必要はない。例えば、無線メッセージ502からSOAPメッセー
ジ504への変換において、アプリケーションメッセージマップ500は、無線メッセー
ジ502内に対応情報がない場合にSOAPメッセージ504内に提供されるデフォルト
値を指定してもよい。同様に、SOAPメッセージ504から無線メッセージ502への
変換に際して、無線メッセージ502内に対応する定義がないSOAPメッセージ504
内の情報は破棄される。従って、コンポーネントアプリケーション302が利用していな
いウェブサービスからの応答に含まれる情報は、無線ネットワーク102を介して送信さ
れなくてよい。同様に、無線ネットワーク102を介して冗長な情報が送信されないよう
に、コンポーネントアプリケーション302によってメッセージ504が送信される度に
同じウェブサービスに送信されるSOAPメッセージ504で要求される情報には、デフ
ォルト値を採用する。その結果、無線ネットワーク102を介して送信されるデータの量
を低減でき、無線ネットワーク102の輻輳が低減されると共に、モバイル通信装置10
0上でメッセージ502を処理するために必要なリソースの量を低減できる。
従って、メッセージマップサービス108は、モバイル通信装置100上でSOAP等
のウェブメッセージ通信サービスプロトコルを実装せずとも、コンポーネントアプリケー
ション302がウェブサービスと調和することを可能にする。コンポーネントアプリケー
ション302も、ウェブサービス用にメッセージ502をフォーマットする必要がなく、
また、既存のウェブサービス106と調和するための他の任意の付加的な処理を実行する
必要もない。
メッセージマップサービス108を用いる代わりに、メッセージ502、504は、モ
バイル通信装置100上の通信サービス306によってマップされてもよい。この例では
、通信サービス306がウェブサービス106と直接通信できるように、モバイル通信装
置100には、SOAPプロトコル定義を有するkSOAP等のウェブメッセージ通信サ
ービスプロトコルを有するソフトウェアがインストールされる。事実上、メッセージマッ
プサービス108を実装するために中間の第三者を用いるのではなく、メッセージ502
の翻訳はモバイル装置100で行われる。
図8は、無線コンポーネントアプリケーション600を配備して同アプリケーションと
通信する方法を示すフローチャートである。上述のように、無線コンポーネントアプリケ
ーション600はコンポーネントアプリケーション302であり、データコンポーネント
400、プレゼンテーションコンポーネント402、メッセージコンポーネント404及
びワークフローコンポーネント406(図3参照)を含む。
図6及び図8を参照すると、この方法はステップ602で開始し、そこで、モバイル通
信装置100に無線コンポーネントアプリケーション600が配備される。無線コンポー
ネントアプリケーション600は、無線ネットワーク102を介して電波でモバイル通信
装置100に送信される。或いは、無線コンポーネントアプリケーション600は、シリ
アル接続、USBリンク、またはブルートゥース(商標)や802.11ネットワーク等
の短距離通信システム(図示せず)を介してモバイル通信装置100にロードされてもよ
い。
再度図6及び図8を参照すると、この方法は、アプリケーションメッセージマップ10
8を配備するステップ604に進む。上述のように、アプリケーションメッセージマップ
108は、無線コンポーネントアプリケーション600が用いるフォーマットから、無線
コンポーネントアプリケーション600が通信しているウェブサービスが要求するフォー
マットに、メッセージを変換するために用いられる。アプリケーションメッセージマップ
500(図7参照)は、インターネット104を介してアクセス可能な専用メッセージマ
ップサービス108に配備される。或いは、アプリケーションメッセージマップ108は
、モバイル通信装置100に直接配備されてもよい。ステップ606は、モバイル通信装
置100上で無線コンポーネントアプリケーション600を実行する。上述のように、モ
バイル通信装置100上のアプリケーションフレームワーク206(図2参照)は、アプ
リケーションコンテナ300を作成して、コンテナ300内の無線コンポーネントアプリ
ケーション600を実行し、これにより、フレームワークサービス304への無線コンポ
ーネントアプリケーション600のアクセスを提供する。
再度図6及び図8を参照すると、モバイル通信装置100上で無線コンポーネントアプ
リケーション600が実行されたら、方法はステップ608に進み、そこで、無線コンポ
ーネントアプリケーション600が外部のウェブサービスに無線メッセージ502を送信
することを望むか否かが判定される。無線コンポーネントアプリケーション600は、ウ
ェブサービスからのデータを要求するため、データをウェブサービスへ転送するため、ま
たは、ウェブサービスに、無線コンポーネントアプリケーション600の代理としてアク
ションを実行することを要求するために、ウェブサービスにメッセージ502を送信する
。無線コンポーネントアプリケーション600が送信するメッセージ502がこれ以上無
いことが判定された場合には、ステップ610で方法が終了する。送信するメッセージ5
02がある場合には、方法は、送信すべきメッセージ502を構成するステップ612に
進む。メッセージ502は、通信サービスによって、メッセージコンポーネント404(
図3参照)の1つに定義されたフォーマットに従って構成される。次に、通信サービスは
、無線ネットワーク102を介してメッセージ502を送信する。
再度図6及び図8を参照すると、ステップ614において、メッセージ502が、無線
ネットワーク102及びインターネット104を介してメッセージマップサービス108
に受信される。次に、メッセージマップサービス108は、ステップ604で配備された
アプリケーションメッセージマップ500を用いて、メッセージ502をSOAPフォー
マットに変換する。アプリケーションメッセージマップ500は、ウェブサービスが要求
するSOAPフォーマットのどの部分が、無線コンポーネントアプリケーション600か
らのメッセージ502の各部分に対応するかを特定する。ステップ616において、変換
されたメッセージ504は、SOAPプロトコルを用いて、インターネット104を介し
てウェブサービスに送信される。或いは、ステップ614において、メッセージ502は
、モバイル通信装置100上に位置するアプリケーションメッセージマップ500を用い
てSOAPフォーマットに変換されてから、ステップ616において、kSOAPプロト
コルを用いて、無線ネットワーク102及びインターネット104を介してウェブサービ
スに直接送信されてもよい。
再度図6及び図8を参照すると、メッセージ504がウェブサービスによって受信され
たら、方法はステップ618に進み、そこで、ウェブサービスがメッセージ504に対す
る応答を構成する。SOAPフォーマットの応答は、インターネット104を介してメッ
セージマップサービス108に送信され、そこで、応答は、ステップ620において、無
線コンポーネントアプリケーション600が要求する無線フォーマット502に変換され
る。要求される無線フォーマットは、無線コンポーネントアプリケーション600に含ま
れるメッセージコンポーネント404(図3参照)の1つで定義されている。次に、メッ
セージマップサービス108は、ステップ622において、インターネット104及び無
線ネットワーク102を介して無線コンポーネントアプリケーション600に応答を送信
する。或いは、ウェブサービスは、モバイル通信装置100に直接SOAP応答メッセー
ジ504を送信してもよく、そこで、SOAP応答メッセージ504は、ステップ620
において、モバイル通信装置100上に存在するアプリケーションメッセージマップ50
0を用いて、要求されるフォーマットに変換される。次に、変換されたメッセージ502
は、ステップ622において、無線コンポーネントアプリケーション600に与えられる
。次に、方法はステップ608に進み、そこで、送信すべきメッセージ502が更にある
か否かが判定される。メッセージ502が無い場合には、方法はステップ610で終了す
る。なお、この無線コンポーネントアプリケーション600を配備して同アプリケーショ
ンと通信する方法が含むステップは、図8に示されているよりも少なくても又は多くても
よい。
図9は、デュアルモードモバイル通信装置710のブロック図であり、これは、図1及
び図6の装置100の更なる例である。デュアルモードモバイル通信装置710は、トラ
ンシーバ711、マイクロプロセッサ738、ディスプレイ722、フラッシュメモリ7
24、RAMメモリ726、補助入出力(I/O)装置728、シリアルポート730、
キーボード732、スピーカ734、マイクロホン736、短距離ワイヤレス通信サブシ
ステム740を含み、更に、他の装置サブシステム742を含んでもよい。トランシーバ
711は、送受信アンテナ716、718、受信機712、送信機714、1つ以上の局
部発振器713、及びデジタルシグナルプロセッサ720を含むのが好ましい。デュアル
モードモバイル通信装置710は、フラッシュメモリ724内に、マイクロプロセッサ7
38(および/またはDSP720)により実行可能な複数のソフトウェアモジュール7
24A〜724Nを含むのが好ましく、このソフトウェアモジュール724A〜724N
は、音声通信モジュール724A、データ通信モジュール724B、及び他の複数の機能
を実行するための他の複数のオペレーショナルモジュール724Nを含む。
デュアルモードモバイル通信装置710は、音声及びデータ通信機能を有する双方向通
信装置であるのが好ましい。従って、例えば、デュアルモードモバイル通信装置710は
、任意のアナログまたはデジタル携帯電話ネットワーク等の音声ネットワークを介して通
信してもよく、データネットワークを介して通信してもよい。図9においては、音声及び
データネットワークは通信塔719で表されている。これらの音声及びデータネットワー
クは、別々のインフラ(例えば基地局、ネットワーク制御装置等)を用いる別々の通信ネ
ットワークであってもよく、または、単一の無線ネットワークに統合されていてもよい。
通信サブシステム711は、音声及びデータネットワーク719と通信するために用い
られ、受信機712、送信機714、1つ以上局部発振器713を含み、更にDSP72
0を含んでもよい。DSP720は、送信機714及び受信機712への/からの信号を
送受信するために用いられると共に、送信機714から制御情報を受信して、受信機71
2に制御情報を提供するためにも用いられる。音声及びデータ通信が単一周波数または間
隔が密な周波数のセットで行われる場合には、単一の局部発振器713が送信機714及
び受信機712と連動して用いられてもよい。或いは、音声通信とデータ通信とで異なる
周波数が用いられる場合には、音声及びデータネットワーク719に対応する複数の周波
数を生成するために、複数の局部発振器713を用いることも可能である。図9には2つ
のアンテナ716、718が示されているが、デュアルモードモバイル通信装置710は
単一のアンテナ構造と共に用いられてもよい。音声及びデータ情報を含む情報は、DSP
720とマイクロプロセッサ738との間のリンクを介して、通信モジュール711へと
/通信モジュール711から伝えられる。通信サブシステム711の詳細設計(周波数帯
、コンポーネント選択、出力レベル等)は、デュアルモードモバイル通信装置710が動
作するよう意図された通信ネットワーク719によって異なる。例えば、北米市場で動作
することが意図されるデュアルモードモバイル通信装置710は、Mobitex(商標
)やDataTAC(商標)移動データ通信ネットワークで動作するよう設計されると共
にAMPS、TDMA、CDMA、PCS等の様々な音声通信ネットワークのいずれかで
動作するよう設計された通信サブシステム711を含んでもよい。一方、ヨーロッパでの
使用が意図された装置710は、汎用パケット無線サービス(GPRS)データ通信ネッ
トワーク及びGSM音声通信ネットワークで動作するよう構成されてもよい。その他のタ
イプのデータ及び音声ネットワーク(別個のものであれ統合されたものであれ)をデュア
ルモードモバイル通信装置710と共に用いてもよい。
1又は複数のネットワーク719のタイプによって、デュアルモードモバイル通信装置
710のアクセス要求も変化し得る。例えば、Mobitex及びDataTACデータ
ネットワークにおいては、モバイル装置は、各装置に関連付けられた固有識別番号を用い
てネットワークに登録される。しかし、GPRSデータネットワークにおいては、ネット
ワークアクセスは、モバイル装置の加入者またはユーザと関連付けられる。GPRS装置
は、一般的に、加入者識別モジュール(SIM)を要求する。これは、GPRSネットワ
ーク上でデュアルモードモバイル通信装置を作動させるために要求される。ローカルまた
は非ネットワーク通信機能(もしあれば)はSIMなしで動作し得るが、デュアルモード
モバイル通信装置は、911番への緊急電話等の任意の法的に要求される操作以外には、
データネットワーク719を介した通信を含むいずれの機能をも実行できない。
何らかの要求されたネットワーク登録またはアクティブ化手順の完了後、デュアルモー
ドモバイル通信装置710は、1又は複数のネットワーク719を介して、音声及びデー
タ信号を含む通信信号を送受信してもよい。アンテナ716が通信ネットワーク719か
ら受信した信号は受信機712に送られ、受信機712は、信号増幅、周波数ダウン変換
、フィルタリング、チャネル選択等を提供し、更に、アナログ−デジタル変換を提供して
もよい。受信信号をアナログ−デジタル変換することにより、DSP720を用いて実行
されるデジタル復調や復号化等といった、より複雑な通信機能が可能になる。同様に、ネ
ットワーク719に送信される信号は、DSP720による(例えば変調及び符号化を含
む)処理を受けてから、デジタル−アナログ変換、周波数アップ変換、フィルタリング、
増幅、及びアンテナ718を介した1または複数の通信ネットワーク719への送信のた
めに、送信機714に供給される。図9には、音声及びデータ通信用の単一のトランシー
バ711が示されているが、デュアルモードモバイル通信装置710は、2つの別個のト
ランシーバ(音声信号の送受信用の第1のトランシーバ及びデータ信号の送受信用の第2
のトランシーバ)を含んでもよい。
DSP720は、通信信号の処理に加え、受信機及び送信機の制御も提供する。例えば
、受信機712及び送信機714の通信信号に適用されるゲインレベルは、DSP720
において実装される自動ゲイン制御アルゴリズムによって適応的に制御されてもよい。ト
ランシーバ711のより複雑な制御を提供するために、DSP720で他のトランシーバ
制御アルゴリズムが実装されてもよい。
マイクロプロセッサ738は、デュアルモードモバイル通信装置710の動作全体を管
理及び制御するのが好ましい。ここでは、多くのタイプのマイクロプロセッサまたはマイ
クロコントローラを用いてもよく、或いは、単一のDSP720を用いてマイクロプロセ
ッサ738の機能を実行してもよい。少なくともデータ及び音声通信を含む低レベルの通
信機能は、トランシーバ711のDSP720によって実行される。他の高レベル通信ア
プリケーション(例えば音声通信アプリケーション724A及びデータ通信アプリケーシ
ョン724B)は、マイクロプロセッサ738によって実行されるためにフラッシュメモ
リ724に格納されてもよい。例えば、音声通信モジュール724Aは、デュアルモード
モバイル通信装置710と複数の他の音声装置との間の音声通話をネットワーク719を
介して送受信するよう動作可能な高レベルのユーザーインターフェイスを提供してもよい
。同様に、データ通信モジュール724Bは、デュアルモードモバイル通信装置710と
複数の他のデータ装置との間でネットワーク719を介してデータ(例えば電子メールメ
ッセージ、ファイル、オーガナイザ情報、短いテキストメッセージ等)を送受信するよう
動作可能な高レベルのユーザーインターフェイスを提供してもよい。デュアルモードモバ
イル通信装置710では、上述のコンポーネントフレームワーク206は、ソフトウェア
モジュールまたはアプリケーションとして実装されてもよく、またはソフトウェアモジュ
ール724A〜724Nの1つに組み込まれてもよい。
マイクロプロセッサ738は、例えばディスプレイ722、フラッシュメモリ724、
ランダムアクセスメモリ(RAM)726、補助入出力(I/O)サブシステム728、
シリアルポート730、キーボード732、スピーカ734、マイクロホン736、短距
離通信サブシステム740及び全体を742で示される他の任意のデュアルモードモバイ
ル通信装置サブシステム等といった、他のデュアルモードモバイル通信装置サブシステム
とも対話する。
図9に示されているサブシステムの一部が通信関連機能を実行し、その他のサブシステ
ムが内蔵機能または装置上機能を提供してもよい。なお、キーボード732及びディスプ
レイ722等の一部のサブシステムは、データ通信ネットワークを介して送信されるテキ
ストメッセージの入力等といった通信関連機能と、計算機、タスクリストまたは他のPD
Aタイプの機能等といった装置内蔵の機能との、両方に用いられてよい。
マイクロプロセッサ738によって用いられるオペレーティングシステムソフトウェア
は、フラッシュメモリ724等の持続的な記憶装置に格納されるのが好ましい。デュアル
モードモバイル通信装置710の低レベルの機能の全てを制御するオペレーティングシス
テムに加えて、フラッシュメモリ724は、複数の高レベルソフトウェアアプリケーショ
ンプログラムまたはモジュール(例えば音声通信モジュール724A、データ通信モジュ
ール724B、オーガナイザモジュール(図示せず)、または他の任意のタイプのソフト
ウェアモジュール724N)を含んでもよい。フラッシュメモリ724は、データを格納
するためのファイルシステムを含んでもよい。これらのモジュールは、マイクロプロセッ
サ738によって実行され、デュアルモードモバイル通信装置のユーザとモバイル装置と
の間の高レベルのインターフェイスを提供する。このインターフェイスは、一般的に、デ
ィスプレイ722を介して提供されるグラフィックコンポーネントと、補助I/O728
、キーボード732、スピーカ734及びマイクロホン736を介して提供される入出力
コンポーネントとを含む。動作を速めるために、オペレーティングシステム、特定のデュ
アルモードモバイル通信装置ソフトウェアアプリケーションまたはモジュール、またはそ
れらの一部は、一時的にRAM726等の揮発性記憶装置にロードされてもよい。さらに
、受信された通信信号も、それらを持続的記憶装置724内のファイルシステムに永久的
に書き込む前に、一時的にRAM726に格納されてもよい。
デュアルモードモバイル通信装置710にロードされ得る例示的なアプリケーションモ
ジュール724Nは、PDAの機能性(例えば、カレンダイベント、約束及びタスク項目
等)を提供するパーソナルインフォメーションマネージャ(PIM)アプリケーションで
ある。このモジュール724Nは、電話、ボイスメール等を管理するために音声通信モジ
ュール724Aと対話してもよく、電子メール通信及びその他のデータ送信を管理するた
めにデータ通信モジュールと対話してもよい。或いは、音声通信モジュール724A及び
データ通信モジュール724Bの機能性の全てが、PIMモジュールに統合されてもよい
フラッシュメモリ724は、デュアルモードモバイル通信装置710上でのPIMデー
タ項目の格納を容易にするために、ファイルシステムを提供するのが好ましい。PIMア
プリケーションは、単独で、または音声通信モジュール724A及びデータ通信モジュー
ル724Bと協働して、無線ネットワーク719を介してデータ項目を送受信する能力を
含むのが好ましい。PIMデータ項目は、好ましくは、シームレスに統合され、無線ネッ
トワーク719を介して同期及び更新されると共に、対応するデータ項目セットがホスト
コンピューターシステムに格納され又は関連付けられており、それによって、特定のユー
ザと関連付けられたデータ項目のミラーシステムを作成する。
デュアルモードモバイル通信装置710は、デュアルモードモバイル通信装置710の
シリアルポート730をホストシステムのシリアルポートに接続するインターフェイスク
レイドルにデュアルモードモバイル通信装置710を配置することにより、手動でホスト
システムと同期されてもよい。シリアルポート730は、ユーザによる、外部装置または
ソフトウェアアプリケーションを介した選択設定や、他のアプリケーションモジュール7
24Nをインストールするためのダウンロードを可能にするために用いられてもよい。こ
の有線ダウンロード経路は、デュアルモードモバイル通信装置710に暗号キーをロード
するために用いられてもよい。これは、無線ネットワーク719を介して暗号化情報を交
換するよりも安全な方法である。
更なるアプリケーションモジュール724Nを、ネットワーク719を介して、補助入
出力サブシステム728を介して、シリアルポート730を介して、短距離通信サブシス
テム740を介して、または他の任意の適切なサブシステム742を介して、デュアルモ
ードモバイル通信装置710上にロードし、ユーザによって、フラッシュメモリ724ま
たはRAM726にインストールしてもよい。このようなアプリケーションのインストー
ルの柔軟性は、デュアルモードモバイル通信装置710の機能性を増やすと共に、拡張さ
れた装置上機能、通信関連機能、またはその両方を提供し得る。例えば、秘密通信アプリ
ケーションにより、デュアルモードモバイル通信装置710を用いて行われる電子商取引
機能及び他の類似の金融取引を可能にしてもよい。
デュアルモード装置710がデータ通信モードで動作しているとき、受信信号(例えば
テキストメッセージやウェブページのダウンロード)は、トランシーバ711により処理
され、マイクロプロセッサ738に供給される。マイクロプロセッサ738は、ディスプ
レイ722への出力または補助入出力装置728への出力のために、受信信号を更に処理
するのが好ましい。デュアルモードモバイル通信装置710のユーザは、キーボード73
2を用いて、電子メールメッセージ等のデータ項目を構成してもよい。キーボード732
は、QWERTYスタイルでレイアウトされた完全な英数字キーボードであるのが好まし
いが、DVORAKスタイルとして知られるもののような他のスタイルの完全な英数字キ
ーボードを用いてもよい。デュアルモードモバイル通信装置710に対するユーザー入力
は、サムホイール入力装置、タッチパッド、様々なスイッチ、ロッカー入力スイッチ等を
含み得る複数の補助入出力装置728によって更に強化される。次に、ユーザによって入
力された構成済データ項目は、トランシーバ711によって通信ネットワーク719を介
して送信されてもよい。
デュアルモードモバイル通信装置710が音声通信モードで動作しているとき、デュア
ルモードモバイル通信装置710の全体の動作は、データモードと略同様であるが、但し
、受信信号はスピーカ734に出力され、送信される音声信号はマイクロホン736によ
って生成されるのが好ましい。また、デュアルモードモバイル通信装置710上に、別の
音声入出力サブシステム(例えば音声メッセージ録音サブシステム)が実装されてもよい
。音声信号出力は主にスピーカ734を介して達成されるのが好ましいが、発呼者の識別
情報、音声通話の継続時間またはその他の音声通話関連情報の標示を提供するために、デ
ィスプレイ722を用いてもよい。例えば、マイクロプロセッサ738は、音声通信モジ
ュール及びオペレーティングシステムソフトウェアと協働して、送られてきた音声通話の
発呼者の識別情報を検出し、それをディスプレイ722に表示してもよい。
デュアルモードモバイル通信装置710には、短距離通信サブシステム740も含まれ
る。例えば、短距離通信サブシステム740は、同様の機能を有するシステム及び装置と
の通信を提供するために、赤外線装置及びそれと関連付けられた回路及びコンポーネント
を含んでもよく、または、ブルートゥース(商標)モジュールや802.11モジュール
等の短距離無線通信モジュールを含んでもよい。「ブルートゥース」(商標)及び802
.11が、電気電子技術者協会(IEEE)から入手可能な、無線パーソナルエリアネッ
トワーク及び無線LANにそれぞれ関する仕様のセットを指すことは、当業者には理解で
きるであろう。
上記説明は、1つ以上の例示的なシステム及び方法に関するものである。当該技術分野
の知識を有する者にとっては、多くの変形が自明であり、このような変形は本願の範囲内
である。例えば、上述の例では、SOAPプロトコルを実装するウェブサービスを説明し
たが、ウェブサービスは、モバイル通信装置にアクセスできる任意の情報ソースであって
よく、異なる通信プロトコルを実装してもよい。
本願明細書における開示は、1つ以上の例示的なシステム及び方法に関するものである
が、本願明細書に添付の請求項で概説される本発明の精神及び範囲から逸脱することなく
、当業者には様々な変形が自明である。
通信システムのブロック図である。 図1のモバイル通信装置のブロック図である。 図2のコンポーネントアプリケーションプログラムのブロック図である。 図3のコンポーネントフレームワークのブロック図である。 図2のモバイル装置の例示的な動作のフローチャートである。 図1の通信システムの更なる例である。 図6のメッセージマップサービスを用いたメッセージ通信システムのブロック図である。 図6の通信装置の無線コンポーネントアプリケーションを動作させる方法を示すフローチャートである。 図2のモバイル通信装置の更なる例のブロック図である。

Claims (20)

  1. モバイル通信装置上のコンポーネントアプリケーションプログラムの実行可能なバージョンを供給する方法であって、
    前記方法は、
    サーバからネットワークを介して複数のコンポーネントを受信するステップであって、前記複数のコンポーネントは、前記コンポーネントアプリケーションプログラムを表し、前記複数のコンポーネントは、構造化定義言語で表現されたメタデータ記述子を含むコンポーネントとワークフローコンポーネントとを含み、前記ワークフローコンポーネントは、前記メタデータ記述子を含む前記コンポーネントの動作を調整し、前記ワークフローコンポーネントは、前記サーバにおいてコンパイルされたネイティブ言語で表現されている、ステップと、
    前記メタデータ記述子と前記ワークフローコンポーネントを定義するコンパイルされた命令とを前記装置のアプリケーションコンテナの中にロードするステップであって、前記アプリケーションコンテナは、前記プログラムのためのクライアントランタイム環境をホスティングするためのものである、ステップと、
    前記装置の前記クライアントランタイム環境における後続の実行のために前記メタデータ記述子と前記コンパイルされた命令とから前記実行可能なバージョンを生成するステップと
    を含む、方法。
  2. 前記アプリケーションコンテナは、コンポーネントフレームワークによって提供され、前記コンポーネントフレームワークは、前記実行可能なバージョンのためのインターフェースを前記装置のインフラストラクチャに提供し、前記装置のインフラストラクチャは、プロセッサとメモリとを含む、請求項1に記載の方法。
  3. 前記アプリケーションコンテナは、前記装置のインフラストラクチャのオペレーティングシステムの一部である、請求項2に記載の方法。
  4. それぞれの第2のクライアントランタイム環境において第2のコンポーネントアプリケーションプログラムをホスティングするために前記コンポーネントフレームワークによって第2のアプリケーションコンテナを作成するステップをさらに含む、請求項2に記載の方法。
  5. 前記アプリケーションコンテナのクライアントランタイム環境は、前記実行可能なバージョンを前記サーバのクライアントとして表す、請求項2に記載の方法。
  6. テンプレートベースの実行モデルによって前記実行可能なバージョンをネイティブコードで実行するステップをさらに含み、前記モデルは、前記コンポーネントのメタデータ記述子を配置するように構成された複数の予め定義されているテンプレートを用いる、請求項5に記載の方法。
  7. 前記メタデータ記述子に関連付けられたメタデータで定義されたパラメータを前記予め定義されているテンプレートに配置し、前記実行可能なバージョンを前記ネイティブコードで構築するために前記配置済みのテンプレートを用いるステップをさらに含む、請求項6に記載の方法。
  8. 前記予め定義されているテンプレートは、データコンポーネントとメッセージコンポーネントとプレゼンテーションコンポーネントとを含む群から選択されるコンポーネントに対して提供される、請求項6に記載の方法。
  9. メタデータベースの実行モデルによって前記実行可能なバージョンを実行するステップをさらに含み、前記モデルは、実行中の構文解析のためにメタデータ定義を前記構造化定義言語で保持するように構成されている、請求項5に記載の方法。
  10. メタデータベースの実行モデルによって前記実行可能なバージョンを実行するステップをさらに含み、前記モデルは、実行中に構造化定義言語のノードのネイティブ表現を用いるように構成されている、請求項5に記載の方法。
  11. サーバからネットワークを介して受信されたコンポーネントアプリケーションプログラムの実行可能なバージョンを供給するように構成されたモバイル通信装置であって、前記プログラムは、構造化定義言語で表現されたメタデータ記述子を含むコンポーネントとワークフローコンポーネントとを含む複数のコンポーネントを有し、
    前記ワークフローコンポーネントは、前記メタデータ記述子を含む前記コンポーネントの動作を調整し、
    前記ワークフローコンポーネントは、前記サーバにおいてコンパイルされたネイティブ言語で表現されており、
    前記モバイル装置は、
    前記モバイル装置を動作させる装置インフラストラクチャであって、前記実行可能なバージョンを実行するためにプロセッサと関連するメモリとを含む装置インフラストラクチャと、
    前記装置インフラストラクチャに結合されたユーザインターフェースであって、前記実行可能なバージョンと通信するように構成された入力装置および出力装置を有するユーザインターフェースと、
    前記装置インフラストラクチャに結合された通信装置であって、前記ネットワークと通信するために無線トランシーバに接続するように構成された通信装置と、
    前記メタデータ記述子とコンパイルされた命令とから前記実行可能なバージョンを生成し、前記装置インフラストラクチャに対して前記実行可能なバージョンをインターフェースし、前記実行可能なバージョンのためのクライアントランタイム環境を提供するように構成されたコンポーネントフレームワークと
    を含む、モバイル通信装置。
  12. 前記コンポーネントフレームワークによって提供されるアプリケーションコンテナをさらに含み、前記アプリケーションコンテナは、前記実行可能なバージョンのための前記クライアントランタイム環境を提供するためのものである、請求項11に記載のモバイル通信装置。
  13. 前記アプリケーションコンテナは、前記装置インフラストラクチャのオペレーティングシステムの一部を含む、請求項12に記載のモバイル通信装置。
  14. 前記コンポーネントフレームワークは、それぞれのクライアントランタイム環境において前記コンポーネントアプリケーションプログラムのそれぞれをホスティングするように複数のアプリケーションコンテナに対して構成されている、請求項12に記載のモバイル通信装置。
  15. 前記アプリケーションコンテナのクライアントランタイム環境は、前記実行可能なバージョンを前記サーバのクライアントとして表す、請求項12に記載のモバイル通信装置。
  16. テンプレートベースの実行モデルによって前記実行可能なバージョンをネイティブコードで実行するように構成されたアプリケーションコンテナをさらに含み、前記モデルは、前記コンポーネントのメタデータ記述子を配置するように構成された複数の予め定義されているテンプレートを用いる、請求項15に記載のモバイル通信装置。
  17. 前記予め定義されているテンプレートは、前記メタデータ記述子に関連付けられたメタデータで定義されたパラメータを配置するように構成されており、前記配置済みのテンプレートは、前記実行可能なバージョンを前記ネイティブコードで構築するように構成されている、請求項16に記載のモバイル通信装置。
  18. 前記予め定義されているテンプレートは、データコンポーネントとメッセージコンポーネントとプレゼンテーションコンポーネントとを含む群から選択されるコンポーネントに対して提供される、請求項16に記載のモバイル通信装置。
  19. メタデータベースの実行モデルによって前記実行可能なバージョンを実行するように構成されたアプリケーションコンテナをさらに含み、前記モデルは、実行中の構文解析のためにメタデータ定義を前記構造化定義言語で保持する、請求項12に記載のモバイル通信装置。
  20. メタデータベースの実行モデルによって前記実行可能なバージョンを実行するように構成されたアプリケーションコンテナをさらに含み、前記モデルは、実行中に構造化定義言語のノードのネイティブ表現を用いる、請求項12に記載のモバイル通信装置。
JP2008291566A 2002-12-26 2008-11-13 コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法 Expired - Fee Related JP5241440B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US43601202P 2002-12-26 2002-12-26
US60/436,012 2002-12-26
US50395503P 2003-09-17 2003-09-17
US60/503,955 2003-09-17

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005509678A Division JP4909591B2 (ja) 2002-12-26 2003-12-24 コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法

Publications (2)

Publication Number Publication Date
JP2009087361A JP2009087361A (ja) 2009-04-23
JP5241440B2 true JP5241440B2 (ja) 2013-07-17

Family

ID=32685428

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2005509678A Expired - Fee Related JP4909591B2 (ja) 2002-12-26 2003-12-24 コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法
JP2008291566A Expired - Fee Related JP5241440B2 (ja) 2002-12-26 2008-11-13 コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2005509678A Expired - Fee Related JP4909591B2 (ja) 2002-12-26 2003-12-24 コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法

Country Status (9)

Country Link
US (2) US7409674B2 (ja)
EP (2) EP1576780A2 (ja)
JP (2) JP4909591B2 (ja)
KR (1) KR100807651B1 (ja)
CN (1) CN1757216B (ja)
AU (1) AU2003291909B2 (ja)
CA (1) CA2511926C (ja)
MX (1) MXPA05006932A (ja)
WO (1) WO2004059939A2 (ja)

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428510B2 (en) 2000-02-25 2008-09-23 Telecommunication Systems, Inc. Prepaid short messaging
US7110773B1 (en) 2000-04-11 2006-09-19 Telecommunication Systems, Inc. Mobile activity status tracker
US7522911B2 (en) 2000-04-11 2009-04-21 Telecommunication Systems, Inc. Wireless chat automatic status tracking
US6658260B2 (en) 2001-09-05 2003-12-02 Telecommunication Systems, Inc. Inter-carrier short messaging service providing phone number only experience
US7409674B2 (en) * 2002-12-26 2008-08-05 Research In Motion Limited System and method of creating and communicating with component based wireless applications
US7305677B2 (en) * 2003-03-27 2007-12-04 Intel Corporation Transfer of runtime-based application code
US9094805B2 (en) * 2003-06-25 2015-07-28 Oracle International Corporation Mobile messaging concierge
US8028073B2 (en) * 2003-06-25 2011-09-27 Oracle International Corporation Mobile meeting and collaboration
US7899473B2 (en) 2003-07-21 2011-03-01 Telecommunications Systems, Inc. Wireless network location-based reference information
US7596622B2 (en) * 2004-02-26 2009-09-29 Research In Motion Limited Apparatus and method for processing web service descriptions
US7698383B2 (en) * 2004-02-27 2010-04-13 Research In Motion Limited System and method for building component applications using metadata defined mapping between message and data domains
CA2557111C (en) * 2004-02-27 2012-12-11 Research In Motion Limited System and method for building mixed mode execution environment for component applications
WO2005114401A1 (en) * 2004-05-21 2005-12-01 Computer Associates Think, Inc. Automated creation of web gui for xml servers
WO2006086582A2 (en) * 2005-02-09 2006-08-17 Open Terra, Inc. Systems and method for deploying a software application on a wireless device
US8499028B2 (en) * 2005-02-23 2013-07-30 International Business Machines Corporation Dynamic extensible lightweight access to web services for pervasive devices
EP1698975A1 (en) * 2005-03-03 2006-09-06 Research In Motion Limited System and method for applying workflow of generic services to component based applications
US7814404B2 (en) 2005-03-03 2010-10-12 Research In Motion Limited System and method for applying workflow of generic services to component based applications for devices
US7657868B2 (en) * 2005-03-14 2010-02-02 Research In Motion Limited System and method for applying development patterns for component based applications
US8595323B2 (en) * 2005-04-14 2013-11-26 Accenture Global Services Limited Providing excess resources as a service
US7586926B2 (en) 2005-04-18 2009-09-08 Research In Motion Limited System and method for generic data mapping between wireless component applications and application data sources
US7743385B2 (en) * 2005-04-18 2010-06-22 Research In Motion Limited System and method for simplification of data structure in wireless communications
DE602005003105T2 (de) * 2005-04-18 2008-08-21 Research In Motion Ltd., Waterloo System und Methode zur Vereinfachung einer Datenstruktur in drahtlosen Kommunikationen
WO2006110986A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited System and method of representing data entities of standard device applications as built-in components
WO2006110999A1 (en) 2005-04-18 2006-10-26 Research In Motion Limited System and method of presenting entities of standard device applications in wireless devices
CN101176300A (zh) 2005-04-18 2008-05-07 捷讯研究有限公司 根据网络服务定义生成无线应用的系统及方法
EP1872554A4 (en) * 2005-04-18 2009-05-20 Research In Motion Ltd SYSTEM AND METHOD FOR CREATING A CORRESPONDENCE DOCUMENT FOR BINDING MESSAGES BETWEEN AN APPLICATION AND AN ASSOCIATED BACK-UP SERVER
ATE437516T1 (de) 2005-04-18 2009-08-15 Research In Motion Ltd System und verfahren zur generischen datenzuordnung zwischen drahtlosen komponentenanwendungen und anwendungsdatenquellen
EP1715646B1 (en) * 2005-04-18 2012-03-14 Research In Motion Limited System and method for connecting applications to heterogeneous backend servers via a gateway server
WO2006110977A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited Method for providing wireless application privilege management
US20060235882A1 (en) * 2005-04-18 2006-10-19 Daniel Mateescu System and method for developing arbitrary and efficient mappings between complex message structures
WO2007006126A1 (en) * 2005-04-18 2007-01-18 Research In Motion Limited Method and system for hosting and executing a component application
CA2606966A1 (en) * 2005-05-10 2006-11-16 Network Equipment Technologies, Inc. Lan-based uma network controller with local services support
US7684791B2 (en) * 2005-06-13 2010-03-23 Research In Motion Limited Multiple keyboard context sensitivity for application usage
US20060288110A1 (en) * 2005-06-16 2006-12-21 Rhett Alden Dynamically Configurable Web Services
US8112549B2 (en) * 2005-07-14 2012-02-07 Yahoo! Inc. Alert mechanism for notifying multiple user devices sharing a connected-data-set
US8417782B2 (en) * 2005-07-14 2013-04-09 Yahoo! Inc. Universal calendar event handling
US7849199B2 (en) 2005-07-14 2010-12-07 Yahoo ! Inc. Content router
US7788352B2 (en) * 2005-07-14 2010-08-31 Yahoo! Inc. System and method for servicing a user device
US7548158B2 (en) 2005-08-08 2009-06-16 Telecommunication Systems, Inc. First responder wireless emergency alerting with automatic callback and location triggering
US7675933B2 (en) * 2005-09-23 2010-03-09 Palm, Inc. System and method for enabling radio operations on a wireless computing device
US9009265B2 (en) * 2005-09-28 2015-04-14 Photobucket Corporation System and method for automatic transfer of data from one device to another
US8015253B1 (en) 2005-09-28 2011-09-06 Photobucket Corporation System and method for controlling inter-device media exchanges
US9049243B2 (en) * 2005-09-28 2015-06-02 Photobucket Corporation System and method for allowing a user to opt for automatic or selectively sending of media
US7698392B2 (en) * 2005-09-28 2010-04-13 Photobucket Corporation Method and system for establishing a user-friendly data transfer service application executing within a heterogeneous distributed service application execution environment
ATE548703T1 (de) 2005-10-31 2012-03-15 Research In Motion Ltd Sicheres lizenzschlüsselverfahren und -system
US8024290B2 (en) 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
US8065680B2 (en) 2005-11-15 2011-11-22 Yahoo! Inc. Data gateway for jobs management based on a persistent job table and a server table
US20070143470A1 (en) * 2005-12-20 2007-06-21 Nortel Networks Limited Facilitating integrated web and telecommunication services with collaborating web and telecommunication clients
US20070156487A1 (en) * 2005-12-29 2007-07-05 Microsoft Corporation Object model on workflow
US20070156486A1 (en) * 2005-12-29 2007-07-05 Microsoft Corporation Multiple concurrent workflow persistence schemes
US7680683B2 (en) * 2005-12-29 2010-03-16 Microsoft Corporation Dynamically repositioning workflow by end users
US8849691B2 (en) * 2005-12-29 2014-09-30 Microsoft Corporation Modeling user input and interaction in workflow based applications
US9367832B2 (en) 2006-01-04 2016-06-14 Yahoo! Inc. Synchronizing image data among applications and devices
US7676786B2 (en) * 2006-02-02 2010-03-09 Research In Motion Limited System and method and apparatus for using UML tools for defining web service bound component applications
US20070201655A1 (en) * 2006-02-03 2007-08-30 Michael Shenfield System and method for installing custom services on a component-based application platform
EP1835397A1 (en) * 2006-02-27 2007-09-19 Software Ag Application framework
US20080016504A1 (en) * 2006-07-14 2008-01-17 Wesley Homer Cheng Dynamically programmable electronic data collection system combining declarative programming and native coding
US8719574B2 (en) * 2006-08-31 2014-05-06 Red Hat, Inc. Certificate generation using virtual attributes
US7805730B2 (en) * 2006-09-21 2010-09-28 Reuters America, Llc Common component framework
US9424270B1 (en) 2006-09-28 2016-08-23 Photobucket Corporation System and method for managing media files
US20080215998A1 (en) * 2006-12-07 2008-09-04 Moore Dennis B Widget launcher and briefcase
US8117555B2 (en) * 2006-12-07 2012-02-14 Sap Ag Cooperating widgets
US20080141141A1 (en) * 2006-12-07 2008-06-12 Moore Dennis B Widget runtime engine for enterprise widgets
US8424058B2 (en) * 2006-12-07 2013-04-16 Sap Ag Security proxying for end-user applications
US8200845B2 (en) * 2006-12-19 2012-06-12 Ianywhere Solutions, Inc. Queuing of invocations for mobile web services
TWI327706B (en) * 2007-01-11 2010-07-21 Ind Tech Res Inst Web service accessing device and method for simplifying service interface
JP4750046B2 (ja) * 2007-01-17 2011-08-17 日本電信電話株式会社 通信制御処理提供システム及び装置
DE102007006407B4 (de) * 2007-02-05 2017-11-30 Bundesdruckerei Gmbh Datenverarbeitungssystem, Verfahren zum Empfang von Personalisierungsdaten und Computerprogrammprodukt
US20080229274A1 (en) * 2007-03-16 2008-09-18 Cacenco Michael V Automating Construction of a Data-Source Interface For Component Applications
US20080244514A1 (en) * 2007-03-29 2008-10-02 Microsoft Corporation Scriptable object model for network based services
CA2685887A1 (en) 2007-05-08 2008-11-13 Research In Motion Limited Xml push and remote execution of a wireless application
EP2003832A1 (en) 2007-06-15 2008-12-17 Research In Motion Limited System and method for creating multi-mode applications
DE602007013731D1 (de) 2007-06-15 2011-05-19 Research In Motion Ltd Vorrichtung zur Kommunikation in mehreren Modi mittels Anwendungen mit mehreren Modi
EP2003854B1 (en) 2007-06-15 2012-05-16 Research In Motion Limited Server for communicating with multi-mode devices using multi-mode applications
US20080320081A1 (en) * 2007-06-19 2008-12-25 Microsoft Corporation Service componentization and composition architecture
US8332629B2 (en) * 2007-07-16 2012-12-11 Red Hat, Inc. Mail certificate responder
US8250169B2 (en) * 2007-09-24 2012-08-21 Sap Ag Business context data companion tool
US8127237B2 (en) 2007-09-24 2012-02-28 Sap Ag Active business client
CN106886423B (zh) * 2007-11-27 2020-11-03 波音公司 分配可加载软件飞行器部件(lsap)的方法和设备
US7904537B2 (en) * 2008-01-11 2011-03-08 Microsoft Corporation Architecture for online communal and connected experiences
EP2096560A1 (en) 2008-02-28 2009-09-02 Research in Motion Limited Database exploration for building wireless component applications
DE102008002787A1 (de) * 2008-02-29 2009-09-03 Schneider Electric Gmbh 4-Phasen-Interaktionsmuster basierend auf Port-Typ-Protokollen für die Verwendung von Lebenszyklen von Services, welche durch serviceorientierte Geräte bereitgestellt werden
US9063755B2 (en) * 2008-04-07 2015-06-23 Express Mobile, Inc. Systems and methods for presenting information on mobile devices
US8954028B2 (en) 2008-09-25 2015-02-10 Telecommunication Systems, Inc. Geo-redundant and high reliability commercial mobile alert system (CMAS)
US9354847B2 (en) 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
US8782530B2 (en) * 2009-03-25 2014-07-15 Sap Ag Method and system for providing a user interface in a computer
US8712953B2 (en) * 2009-03-25 2014-04-29 Sap Ag Data consumption framework for semantic objects
US20110145734A1 (en) * 2009-12-10 2011-06-16 Microsoft Corporation Processing Computer Implemented Action
KR101381753B1 (ko) * 2009-12-18 2014-04-07 한국전자통신연구원 지능형 서비스 로봇 환경에서 로봇 서비스 적재 방법 및 이를 위한 서비스 적재 장치
JP5202603B2 (ja) 2009-12-18 2013-06-05 韓國電子通信研究院 知能型サービスロボット環境におけるロボットサービスロード方法およびそのためのサービスロード装置
KR20110080448A (ko) * 2010-01-06 2011-07-13 삼성전자주식회사 애플리케이션 구축 시스템 및 그 방법
WO2012082151A2 (en) 2010-12-13 2012-06-21 Telecommunication Systems, Inc. Location services gateway server
US9276816B1 (en) * 2011-01-17 2016-03-01 Cisco Technology, Inc. Resource management tools to create network containers and virtual machine associations
CN102184101B (zh) * 2011-04-27 2014-02-05 赵悦 一种面向智能手机的软件应用框架及其开发系统
KR101494864B1 (ko) 2011-05-26 2015-02-23 주식회사 이노테라피 클라우드 컴퓨팅 네트워크 기반의 프로테오믹스 서비스 제공 시스템 및 그에 의한 서비스 제공방법
US20120310899A1 (en) * 2011-06-03 2012-12-06 Scott Lawrence Wasserman System and method for efficient data exchange in a multi-platform network of heterogeneous devices
US9544271B2 (en) 2011-09-16 2017-01-10 Telecommunication Systems, Inc. Anonymous messaging conversation
US8929854B2 (en) 2011-10-27 2015-01-06 Telecommunication Systems, Inc. Emergency text messaging
US9536264B2 (en) 2011-11-14 2017-01-03 Microsoft Technology Licensing, Llc Host agnostic messaging in a continuation based runtime
TWI471802B (zh) * 2011-12-06 2015-02-01 Inst Information Industry 行動裝置應用程式之轉換方法及可轉換行動裝置應用程式之行動裝置和系統
US9632764B2 (en) * 2012-12-31 2017-04-25 Oracle International Corporation Defining configurable characteristics of a product and associating configuration with enterprise resources
JP5470500B1 (ja) * 2013-10-09 2014-04-16 株式会社テンダ アプリケーション生成装置、アプリケーション生成システム及びアプリケーション生成方法
US9408047B2 (en) 2013-10-10 2016-08-02 Telecommunication Systems, Inc. Read acknowledgement interoperability for text messaging and IP messaging
CN104950757B (zh) * 2015-06-12 2018-03-16 北京奇虎科技有限公司 监控容器的方法及系统
CN110545281B (zh) 2016-05-27 2022-01-18 华为技术有限公司 一种接入wifi网络的方法及装置
EP3486772A1 (en) * 2017-11-16 2019-05-22 Siemens Aktiengesellschaft Method for reciprocally integrating applications in an industrial program-control system
CN109673001A (zh) * 2019-02-12 2019-04-23 Oppo广东移动通信有限公司 数据传输控制方法及相关产品

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPP911799A0 (en) * 1999-03-10 1999-04-01 Retriever Communications Mobile application service
EP2312474A1 (en) * 1999-04-13 2011-04-20 Canon Kabushiki Kaisha Data processing method and apparatus
JP2001210037A (ja) * 2000-01-21 2001-08-03 Alps Electric Co Ltd 磁気ヘッドスライダ
US7702719B1 (en) * 2000-02-08 2010-04-20 International Business Machines Corporation Methods and apparatus for reducing the number of server interactions in network-based applications using a dual-MVC approach
JP2001306308A (ja) * 2000-04-11 2001-11-02 Sap Ag データ中心アプリケーションのクラス定義方法
US20020133811A1 (en) * 2000-12-14 2002-09-19 Duftler Matthew J. Bean scripting components
FI20010536A (fi) * 2001-03-16 2002-09-17 Republica Jyvaeskylae Oy Menetelmä ja laitteisto tiedon käsittelemiseksi
US7152090B2 (en) * 2001-06-01 2006-12-19 Sun Microsystems, Inc. Metadata-aware enterprise application integration framework for application server environment
US7555538B2 (en) * 2002-12-26 2009-06-30 Research In Motion Limited System and method for building and execution of platform-neutral generic services' client applications
US7409674B2 (en) * 2002-12-26 2008-08-05 Research In Motion Limited System and method of creating and communicating with component based wireless applications
US7698383B2 (en) * 2004-02-27 2010-04-13 Research In Motion Limited System and method for building component applications using metadata defined mapping between message and data domains
CA2557111C (en) * 2004-02-27 2012-12-11 Research In Motion Limited System and method for building mixed mode execution environment for component applications
WO2006110986A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited System and method of representing data entities of standard device applications as built-in components
US20070201655A1 (en) * 2006-02-03 2007-08-30 Michael Shenfield System and method for installing custom services on a component-based application platform
EP1816562A1 (en) * 2006-02-03 2007-08-08 Research In Motion Limited System and method for extending a component-based application platform with custom services

Also Published As

Publication number Publication date
CN1757216A (zh) 2006-04-05
KR100807651B1 (ko) 2008-02-28
US20090031284A1 (en) 2009-01-29
US7409674B2 (en) 2008-08-05
CA2511926C (en) 2013-02-12
MXPA05006932A (es) 2006-05-25
WO2004059939A2 (en) 2004-07-15
JP2006520938A (ja) 2006-09-14
US8402432B2 (en) 2013-03-19
CA2511926A1 (en) 2004-07-15
JP2009087361A (ja) 2009-04-23
KR20050091027A (ko) 2005-09-14
WO2004059939A3 (en) 2004-11-25
CN1757216B (zh) 2010-05-12
AU2003291909A1 (en) 2004-07-22
AU2003291909B2 (en) 2008-11-20
EP1576780A2 (en) 2005-09-21
US20040199614A1 (en) 2004-10-07
JP4909591B2 (ja) 2012-04-04
EP2131548A1 (en) 2009-12-09

Similar Documents

Publication Publication Date Title
JP5241440B2 (ja) コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法
KR101011744B1 (ko) 플랫폼 중립 일반 서비스의 클라이언트 애플리케이션 구축시스템 및 방법
KR100826147B1 (ko) 무선 컴포넌트 애플리케이션 구축 시스템 및 방법
US7894431B2 (en) System and method for communicating asynchronously with web services using message set definitions
CN1757015B (zh) 用于建立和执行平台-中性的普通服务客户应用程序的系统和方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110131

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110407

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120912

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

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5241440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees