PR

モバイルDBとサーバーを同期させる(後編)

2010年5月28日(金)
アイエニウェア・ソリューションズ株式会社

データ同期で何ができる?

第3回でも説明しましたが、Mobile Linkは、モバイル機器上で動作するSQL AnywhereやUltra Lightなどの軽量データベースとサーバー側データベースを同期させるミドルウエアです。

モバイル機器の上でデータベースを使える最大のメリットは、「通信圏外でも業務システムを利用できること」です。全国各地の配達員、メンテナンス要員や調査員、顧客先で対面して商談する営業マン、保険のセールス・レディーなどが、スマートフォンやハンディ・ターミナル、ノートPCなどを使ってデータベースを利用しています。

モバイルDBにとって重要な機能の1つが、データ同期です。データ同期とは、外出先で発生したトランザクションを本部システムのデータベースへ伝える仕組みであり、また同時に、本部システムで発生したトランザクションをモバイル上のデータベースへ伝える仕組みです。

Mobile Linkの事例としては、第1回でも紹介しましたが、米国の国勢調査員が利用するモバイル端末約15万台規模に、同期の仕組みで採用されています。日本国内でも、最大規模の物流会社(郵政)で利用されています。

モバイル以外の応用例としては、POS(販売時点情報管理)システム、地方の支店・部門のサーバー系システム、デパート出店店舗の対面販売用顧客情報システム、無線LANの設置が難しい倉庫の在庫管理システムなどがあります。こうした、通常は独立した形態で運用しつつも、あるタイミングで本部とデータをやりとりする必要があるケースにおいて、Mobile Linkが利用されています。

図1: Mobile Linkの適用事例

図2: Mobile Linkによるデータ同期の仕組み

図3: Mobile Linkの動作環境

同期環境を作ってみよう

Mobile Linkは、基幹のデータベース・サーバーにODBC経由で接続し、モバイル機器上のデータベース(SQL AnywhereやUltra Light)と同期します。

同期する対象となるデータベース・サーバーは、SQL Anywhere以外でも構いません。他社製データベースとも同期できます。また、非RDB(テキスト、スプレッド・シート、APサーバー、Webサービスなど)とも同期は可能です。

Mobile Linkによるデータ同期の流れは、以下の通りです。

Mobile Linkは、同期を要求する時に、統合データベースとセッションを張ります。同期が終了すると、サーバー側の統合データベースとモバイル機器側のリモート・データベースは、一貫性を保った同じ値になります。

同期が開始されると最初に、モバイル機器のデータをサーバーに反映します。前回同期してからモバイル機器のデータベースに対して加えられた変更を抽出し、変更内容をサーバー側の統合データベースにアップロードします。

次に、サーバーのデータをモバイル機器に反映します。前回同期してからサーバー側の統合データベースに加えられた変更を抽出し、変更内容をモバイル機器上のリモート・データベースにダウンロードします。

アップロードとダウンロードはワン・サイクルです。アップロードとダウンロードのそれぞれがトランザクションであり、もし同期途中で通信処理などのトラブルがあった場合は、同期処理の前の内容にロール・バックします。同期の開始は、モバイル機器上のMobile Linkクライアントから実行します。

Mobile Linkの環境と実際の流れについて、もう少し内部の動きを説明します。

例として、「実績」テーブルを同期します。サーバー側の統合データベース・サーバーには「実績」テーブルが、中間層にはMobile Linkサーバーがあります。モバイル機器側には、同期クライアントと、クライアント・データベースに「実績テーブル」があります。

同期に必要な環境を管理するテーブル類は、Mobile Linkの統合データベース・サーバー側に用意されています。

Mobile Linkサーバーを起動する際には、引数によって機能のオン・オフやスレッド数などを指定できます。この時に指定したデータ同期用のスレッドを経由して、統合側のデータベースと会話します。

クライアント側の設定は、Mobile Linkサーバー名などの基本情報を指定するだけで構いません。

モバイル機器側では、入力した実績結果を実績テーブルに格納します。

まずは、業務アプリケーション側で用意した同期開始ボタンなどを押すことにより、セッションが張られてMobile Linkとつながります。このコネクションを使って、データベースの内部情報を抽出し、Mobile Linkサーバーにアップロードします。アップロード結果は、サーバー側の統合データベースに通知され、その内容が実績テーブルに書き込まれます。

次に、ダウンロードのフェーズになります。前回同期した以降のデータを実績テーブルから抽出してダウンロード・データを抽出し、モバイル機器側に渡し、その結果がモバイル側の実績テーブルに格納される、という流れになります。統合データベース側で必要な同期関係のプログラムは、統合データベース・サーバーの管理情報の中に格納されます。

Mobile Linkサーバーは、同期サーバーの引数(パラメータ)の指定などによって、いろいろな動きをします。モバイル機器側は、設定程度なので、既存システムに対して、柔軟にモバイル機器を追加することができます。

著者
アイエニウェア・ソリューションズ株式会社

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています