(57)【要約】  モバイルデータ統合システムのオペレーティングシーケンスは、トランスポータブルアプリケーション（「トランスアプ」）と呼ばれるオペレーショナルモジュールを含む。このトランスアプは、内蔵型で、他のオペレーティングシステムとトランスアプと互いに結合することができる。各オペレーショナルモジュールは、入力データを受け入れ、出力データを生成することができる。入力データは他のモジュール、又はアプリケーションユーザ、企業データソースから受け入れることができる、出力データは、他のモジュール、アプリケーションサーバ（企業データソース用）に提供することができ、又はモバイルコンピュータ装置自身のディスプレイに提供することができる。モジュールは特定の問題解決のために定義することができ、そのような問題解決モジュールは、他のアプリケーションデザインの努力中に再使用することができる。これは問題の早期解決の再使用をサポートする。
2008536210.tif 000002
【特許請求の範囲】
【請求項１】
多重企業データソースと、アプリケーションサーバと通信するモバイルクライアントとの間で共用されるデータを処理するモジュールコンピュータプログラムアプリケーションを構築するコンピュータプログラムシステムにおいて、
１又は複数の前記多重企業データソースからの要求されるデータを特定し、該特定データを前記アプリケーションサーバで定義された単一のデータオブジェクトにマッピングするデザイナー手段と、
前記特定データに対する要求を含むトランスポータブルアプリケーションを生成し、前記トランスポータブルアプリケーションがモジュールコンピュータプログラムアプリケーションからなるようにマッピングするプロデューサー手段とからなり、
前記モジュールコンピュータプログラムアプリケーションは、前記特定データと前記モバイルクライアントとの通信のために、前記アプリケーションサーバでインストールすることができ、
前記アプリケーションサーバは、前記特定データとマッピングに従って、前記トランスポータブルアプリケーションを前記アプリケーションサーバの他のトランスポータブルアプリケーションと自動的に結合する、
コンピュータプログラムシステム。
【請求項２】
前記デザイナー手段はさらに、
コネクションオブジェクトを生成する手段；前記コネクションオブジェクトは、前記アプリケーションサーバでデータインターフェースオブジェクトを公開し、前記企業データソースで前記特定データへのアクセスを提供する；
１又は複数のコマンドオブジェクトを生成する手段；前記コマンドオブジェクトは前記特定データ上でデータアクションを実行する；
定義済みデータオブジェクトを定義する手段；前記定義済みデータオブジェクトは前記コマンドオブジェクトに１又は複数のデータアクションを特定する；
ビューオブジェクトを前記定義済みデータオブジェクトに結合する手段；前記ビューオブジェクトは前記特定データとインターフェースで接続する、
を有する請求項１に記載のシステム。
【請求項３】
前記データインターフェースオブジェクトは、前記アプリケーションサーバに１又は複数のアダプターオブジェクトを含む請求項２に記載のシステム。
【請求項４】
前記アダプターオブジェクトは、前記コネクションオブジェクトとインターフェースで接続し、データテーブル、記憶手順、スクリプト、又はデータオブジェクトからなるデータとして、前記データインターフェースオブジェクトを公開する請求項３に記載のシステム。
【請求項５】
前記１又は複数のコマンドオブジェクトを生成する手段は、選択データ、挿入データ、更新データ、及び消去データを含む前記特定データに関する１又は複数のコマンドの選択を許可する請求項２に記載のシステム。
【請求項６】
多重企業データソースと、アプリケーションサーバと通信するモバイルクライアントとの間で共用されるデータを処理するモジュールコンピュータプログラムアプリケーションをオペレーティングする方法において、
１又は複数の前記多重企業データソースからの要求されるデータを特定し、該特定データを前記アプリケーションサーバで定義された単一のデータオブジェクトにマッピングし、
前記特定データに対する要求を含むトランスポータブルアプリケーションを生成し、前記トランスポータブルアプリケーションが、前記特定データと前記モバイルクライアントとの通信のために、モジュールコンピュータプログラムアプリケーションからなるようにマッピングし、
前記アプリケーションサーバは、前記特定データとマッピングに従って、前記トランスポータブルアプリケーションを前記アプリケーションサーバの他のトランスポータブルアプリケーションと自動的に結合する、方法。
【請求項７】
さらに、
コネクションオブジェクトを生成し；前記コネクションオブジェクトは、前記アプリケーションサーバでデータインターフェースオブジェクトを公開し、前記企業データソースで前記特定データへのアクセスを提供する；
１又は複数のコマンドオブジェクトを生成し；前記コマンドオブジェクトは前記特定データ上でデータアクションを実行する；
定義済みデータオブジェクトを定義し；前記定義済みデータオブジェクトは前記コマンドオブジェクトに１又は複数のデータアクションを特定する；
ビューオブジェクトを前記定義済みデータオブジェクトに結合し；前記ビューオブジェクトは前記特定データとインターフェースで接続する、
ことう含む請求項６に記載の方法。
【請求項８】
前記データインターフェースオブジェクトは、前記アプリケーションサーバに１又は複数のアダプターオブジェクトを含む請求項７に記載の方法。
【請求項９】
前記コネクションオブジェクトとインターフェースで接続し、データテーブル、記憶手順、スクリプト、又はデータオブジェクトからなるデータとして、前記データインターフェースオブジェクトを公開することをさらに有する請求項８に記載の方法。
【請求項１０】
１又は複数のコマンドオブジェクトを生成し、選択データ、挿入データ、更新データ、及び消去データを含む前記特定データに関する１又は複数のコマンドの選択を許可する請求項７に記載の方法。
【請求項１１】
多重企業データソースと、アプリケーションサーバと通信するモバイルクライアントとの間で共用されるデータを処理するモジュールコンピュータプログラムアプリケーションをオペレーティングする方法において、
１又は複数の前記多重企業データソースからの要求されるデータを特定し、該特定データを前記アプリケーションサーバで定義された単一のデータオブジェクトにマッピングし、
コネクションオブジェクトを生成し；前記コネクションオブジェクトは、前記アプリケーションサーバでデータインターフェースオブジェクトを公開し、前記企業データソースで前記特定データへのアクセスを提供し；ここで前記データインターフェースオブジェクトは、前記アプリケーションサーバで１又は複数のアダプターオブジェクトを有し、データテーブル、記憶手順、スクリプト、又はデータオブジェクトのいずれかであるデータを有する；
１又は複数のコマンドオブジェクトを生成し；前記コマンドオブジェクトは前記特定データ上でデータアクションを実行し；ここで前記コマンドオブジェクトは、選択データ、挿入データ、更新データ、及び消去データを含む前記特定データに関する１又は複数のコマンドの選択を許可する；
定義済みデータオブジェクトを定義し；前記定義済みデータオブジェクトは前記コマンドオブジェクトに１又は複数のデータアクションを特定する；
ビューオブジェクトを前記定義済みデータオブジェクトに結合し；前記ビューオブジェクトは前記特定データとインターフェースで接続する；
前記特定データに対する要求を含むトランスポータブルアプリケーションを生成し、前記トランスポータブルアプリケーションが、前記特定データと前記モバイルクライアントとの通信のために、モジュールコンピュータプログラムアプリケーションからなるようにマッピングし、
前記アプリケーションサーバは、前記特定データとマッピングに従って、前記トランスポータブルアプリケーションを前記アプリケーションサーバの他のトランスポータブルアプリケーションと自動的に結合する、方法。
【請求項１２】
多重企業データソースとモバイルクライアントとの間で共用するデータを処理するコンピュータプログラムシステムにおいて、
前記モバイルクライアントと通信し、アプリケーションサーバを通して前記企業データソースとインターフェースで接続するプロセッサと、
１又は複数の前記多重企業データソースから要求されるデータを特定し、前記特定データから単一の定義済みデータオブジェクトへのマッピングを特定するトランスポータブルアプリケーションモジュール；前記トランスポータブルアプリケーションモジュールは、出力を生成し、前記アプリケーションサーバとモバイルクライアントとの通信する溜めに入力を受け取り；前記プロセッサは、前記トランスポータブルアプリケーションモジュールのそれぞれの特定データとマッピングに従って、前記トランスポータブルアプリケーションモジュールを前記コンピュータプログラムシステムの他のトランスポータブルアプリケーションモジュールと自動的に結合する、
コンピュータプログラムシステム。
【請求項１３】
前記トランスポータブルアプリケーションモジュールはさらに、
前記アプリケーションサーバで前記企業データソースにおける特定データへのアクセスを提供するデータインターフェースオブジェクトを公開するコネクションオブジェクト；
前記特定データに関するデータアクションを実行する１又は複数のコマンドオブジェクト；
前記特定データに１又は複数のデータアクションを特定する定義済みデータオブジェクト；
前記ビューオブジェクトが前記特定データとインターフェースで接続するように前記定義済みデータオブジェクトに拘束されるビューオブジェクト；
を有する請求項１２に記載のシステム。
【請求項１４】
前記データインターフェースオブジェクトは、前記アプリケーションサーバに１又は複数のアダプターオブジェクトを含む請求項１３に記載のシステム。
【請求項１５】
前記アダプターオブジェクトは、前記コネクションオブジェクトとインターフェースで接続し、データテーブル、記憶手順、スクリプト、又はデータオブジェクトからなるデータとして、前記データインターフェースオブジェクトを公開する請求項１４に記載のシステム。
【請求項１６】
前記コマンドオブジェクトは、選択データ、挿入データ、更新データ、及び消去データを含む前記特定データに関する１又は複数のコマンドの選択を許可する請求項１３に記載のシステム。
【請求項１７】
多重企業データソースとモバイルクライアントとの間で共用するデータを処理するコンピュータプログラムシステムにおいて、
前記モバイルクライアントと通信し、アプリケーションサーバを通して前記企業データソースとインターフェースで接続するプロセッサ；
前記システムに記憶されたトランスポータブルアプリケーションモジュールデータオブジェクト；ここで前記トランスポータブルアプリケーションモジュールデータオブジェクトは、１又は複数の前記多重企業データソースから要求されるデータを特定し、前記特定データから単一の定義済みデータオブジェクトへのマッピングを特定する；前記トランスポータブルアプリケーションモジュールは、出力を生成し、前記アプリケーションサーバとモバイルクライアントとの通信する溜めに入力を受け取り；前記プロセッサは、前記トランスポータブルアプリケーションモジュールのそれぞれの特定データとマッピングに従って、前記トランスポータブルアプリケーションモジュールを前記コンピュータプログラムシステムの他のトランスポータブルアプリケーションモジュールと自動的に結合する；
前記トランスポータブルアプリケーションモジュールは、
前記アプリケーションサーバで前記企業データソースにおける特定データへのアクセスを提供するデータインターフェースオブジェクトを公開するコネクションオブジェクト；ここで前記データインターフェースオブジェクトは、前記アプリケーションで１又は複数のアダプターオブジェクトからなり、データテーブル、記憶手順、スクリプト、又はデータオブジェクトのいずれかであるデータからなる：
前記特定データに関するデータアクションを実行する１又は複数のコマンドオブジェクト；ここで前記コマンドオブジェクトは、選択データ、挿入データ、更新データ、及び消去データを含むコマンドを有する前記特定データに関する１又は複数のコマンドの選択を許容する；
前記コマンドオブジェクトに１又は複数のデータアクションを特定する定義済みデータオブジェクトを識別し、
前記ビューオブジェクトが前記特定データとインターフェースで接続するように前記定義済みデータオブジェクトに拘束されるニューオブジェクトを識別する、コンピュータプログラムシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権書類の参照）
この出願は、２００５年３月２１日に出願されたロバートオーファレルらによる「モバイルデータシステム用データ管理」と題する同時係属の米国暫定特許出願題６０／６６４１２１号、２００５年３月２１日に出願されたロバートロウハムによる「モバイルデータシステム用モジュールアプリケーション」と題する同時継続の米国暫定特許出願題６０／６６４０８８号、２００５年３月２１に出願されたロバートオーファレルらによる「モバイルデータシステム用アダプターアーキテクチャ」と題する同時係属の米国暫定特許出願題６０／６６４１２２号、及び２００５年４月１日に出願されたロバートオーファレルらによる「モバイルデータシステム用モジュールアプリケーション管理」と題する同時継続の米国暫定特許出願題６０／６６７８１６号の優先権の利益を主張する。各出願日の優先権はここに主張し、これらの暫定特許出願の開示は参照することでここに組み入れる。
【０００２】
（著作権の通知）
この特許出願書類の開示部分は著作権保護の対象となる資料を含む。著作権所有者は米国特許庁特許商標庁のファイルや記録におけるように特許出願書類又は特許開示内容の第三者による複製には異存はないが、それ以外のどのようなものにも全ての著作権を留保する。
【０００３】
本発明は、一般にモバイルコンピュータシステムに関し、さらに詳しくはモバイルコンピュータシステムにおけるデータ管理及びデータ開発に関する。
【背景技術】
【０００４】
高性能顧客関係管理（ＣＲＭ）及びエンタープライズリソースプランニング（ＥＲＰ）システムは、バックオフィス及びフロントオフィス処理の自動化を向上するのに利用できる。多くの企業はそのようなシステムを展開することからの省力と効率化を実現したが、多くの組織はそのシステムを実施するのに負担がかかり、既存のレガシーデータシステムと統合するが困難であることが分かっていることも真実である。
【０００５】
近年、営業組織及び企業は、流動的な従業員を支援し、主としてポケベル、携帯電話、及び携帯情報端末（ＰＤＡ）のようなモバイルコンピュータ装置を利用するために、ＣＲＭ及びＥＲＰシステムを展開している。このようなモバイル装置を使用するＣＲＭ及びＥＲＰシステムの大いなる採用の一つの重要な障害は、企業内の他のデータとの統合を必要とすることである。
【０００６】
企業データ統合問題は、モバイルアプリケーションが企業の他のデータシステムとの統合を妨げる専用クローズドアーキテクチャの形式であるために生じる。例えば、企業内の組織は、４又は５つの異なるソースで維持されている。いくつかのデータソースは、ＣＲＭシステム、発送システム、ＥＲＰシステム、財務記録システムを含む。これらのデータソースの各々は、異なるデータアーキテクチャ、フォーマット、プロトコルを利用することができる。記憶されるデータ、データの構成（configuration）、アクセス機構は常に変化している。多くのモバイルコンピュータシステムは、企業内の種々のソースからのデータが収集される中間データストアを形成している。このようにして、異なる企業データソースからのデータは、それぞれ異なるデータアーキテクチャ及びフォーマットを備えているが、単一の共通データベースに収集することができる。モバイルユーザは、実際の企業データソースよりも中間データストアにアクセスことで企業データにアクセスすることができる。しかし、中間データストアはデータ更新及びそれ自身のコンフリクト問題を生じる。中間データストア内のデータが企業データソースのデータの忠実なコピーであることを保証するために、同期運用その他の保護措置をしばしば実行しなければならない。
【０００７】
ネットワークサーバを介して企業データソースにインターフェース接続するモバイルコンピュータ装置を利用することができるデータ統合解決手段を提供することが公知である。このようなシステムは、２００３年１２月２３日に出願され合衆国ワシントン州ボセルのデクステラ・インコーポレーテッド（Dexterra, Inc.）に譲渡された米国特許出願第１０／７４６２２９号に記載されている。この出願の内容は参照することでここに組み入れる。
【０００８】
デクステラ・インコーポレーテッドの特許出願は、モバイルクライアントからの企業データの要求を受信し、要求されたデータを含む適切な企業データソースを決定し、決定した企業データソースから企業データを検索するような分散型で、モバイルクライアントに対する多重企業データソースの間でデータが利用されるシステムを記載している。企業データを検索すると、そのデータが異なる無関係のタイプ（例えば、ファイルシステム、ｅメール等）の多重企業データソースからきたものであっても、関係フォーマットに変換する。変換された企業データはモバイルクライアントの関連データストアに記憶する。このように、モバイルアプリケーションは、多重企業データソースからのデータと完全に統合することができ、中間データストレージを使用することなく、データ更新と構造変化をモバイルクライアントに分配し、またモバイルクライアントから分配することができ、これにより企業データソースとモバイルクライアント間の複雑な同期又は非同期データ問題を回避することができる。リアルタイムのデータ変更は、データ更新はもちろん、モバイルアプリケーション自身への変更の配置を含めることができる。リアルタイムの変更はさらにデータ衝突の検出と解決でさらに調整される。
【０００９】
開発者が一連のＰＤＡディスプレイスクリーンを生成するモバイルアプリケーションを定義し、アプリケーションユーザがウィンドウからウィンドウへ通常の方法で進むことができるようにすることができるツールが設けられている。このようにして、アプリケーションは適切に演算する必要があるデータをユーザに促し、アプリケーション開発者は当面の目的に適した演算の論理シーケンスを自由に構築することができる。このような設計ツールは、必要性が変化したときにシステムオペレーションの修正を望む開発者及びアプリケーション管理者を大いに支援することができる。
【００１０】
前に言及したデクステラ・インコーポレーテッドのシステムでは、開発者が一連のＰＤＡディスプレイスクリーンウィンドウからなるモバイルアプリケーションを定義し、アプリケーションユーザがウィンドウからウィンドウへ通常の方法で進むことができるようにすることができるツールが設けられている。データがエンターされ、応答がウィンドウに与えられると、モバイルアプリケーションは演算のシーケンスで次のウィンドウを表示する。アプリケーションを含むウィンドウのシーケンスは「フォースフロー」と言及されている。フォースフローのいかなる単ウィンドウでも、ユーザ応答はダイアログボックス又はデータ入力ウィンドウの表示に帰着する。ユーザはダイアログボックスが生成されるフォースフローウィンドウに関連するデータを提供することができる。複数のダイアログボックスを表示し、フォースフローウィンドウのシーケンスが回復する前に、アプリケーションユーザに適切なデータと応答の入力を促してもよい。このようなフォースフローからの一時的迂回は「フィールドフロー」を含むように言われている。開発者がフォースフローとフィールドフローのディスプレイの全装備を定義した後、それらを互いにリンクさせ、所望のモバイルアプリケーションを提供することができる。
【００１１】
このようなモバイルデータ統合システムの展開と維持は、新たなアプリケーションをより迅速でより少ない努力で開発することができれば、より便利に行えるであろう。本発明はこれらの特徴を提供する。
【特許文献１】米国特許出願第１０／７４６２２９号
【発明の開示】
【００１２】
本発明によると、モバイルデータ統合システムのオペレーティングシーケンスは、トランスポータブルアプリケーション（「トランスアプ（TransApps）」）と呼ばれるオペレーションモジュールからなるようにサポートされている。トランスアプは、内蔵され、他のオペレーティングシーケンスとトランスアプとともにリンクすることができる。各オペレーショナルモジュールは入力データを受け入れて、出力データを生成することができる。入力データは他のモジュールから、又はアプリケーションユーザから、あるいは企業データソースから受け取ることができる。出力データは他のモジュールに、又はアプリケーションサーバ（企業データソース用）に提供することができ、モバイルコンピュータ装置自身のディスプレイに提供することができる。このようにして、モジュールは特定の問題解決のために定義することができ、そのような問題解決モジュールは他のアプリケーション設計努力中に再使用することができる。このように、初期の問題解決手段は何回も利用することができ、またユーザコミュニティから得られる知識と経験はより大きな目的の遂行のために利用することができ、モバイルデータ統合システムの効率が増加する。
【００１３】
本発明の他の特徴及び利点は、本発明の原理を例示的に示す以下の本発明の好ましい実施形態の説明から明らかである。
【発明を実施するための最良の形態】
【００１４】
本発明によるモバイルデータ統合システムでは、モバイルアプリケーションはフォースフロー及びフィールドフローディスプレイを定義することにより、また１又は複数のオペレーショナルモジュールを規定することにより、指定することができ、トランスポータブルアプリケーション（「トランスアプ」）と呼ばれる。オペレーショナルモジュールは内蔵されて、メタデータにより他のオペレーティングモジュールと、個々のフォースフロー及びフィールドフローに接続することができる。全体システム構成を説明した後、オペレーショナルモジュールの詳細を以下に説明する。
【００１５】
Ｉ．システム概観
本発明はデータが多数の企業データソースからモバイルアプリケーションを実行するモバイルクライアントに利用されるシステムを提供し、モバイルアプリケーションが多数の企業データソースと統合され、データ更新と構造変更が中間データストレージを使用することなくリアルタイムでモバイルクライアントに分配され、モバイルクライアントから受け取られる。中間データストレージ設備の排除により、企業データソースとモバイルクライアント間の複雑な同期及び非同期性データ問題が回避される。これにより、モバイルアプリケーションのデータ更新とシステム構成更新は企業からモバイルクライアントにリアルタイムで通信することができる。変更がリアルタイムでシステムを通って伝搬するため、特別な同期操作は必要がない。
【００１６】
ＩＩ．システムプラットフォーム
図１は、本発明に従って構築された適切なコンピュータシステム環境１００のブロック図である。図１は、マイクロソフトポケットＰＣ又はパームＰＤＡオペレーティングシステムに連動して作動する携帯情報端末（ＰＤＡ）のようなモバイルクライアントデバイス１０２を示す。モバイルクライアントデバイスはネットワークコネクション１０４を介してアプリケーションサーバ１０６と通信し、サーバからデータを要求し、データ更新を受け取り、新データを提供し、構成変更を受け取る。多数のモバイルクライアント１０２がサーバ１０６と通信できることを理解すべきである。図を簡略化のために、一つのクライアントサーバ１０２のみが図１に示されている。
【００１７】
モバイルクライアント１０２は、多数の企業データストアからのリアルタイムデータ検索のために、サーバ側コネクタウェブサービスを摂取（consume）する。さらに、モバイルクライアントは、リアルタイムクライアント側データ更新の管理、サーバ側データ更新、及びシステム構成更新のために、サーバ側データ管理ウェブサービスを摂取する。
【００１８】
アプリケーションサーバ１０６は、ＣＲＭデータソース、ＥＲＰソース、金融システム資源、レガシー（legacy）データストア等のような企業データソース１０８と通信する。図１に示す例示的な企業データソースは、米国カリフォルニア州サンマテオのジーベルシステムインコーポレーテッドからの「ジーベル（Siebel）」ソフトウェア、米国カリフォルニア州レッドウッドショアからの「オラクル（Oracle）」ソフトウェア、ドイツ、ウォールのサップＡＧからの「サップ（SAP）」ソフトウェア、及びレガシーソフトウェアを含むデータを有する。管理者プリケーション１１０と開発者プリケーション１１２はアプリケーションサーバ１０６と通信し、アプリケーションサーバ１０６はまた以下にさらに説明するようにシステム用のメタデータ１１４を記憶している。
【００１９】
アプリケーションサーバ１０６は、データ交換、更新、ユーザ認証、セキュリティチィ、及びロギングサービスのために、データ管理、構築、及びデータコネクタウェブサービスを提供する。アプリケーションサーバはまたビジネス情報及びルールの形態でビジネスプロセス管理を処理する。
【００２０】
モバイルクライアント１０２はまたデータストア１１６を有し、該データストア１１６は、モバイルクライアント上でのアプリケーション実行のために、ビジネスデータ１２０を記憶する関係データベース１１８と、メタデータ１２２を記憶する関係データベースとを保存する。モバイルクライアント１０２にインストールされているアプリケーション１２４は、適切な機能を実行する種々のソフトウェアコンポーネントを含む。例えば、アプリケーションは、フィールドサービス人員にサービスが要求された場所について通知し、サービス要求の本質を説明し、サービス訪問をロギングして勘定を支払うフィールドサービスアプリケーションからなっていてもよい。アプリケーション１２４はモバイルクライアント１０２により要求されたデータを処理する多数のアプリケーションを含んでいてもよい。
【００２１】
管理者プリケーション１１０と開発者プリケーション１１２は、「スタジオ（studio）」コンポーネント１３０からなる。図示された実施例では、管理者と開発者は２つの別個のアプリケーションとして設けられ、システムを形成する手段を提供し、メタデータデータとアプリケーションインターフェースを含む。
【００２２】
システム１００は、サービスアプリケーション１２４をサポートするモバイル企業プラットフォームを含んでなる。システムは、結集（mobilize）されたソフトウェアソルーションを有効に展開し管理して、モバイルビジネスプロセスを向上する１セットのウェブサービスを提供している。共通の実施例は、ＣＲＭ又はＥＲＰ、セールスフォースオートメーション（ＳＦＡ）、ある企業の顧客サポート及びヘルプデスクファンクションに統合することを含む。このような企業アプリケーションはアプリケーション間連携（cross-application interaction）に依存し、一つのファンクション又はシステムからのデータは異なるファンクション又はシステムにより使用される。モバイルクライアントで実行されると、既存のアプリケーション機能性及び企業情報は、多数の企業ソフトウェアアプリケーション、レガシーデータシステム、及びモバイルワーカーの間で利用される。このようにして、これらのアプリケーション及びモバイル企業プラットフォームに対して著しい投資収益率を達成することができる。
【００２３】
モバイル企業プラットフォーム１００は、当該分野でのモバイルクライアントと関連の携帯機器の使用を単純化するウェブサービスを提供する。これらのウェブサービスはデータ管理機能、コンフィギュレーション機能、コネクタ機構を含む。これらは以下に詳細に説明する。モバイルクライアント１０２にインストールされているアプリケーション１２４は、アプリケーションサーバ１０６により適切に起動された後、接続又は非接続状態でも完全に機能的であり得る。
【００２４】
ＩＩＩ．レガシーアーキテクチャ
図１に示すモバイル企業プラットフォームを使用する如何なるクライアントアプリケーションも、図２のブロック図に示すシステムコンポーネントを利用する。これらのコンポーネントは、次のものを含む。
ビジネスオブジェクト−  フィールドと異なるデータソースからの関連情報とを組み合わせたビジネスコンセプトに基づくプログラム可能なオブジェクト（例えば、カスタマー、コンタクト、アセット、タスク等のようなデータソース）。
ビジネスルール−企業データソースからのビジネスデータに対してチェックを行って、ビジネス定数（business constant）を利用する企業処理を実行するカスタム論理。
企業定数−クライアントアプリケーションで使用するユーザ設定可能な変数、及びクライアント及びサーバ側ビジネスルール（例えば、ビジネスルール、ワーニングメッセージ等）
データソースコネクタ広範囲の企業データソースへシームレスにアクセスできるように設計されたデータソースコネクタ（例えば、オラクル（Oracle）やＳＱＬサーバによりフォーマットされたもののようなデータベース、ＭＱシリーズ又はＭＳＭＱのようなメッセージングシステム、ジーベル又はピープルソフトのようＣＲＭアプリケーション、一般的なウェブサーバ等）
ビジネスプロセス−ビジネスプロセスをモデリングするためのフォームツーフォーム（form-to-form）ナビゲーションパラダイムを定義する、米国ワシントン州ボセルのデクステラインコーポレーテッドの「フォースフロー」プロセスのようなメタファー。
フォーム−標準視覚表示スクリーン（例えば、ビュー、エディット、ファインド等）と、情報を示し、情報を収集し、所定のビジネスプロセスを通してユーザを導くように設計されているイベント駆動論理との組み合わせで、ここでは「フォースプロー」又は「フィールドフロー」のいずれかで言及する。
ビュー−１又は複数のビジネスオブジェクトにより利用される企業データソース又はアプリケーションから識別されたデータの修正可能な表現。
フィルタ−ビジネスオブジェクトに利用できるデータを修正するためにビューに適用することができるフィルタ。
【００２５】
これらのコンポーネントは、マイクロソフトコーポレーション「ＮＥＴ」のような技術フレームワークと、マイクロソフトコーポレーションの「ビジュアルスタジオＮＥＴ」のようなツールとを利用して構成される、任意のクライアントアプリケーションの構成（論理アーキテクチャ）を指定するのに使用することができる。当業者は、アプリケーションを指定するプログラミングツールとその関連のデータオブジェクトに精通しているであろう。
【００２６】
図１に示すモバイル企業プラットフォームはメタデータ駆動フレームワークとして実行される。フレームワークは、統合されたクライアントサーバウェブサーバを提供し、フェイルセーフ、ミッションクリティカルなモバイル企業ソルーションを展開するのに必要な
接続、構成、データ管理サービスを可能にする。
【００２７】
図２は、図１のモバイル企業プラットフォームにおいて、関係データベースと外部アプリケーションビジネスオブジェクトがメタデータとして見るように描かれている。１又は複数のビュー（view）は、メタデータに定義されたビジネスオブジェクトにより摂取（consume）され、ビジネスオブジェクトはモバイルアプリケーションにより利用される。モバイルアプリケーションは、「デクステラ・スマートクライアント」と言及されるクライアントアプリケーションを利用する。このクライアントアプリケーションは、データマネジャー及び/又はコネクタウェブサービスを介してのクライアント−サーバデータ通信はもちろん、ビジネスオブジェクト、モバイルクライアントデバイスに存在する根底物理的データベースへのローカルデータアクセス、デバイス統合を管理する。プラットフォーム内には、全ての論理レイヤー（logical layer）に対する仕様（例えば、ビジネスオブジェクト、ビュー、フィルタ、及びコネク）が定義され、メタデータ内に維持される。
【００２８】
モバイル企業プラットフォームは、論理スタックとして構築され、論理アーキテクチャのレイヤーを非隣接を除く全てのメンバーから離隔するように設計される。倫理スタックの底であるターゲットレイヤーには、バックエンド企業データソースに存在するデータである。プラットフォームは適当な位置のソースデータと連動し、中階層複製データベースに複製されるレコードのバックエンドシステム内に、情報を必要としない。すなわち、中間データベースを必要としない。これは、リアルタイムデータアクセスはもちろん、設計に柔軟性を提供し、プラットフォームとアプリケーションのオーナシップの総費用の低減を助け、データ管理プロセスの単純化を支援する。
【００２９】
論理スタック内の次のレイヤーはコネクタレイヤーである。コネクタレイヤーは、リレーショナルフォーマットでアプリケーションサーバにバックエンドデータストアを記載するプログラマティック構成を提供する。セキュリティセッティング（認証方法やユーザ及びグループの定義）はもちろん、企業データソースへの接続方法に関する情報は、メタデータ内に記憶され、アドミニストレータコンポーネントを使用して維持される。
【００３０】
スタック内の次のレイヤーは、ビューレイヤーであり、該ビューレイヤーは、バックエンド企業データソース内のオブジェクト又はテーブルへの一対一マッピングを提供するオブジェクトを有する。例えば、バックエンドシステムがＣＵＳＴ ＡＤＤＲ（カスタマーアドレス）と呼ばれるテーブルを有し、該テーブルからのデータがアプリケーションで仕様するのに要求される場合、ビューはアドミニストレータコンポーネントで創設される。アドミニストレータビューは、企業データソースの外側のモバイル企業プラットフォームの環境でのデータを代表（represent）するために、例えばカスタマーアドレスと呼ばれる。ビューは、バックエンドシステムにおけるデータオブジェクトの特性（property）又はコラムに対応する特性を有すると理解れるべきである。しかしながら、バックエンドデータソース内の全ての特性がビューでの特性として要求されることは要求されない。実際には、必要な特性は管理コンポーネント内に定義され、ちょうど与えられた実施例のメタデータとして記憶される。特性はＩＤ、ＳＴＲＥＥＴ ＡＤＤＲ、ＣＩＴＹ、ＳＴＡＴＥ，ＺＩＰ ＣＯＤＥのようなフィールドを含む。
【００３１】
さらに、ユーザは、ビュー内で特性のデータタイプを定義することができる。これらのデータタイプは、企業データソース内の対応する特性のデータタイプと独立させることができる。識別可能なビュー特性の他のオプションは、識別子、読取専用、インデクス、要求特性及び長さである。全ての前記特性はメタデータとして記憶される。
【００３２】
ビューレイヤーはまた、データコンフリクトの指示を与え、そのようなコンフリクトを解決する手段を提供する。データコンフリクトは、例えば、モバイルクライアントからアップロードされるものとサーバに存在するものとの間でデータ交換があるときはいつでも生じる。このようなコンフリクトの解決は、最新のデータ変更が常に優先し、又は特定のソース（例えば、モバイルクライアント又は企業データソース）からのデータ変更がデータタイプ（例えば、フィールドデータ又は顧客勘定データ）に依存して優先するようなビジネスルールを実施するビューレイヤーで達成することができる。これはデータ管理ウェブサービスと関連して以下にさらに詳細に説明する。
【００３３】
図２に示すように、ビューは、多数のデータストアにおける多数のオブジェクトに対して定義することができ、これによりデータ複製の荷を負うことなく、アプリケーション展開とインプレース（in-place）システムの使用にフレキシビリティを与えることができる。コネクタと同様に、ビューの定義はメタデータに記憶され、アドミニストレータとともに管理される。当業者はさらに説明するまでもなくメタデータ内のデータ定義の詳細を理解するであろう。前述したように、次のレイヤーに引き渡されるデータを修正するために、フィルタがビューに適用される。アドミニストレータはビューにビューウィザードを含むマネジメントの特徴を提供し、ビューウィザードは（企業データソースからの）バックエンドデータストアオブジェクトのオブジェクトインターフェース又はデーブル定義に基づいて自動的にビューを創成する。
【００３４】
図２の上方の次のレイヤーは、１又は複数のビューとともに描かれ又は関連付けられているビジネスオブジェクトを含む。プラットフォームのビジネスオブジェクトは、開発者がカスタマイジングモバイルアプリケーションを構築するときにインターフェースをとるプログラム実体（entity）である。ビジネスオブジェクトは多数の特性を含み、各特性は単純データタイプ（simple data type）であってもよいし、他のビジネスオブジェクトとすることができる。プラットフォームのビジネスオブジェクトが多数のビューに描かれる（map）ので、開発者は、多数の異種データソースから派生するデータを表すシングルエンティティ（single entity）とともに動作する。このように、本発明のモバイル企業プラットフォームに従って定義されるシングルビジネスオブジェクトは、異なる専用フォーマットのような、多数の潜在的に相容れない（incompatible）企業データソースからのデータを含むことができる。
【００３５】
モバイルアプリケーション及びモバイルクライアントデバイス用のアプリケーションを創成し又は修正するのに、開発者はビジネスオブジェクトレイヤーと単独で相互作用（interact）する。これは、開発者がソースデータ用のバックエンドシステム（企業データソース）を理解し、又はこれと直接相互作用する必要性を隔絶する。このようにして、ビジネスオブジェクトレイヤーは、アプリケーション開発者に対するオブジェクトベースインターフェースを提供し、これによりデータの永続性と回復の詳細を引き出すことができる。開発者が直接モバイルデバイスのローカルデータストアと相互作用する必要はない。さらに、非接続データの性質により、モバイルクライアントは、ビジネスオブジェクトインターフェースを通して、更新処理中にアプリケーションサーバに渡されるクライアントにデータ変更をローカルに記憶することで、自動的にデータ変更の処理を管理することができる。これは開発者をルートプログラミングタスクからさらに隔絶する。
【００３６】
ビジネスオブジェクトはモバイルクライアントデバイスにメタデータとして存在し、アドミニストレータ（図１）を使用して管理される。モバイル企業プラットフォームを通してのメタデータの使用は、たいていのデータエンティティ属性と挙動がコードされるよりもグラフィカルユーザインターフェースを通して形成される環境を提供する。
【００３７】
モバイル企業プラットフォームのメタデータ駆動の性質は、モバイルクライアント上で、ステートレス（stateless）サーバキテクチャを通してビジネス処理を実行することができる。メタデータを通して、モバイルアプリケーションが形成され、カスタマイズされる。メタデータは、モバイルデバイスへのビジネス記号データを参照してビジネスオブジェクトの構造を規定し、ビジネス処理を支配するビジネスルールを引き起こす事象を定義する。
【００３８】
メタデータデータベースは、ビジネスオブジェクトを形成するコネクタを通して公開（expose）されるクロスファンクショナル、クロスアプリケーションバックエンドビジネス情報の参照を含む。この処理は、ビジネスオブジェクトと接続する企業データソースビジネス情報を形成し参照するスタジオコンポーネント（図１）を通して達成される。これは、モバイルアプリケーション用の特定データへの経路を提供し、企業データソースからのビジネスデータがデータ更新のためにアプリケーションサーバ又はシステムの他の任意の中間データストアにネイティブデータフォーマットで記憶されないことを保証する。このメタデータを使用する非侵入性リアルタイム同期アプローチにより、モバイル企業プラットフォームは最小の破壊量で有効にバックエンドシステムに接続することができる一方、クロスファンクショナルデータアクセス、データ一貫性（consistency）、データ統合（integrity）を最大化することができる。
【００３９】
ＩＶ．モバイル企業プラットフォームコンポーネント
Ａ．モバイルアプリケーション
前述したように、モバイルクライアント１０２（図１）は、企業のビジネス処理を実行するインストールされたアプリケーション１２４を含むことができる。アプリケーションは、前述したモバイル企業プラットフォームを利用することができ、アプリケーションがメタデータに形成された企業処理を駆動するビジネスオブジェクトのインスタンスを作成する（instantiate）方法を実証する。
【００４０】
例えば、タスク又はワークオーダー情報は、ビューを通してモバイルアプリケーションに提供され、ビジネスオブジェクトを介してアクセスされるであろう。ビュー定義を介してビジネスデータを検索するには、ビジネスオブジェクトはデータ管理ウェブサービスを使用してビジネスデータをモバイルアプリケーションに引き渡し、タスクを説明する。このデータはモバイルデバイス上のローカルリレーショナルデータベースに記憶されている。タスクデータに対する更新がアプリケーションからの要求でタスクビジネスオブジェクトに収容（commit）されると、スマートクライアントアプリケーションは、モバイルクライアント上のビュー定義済みデータストアに対する変更を持続する。そして、スマートクライアントは、管理者データ更新を管理し、データマネジャーウェブサービスを介してオリジナルデータソースに戻す。これにより、データの一体性と一貫性が保証される。
【００４１】
ここに記載したモバイル企業プラットフォームで利用可能であるウェブサービス（例えば、接続、構築、及びデータ管理サービス）の深さ、幅及び力を利用することにより、販売力、生産性、顧客サービス、サポートソルーションのようなアプリケーションを含む一式のモバイルアプリケーションを容易に構築することができる。このようなアプリケーションは、オイル/ガス、保険/医療、財務サービス産業ソルーションを含む広範囲の縦のアプリケーション（vertical application）と統合することができる。
【００４２】
Ｂ．サーバコンポーネント
アプリケーションサーバは、メタデータ駆動プラットフォームアプリケーションのタイプであり、情報、アプリケーション、ビジネスプロセスをモバイルクライアントに提供し、モバイル企業プラットフォームとバックエンド企業データソースのホストとの間の管理されたデータ統合を保証する。アプリケーションサーバは米国ワシントン州レッドモンドのマイクロソフトコーポレーションからの「.ＮＥＴ」技術上で構築されるプロセスベースのハイパフォーマンスソルーションである。「.ＮＥＴ」テクノロジーを使用するモバイル企業ソルーションは、データ交換及び伝送用のＸＭＬとＳＯＡＰの使用を通してのウェブサービスネイティブであるフレームワークである。アプリケーションサーバは、図１の機能構成図に示す３つのコアウェブサービスを提供する。
コネクタウェブサービス
コネクタウェブサービスは既存の企業アプリケーションインフラストラクチャーの非侵入性統合を配信する一方、モバイルクライアントと離散企業データソースとの間のデータ一貫性条件の制御を維持する。
コンフィグレーションウェブサービス
コンフィグレーションウェブサービスは、ビジネスデータ、ビジネスオブジェクト、ビジネスルール、ビジネスコンスタント、及び認証、ロギング、セキュリティ、役割のようなシステムコンフィグレーションを定義するメタデータを管理する。これらは、モバイルクライアントに渡されるモバイルアプリケーションから、モバイルデバイスに常駐しているコンポーネントアプリケーションまでを包含する。
データマネジャーウェブサービス
データマネジャーウェブサービスは、モバイルクライアントアプリケーション、アプリケーションサーバ、及び第三者企業データソースの間の更新相互作用を組織化する。加えて、データマネジャーウェブサービスは、リアルタイムクエリー（queries）のためにコネクタレイヤーと直接通信する能力を提供する。データマネジャーウェブサービスは、データの統合性（integrity）を実施するために、多重企業データソースへの複数のユーザによる複数の最新情報（updates）に関する種々の条件を管理する方法に、フレキシビリティを提供する。データマネジャーウェブサービスはこれをアプリケーションサーバを介して又は直接、任意のＡＰＩ及び/又は第三者発行ウェブサービスに対して行うことができる。
このようにして、データマネジャーウェブサービスはアプリケーション更新及びデータ変更の展開をシステムのモバイルクライアントを通して管理することができる。
これらのコンポーネントの各々は、次に詳細に説明する。
【００４３】
１．コネクタウェブサービス
コネクタウェブサーバは、ＯＤＢＣデータソース又はウェブサーバＡＰＩとの通信をサポートするように設計されている。コネクタウェブサービスにより、ユーザは１又は複数の第三者システムに記憶されたデータに基づいてビューを定義し構築することができる。コネクタウェブサービスは、モバイルクライアントからのリアルタイムデータアクセスはもちろん、標準大量更新を許容する公開されたインターフェースを有する。
【００４４】
コネクタウェブサービスは、プリケーションサーバメタアプリケーションと企業データソースの特定インターフェースとの間の物理的レイヤー接続を提供する。コネクタは、データベースディスピュート管理及び通知サービス、トランザクション管理、及びエラー処理をサポートする。デフォルトカスタマーコンフィギュレーションでは、モバイル企業プラットフォームシステムは、ＯＤＢＣ又はウェブサービスコネクタとともに顧客に展開される。当業者は、ジーベル、ＳＡＰ、ピープルソフト、オラクル、ＳＱＬサーバ等のような最も一般的な企業システムへのコネクタを生成することができる。
【００４５】
例えば、「オラクル」アプリケーションコネクタにより、顧客は、顧客が有する最も近いデータ構造を通してＡＰＩ（ＰＬ/ＳＱＬ手順等）に、又はＯＤＢＣを介して直接企業データベース自体に、オラクルサポートサービスへの電話をかけることができる。全てのＯＤＢＣコネクタと同様に、ＲＤＢＭＳスキーマの動的尋問（dynamically interrogation）が自動的に実行され、データベースの具体的な物理的設計を公開する。これは、顧客に、システムへの実際のインターフェースの階層的ビューを与える。
【００４６】
図３は、コネクタが企業データソースをモバイル企業プラットフォームにインターフェースで接続する方法の一例を示す。図３の左側には、ＥＰＲデータソース３０２、ＣＲＭデータソース３０４、ＨＲ/ファイナンスデータソース３０６、レガシー/ＯＤＢＣデータソース３０８を含む多重企業データソースの表示があり、他のウェブサービス又は他のソース（不図示）を含むことができる。図３の中央部には、メタデータ３１２の表示があり、これは異なる企業データソースからのデータが図３の右側に表示されているモバイルクライアント３１６に記憶され関係づけられているかをアプリケーションサーバ３１４に指定する。
【００４７】
この例では、ＯＲＤＥＲ ＩＤとして識別されたデータはＥＰＲデータソースに存在する。Ｆ ＮＡＭＥ及びＬ ＮＡＭＥとして識別されたデータはＣＲＭデータソースに存在する。ＣＲＥＤ ＬＩＭとして識別されたデータはＨＲ/ファイナンスデータソースに存在し、ＷＡＲＲＡＮＴＹとして識別されたデータはレガシー/ＯＤＢＣデータソースに存在する。これらの全ての識別されたデータは、バックエンドオフィスシステムで、企業データソースに記憶されている。
【００４８】
メタデータ３１２では、企業データソースからのデータ定義がビュー（views）にマップ（map）され、前記ビューは、データストアをクライアントに創成し、企業データソースからのモバイルクライアントに関する関連ビジネスデータをリレーショナルデータベースに記憶するのに使用される。このビジネスデータへのアクセスは、モバイルクライアント上のメタデータに定義され記憶されたビジネスオブジェクトレイヤーを介して達成される。図３に示すように、ＥＲＰデータソースからのＯＲＤＥＲ ＩＤがオーダーＩＤと呼ばれるビジネスオブジェクトプロパティにマップされ、その関係定義（relational definition）は、モバイルクライアント３１６上のメタデータ３１８に記憶され、メタデータに定義された１又は複数のモバイルアプリケーションにより利用される。ＣＲＭ企業データソースからのＦ ＮＡＭＥデータは、モバイルクライアントデータベースに記憶されたファーストネームビジネスオブジェクトプロパティ定義にマップされ（記憶され）、Ｌ ＮＡＭＥデータはラーストネームビジネスオブジェクトプロパティにマップされる。同様に、ＨＲ/ファイナンスデータソースからのＣＲＥＤ ＬＩＭは、クレジット限度ビジネスオブジェクトプロパティにマップされ、レガシー/ＯＤＢＣからのＷＡＲＲＡＮＴＹデータは、保証ビジネスオブジェクトプロパティにマップされる。このように、潜在的に非類似で互換性のない本質的に異なる企業データソース３０２，３０４，３０６，３０８，３１０は、ローカルデータストアへのデータマネジャーウェブサービスを通して（企業データソースからアプリケーションサーバ３１４への線で表現されている）、モバイルクライアント上のビジネスオブジェクト（モバイルクライアント３１６に実数値で示されている）の一つを使用してアクセスするのに適正なフォーマットで、モバイルクライアントに引き渡される。
【００４９】
コネクタタイプ
コネクタウェブサービスによりサポートされているコネクタは、次の３つのコネクタタイプを含む。
１．ウェブサービスコネクタは、モバイルプラットフォームが第三者システムに接続されているときに使用される。第三者システムは、（ａ）非ＯＤＢＣ対応であり、（ｂ）ＯＤＢＣ/ＲＤＢＭＳ接続性を許容しない、又は（ｃ）そのインターフェースが標準ＡＰＩにより定義され、ウェブサービスディスクリプタ言語（ＷＳＤＬ）により包んで定義することができる。
２．ＯＤＢＣ/ＲＤＢＭＳコネクタは、モバイルプラットフォームを第三者システムに接続するときに使用される。第三者システムは、（ａ）ＯＤＢＣ対応であり、（ｂ）直接ＯＤＢＣ/ＲＤＢＭＳアクセスを許容し、及び（ｃ）そのデータが同一のＬＡＮ環境内に物理的に位置し、又は移送を支える通信プロトコル（ＲＰＣ、ＴＣＰ等）を介してアクセス可能である。
３．ＡＰＩコネクタはウェブサービスコネクタと類似しているが、（ａ）ＡＰＩにＲＰＣのような非インターネットプロトコルを介してアクセス可能であることを要求し、（ｂ）ウェブサービスインターフェースが利用可能でない場合に使用される。
【００５０】
ＯＤＢＣ/ＲＤＢＭコネクタを介してのリーディングスキーマ情報は、アドミニストレータアプリケーションを使用して、モバイル企業プラットフォームのスタジオ部１３０（図１）の使用を通して達成される。スタジオ部は、バックエンドデータソースにマップするビュー定義を設定し、１又は複数のビューの定義を１又は複数のビジネスオブジェクトにマップするのに使用される。アドミニストレータを使用してビュー定義を定義し又はビューをビジネスオブジェクトにマップするとき、情報はメタデータとして記憶される。アプリケーションサーバと企業データソースを用いる更新処理中、メタデータは、データを読み、持続（persist）し、除去（remove）する方法（選択/挿入/更新/消去機能）を決定するのに使用される一方、コンフリクト検出/解決、必要に応じて固有と補償の両方のトランザクションのような機能を使用して、データ完全性を管理し強化する。
【００５１】
ＯＤＢＣ/ＲＤＢＭＳコネクタを使用して、マイクロソフトコーポレーションＳＱＬサーバ又はオラクルＲＤＢＭＳ（８ｉ、９ｉ等）の場合、ＡＮＳＩＳＱＬステートメント及び/又は保存手順を介して、データが読み取られ、持続され、及び/又は除去される。ウェブサービス/ＡＰＩコネクタを使用して、適当なＡＰＩ機能又はトランザクション方法を呼び出すことにより、データが読み取られ、持続され、及び/又は除去される。
【００５２】
２．コンフィギュレーションウェブサービス
デクステラスタジオにより消費されるコンフィギュレーションウェブサービスは、管理者、ビジネスアナリスト、開発者にとって容易に相互利用可能な方法を提供し、デクステラモバイル企業ソルーションを実行し、構成（configure）し、管理する。コンフィギュレーションウェブサービスにより、モバイルアプリケーションのデータ及び処理の定義を構成（configure）し、カスタマイズするのに使用されるメタデータを容易に操作することができる。このサービスは、以下に詳細に説明するアドミニストレータコンポーネントの特徴を参照すると、より良く理解されるであろう。
【００５３】
３．データマネジャーウェブサービス
更新処理モデル
更新処理モデルは、モバイルアプリケーションがそれらのローカルに保持したデータ（アプリケーションまたはそのビジネスオブジェクト）を更新するシステムで、相互運用を容易にするウェブサーバとして露出されている１セットのコアネットコンポーネントを使用するバックエンド企業データベースとともに、利用される。
【００５４】
データ管理ウェブサービスは、モバイルアプリケーションとその全ての関連ビジネスオブジェクト定義済み（defined）データを更新する。更新処理モデルは企業データソースとモバイルクライアントの間のデクステラアプリケーションサーバを介しての二方向データ転送を可能にするので、更新をモバイルクライアントがネットワークに接続している間に行うことができ、接続されているときにクライアント間で更新を吸収することができる。非接続状態にあるときは、接続状態に達して更新要求を開始できる時まで更新はクライアント環境で管理される。
【００５５】
更新処理モデルは、「オールオアナッシング」方法をとる。全ての流れがアプリケーションサーバからモバイルクライアントにダウンロードされる前（又は全ての流れがクライアントからサーバにアップロードされる前）に故障が生じると、アプリケーションサーバ上のデータ管理ウェブサービスはダウンロード（又はアップロード）トランザクションの確認を受信しない。この結果、サーバはデータのロールバック（roll back）又は単に再試行を要求するか否かについてのクライアント状態を管理する知能を有する。モバイルクライアントが更新処理２回実行すると、アプリケーションサーバはオリジナルの情報状態を考慮し、アプリケーションサーバが処理すればその結果を送るか、全ての要求情報がアプリケーションサーバにより受信されなかった場合に再度処理する。これにより、モバイルクライアントとアプリケーションサーバの間で一回だけ情報の信頼性のある提供を実行することができる。これにより、如何なる場合も、データがモバイルクライアントから１又は複数のバックエンドデータソースに移動する際に、データの統合性（integrity）を強化（enforce）することができる。
【００５６】
更新処理のブレークダウン
２タイプの更新処理がサポートされている。
１．最新版取得：この更新タイプでは、モバイルクライアントは企業データソースからデクステラアプリケーションサーバを介して最新情報を取得するよう要求する。デクステラアプリケーションサーバは要求を処理し、デクステラコネクタウェブサービスを使用して複数のデータソースからビジネス情報を検索し、該ビジネス情報をモバイルクライアントに引き渡す。
２．更新（二方向更新）：この更新タイプでは、クライアントとサーバエンドの記録が交換され、デクステラコンフリクトレゾルーション設定（configured）パラメータを使用して、モバイルクライアントとバックエンド企業データソースに関するデータの統合性（integrity）を強化することができる。
【００５７】
コンフリクト検出/レゾルーション
コンフリクトレゾルーションは、モバイルクライアントと１又は複数のバックエンド企業データソースの間で行われる交換により生じるデータコンフリクトを仲裁（arbitrate）するのに使用されるルールを説明している。これはまずコンフリクトを認定（検出）し、このコンフリクトを１又は複数の方法で解決する（レゾルーション）ことにより実行される。
【００５８】
デックステラアプリケーションサーバは、行と列のレベルによるコンフリクト状態を識別することはもちろん、レビジョン、デート/タイムスタンプ又はマニュアルの３つの方法のうち一つにより、コンフリクトを検出することができる。
【００５９】
レビジョンは、特定のフィールド又はプロパティが単一の記録ソースで、改訂されたものとして識別されるセッティング（setting）であり、デクステラアプリケーションサーバはこれを使用して、データがバックエンドデータソース又はモバイルクライアントのいずれかで変更されたか否かを決定する。
【００６０】
デート/タイムスタンプ
デート/タイムスタンプは、特定のフィールド又はプロパティが単一の記録ソースで、挿入/更新又は消去時にスタンプされ更新されたデート/タイムスタンプとして識別されるセッティングであり、デクステラアプリケーションサーバはこれを使用してデータがバックエンドデータソース又はモバイルクライアントのいずれかで変更されたか否かを決定する。
【００６１】
マニュアルは、単一の記録ソースにコンフリクト状態を識別する特定のフィールド又はプロパティがないセッティングであるため、デクステラアプリケーションサーバは全てのフィールド又はプロパティを比較して独自性（uniqueness）を定義し、データがバックエンドデータソース又はモバイルクライアントのいずれかで変更されたか否かを検出する。
【００６２】
デクステラアプリケーションサーバのコンフィグレーションに依存して、コンフリクトは、ファーストアップデートウィンズ、ラーストアップデートウィンズ、アドミンレゾルーション又はサーバサイドルールの４つの方法のうち一つの方法で解決される。
【００６３】
ファーストアップデートウィンズ
ファーストアップデートモデルでは、アプリケーションサーバは、更新を行う最初のものである記録の変更を受け入れるだけである。記録がバックエンドデータソースにより第１更新され、アップデートウェブサーバによりコンフリクトが検出されると、エラーをリターンする代わりに、データマネジャーウェブサービスはクライアントにより提供されたバージョンを落とし、バックエンド企業データソースからの記録の最新バージョンをモバイルクライアントにリターンする。
【００６４】
ラーストアップデートウィンズ
ラーストアップデートウィンズモデルでは、サーバはコンフリクトを検出する必要はなく、モバイルクライアントからバックエンド企業データソースへの変更を単に持続し、バックエンド企業データソースの現在の記録を上書きする。
【００６５】
アドミン（又はマニュアル）レゾルーション
アドミン/マニュアルレゾルーションに構成（configure）されると、サーバは全てのコンフリクトを、その解決にマニュアル介入（intervention）を要求するものとして取り扱い、現在の記録のコピーをバックエンド企業データソースからリターンし、オプションとして、任意の通知サービス（ＳＥＭ、Ｅメール等）を介して、コンフリクト状態が生じてデクステラアドミニストレータを介する解決を考慮することを通知する。そうすることにより、列レベル（column level）のコンフリクト解決が可能である。アドミニストレータは、バックエンド企業データソースに選択的に戻って、再申請する値を決定するからである。
【００６６】
サーバサイドルール
カスタマイズ可能なサーバサイドルールは、よりプログラム的に具体的にコンフリクト状態が解決される方法を決定するのに作成される。例えば、コンフリクトは記録中のデータの値に基づいて解決されてもよい。このフレキシビリティは、コンフリクト解決シナリオを包囲する特定のアクションにわたって完全な制御を許容する。
【００６７】
サーバからのクライアント展開
アプリケーションサーバは、クライアントにダウンロードされる１又は複数のモバイルフィールドアプリケーションの定義を有し、タスクとして表されるフォーム/スクリーン（「フォームフロー」と言及する。）、データ相互作用（「フィールドフロー」と言及する。）、及びビジネスプロセス/ワークフローに構築されるフィールドフローとフォームフローのグループ（「フォースフロー」と呼ぶ。）を含む。フォームフロー、フィールドフロー、フォースフローは以下にさらに説明する。アプリケーション定義はまた、ビュー、ビジネスオブジェクト、ビジネスコンスタント定義のようなアプリケーションと関連するコンフィギュアドメタデータ（configured metadata）を含む。また、展開には、「時々」接続される状態でモバイルクライアントを作動させるのに要求される１又は複数のバックエンド企業データソースからの特定のビジネスデータが含まれる。
【００６８】
アプリケーションサーバは、アプリケーションを引き渡して管理し、既存の企業データソースとシステムに接続する基盤を提供する。モバイルク企業プラットフォームアプリケーションは、ポケットＰＣやタブレットＰＣデバイスのようなモバイルデバイスに分配され、アプリケーションサーバにより管理され、その分野の全てのユーザインターフェースの高度に管理可能なアドミニストレーションを提供することができる。
【００６９】
Ｃ．アドミニストレータコンポーネント
前述したように、アドミニストレータコンポーネント（図１）により、システム管理者は比較的規則的で煩雑である変更を行うことができる。アドミニストレータコンポーネントは、ビジネス分析者又は管理者が管理するのに適したフォーマットで、決定変数、ドロップダウンリスト内容、及びその他の情報へのアクセスを提供する。このアドミニストレーションへのアプローチにより、システム管理者は多くの機能を拡張し、システム統合性（integrity）を落とすこと無くアドミニストレータレベルまで落とすことができる。
【００７０】
例えば、企業のビジネスプロセスを定義するのに使用されるビジネスインフォメーションからなるデータは、ビジネスオブジェクト定義形態で受け取ることができる。コンフィグレーションウェブサービスは、アドミニストレータコンポーネントのこの特徴へのアクセスを提供する。
【００７１】
Ｃ．クライアントコンポーネント
前述したように、企業プラットフォームアーキテクチャでのクライアント１０２（図１）は、モバイルアプリケーションが「フォースフロー」、「フィールドフロー」及び「フォームフロー」として言及される技術を使用し、またウェブサービスを使用して、役割ベースのビジネスプロセスの使用を許容する、フレームワークを提供し、これにより、有線及び無線接続を介して、インターネットのようなＬＡＮ/ＷＡＮネットワークによるモバイルクライアント、デクステラアプリケーションサーバ、企業データソースの間の通信が可能となる。小フォームファクター（form-factor）デバイスに最適化された方法によりクライアントデバイス機能で作動するモバイルアプリケーションは例外を提供し、ユーザ経験を容易に学ぶことができる。
【００７２】
図示されたシステムでは、クライアントは、メタデータアウェア（metadata aware）であるマイクロソフトコーポレーションの「ＮＥＴコンパクトフレームワーク」を利用して構築されるオブジェクトフレームワークである。クライアントコンポーネントにより、モバイルデバイスへの企業クラスアプリケーション機能性（functionality）の配信が可能であり、モバイルデバイスは、好ましくは「ポケットＰＣ」オペレーティングシステム又はマイクロソフトコーポレーションからのマイクロソフトタブレットＰＣオペレーションシステムにより作動する。クライアントコンポーネントはまた既存の「ポケットＰＣ」機能性と統合し、ポケットＰＣインターフェースのカレンダー、タスク、トゥデイのスクリーン機能性とのシームレスインテグレーションを提供する。これにより、安定した有効な作動する環境が提供される。
【００７３】
フォームフロー、フィールドフロー、フォースフロー
ディスプレイスクリーンの形態でのビジネス処理のタスク、ステップ又はオペレーションは、「フォームフロー」と呼ばれる。フォームフローは、「フィールドフロー」と呼ばれるプロセス相互作用を開始するのに使用され、当該フィールドフローにより「フォースフロー」と呼ばれるビジネス処理の開始することができる。フィールドフローにより、「帯域外」フォースフローの開始（launching）はビジネス処理にリアルワールド弾力性をもたらすことができる。
【００７４】
フォームフローは、（１）情報、（２）アクティビティチィ、（３）更新の３つのカテゴリに分割される。情報フォームフローは、ビジネス処理における次の論理タスクを満たすためにモバイルユーザにより必要とされる情報を示すスクリーンである。アクティビティフォームフローは、ユーザが行い又は実行するのに必要とされる何かを示すスクリーンである。アップデートフォームフローは、モバイルユーザがデータを入力するよう促される時に表示されるスクリーンであり、ホストアプリケーション（企業データソース）に戻される。
【００７５】
フィールドフローは、例えば、部品が故障し、在庫データベースの調査が失敗し、ソルーションついての部品又は同様の問題が存在し利用可能であるか否かを見るために実行されるときに要求され、ルックアップと呼ばれる。また、フィールドフローは、ある部品がクライアントへの配信のために注文され、割り当てられ、予定が決められるのに必要であるときに要求され、更新と呼ばれる。
【００７６】
フォースフローは、ビジネス処理であり、このためにフォームフローとフィールドフローのコレクション（collection）である。フォースフローの例は、仕事又は派遣行事に関連する時期、旅程及び経費記録である。
【００７７】
図２に戻って参照すると、このブロック図はターゲットアプリケーションのコラムとフィールド間の関係が「フォームフロー」（アプリケーションで「フォーム」として表現されているビジネス処理におけるステップ）における情報にどのように関係づけられ、またフォースフロー（ビジネス処理）に関連しているかを示す。一つのフォームフローに多くのビジネスオブジェクトが存在し、潜在的にはどのビジネス処理にも１以上のフォームフローが存在し得る。
【００７８】
フィルタにより、特性と条件がモバイルアプリケーションを参照したときにデータに置くことができる。例えば、データタイプ（例えば、日時）、有効タイプ（例えば、月曜日から金曜日）、任意のコンフリクト状態を検出してもよい。他のフィルタ特性と条件を設定（configure）してもよい.
【００７９】
ビューは、１又は複数のビジネスオブジェクトで使用するためのデータと保管位置を定義し、ビジネスオブジェクトは、１又は複数のビューに基づくことができる。これにより、追加の特性を関連付けることができる。例えば、ビジネスオブジェクトは「カスタマー」と言及してもよいし、それは、所在地、連絡先、在庫、ＳＬＡ、及びアプリケーションがカスタマーとして区分したいが同じターゲットテーブル又はターゲットアプリケーションにも保持されていないその他の属性などの標準的な顧客の詳細を含んでいてもよい。
【００８０】
図４はフォースフロー及びフィールドフローの図表を示し、これから本発明によるモバイルアプリケーションが構成することができる。図４はオペレーショナルシーケンス４０２を示し、図面を左から右へ横切って延びるフォースフローシーケンス４０４を含む。フィールドフロー４０６はページの下方に延び、下方に延びる第２フィールドフローに隣接している。フォースフロー４０４は多数のディスプレイウィンドウを含むが、最初の最も左のディスプレイウィンドウ４１０から開始し、第２ディスプレイウィンドウ４１２に続く。図中の矢印は、連続するディスプレイウィンドウにより表されたオペレーションのシーケンスを示し、アプリケーションにより実行される。第２ディスプレイウィンドウ４１２は、図面の下方に延びる２つのフィールドフローディスプレイウィンドウ４１４，４１６を含む。アプリケーションのオペレーションは、フィールド４０６の処理が完了した後、第２フォースフローウィンドウ４１２への処理に戻ることを理解すべきである。第２フォースフローディスプレイ４１２の後、第３ディスプレイウィンドウ４２０はまた、第２フィールドフロー４０８を表す図面の下方に延びるフィールドフローディスプレイウィンドウ４２２を含む。フィールドフロー４０８のオペレーションが完了した後、アプリケーションは次のフォースフローディスプレイ４２４に進み、さらに次の４２６に進む。
【００８１】
前述したデクステラインコーポレーテッドの特許出願に記載されているような以前の開発者ツールでは、フォースフロー４０４とフィールドフロー４０６，４０８を構成するディスプレイウィンドウのシーケンスを規定することでアプリケーション４０２を定義することが可能であった。各ディスプレイウィンドウはダイアログボックス、テキスト及びグラフィックのコレクションにより定義されるであろう。そのような仕様を実施できる適切な開発スーツ（suite）は、米国ワシントン州レッドモンドのマイクロソフトコーポレーションから入手できる「ＮＥＴ」ビジュアルベーシックスーツである。このように定義された各ディスプレイウィンドウ４１０−４２６は、図４に示すようにオペレーションのシーケンスが実行されるようにリンクされる。
【００８２】
Ｅ．トランスポータブルアプリケーション
本発明によると、複数のアプリケーションウィンドウのコレクションはモジュール又はトランスポータブルアプリケーション（またシステムの「トランスアプ」として言及される）として規定することができる。例えば、図４のフォースフローディスプレイウィンドウ４１２，４２０，４２４とそれらに関連付けられたフィールドフローディスプレイウィンドウ４１４，４１６，４２２により規定されるようなオペレーションのコレクションは、トランスアプからなることができる。このトランスアプは、フィールドワーカーが労働時間と関連データに入ることができるタイムシート機能を提供するために、時間追跡機能を実行する。オペレーションのコレクションは、同様の方法で実行される。これにより、ここに説明したトランスアプ技術を使用して指定されたフォースフロー４１２，４２０，４２４及びフィールドフロー４１４，４１６，４２２により例証されたオペレーションのコレクションは、トランスアプ技術をすることなく指定されたオペレーションのコレクションと同一のモバイルプラットフォームに提供する。これに関して、ここに記載されたトランスアプ技術は、各フォースフローディスプレイパージを規定し、各関連フィールドフローディスプレイページを規定し、それらの間のデータリンクを規定し、このオペレーションのコレクションをここに記載したモバイルプラットフォームのアプリケーションプログラムに保存する「ブルートフォース」技術のモジュールの代案を提供する。これにより、トランスアプ技術と共同で提供された開発ツールは、モバイルアプリケーションのより都合のよい有効な開発を許可する。
【００８３】
本発明に従って提供された開発者ツールにより、アプリケーション開発者は、アプリケーションを規定するとき、モジュールのライブラリからのモジュールを指定することで、以前に書き込まれたモジュールを利用することができる。このように、以前のツールを使用すると、開発者は、第１フォースフローウィンドウ４１０のディスプレイウィンドウダイアログボックス及び関連テキストを定義し、次に第２ウィンドウ４１２のダイアログボックスとテキストを定義し、続いて第１フィールドフロー４０６のディスプレイウィンドウ４１４，４１６を定義し、さらに次のフォースフローウィンドウ４２０を定義することができる。しかしながら、本発明によると、開発者は第１ウィンドウ４１０を指定するだけでよいが、トランスアプのライブラリから特定のトランスアプを指定することで、ディスプレイウィンドウ４１２，４２０，４２４とそれらの関連フィールドフローディスプレイウィンドウ４１４，４１６，４２２の時間追跡機能性を指定することができる。また、この開発者ツールにより、ユーザはオペレーションの新たなトランスアプコレクションを形成し、トランスアプを用いて、既存トランスアプの編集、コピー、削除、リネーム等のような典型的なエディット機能を実行することができる。このようにして、開発者は、以前に定義したモジュールオペレーションを再使用のために十分利用することができる。これにより、図１のシステムのアプリケーション開発がさらに効率的になり、フレキシビリティが増加する。
【００８４】
Ｖ．開発ツールコンポーネント
オペレーショナルモジュールが指定される開発ツールは複数の機能コンポーネントを含めることができる。機能コンポーネントは、モバイルプラットフォームの開発アプリケーションに従って利用され、これを用いてトランスアプ（TransApps）が構成され設定される。前述したように、モバイルクライアントがサーバと通信して多重企業データソースからのデータへのアクセスを獲得する所望の機能性を提供するために、トランスアプは、ここに記載されたモバイルプラットフォームに配置するためのシステムアプリケーション内に含めることができる。この義輪では、開発者アプリケーションはデータアダプテーションデザイナー（ＤＡＤ）と言及する。ＤＡＤは、プログラムのオペレーションを支持するのに適切な資源を用いて任意のコンピュータにインストールすることができる開発アプリケーションプログラムからなる。例えば、ＤＡＤアプリケーションプログラムは、デクステラアドミニストレータプログラムをホストする図１のコンピュータ１１０、又はデクステラデベロッパープログラムをホストするコンピュータ１１２のようなコンピュータインストールすることができる。ＤＡＤはモバイルアプリケーションプログラムを生成し、該モバイルアプリケーションプログラムはここに記載したモバイルプラットフォームのサーバ３１４（図３）にインストールすることができる。代案として、サーバコンピュータは、アプリケーションプログラムを生成するＤＡＤアプリケーションプログラムをホストすることができる。好ましくは、ＤＡＤは、
ビジネスルールデザイナー
ビジネスオブジェクトデザイナー
フォースフローデザイナー
フィールドフローデザイナー
コンポーネントデザイナー
を含む機能コンポーネントの利用をサポートする。これらのコンポーネントにより、モバイルプラットフォームのアプリケーションの設計者はオペレーショナルモジュールを効率的に設計して指定し、以前に定義したオペレーショナルモジュールを指定して包含することができ、これによりモバイルアプリケーションを効率的に設計し実行することができる。
【００８５】
Ａ．データアダプテーションデザイナー（ＤＡＤ）
ＤＡＤは、任意の企業データソースアダプタに接続し、該企業データソースアダプタ用のデータコンポーネントを構築する能力を提供する。図示した実施形態では、ＤＡＤとアダプタは、ここに記載したモバイルプラットフォームに従って「ＮＥＴ」プラグインを利用する。当業者は、米国ワシントン州レッドモンドのマイクロソフトコーポレーションにより供給される「ＮＥＴ」コンフィグレーションの仕組み（working）を理解するであろう。モバイルプラットフォームのコンポーネントは、コネクションオブジェクト、コマンドオブジェクト、データオブジェクト及びビューを含む。
【００８６】
モバイルプラットフォーム用にトランスアプを生成し修正するために、ユーザはＤＡＤを利用してコネクションオブジェクトを生成し、データソースアダプタを使用してバックエンド企業データソースへのアクセスを獲得する。前述したように、企業データソースアダプタは、複数のデータソースの異種のデータコンフィグレーションとインターフェースをとるように設定（configure）される。コネクションオブジェクトは、ディスカバリ又はイントラスペクション（intraspection）のいずれかを使用して、入手可能なデータインターフェースオブジェクトを公開（expose）する。データインターフェースオブジェクトは、テーブル、ストアードプロセデュア（Stored Procedure）、スクリプト又はオブジェクトのいずれかとして、アダプタを会して開示される。ＤＡＤを使用して、ユーザは、一連のコマンドオブジェクトを生成する。コマンドオブジェクトは、アダプタを使用して特定のアクションを実行し、選択、挿入、更新及び/又は削除のようなアクションを実行する。ＤＡＤユーザは次に、データオブジェクトを定義し、その中で適切な選択コマンド、挿入コマンド、更新も万度及び/又は削除コマンドを選択する。ビューは次に、その要求と応答アクションのためのデータオブジェクトに拘束される。
【００８７】
このようにして、ＤＡＤツールにより、開発者は、サーバ内の単一の定義済み（defined）データオブジェクトにマップされた１又は複数のバックエンド企業データソースからのデータを要求し存続させることができ、これにより物理的なデータ構造とインターフェース可能性に抽象化のレイヤー（a layer of abstraction）を提供することができる。サーバプリケーションがこのように定義され実施されると、モバイルクライアントは、モバイルプラットフォームサーバを介して、企業データソースとインターフェースで接続することができる。モバイルプラットフォームサーバは、コネクション、コマンドデータ、ビュープラットフォームコンポーネントの定義を使用して、どのようにどのデータを取り出してバックエンド企業データソースに持続するかを決定する。
【００８８】
図５は、前述したＤＡＤアプリケーションデザイナープログラム用のグラフィカルユーザインターフェースディスプレイウィンドウのスクリーンショットを示す。図５のディスプレイにより、ＤＡＤユーザは、ここに記載されたモバイルプラットフォームと共同して使用するためのモバイルアプリケーションを設計することができる。図５はディスプレイウィンドウがファイルとビューのメニューのためのメニューバーを有し、ＤＡＤプログラムを通してそれらの上で実行されるべきトランスアプとオペレーションを選択することができる。実行されるオペレーションは、生成、オープン、セーブ、編集、消去、コピー、リンク、等を含めることができる。図５のディスプレイウインドウは、作業領域（スクリーンショットの左側）を有し、そこでユーザはオペレーションのトランスアプシーケンスをグラフィカルにレイアウトし、表示ページを横切って横方向に相互接続されたフォースフローを指定し、ページの上下に垂直方向に相互接続されたフィールドフローを定義することができる。種々のフォースフローとフィールドフローのディスプレイページは図５のシートに表現されている。図５に示すＤＡＤのインターフェースを通して、ユーザはモバイルアプリケーションを生成し設定することができ、またユーザは、スプラッシュスクリーンを指定し、モバイルアプリケーションのためのスタートアップオブジェクトを指定するほか、クライアントにおけるモバイルアプリケーションディスプレイページのために、トランスアプ、フォースフロー、シート、アクション、ビジネスオブジェクト、メニューアイテム、ツールバーボタンを追加することができる。シート間のリンクとフローが規定されると、システムは適切なコードとスクリプトを生成することができ、トランスアプがシステム上で実行されるとリンクとフローの首尾良いオペレーションを保証する。
【００８９】
ファイルメニューは、トランスアプに適用される典型的なファイル編集オペレーション用のメニューアイテムのリストを表示し、これにはトランスアプのセーブ及び編集、トランスアプの生成、インポート及びプリントを含む。ビューメニューは、ディスプレイウィンドウ用のビューオプションのリストを表示し、レイアウトビュー（図５に示すデフォルトレイアウトビューのような）、ズームディスプレイコントロール、トランスアプの単一アイテムの表示、トランスアプのツリー構造表示を提供する階層的ビュー等を示す。
【００９０】
図５の右側は、モバイルアプリケーションのウィンドウディスプレイに含められ、クライアントデバイスで表示するために生成されるように、開発者設計者が選択することができるコンポーネントのリストを示す。コンポーネントは、アクションの選択にはディスプレイボタンとして、またアプリケーションのユーザによるデータの入力に対してはデータウィンドウとして、モバイルアプリケーション上に現れる。コンポーネントは、図５に示すように、コンポーネントのコレクション（collection）として記憶し取り出すことができる。すなわち、設計者は、モバイルアプリケーション内で使用するネームで新しいトランスアプ又はフィールドフローを生成するほか、既存のトランスアプ又はフィールドフローをインポートし編集することができる。いずれの場合でも、ユーザは図５に表示されたＤＡＤのグラフィカルインターフェースを使用して、フォースフロー、シート、アクション、ビジネスオブジェクト、メニューアイテム及びツールバーボタンを追加することができる。
【００９１】
「アクション」コンポーネントにより、設計者はトランスアプレベルで適用するアクションを定義することができ、「ビジネスオブジェクト」コンポーネントにより、設計者はトランスアプレベルで適用するビジネスオブジェクトを規定することができ、またデータソースコンポーネントにより、設計者はデータソースの選択を表示し、使用するサーバとアダプタを識別することができ、さらにフォースフローコンポーネントにより、設計者はトランスアプからのフォースフローを追加し、編集し、移動することができる。トランスアプレベルで適用されるアクション（図５のウィンドウに示すような）は、トランスアップ内のフォーム及びフォースフローフォームに適用される。これらのアクションは、フォースフローのベースシートに見られるアクションに重複（over-ride）し、付加し、追加することができる。トランスアプレベルで追加されるツールバーボタン及びメニューアイテムは、トランスアプ内の全てのフォーム（フォースフローを含む）に相当するボタン及びメニューアイテムを適用する。これらのボタン及びメニューアイテムは、個々のフォーム伊予美フォースフローフォームレベルで指定されたボタン及びメニューアイテムに加えられる。
【００９２】
図５は、アクション、ビジネスオブジェクト、フォースフロー等のコレクションがトランスアプを設定するのに利用することができることを示している。このような操作をサポートするために、ＤＡＤアプリケーションプログラムはさらに、コレクションが図５のディスプレイから選択されるときに起動（launch）することができるコレクション編集機能を含む。
【００９３】
図６は、コレクションエディタスクリーンショットの例を示す。図６では、エディタは、トランスアプコレクションの操作に適用される。図６のディスプレイの左側は、エディタにより開かれ、操作（manipulation）と設定（configuration）に利用可能なトランスアプのネームを示す。図６のディスプレイの右側は、ディスプレイメニューアイテムをクリックすることでトランスアプに指定することができるアクション（及びアクションのコレクション）を示し、また「開始デザイナー」オプション、ネームによるトランスアプの指定を示し、さらに、操作と設定に利用可能で、生成される新たなトランスアプのネーミングを許容するベーストランスアプのリストを表示するフォームオプションを示す。
【００９４】
コレクションエディタは、エディタウィンドウの変更をトランスアプの対応するシートとフォースフローに伝搬する。すなわち、（図５のウィンドウのように）トランスアプレベルで適用されるアクションは、ベーストランスアプ（すなわち編集機能が実行されるトランスアプ）内のシートとフォームとフォースフローフォームに適用される。これらのアクションは、フォース不ローンのベースシートに見られるアクションを重複し、付加し、追加することができる。
【００９５】
Ｂ．機能コンポーネント
前述したように、データアダプテーションデザイナーは、トランスアプが設定され操作される５つの異なるコンポーネントツールに対するサポートを組み込んでいる。これらのコンポーネントは、ビジネスルールデザイナー、ビジネスオブジェクトデザイナー、フォースフローデザイナー、フィールドフローデザイナー、及びコンポーネントデザイナーを含む。
【００９６】
１．ビジネスルールデザイナー
ビジネスルールデザイナーコンポーネントは、「もし(If)...そうすると(Then)
...でなければ(Else)」フォーマットで簡単なビジネスルールを生成する能力を提供する。そのような構成は、前述したような１又は複数のイベントに添付されるスマートクライアント又はサーバにより実行されるようになっている。ビジネスルールは、
当業者により提供される簡単なインターフェースで、又はマイクロソフトコーポレーションから入手可能な「ＶＳ．ＮＥＴ」への立ち上げにより定義することができ、当業者に公知のサポートされたマネージドシンタックス（例えば、ＶＢ．ＮＥＴ、Ｃ＃等）でコード化することができる。
【００９７】
ビジネスルールは、モバイルプラットフォーム（クライアント）で入力されたデータ状態又はデータに応じてトランスアプの任意のシートに適用することができる。例えば、モバイルプラットフォーム設計者はＤＡＤのビジネスルールデザイナーを使用して、ルールを指定することができる。データ状態又はクライアントユーザデータ入力が所定の閾量を越えるか、所定の状態内になければ、モバイルアプリケーションプログラムは、ユーザに修正動作をとるか、さらなる情報を供給するように促すディスプレイを開始することができる。例えばモバイルアプリケーションの費用勘定追跡トランスアプにおいて、ビジネスルールは、クライアントユーザが所定の限界より大きい支出顎を入力したか否かを確認するためにチェックしてもよい。この場合、アプリケーションはその顎を容認するためにクライアントユーザに認証コードを問い合わせることからな所定の行動を開始する。
【００９８】
２．ビジネスオブジェクトデザイナー
ビジネスオブジェクトデザイナーコンポーネントは、１又は複数のバックエンドデータソースからの１又は複数のビューに拘束されるメタデータにビジネスオブジェクトを生成し定義する能力を提供する。バックエンドデータソースは、デクステラスタジオ「ＶＳ．ＮＥＴ」プラグインを使用する１又は複数のモバイルクライアントアプリケーションにより使用することができる。１又は複数の他のビジネスオブジェクトに対する関係を生成する能力は、デクステラスタジオ「ＶＳ．ＮＥＴ」プラグインを使用する正しいオブジェクト指向アプリケーションコンポーネントアーキテクチャを提供する。
【００９９】
ビジネスオブジェクトデザイナー機能性により、開発者は、プロパティ、デフォルト値、リレーションシップ、フィルタコンディション、パーミッション、関連アプリケーション、及びビジネスルールを含むビジネスオブジェクトの定義を設定（configure）することができる。ＤＡＤビジネスオブジェクトデザイナーを使用して、開発者は、プロパティ、デフォルト値、リレーションシップ、フィルタコンディション、パーミッション、関連アプリケーション、及びビジネスルールを含むビジネスオブジェクトの定義を設定することができる。
【０１００】
図７は、トランスアプ用のビジネスオブジェクトコレクションとともに使用するビジネスオブジェクトエディタの例示的スクリーンショットである。ビジネスオブジェクトエディタにより、ＤＡＤユーザは、エディタで開かれる特定のビジネスオブジェクトのプロパティを変更することはもちろん、モバイルアプリケーション、トランスアプ、フォースフロー又はシートからビジネスオブジェクトを追加し移動することができる。
【０１０１】
図７のスクリーンショットは、ＤＡＤウールのプログラムディスプレイウィンドウを示し、図７に円で囲まれた領域により示すビジネスオブジェクトセット１と呼ばれる特定のネームのデータのコレクションのプロパティサブウィンドウを備えている。サブウィンドウは、特定の編集アクションを示し、この特定の編集アクションは、名付けられたビジネスオブジェクトコレクション内の１又は複数のビジネスオブジェクトに対して実行されてもよい。
【０１０２】
３．フォースフローデザイナー
フォースフローデザイナーコンポーネントは、デクステラスタジオ「ＶＳ．ＮＥＴ」プラグインを再度利用し、構築と生成を容易にするためのデザイナーツール面（designer tool surface）を使用して１又は複数のモバイルクライアントビジネスプロセスを生成する能力を提供する。
【０１０３】
フォースフローデザイナー機能性により、開発者はモバイルビジネスプロセスをレイアウト（すなわち、デザイン面）し、ビジネスオブジェクトデザイナーを使用して設定されたメタデータ定義への拘束を設定することができる。
【０１０４】
図８は、フォースフローデザイナーインターフェースによりＤＡＤユーザがフォースフローによって実行されるオペレーションを追加し編集することができることを示している。ＤＡＤユーザは、フォースフローにシートに、アクション、ビジネスオブジェクト、メニューアイテム、及びツールバーボタンを追加することができる。ＤＡＤの他の編集ウィンドウと同様に、この（フォースフロー）のレベルで適用されるアクションは、対応するトランスアプ（フォースフロー）フォーム自身に、又はフォースフロー自身のオペレーション内で適用される。また、アクションはベースフォーム内のアクションを重ね、付加し、追加することができる。さらに、フォースフローデザイナーエディタを追加されたツールバーボタン又はメニューアイテムは、フォースフローフォームの全てのオペレーション内の対応するツールバー及びメニューに適用される。
【０１０５】
図８では、ディスプレイウィンドウの作業領域にそのネームによって示され、一覧（Overview）、詳細（Detail）、ファイナライズ（Finalize）と呼ばれるシートを囲む破線で示されているように、リンクフォースフローと呼ばれるフォースフローが選択される。右側のフォースフローネームボックスをクリックすると、ＤＡＤは自動的に利用可能なフォースフローを示す（すなわち、フォースフローのコレクション）。これらのフォースフローは、ＤＡＤユーザインターフェースを通して現在のフォースフロー（リンクフォースフロー）に対して、追加し、コピーし、さもなければ編集することができる。図９は、ＤＡＤユーザがフォースフローコレクションのメンバーを見て、表示し操作するのに興味のあるフォースフローを選択するのに使用することができるフォースフローコレクションエディタディスプレイを示す。
【０１０６】
４．フィールドフローデザイナー
フィールドフローデザイナーコンポーネントは、デクステラスタジオＶＳ．ＮＥＴプラグインを使用して、簡単なスクリーンと、ビュー、ビューメニイ、エディット及び／又はファインド処理のようなワークフローを生成する能力を提供する。
【０１０７】
ＤＡＤを使用する開発者は、フィールドフローのテンプレート（すなわち、ビュー、ビューメニイ、エディット又はファインド）をロードし、デザイナーツールを開始することができる。次に、開発者はビジネスオブジェクトを選択し、スクリーンファンクションを設定することにより、テンプレートのプロパティシートを書き込むことができる。フィールドフローデザイナーコンポーネントは、ＵＩエレメントと、ビジネスオブジェクトのメタデータ定義に縛る（bind）．ＮＥＴコードを含むスクリーンを発生する。
【０１０８】
フォースフローデザイナー（前述の議論を参照）は、フォースフローの特定のシートから開始されるオペレーションからなるフィールドフローを指定するのに使用することができる。フォースフローデザイナーユーザインターフェーススクリーンショットを図８に示す。
【０１０９】
５．コンポーネントデザイナー
コンポーネントデザイナーは、デクステラスタジオ「ＶＳ．ＮＥＴ」プラグインを利用する１又は複数のビジネスオブジェクトのメタデータ定義に拘束される１又は複数のカスタムコントロール又はコンパウンドコントロールを使用して、モバイルスクリーン/フォームを生成する能力を提供する。カスタムコントロールは、メタデータアウェア（metadata aware）であるテキストボックス、グリッド、リスト等のような最もベーシックなビルディングブロック（building block）である。コンパウンドコントロールは、メタデータアウェアであるカスタムコントロールの組合せであり、互いにまとめられて、１−１（１対１の）、１−Ｍ、Ｍ−Ｍデータファンクションのようなあるオペレーションを実行する。モジュールは、シグニチャ、キャプチャ、ログインなどのようなベーシックビジネスファンクションを実行するカスタム、コンパウンド、コントロール及び／又はスクリーンの事前定義されたセットである。
【０１１０】
開発者は、ＤＡＤを使用して、ベースフォームを選択し、コンポーネント（カスタムコントロール又はコンパウンドコントロール）をフォームにドラッグし、プロパティシートを設定し、１又は複数のメタデータ設定ビジネスオブジェクトにバインド（bind）することにより、ＵＩスクリーン/フォームを生成することができる。ＤＡＤは、トランスアプデザイナーファンクションのエディタウィンドウを含み、これにより、シート、フォーム、メニューアイテム、ツールバーボタン、データマッピング関係を指定することができる。例えば、図１０は、メニューアイテムコレクションエディタディスプレイを示し、これを利用してＤＡＤユーザはフォースフローシートにメニューアイテムを追加することができる。図１０は、スマートアプリケーションと呼ばれるモバイルアプリケーションが設計（及び／又は編集）されること、プロパティサブウィンドウが選択された（右側に楕円で囲むウィンドウにより識別された）「サブメニューアイテム」とともにアプリケーションのプロパティを示していること、それに応じて生成されるコレクションエディタサブウィンドウをプロパティのリストとともに示していることを示す。ＤＡＤツールユーザがコレクションエディタで選択を行うと、適切なデータバインディング（binding）が対応するビジネスオブジェクトに対して指定され、これによりモバイルプラットフォームアプリケーションを実行するのに適切なデータ転送オペレーションが保証される。
【０１１１】
図１１は、ＤＡＤユーザがフォースフローシートにツールバーボタンを追加するのに利用することができるツールバーコレクションエディタディスプレイを示す。ディスプレイウィンドウは、基礎ＤＡＤアプリケーションウィンドウの前にディスプレイウィンドウを識別するために、図１１に円で囲まれている。図１２は、マッピングディスプレイを示し、これは、エディタウィンドウのマッピング選択と、マッピングコレクションエディタウィンドウのビジネスオブジェクトマッピングダイアログボックスで指定されたソースビジネスオブジェクト及びあて先ビジネスオブジェクトととともに、データマッピングを指定するのに利用することができる。円で囲まれた領域により識別されるエディタウィンドウは、ドロップダウンリストからのネームによりマッピングするためにオブジェクトを指定することができることを示している。
【０１１２】
Ｃ．モジュール構成
前述したように、デザイナーツールは、トランスポータブルアプリケーション（「トランスアプ」）と呼ばれるオペレーショナルモジュールを備えたモバイルデータシステムのオペレーティングシーケンスを展開し、設定し、適用するために提供されている。トランスアプは、内蔵され、他のオペレーティングシーケンスと他のトランスアプに結合することができるデータオブジェクトである。図に示し前述したように、ユーザツールにより、プログラミングコードの知識を必要としない便利なユーザインターフェースを通して、トランスアプの展開、設定、適用をすることができる。
【０１１３】
各トランスアプオペレーショナルモジュールは、入力データを受け入れることができ、出力データを生成することができる。入力データは他のモジュール、又はアプリケーションユーザ、あるいは企業データソースから受け取ることができる。出力データは、他のトランスアプモジュール、又はアプリケーションサーバ（企業データソース用）に提供することができ、またモバイルコンピューティングデバイス自身への表示に備えることができる。このように、モジュールは、特定の問題解決のために定義される。このような問題解決は、他のアプリケーションデザインの努力中に再使用することができる。ここに説明したように、トランスアプオペレーショナルモジュールは、と特殊なプログラミング専門能力なしに、便利なユーザインターフェースを通して管理することができる。
【０１１４】
図１３は、多重企業データソースとアプリケーションサーバと通信するモバイルクライアントとの間で共用されるデータの処理のために、モバイルアプリケーションサーバでトランスアプアプリケーションモジュールを実行する際に、コンピュータシステムにより実行されるオペレーションを示すフロー図である。１３０２の番号が付けられたフロー図ボックスにおける第１のオペレーションは、１又はそれ以上の複数企業データソースから要求されるデータを特定し、アプリケーションサーバで定義された１つのデータオブジェクトに特定されたデータのマッピングを特定することである。次に、１３０４で、コネクションオブジェクトが生成される（インスタンスが作成される）。コネクションオブジェクトはアプリケーションサーバでデータインターフェースオブジェクトを公開（expose）し、アプリケーションサーバは企業データソースでの特定データへのアクセスを提供する。ここで、データインターフェースオブジェクトは、アプリケーションサーバで１又は複数のアダプターオブジェクトからなり、データテーブル、記憶手順、スクリプト、又はデータオブジェクトのいずれかであるデータを有する。１３０６では、システムは、特定データでデータアクションを実行する１又は複数のコマンドオブジェクトを生成する。ここで、コマンドオブジェクトにより、特定データに関する１又は複数のコマンドの選択が可能である。特定データは、選択データ、挿入データ、更新データ、及び消去データを含む。１３０８では、データオブジェクトが定義される。データオブジェクトは、コマンドオブジェクト内の１又は複数のデータアクションを指定する。１３１０では、ビューオブジェクトが定義済みデータオブジェクトに拘束され、これによりビューオブジェクトは特定データとインターフェースをとる。このように、特定データとマッピングに対する要求を含むトランスポータブルアプリケーションが生成される。トランスポータブルアプリケーションは、モジュールコンピュータプログラムアプリケーションからなる。モジュールコンピュータプログラムアプリケーションは、特定データとモバイルクライアントとの通信のために、アプリケーションサーバでインストールすることができる。これにより、アプリケーションサーバは、トランスポータブルアプリケーションを、それぞれの特定されたデータとマッピングに従って、アプリケーションサーバの他のトランスポータブルアプリケーションと自動的に連結する。
【０１１５】
本発明により、モバイルアプリケーションの設計者が使用する「ＤＡＤ」と言及されるコンピュータプログラムツールは、トランスアプを備えたモバイルデータ統合システムのオペレーティングシーケンスを展開し、設定し、適用するように設けられている。ＤＡＤアプリケーションプログラムツールは、図に示されたユーザインターフェースを通してこれらの特徴を提供する。これにより、ＤＡＤアプリケーションプログラムツールは、トランスアプを生成し操作することで、１又は複数の複数企業データソースから要求されるデータを特定し、特定されたデータをデクステラアプリケーションサーバで定義された１つのデータオブジェクトにマッピングする手段を提供する。このようにして、ＤＡＤアプリケーションプログラムはまた、トランスアプトランスポータブルアプリケーションを生成する手段を提供する。トランスアプトランスポータブルアプリケーションは特定データとマッピングに対する要求を含む。トランスポータブルアプリケーションはモジュールコンピュータプログラムアプリケーションからなる。モジュールコンピュータプログラムアプリケーションは、特定データとモバイルクライアントとの通信のために、全てのアプリケーションサーバでインストールすることができる。これにより、アプリケーションサーバは、それぞれの特定データとマッピングに従って、トランスポータブルアプリケーションをアプリケーションサーバの他のトランスポータブルアプリケーションと自動的に連結する。当業者は、トランスアプを「生成」することは、モバイルプラットフォームシステムのデータオブジェクトコンフィグレーションに従う適正なモジュール性能のために、データパラメータを照合し、適切なデータオブジェクトの利用性（availability）を保証し、
データオブジェクトバインディングを照合するなどの、モジュールコードにおける適切な仕様とパラメータに対するチェックを含めてもよいことを理解するであろう。
【０１１６】
ＤＡＤツールを有するコンピュータプログラムは、ＤＡＤツールプログラムがユーザ入力を受け、トランスアプ設定処理を実行することができ、またデータソース、バインディングなどを照合することができる限り、デスクトップコンピュータ、ノートブックコンピュータ等のコンピュータ装置又はシステムにインストールすることができる。設定されたトランスアプは、モバイルプラットフォーム内に含めて、前述したようなモバイルプラットフォームのアプリケーションサーバでインストールすることができる。これにより、トランスアプの操作上の特徴は、企業データソースを用いて操作するために、モバイルクライアントで利用することができる。
【０１１７】
このように、トランスアプは、内蔵して、他のオペレーティングシーケンス及び他のトランスアプと結合することができる、ＤＡＤツールにより、プログラミングコードの知識を要しない便利なユーザインターフェースを通して、アプリケーションの展開、設定、適用を行うことができる。このようにして、モジュールトランスアプは特定の問題解決のために定義することができる。そのような問題解決モジュールは、他のアプリケーション設計の努力中に再使用することができる。ＤＡＤツールにより、特殊なプログラミング専門能力なしに、便利なユーザインターフェースを通して、トランスアプオペレーショナルモジュールを管理することができる。
【０１１８】
以上、本発明の理解が得られるように、現在好ましい実施形態に関して本発明を説明した。しかし、ここに特に説明していないが、本発明を適用可能なモバイル企業データシステムに対する多くの構成がある。したがって、本発明はここに記載の特定の実施例に限定されるものではなく、一般のモバイル企業データシステムに対して広く適用可能である。よって、添付の特許請求の範囲の範囲にあにある全ての修正、変形、均等配置及び手段は本発明の範囲内にあると考えるべきである。
【図面の簡単な説明】
【０１１９】
【図１】本発明により構築されたモバイル企業プラットフォームに適切なコンピュータシステム環境のブロック図。
【図２】図１に示すモバイル企業プラットフォームにおけるデータの論理アーキテクチャのブロック図。
【図３】図１の企業データソースとモバイルクライアントの間のコネクタインターフェースを示すブロック図。
【図４】本発明によるモバイルデータアプリケーションが構築されるフォースフローとフィールドフローの概略図。
【図５】ＤＡＤアプリケーションデザイナープログラム用のグラフィカルユーザインターフェースディスプレイのスクリーンショットを示す。
【図６】コレクションエディタースクリーンショットの例。
【図７】トランスアプリケーション用のビジネスオブジェクトコレクションとともに使用するＤＡＤアプリケーションデザイナープログラムのビジネスオブジェクトエディタの例示的スクリーンショット。
【図８】フォースフローデザイナーインターフェースによりＤＡＤユーザがフォースフローにより実行されるオペレーションを追加し編集することができることを示す。
【図９】ＤＡＤユーザがフォースフローコレクションのメンバーを見て表示操作するのに興味のあるフォースフローを選択するのに使用することができるフォースフローコレクションエディタディスプレイを示す。
【図１０】ＤＡＤユーザがフォースフローシートにメニューアイテムを追加するのに利用することができるメニューアイテムコレクションエディタを示す。
【図１１】ＤＡＤユーザがフォースフローチャートにツールバーボタンを追加するのに利用することができるツールバーボタンコレクションエディタディスプレイを示す。
【図１２】ＤＡＤユーザがデータマッピングを規定するのに利用することができるマッピングエディタディスプレイを示す。
【図１３】本発明によりトランスポータブルアプリケーションモジュールを実行するのにコンピュータシステムにより実行されるオペレーションを示すフロー図。
【符号の説明】
【０１２０】
１００  コンピュータシステム環境
１０２  モバイルクライアントデバイス
１０４  ネットワークコネクション
１０６  アプリケーションサーバ
１０８  企業データソース
１１０  管理者プリケーション
１１２  開発者プリケーション
１１４  メタデータ
１１６  データストア
１１８  関係データベース
１２０  ビジネスデータ
１２２  メタデータ
１２４  アプリケーション
１３０  スタジオコンポーネント
３０２  ＥＰＲデータソース
３０４  ＣＲＭデータソース
３０６  ＨＲ/ファイナンスデータソース
３０８  レガシー/ＯＤＢＣデータソース
３１２  メタデータ
３１４  アプリケーションサーバ
３１６  モバイルクライアント
３１８  メタデータ
４０２  オペレーショナルシーケンス
４０４  フォースフローシーケンス
４０６  フィールドフロー
４０８  第２フィールドフロー
４１０  ディスプレイウィンドウ
４１２  第２ディスプレイウィンドウ
４１４  フィールドフローディスプレイウィンドウ
４１６  フィールドフローディスプレイウィンドウ
４２０  第３ディスプレイウィンドウ
４２２  フィールドフローディスプレイウィンドウ
４２４  フォースフローディスプレイ
４２６  フォースフローディスプレイ
【図１】
2008536210.tif 000003
【図２】
2008536210.tif 000004
【図３】
2008536210.tif 000005
【図４】
2008536210.tif 000006
【図５】
2008536210.tif 000007
【図６】
2008536210.tif 000008
【図７】
2008536210.tif 000009
【図８】
2008536210.tif 000010
【図９】
2008536210.tif 000011
【図１０】
2008536210.tif 000012
【図１１】
2008536210.tif 000013
【図１２】
2008536210.tif 000014
【図１３】
2008536210.tif 000015
【国際調査報告】
2008536210.tif 000016
2008536210.tif 000017
2008536210.tif 000018
2008536210.tif 000019