(57)【特許請求の範囲】
【請求項１】
無線による通信処理を実行可能なクライアント装置とサーバ装置とからなるクライアント−サーバシステムにおける前記通信処理を用いる複数の個別処理及び当該各個別処理に代替する代替処理であって前記通信処理を用いない前記代替処理を個別に実行するためのクライアントアプリケーションプログラムを記憶した記憶手段と、前記クライアントアプリケーションプログラムを実行するＣＰＵとを備えた前記クライアント装置に用いられ、前記記憶手段に記憶されて前記ＣＰＵに実行される通信管理プログラムであって、
前記クライアント装置を、
前記通信処理を構成する１つ以上の部分処理を個別に実行するための各通信部品及び前記代替処理を呼出実行するための通信部品であって、通信部品名で識別可能な前記各通信部品を記憶する通信部品管理手段、
前記各通信部品の組合せを示す通信パターンを識別する通信パターン名毎に、前記部分処理に用いた各通信部品を識別する前記通信部品名と、当該各通信部品を実行する順番とを関連付けて記憶した通信パターン管理手段、
前記クライアントアプリケーションプログラムを識別するアプリケーション名毎に、前記個別処理を識別する処理名と、前記通信パターン名と、初期設定又は個別設定を識別する設定種類とを関連付けて設定する通信パターン設定手段、
前記アプリケーション名毎に、前記個別処理に応じて前記通信処理を実行する運用モード、又は前記代替処理を実行する試験モード、を設定する通信モード設定手段、
前記通信モード設定手段に試験モードが設定されていれば前記通信パターンを識別する通信パターン名をローカルパターンを表す所定の通信パターン名と判定し、前記通信モード設定手段に運用モードが設定されていれば前記通信パターンを識別する通信パターン名を前記通信パターン設定手段に設定された通信パターン名と判定する通信パターン判定手段、
前記通信部品名毎に、前記設定種類と、前記処理名と、前記部分処理における動作の設定を示す属性とを関連付けて設定する部品属性設定手段、
実行中の個別処理が通信部品を利用する場合、当該通信部品を識別する通信部品名と、当該個別処理を識別する処理名とに基づいて前記部品属性設定手段を参照し、当該部品属性設定手段内で当該通信部品名及び前記設定種類の個別設定に関連付けられた処理名が当該個別処理を識別する処理名に一致する場合には当該個別設定に関連付けられた属性を当該通信部品の属性と判定し、当該一致する場合以外の場合には当該部品属性設定手段内で当該通信部品名及び前記設定種類の初期設定に関連付けられた属性を当該通信部品の属性と判定する部品属性判定手段、
前記通信パターン判定手段により判定した通信パターン名に関連付けられた通信部品名及び順番を前記通信パターン管理手段から取得し、当該取得した通信部品名により識別される通信部品を前記通信部品管理手段から取得し、前記部品属性判定手段により判定された属性を前記取得した通信部品に設定し、当該属性を設定した通信部品を前記取得した順番に従って実行する通信実行手段、
として機能させるための通信管理プログラム。
【請求項２】
クライアント−サーバシステムのサーバ装置に対して無線による通信処理を実行可能なクライアント装置であり、前記通信処理を用いる複数の個別処理及び当該各個別処理に代替する代替処理であって前記通信処理を用いない前記代替処理を個別に実行するためのクライアントアプリケーションプログラムを記憶した記憶手段と、前記クライアントアプリケーションプログラムを実行するＣＰＵとを備えた前記クライアント装置であって、
前記通信処理を構成する１つ以上の部分処理を個別に実行するための各通信部品及び前記代替処理を呼出実行するための通信部品であって、通信部品名で識別可能な前記各通信部品を記憶する通信部品管理手段と、
前記各通信部品の組合せを示す通信パターンを識別する通信パターン名毎に、前記組合せに用いた各通信部品を識別する前記通信部品名と、当該各通信部品を実行する順番とを関連付けて記憶した通信パターン管理手段と、
前記クライアントアプリケーションプログラムを識別するアプリケーション名毎に、前記個別処理を識別する処理名と、前記通信パターン名と、初期設定又は個別設定を識別する設定種類とを関連付けて設定する通信パターン設定手段と、
前記アプリケーション名毎に、前記個別処理に応じて前記通信処理を実行する運用モード、又は前記代替処理を実行する試験モード、を設定する通信モード設定手段と、
前記通信モード設定手段に試験モードが設定されていれば前記通信パターンを識別する通信パターン名をローカルパターンを表す所定の通信パターン名と判定し、前記通信モード設定手段に運用モードが設定されていれば前記通信パターンを識別する通信パターン名を前記通信パターン設定手段に設定された通信パターン名と判定する通信パターン判定手段と、
前記通信部品名毎に、前記設定種類と、前記処理名と、前記部分処理における動作の設定を示す属性とを関連付けて設定する部品属性設定手段と、
実行中の個別処理が通信部品を利用する場合、当該通信部品を識別する通信部品名と、当該個別処理を識別する処理名とに基づいて前記部品属性設定手段を参照し、当該部品属性設定手段内で当該通信部品名及び前記設定種類の個別設定に関連付けられた処理名が当該個別処理を識別する処理名に一致する場合には当該個別設定に関連付けられた属性を当該通信部品の属性と判定し、当該一致する場合以外の場合には当該部品属性設定手段内で当該通信部品名及び前記設定種類の初期設定に関連付けられた属性を当該通信部品の属性と判定する部品属性判定手段と、
前記通信パターン判定手段により判定した通信パターン名に関連付けられた通信部品名及び順番を前記通信パターン管理手段から取得し、当該取得した通信部品名により識別される通信部品を前記通信部品管理手段から取得し、前記部品属性判定手段により判定された属性を前記取得した通信部品に設定し、当該属性を設定した通信部品を前記取得した順番に従って実行する通信実行手段と
を備えたことを特徴とするクライアント装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信管理プログラム及びクライアント装置に関する。
【背景技術】
【０００２】
近年、クライアント−サーバシステムにおいて、クライアントアプリケーションが配備されたスマートフォンやタブレットＰＣ（Personal Computer）などのモバイル装置をクライアント装置として用いる状況が増えてきている。
【０００３】
このようなモバイル装置を用いるシステムでは、有線のＬＡＮ（Local Area Network）に接続されたＰＣをクライアント装置として用いる状況とは異なり、電波の繋がり難い場所で通信が途絶える場合が多々ある。このような通信不可の場合に備え、システム開発者（以下、開発者という）は、通信のリトライ処理や、通信エラー画面の表示処理などのオフライン処理を実装しておく必要がある。
【０００４】
しかしながら、個々の開発者がオフライン処理を実装することは、生産性を低下させる上、開発者が未熟な場合には品質を低下させてしまう不都合がある。また全般的に、クライアント−サーバシステムは、通信相手であるサーバアプリケーションが無い状態でクライアントアプリケーションの動作確認を実行できないという不都合もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２４１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以上のような不都合を解消する観点から、通信時にオフラインであればキャッシュを利用する方法が提案されている。しかしながら、この方法は、通信手法の１つであり、リトライ処理や通信エラー画面の表示処理等の他の通信処理からは選択できない。
【０００７】
また、サーバアプリケーションが無い状態でクライアントアプリケーションの動作確認を実行するためには、システムのソースコードを改変せずに、ある一部の設定だけで運用モードから試験モードへ切り替える仕組みが必要である。
【０００８】
このモード切り替えの従来技術として、オープンソースソフトウェアであるSpringFramework Ver.3.1は、処理の組合せを切り替えるプロファイル（Profile）機能を有している。プロファイル機能は通信モードの切り替えに利用可能な技術である。但し、プロファイル技術は切り替えに関するものであるから、開発者は、依然として、運用モードの通信処理と、試験モードの通信処理とを実装する必要がある。すなわち、プロファイル技術は、個々の開発者がオフライン処理を実装するときの生産性や品質の低下といった不都合を解消できない。
【０００９】
本発明が解決しようとする課題は、生産性や品質の低下を防ぎつつ、通信モードを切り替えでき、サーバアプリケーションが無い状態でクライアントアプリケーションの動作確認を実行し得る通信管理プログラム及びクライアント装置を提供することである。
【課題を解決するための手段】
【００１０】
実施形態の通信管理プログラムは、クライアントアプリケーションプログラムを記憶した記憶手段と、前記クライアントアプリケーションプログラムを実行するＣＰＵとを備えたクライアント装置に用いられ、前記記憶手段に記憶されて前記ＣＰＵに実行される。
【００１１】
前記クライアントアプリケーションプログラムは、複数の個別処理及び代替処理を個別に実行するためのアプリケーションプログラムである。
【００１２】
前記複数の個別処理は、無線による通信処理を実行可能なクライアント装置とサーバ装置とからなるクライアント−サーバシステムにおける前記通信処理を用いる。
【００１３】
前記代替処理は、当該各個別処理に代替する代替処理であって前記通信処理を用いない。
【００１４】
前記通信管理プログラムは、前記クライアント装置を、通信部品管理手段、通信パターン管理手段、通信パターン設定手段、通信モード設定手段、通信パターン判定手段、部品属性設定手段、部品属性判定手段、通信実行手段、として機能させるための通信管理プログラムである。
【００１５】
前記通信部品管理手段は、前記通信処理を構成する１つ以上の部分処理を個別に実行するための各通信部品及び前記代替処理を呼出実行するための通信部品であって、通信部品名で識別可能な前記各通信部品を記憶する。
【００１６】
前記通信パターン管理手段は、前記各通信部品の組合せを示す通信パターンを識別する通信パターン名毎に、前記部分処理に用いた各通信部品を識別する前記通信部品名と、当該各通信部品を実行する順番とを関連付けて記憶している。
【００１７】
前記通信パターン設定手段は、前記クライアントアプリケーションプログラムを識別するアプリケーション名毎に、前記個別処理を識別する処理名と、前記通信パターン名と、初期設定又は個別設定を識別する設定種類とを関連付けて設定する。
【００１８】
前記通信モード設定手段は、前記アプリケーション名毎に、前記個別処理に応じて前記通信処理を実行する運用モード、又は前記代替処理を実行する試験モード、を設定する。
【００１９】
前記通信パターン判定手段は、前記通信モード設定手段に試験モードが設定されていれば前記通信パターンを識別する通信パターン名をローカルパターンを表す所定の通信パターン名と判定し、前記通信モード設定手段に運用モードが設定されていれば前記通信パターンを識別する通信パターン名を前記通信パターン設定手段に設定された通信パターン名と判定する。
【００２０】
前記部品属性設定手段は、前記通信部品名毎に、前記設定種類と、前記処理名と、前記部分処理における動作の設定を示す属性とを関連付けて設定する。
【００２１】
前記部品属性判定手段は、実行中の個別処理が通信部品を利用する場合、当該通信部品を識別する通信部品名と、当該個別処理を識別する処理名とに基づいて前記部品属性設定手段を参照し、当該部品属性設定手段内で当該通信部品名及び前記設定種類の個別設定に関連付けられた処理名が当該個別処理を識別する処理名に一致する場合には当該個別設定に関連付けられた属性を当該通信部品の属性と判定し、当該一致する場合以外の場合には当該部品属性設定手段内で当該通信部品名及び前記設定種類の初期設定に関連付けられた属性を当該通信部品の属性と判定する。
【００２２】
前記通信実行手段は、前記通信パターン判定手段により判定した通信パターン名に関連付けられた通信部品名及び順番を前記通信パターン管理手段から取得し、当該取得した通信部品名により識別される通信部品を前記通信部品管理手段から取得し、前記部品属性判定手段により判定された属性を前記取得した通信部品に設定し、当該属性を設定した通信部品を前記取得した順番に従って実行する。
【図面の簡単な説明】
【００２３】
【図１】一実施形態に係るモバイル装置の構成を示す模式図である。
【図２】同実施形態における通信部品の例を説明するための模式図である。
【図３】同実施形態における通信パターンの例を一覧して示す模式図である。
【図４】同実施形態における通信パターンの例を一覧して示す模式図である。
【図５】同実施形態における通信パターン管理部を説明するための模式図である。
【図６】同実施形態における通信パターン設定部を説明するための模式図である。
【図７】同実施形態における通信モード設定部を説明するための模式図である。
【図８】同実施形態における部品属性設定部を説明するための模式図である。
【図９】同実施形態における動作を説明するためのシーケンス図である。
【図１０】同実施形態における動作を説明するためのシーケンス図である。
【発明を実施するための形態】
【００２４】
以下、一実施形態について図面を用いて説明する。なお、以下の各装置は、それぞれハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【００２５】
始めに、一実施形態の概要を述べる。本実施形態では、クライアント−サーバシステムにおいて、クライアントアプリケーションを実行するクライアント装置としてのモバイル装置から、サーバアプリケーションを実行するサーバ装置へ通信を実行する場合について説明する。
【００２６】
モバイル装置は、クライアントアプリケーションの実行により、予め各個別処理に共通した通信パターンと部品属性の初期設定を行ない、通信を実行する。また、通信時に初期設定以外の通信パターンと部品属性を利用する個別処理に対しては、モバイル装置は、通信パターンと部品属性の個別設定を行ない、通信を実行する。さらに、試験時には、モバイル装置は、通信を実行せずに、クライアントアプリケーションの代替処理を実行する。
【００２７】
以上が一実施形態の概要である。続いて、一実施形態について詳細に説明する。
【００２８】
＜一実施形態＞
図１は一実施形態に係るモバイル装置の構成を示す模式図である。このモバイル装置は、無線による通信処理を実行可能なクライアント装置とサーバ装置とからなるクライアント−サーバシステムにおける当該クライアント装置として用いられる。
【００２９】
ここで、モバイル装置１０は、補助記憶装置１１、主記憶装置１２、通信部１３、入力部１４、ＣＰＵ１５及び表示部１６が互いにバスを介して接続されている。
【００３０】
補助記憶装置１１は、ＣＰＵ１５から読出／書込可能な不揮発性記憶装置であり、例えば、ハードディスク装置等が使用可能となっている。また、補助記憶装置１１には、後述する通信管理部（通信管理プログラム）１００及びクライアントアプリケーション２００といった各種プログラム等が記憶されている。
【００３１】
主記憶装置１２は、ＣＰＵ１５から読出／書込可能な記憶装置であり、例えば、ＲＡＭ(Random Access Memory)等が使用可能となっている。また、主記憶装置１２には、プログラム実行前に補助記憶装置１１から通信管理部１００及びクライアントアプリケーション２００等が読み出されて記憶される。
【００３２】
通信部１３は、モバイル装置１０内と、無線ネットワークとの間の通信インタフェース機器であり、例えば、無線通信装置等が使用可能となっている。
【００３３】
入力部１４は、ユーザの操作により、各種のデータや命令をモバイル装置１０内に入力する装置であり、例えば、キーボード又はタッチパネル等が使用可能となっている。
【００３４】
ＣＰＵ１５は、各部１１〜１４，１６にアクセスする機能と、主には、プログラム実行前に補助記憶装置１１からプログラムを読み出して主記憶装置１２に書き込む機能と、主記憶装置１２内の各種プログラムを実行する機能とをもっている。
【００３５】
表示部１６は、通信管理部１００及びクライアントアプリケーション２００を実行中のＣＰＵ１５から受ける画面データを表示する装置であり、例えば、液晶表示装置等が使用可能となっている。
【００３６】
次に、モバイル装置１０において、主記憶装置１２に記憶されてＣＰＵ１５に実行される通信管理部（通信管理プログラム）１００及びクライアントアプリケーション（クライアントアプリケーションプログラム）２００等の各種プログラムについて説明する。
【００３７】
通信管理部１００は、クライアント−サーバ間の通信を行なうためのプログラムである。クライアントアプリケーション２００は、サーバアプリケーションへの通信処理を用いる複数の個別処理及び当該各個別処理に代替する代替処理であって当該通信処理を用いない当該代替処理を個別に実行するためのプログラムである。
【００３８】
具体的には、通信管理部１００は、通信部品管理部１１０、通信パターン管理部１２０、通信パターン設定部１３０、通信モード設定部１４０、通信パターン判定部１５０、部品属性設定部１６０、部品属性判定部１７０及び通信実行部１８０を備えている。
【００３９】
ここで、通信部品管理部１１０は、通信処理を細分化した各通信部品を管理する部分のプログラムである。通信部品管理部１１０が管理する情報の例を図２に示す。例えば「サーバアプリケーションへリクエストを送信してレスポンスを受信するまで待機（同期通信処理）、通信エラーの場合には再度リクエストを送信する（リトライ処理）、それでも通信エラーになった場合は通信エラーが発生した旨を画面にダイアログ等で表示する（通信エラー表示）」という一連の通信処理があるとする（なお、このような一連の通信処理は、複数種類ある。これら通信処理の種類は通信パターンとして分類される。）。
【００４０】
前述した同期通信処理、リトライ処理及び通信エラー表示からなる一連の通信処理は、「同期通信処理部」「リトライ処理部」「通信エラー通知部」の３つの通信部品を順次、用いて実行できる。このように通信処理を構成する部分処理を実行する通信部品を通信部品管理部１１０で管理する。
【００４１】
すなわち、通信部品管理部１１０は、通信処理を構成する１つ以上の部分処理を個別に実行するための各通信部品（同期通信処理部、非同期通信処理部、リトライ処理部、通信エラー通知部）及び代替処理を呼出実行するための通信部品（ローカルサービス呼出部）であって、通信部品名で識別可能な当該各通信部品を記憶する通信部品管理手段、としてモバイル装置１０を機能させるためのプログラムである。
【００４２】
なお、同期通信処理部は、実行サービス名という属性を有し、サーバアプリケーションのサービスを実行するためのリクエストを送信し、レスポンスが戻るまで待つ処理を実行するための通信部品である。
【００４３】
非同期通信処理部は、実行サービス名という属性を有し、サーバアプリケーションのサービスを実行するためのリクエストを送信し、レスポンスを待たない処理を実行するための通信部品である。
【００４４】
リトライ処理部は、リトライ回数及びリトライ間隔という属性を有し、通信に失敗した場合に、再度、送信（リトライ）する処理を実行するための通信部品である。
【００４５】
通信エラー通知部は、エラー通知方法及びエラーメッセージという属性を有し、通信に失敗した場合に、ユーザにエラーが発生したことを通知する処理を実行するための通信部品である。
【００４６】
ローカルサービス呼出部は、サーバアプリケーションと通信しつつクライアントアプリケーションの個別処理を実行する代わりに、サーバアプリケーションと通信せずにクライアントアプリケーション２００から当該個別処理の処理名と同じ処理名の代替処理を呼出して実行するための通信部品である。
【００４７】
通信パターン管理部１２０は、クライアントアプリケーション２００で利用される通信パターンを管理するためのプログラムである（なお、通信部品を組み合わせたものを通信パターンと呼ぶ。）。ここで、クライアントアプリケーションで利用される通信パターンは、名前（通信パターン名）を付けて通信パターン管理部１２０に登録されている。通信パターンの一覧を図３及び図４に示す。例えば、「同期通信処理部」「リトライ処理部」「通信エラー表示部」の組み合わせは、「同期リトライリモートパターン」という通信パターン名で通信パターン管理部１２０に登録されている。
【００４８】
すなわち、通信パターン管理部１２０は、図５に示すように、各通信部品の組合せを示す通信パターンを識別する通信パターン名毎に、当該組合せに用いた各通信部品を識別する当該通信部品名と、当該各通信部品を実行する順番とを関連付けて記憶した通信パターン管理手段、としてモバイル装置１０を機能させるためのプログラムである。
【００４９】
通信パターン設定部１３０は、クライアントアプリケーション２００が通信する際に利用する通信パターンを設定する部分のプログラムである。通信パターンの設定は初期設定と個別設定の２つの設定がある。初期設定はクライアントアプリケーション２００の通信処理全体に設定される設定である。個別設定はある特定の通信処理に対して初期設定とは違う通信パターンを使う場合に通信処理ごとに行なう設定である。例えば検索・登録・更新・削除の個別処理２０１，２０２，２０３，…を行なうアプリケーションに対して、初期設定として「同期リモートパターン」を、個別設定として検索処理に「同期リトライリモートパターン」を設定した場合、検索処理の通信には「同期リトライリモートパターン」が、登録・更新・削除の通信には初期設定の「同期リモートパターン」が適用される。
【００５０】
すなわち、通信パターン設定部１３０は、図６に示すように、クライアントアプリケーション２００を識別するアプリケーション名毎に、（クライアントアプリケーション２００における）個別処理２０１，２０２，２０３，…を識別する処理名と、通信パターン名と、初期設定又は個別設定を識別する設定種類とを関連付けて設定する通信パターン設定手段、としてモバイル装置１０を機能させるためのプログラムである。なお、クライアントアプリケーション２００は、クライアント−サーバシステムにおけるモバイル装置（クライアント装置）２０による複数の個別処理２０１，２０２，２０３，…、及び当該各個別処理に代替する処理であって通信処理を用いない代替処理（図示せず）を個別に実行するためのクライアントアプリケーションプログラムである。
【００５１】
通信モード設定部１４０は、クライアントアプリケーション２００に対して運用モードか試験モードかを設定する部分のプログラムである。運用モードであれば、通信パターン設定部１３０の設定通りに通信が行なわれる。試験モードであれば、通信パターン設定部１３０の設定を無視し、全ての通信処理に「ローカルパターン」（サーバアプリケーションと通信をせずにクライアントアプリケーション２００に存在する代替処理を実行するパターン）が適用される。クライアントアプリケーション２００の試験などで一時的にサーバアプリケーションと通信させたくない場合は、通信モード設定部１４０に試験モードを設定すればよい。
【００５２】
すなわち、通信モード設定部１４０は、図７に示すように、クライアントアプリケーション２００のアプリケーション名毎に、個別処理２０１，２０２，２０３，…に応じて通信処理を実行する運用モード、又は通信処理を実行せずに代替処理（図示せず）を実行する試験モード、を設定する通信モード設定手段、としてモバイル装置１０を機能させるためのプログラムである。
【００５３】
通信パターン判定部１５０は、通信パターン設定部１３０と通信モード設定部１４０の設定を参照して、通信に利用する通信パターンを判定する部分のプログラムである。例えば検索処理の通信を行なう際には、通信モード設定部１４０を参照して試験モードであれば「ローカルパターン」と判定する。運用モードであればさらに通信パターン設定部１３０の個別設定を参照して、検索処理の通信パターンが設定されていればその通信パターンと判定する。個別設定に検索処理の通信パターンが設定されていなければ、初期設定の通信パターンと判定する。
【００５４】
すなわち、通信パターン判定部１５０は、通信モード設定部１４０に試験モードが設定されていれば通信パターンを識別する通信パターン名をローカルパターンを表す所定の通信パターン名と判定し、通信モード設定部１４０に運用モードが設定されていれば通信パターンを識別する通信パターン名を通信パターン設定部１３０に設定された通信パターン名と判定する通信パターン判定手段、としてモバイル装置１０を機能させるためのプログラムである。
【００５５】
部品属性設定部１６０は、通信部品管理部１１０が管理する各通信部品の属性を設定する部分のプログラムである。属性とは通信部品の振る舞いを決めるものであり、例えば「リトライ処理部」にはリトライする回数とリトライする間隔を設定する属性がある。各属性は通信パターン同様に初期設定、個別設定の２通りで設定できる。例えば、検索処理の通信にはリトライ回数を５回に、それ以外の通信にはリトライ回数１回としたい場合は、初期設定にリトライ回数１を、個別設定に検索処理のリトライ回数５を設定する。
【００５６】
すなわち、部品属性設定部１６０は、図８に示すように、通信部品名毎に、設定種類と、処理名と、部分処理における動作の設定を示す属性とを関連付けて設定する部品属性設定手段、としてモバイル装置１０を機能させるためのプログラムである。
【００５７】
部品属性判定部１７０は、部品属性設定部１６０の設定を参照して、通信に利用される通信部品の属性を判定する部分のプログラムである。例えば検索処理が通信部品である「リトライ処理部」を利用する場合、部品属性設定部１６０の個別設定に検索処理の設定があるかを見て、あればその設定をその部品の属性として判定し、なければ初期設定をその部品の属性として判定する。
【００５８】
すなわち、部品属性判定部１７０は、実行中の個別処理２０１，２０２，２０３，…が通信部品を利用する場合、当該通信部品を識別する通信部品名と、当該個別処理２０１，２０２，２０３，…を識別する処理名とに基づいて部品属性設定部１６０を参照し、当該部品属性設定部１６０内で当該通信部品名及び設定種類の個別設定に関連付けられた処理名が当該個別処理２０１，２０２，２０３，…を識別する処理名に一致する場合には当該個別設定に関連付けられた属性を当該通信部品の属性と判定し、当該一致する場合以外の場合には当該部品属性設定部１６０内で当該通信部品名及び設定種類の初期設定に関連付けられた属性を当該通信部品の属性と判定する部品属性判定手段、としてモバイル装置１０を機能させるためのプログラムである。
【００５９】
通信実行部１８０は、通信パターン判定部１５０により利用する通信パターンを判定し、通信パターン管理部１２０の該当する通信パターンがどの通信部品をどの順番で利用するかを見る機能と、利用する通信部品を通信部品管理部１２０から取り出し、部品属性判定部１７０により判定された通信部品の属性を当該通信部品に設定し、通信パターンに従って通信部品を実行する機能と、をモバイル装置１０に実現させるためのプログラムである。
【００６０】
すなわち、通信実行部１８０は、通信パターン判定部１５０により判定した通信パターン名に関連付けられた通信部品名及び順番を通信パターン管理部１２０から取得し、当該取得した通信部品名により識別される通信部品を通信部品管理部１１０から取得し、部品属性判定部１７０により判定された属性を当該取得した通信部品に設定し、当該属性を設定した通信部品を当該取得した順番に従って実行する通信実行手段、としてモバイル装置１０を機能させるためのプログラムである。
【００６１】
クライアントアプリケーション２００は、クライアント−サーバシステムにおけるクライアント装置としてのモバイル装置１０による複数の個別処理２０１，２０２，２０３，…を実行するためのクライアントアプリケーションプログラムである。
【００６２】
次に、以上のように構成されたモバイル装置の動作について図９及び図１０のシーケンス図を用いて説明する。なお、通信部品管理部１１０及び通信パターン管理部１２０は、予め通信管理部（通信管理プログラム）１００に設けられている。
【００６３】
モバイル装置１０においては、ＣＰＵ１５が通信管理部１００及びクライアントアプリケーション２００を起動するとする。一方、サーバ装置（図示せず）では、ＣＰＵがサーバアプリケーション３００を実行中であるとする。
【００６４】
ここで、モバイル装置１０では、ＣＰＵ１５がクライアントアプリケーション２００及び通信管理部１００の起動時の処理を実行する。ＣＰＵ１５は、アプリケーション起動時に実行される処理の中で、通信に関する初期設定を事前に行う（ＳＴ１〜ＳＴ２）。
【００６５】
すなわち、モバイル装置１０のＣＰＵ１５は、ユーザによる入力部１４の操作に基づき、例えば“同期リモートパターン”を含む初期設定命令によって、通信パターン設定部１３０へ通信パターンを初期設定する（ＳＴ１）。これにより、通信パターン設定部１３０では、クライアントアプリケーション２００のアプリケーション名毎に、個別処理の処理名と、通信パターン名と、初期設定を識別する設定種類とが関連付けて設定される。ここで初期設定した通信パターンはデフォルトとなり、通信モードが“試験”でない限り、個別設定が無い通信処理全てに適用される。
【００６６】
また、ＣＰＵ１５は、ユーザによる入力部１４の操作に基づき、通信部品の属性を含む初期設定命令により、部品属性設定部１７０へ通信部品の属性を初期設定する（ＳＴ２）。これにより、部品属性設定部１６０では、通信部品名毎に、設定種類における初期設定と、処理名と、部分処理における動作の設定を示す属性（部品属性ともいう）とが関連付けて設定される。ここで設定した部品属性はデフォルトとなり、個別設定が無い通信処理全てに適用される。部品属性の設定例を次に示す。
【００６７】
［実行サービス名＝DefaultService，リトライ回数＝５，リトライ間隔＝２秒，エラー通知方法＝ダイアログ，エラーメッセージ＝ConnectionError!］
以上により、通信に関する初期設定が終了する。
【００６８】
なお、通信モード設定（“試験”）について補足的に説明する。サーバアプリケーション３００を実行するサーバ装置との通信無しでクライアントアプリケーション２００だけで動作させたい場合は、通信モード設定部１４０に試験モードを設定する。通常に通信したい場合は、デフォルトである運用モードでよいので、試験モードの設定は不要である。いずれにしても、通信モード設定部１４０には、クライアントアプリケーション２００のアプリケーション名毎に、運用モード又は試験モードが設定される。
【００６９】
次に、クライアントアプリケーション２００からの利用例として、個別処理２０２としての検索処理の通信を実行する動作について説明する。
【００７０】
始めに、ステップＳＴ１で初期設定した通信パターンでない通信パターンを使う場合、ＣＰＵ１５は、ユーザによる入力部１４の操作により、通信パターン設定部１３０へ通信パターンを個別設定する（ＳＴ３）。これにより、通信パターン設定部１３０では、クライアントアプリケーション２００のアプリケーション名毎に、個別処理の処理名と、通信パターン名と、個別設定を識別する設定種類とが関連付けて設定される。初期設定した通信パターンを使う場合には、ステップＳＴ３の処理は不要である。
【００７１】
また、ステップＳＴ２で初期設定した属性でない属性を使う場合、ＣＰＵ１５は、ユーザによる入力部１４の操作により、部品属性設定部１６０へ属性を個別設定する（ＳＴ４）。例えば通信部品の１つである「リトライ処理部」の部品属性である「リトライ回数」を「２」とステップＳ２で初期設定していて、検索処理の通信だけ「リトライ回数」を「５」と設定したい場合は、ステップＳＴ４で個別設定する。これにより、部品属性設定部１６０では、通信部品名毎に、設定種類における個別設定と、処理名と、部分処理における動作の設定を示す属性とが関連付けて設定される。初期設定した属性を使う場合には、ステップＳＴ４の処理は不要である。
【００７２】
次に、ＣＰＵ１５は、クライアントアプリケーション２００における個別処理（検索処理）２０２の実行に基づき、“検索処理”を含む通信実行命令により、通信を行ないたいタイミングで通信実行部１８０を実行する（ＳＴ５）。これにより、モバイル装置１０の通信処理が開始される。
【００７３】
ＣＰＵ１５は、通信実行部１８０の実行に基づき、“検索処理”を含む通信パターン判定命令により、通信パターン判定部１５０を実行する（ＳＴ６）。
【００７４】
しかる後、ＣＰＵ１５は、通信パターン判定部１５０の実行に基づき、どの通信パターンを用いて通信を行なうかを判定し、判定の結果、得られた通信パターン名を通信実行部１８０に返す（ＳＴ７〜ＳＴ１４）。
【００７５】
具体的にはＣＰＵ１５は、通信パターン判定部１５０の実行に基づき、通信モード設定部１４０に試験モードが設定されていれば通信パターンを識別する通信パターン名をローカルパターンを表す所定の通信パターン名と判定し（ＳＴ７，ＳＴ８）、通信モード設定部１４０に運用モードが設定されていれば通信パターンを識別する通信パターン名を通信パターン設定部１３０に設定された通信パターン名と判定する（ＳＴ９〜ＳＴ１３）。
【００７６】
例えばＣＰＵ１５は、通信パターン判定部１５０の実行に基づき、通信モード設定部１４０から通信モードを取得する（ＳＴ７）。ここで、通信モードが“試験”であれば、ＣＰＵ１５は、通信を行なわずローカルサービスを実行する「ローカルパターン」を判定結果とする（ＳＴ８）。
【００７７】
一方、通信モードが“運用”であれば（ＳＴ９）、ＣＰＵ１５は、次に通信パターン設定部１３０から個別設定の通信パターンがあるかを確認する（ＳＴ１０）。この例では、検索処理に対する個別設定の通信パターン名があれば、個別設定の通信パターン名を判定結果とする（ＳＴ１１）。
【００７８】
もし個別設定の通信パターン名が無ければ、ＣＰＵ１５は、通信パターン設定部１３０から初期設定の通信パターン名を取得し（ＳＴ１２）、初期設定の通信パターン名を判定結果とする（ＳＴ１３）。
【００７９】
ＣＰＵ１５は、ステップＳＴ８，ＳＴ１１又はＳＴ１３で判定結果とした通信パターン名を通信実行部１８０に返す（ＳＴ１４）。
【００８０】
次に、ＣＰＵ１５は、通信実行部１８０の実行に基づき、ステップＳＴ１４により取得した通信パターン名に関連付けられた通信部品名及び順番を通信パターン管理部１２０から取得し、当該取得した通信部品名により識別される通信部品を通信部品管理部１１０から取得する。
【００８１】
しかる後、ＣＰＵ１５は、ステップＳＴ１４で取得した通信パターン名の通信パターンを構成する通信部品の各々に対し、以下のステップＳＴ１５〜ＳＴ２０の処理を繰り返し実行する。
【００８２】
例えば、ＣＰＵ１５は、通信実行部１８０の実行に基づき、“通信部品名”を含む部品属性判定命令により、部品属性判定部１７０を実行する（ＳＴ１５）。
【００８３】
これにより、ＣＰＵ１５は、部品属性判定部１７０の実行に基づき、実行中の個別処理２０２が通信部品を利用する場合、当該通信部品を識別する通信部品名と、当該個別処理２０２を識別する処理名とに基づいて部品属性設定部１６０を参照し、当該部品属性設定部１６０内で当該通信部品名及び設定種類の個別設定に関連付けられた処理名が当該個別処理２０２を識別する処理名に一致する場合には当該個別設定に関連付けられた属性を当該通信部品の属性と判定し（ＳＴ１６，ＳＴ１７）、当該一致する場合以外の場合には当該部品属性設定部１６０内で当該通信部品名及び設定種類の初期設定に関連付けられた属性を当該通信部品の属性と判定する（ＳＴ１８，ＳＴ１９）。
【００８４】
例えば、ＣＰＵ１５は、部品属性判定部１７０の実行に基づき、各属性に対してまず部品属性設定部１６０から個別設定があるかを確認する（ＳＴ１６）。個別設定があれば、その個別設定に関連付けられた部品属性を判定結果とする（ＳＴ１７）。
【００８５】
一方、個別設定が無ければ、ＣＰＵ１５は、部品属性判定部１７０の実行に基づき、初期設定の部品属性を部品属性設定部１６０から取得し（ＳＴ１８）、初期設定の部品属性を判定結果とする（ＳＴ１９）。
【００８６】
しかる後、ＣＰＵ１５は、ステップＳＴ１７又はＳＴ１９で判定結果とした部品属性を通信実行部１８０に返す（ＳＴ２０）。
【００８７】
これにより、例えば検索処理の通信パターンが「同期通信処理部」と「通信エラー通知部」を通信部品に持つ「同期リモートパターン」であった場合、ＣＰＵ１５は、図２で示したように「同期通信処理部」の部品属性である「実行サービス名」属性と、「通信エラー通知部」の部品属性である「エラー通知方法」属性及び「エラーメッセージ」属性との３つの属性値を取得する。
【００８８】
これにより、ＣＰＵ１５は、ステップＳＴ１５〜ＳＴ２０により取得された属性を、ステップＳＴ１４の後に取得した通信部品に設定し、当該属性を設定した通信部品を当該取得した順番に従って実行する。
【００８９】
例えば運用モードの場合、ＣＰＵ１５は、通信実行部１８０の実行により、ステップＳＴ１４により取得した通信パターン名とその通信パターン名の通信パターンを構成する部品属性を用いてサーバアプリケーション３００を実行するサーバ装置（図示せず）と通信を行なう（ＳＴ２１）。
【００９０】
一方、試験モードの場合、ＣＰＵ１５は、通信実行部１８０の実行により、ステップＳＴ１４により取得した通信パターン名（ローカルパターン）とその通信パターン名の通信パターンを構成する通信部品（ローカルサービス呼出部）を用い、サーバ装置と通信を行なわずに、クライアントアプリケーション２００内の代替処理（ローカルサービス）を呼出実行する。
【００９１】
上述したように本実施形態によれば、個別処理に応じて通信処理を実行する運用モード、又は代替処理を実行する試験モード、を設定し、試験モードが設定されていればローカルパターンを表す所定の通信パターン名と判定し、判定した通信パターン名に関連付けられた通信部品名及び順番を取得し、通信部品を順番に従って実行する構成により、生産性や品質の低下を防ぎつつ、通信モードを切り替えでき、サーバアプリケーションが無い状態でクライアントアプリケーションの動作確認を実行することができる。
【００９２】
補足すると、クライアントアプリケーションの開発者は、モバイル装置１０が提供する通信パターンを選択して実行するだけで通信処理を実装できるため、個別にオフライン処理を実装する必要を無くすことができる。
【００９３】
また、通信の設定（通信エラー時にどのようなメッセージを表示するか、通信エラーの場合に何回リトライするか、など）を初期・個別設定の２段階で設定する機能を提供することにより、開発者が設定すべき項目を最小限に抑えることができる。
【００９４】
さらに、初期・個別設定に関わらず全ての通信処理がサーバアプリケーションとの通信なしでクライアントに存在する代替処理を実行するように通信モードを切り替える機能を提供することにより、サーバアプリケーションが未完成の段階でクライアントアプリケーションを単体で試験実行したい場合に、通信モードを切り替えるだけで当該試験を実行することができる。
【００９５】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【００９６】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【００９７】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【００９８】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【００９９】
また、記憶媒体は１つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１００】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１０１】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１０２】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０３】
１０…モバイル装置、１１…補助記憶装置、１２…主記憶装置、１３…通信部、１４…入力部、１５…ＣＰＵ、１６…表示部、１００…通信管理部、１１０…通信部品管理部、１２０…通信パターン管理部、１３０…通信パターン設定部、１４０…通信モード設定部、１５０…通信パターン判定部、１６０…部品属性設定部、１７０…部品属性判定部、１８０…通信実行部、２００…クライアントアプリケーション、２０１〜２０３…個別処理。
【図１】
0005389210.tif 000002
【図２】
0005389210.tif 000003
【図３】
0005389210.tif 000004
【図４】
0005389210.tif 000005
【図５】
0005389210.tif 000006
【図６】
0005389210.tif 000007
【図７】
0005389210.tif 000008
【図８】
0005389210.tif 000009
【図９】
0005389210.tif 000010
【図１０】
0005389210.tif 000011