スマートフォンやタブレットなどのモバイルデバイスの普及に伴い、システムのモバイル対応はもはや逃れられない必須の要素となっていると言っても過言ではないでしょう。
そういった背景のもと、データ連携に関しても、モバイル対応は避けては通れないものです。
もともとモバイルデバイスはWebアプリケーションやクラウドとの親和性は高く、データ連携へのハードルはあまり高くないように思われるかも知れませんが、スマートフォンやタブレットのようなモバイルデバイスは、従来のPCやサーバOSと異なり、OSが多様化している上に新しいバージョンのリリースなどのスパンが短いといった特徴を持っています。
そのため、デバイスによってデータの扱いのロジックの違いやフォーマットの違いを吸収しなくてはならないという点においては、より難易度が高いと言えるかもしれません。
今回はそんなモバイルアプリケーションのデータ連携についてご説明していきましょう。
モバイル対応をするのに必要な条件とは
モバイルデバイス対応のデータ連携を考える場合においても、通常の開発同様、どの方法が適しているかを判断する必要があります。
そのためには、やはり通常開発同様以下のような点を確認する必要があります。
・既存システムとデバイス間でのトランザクションやリアルタイム性を持った連携が必要か?
・キャリア通信圏外や通信速度の低下なども含め、オフライン環境での利用を想定しているか?
・対応デバイスは何を想定するか?
・マルチデバイス対応の必要性やデバイスに依存する機能面の対応は必要か
など
また、SQLLiteのような軽量なRDMS(リレーショナルデータベースマネージメントシステム)を使いやすいといった利点もあります。
SQLLiteはサーバとしてではなく、アプリケーション組み込み式の軽量データベースであるため、大規模システムには向きませんが、軽量で高速であるという特長を持っています。
モバイル機器とデータベースの接続には
モバイルデバイスはデバイス特有の特性があるというデメリットがあるものの、クラウドとの親和性が良いというメリットがあります。
ローカルデータベースであるSQLliteはACIDに準拠しており、従来RDMSと遜色ない機能をそなえています。
また、アプリケーションに直接埋め込む小さなライブラリでデータベースが構成されているため、軽量で高速に処理を実行することができるでしょう。
多種のOSやデバイスと互換性のある自己完結型のデータベースで、他システムとの連携も容易にできるよう設計されています。
キャリアの通信環境がない、または不安定な状況などのオフライン環境では、モバイルデバイス側のアプリケーションがローカルデータベースを使った業務処理を行います。
オンライン環境になったときに、モバイルデバイスからのリクエストをトリガーにデータ連携ツールが処理を開始し、モバイルデバイス側のローカルデータベースとサーバ側、もしくはクラウド側のデータとの同期処理を行う、といった連携スタイルも可能になります。