「Rhodes」のクラウドサーバ連携研究開発
スマートフォンアプリケーション開発用フレームワーク「Rhodes」を使用したクラウドサーバとのデータ同期について研究した成果を発表しています。
本研究ではRhodesアプリケーションでのデータ同期方法の研究を行い「クライアント格納方式」、「Webアプリケーション方式」という二種類のデータ同期方法の開発を行いました。
クライアント格納方式
クライアント格納方式では、データ作成や更新などを全てRhodesアプリケーションで行い、作成したデータを複数の方法を以てクラウドサーバへ送出する方法を研究しました。
・手動同期
使用者がアクションを実行し、手動で同期処理が行われるように実装しクライアントで作成、更新、削除したデータをサーバへJSON形式で送信し、クラウドサーバ上で動くWebアプリケーションが受け取ったJSONデータをDBへ格納します。
その後、更新したデータを含めた全てのデータをクライアントへJSON形式で返し、クライアントのデータベースの中身を置き換えます。
・自動同期
入力・変更したデータをバックエンドで定期的にジョブを走らせ自動的に同期させる方法です。
研究した結果、バックエンドでのジョブ実行などの処理は原則Rhodesでは対応しておらず、各プラットフォーム向けにネイティブコードで実装する必要がある事がわかり、
Rhodesの特性であるマルチプラットフォームという特性が発揮できず、また、送出するデータ量が多かった場合、通信が不安定な場合にデータをロストする恐れがあることから本研究成果としては採用していません。
・使用時同期
使用時にサーバデータとバージョン確認し、最新版のときに同期をとる方法です。
自動同期処理と同じでバックグラウンドでの処理が必要なことに、加えネットワークアクセスが増えてしまうことを懸念し、本研究成果としては採用していません。
WEBアプリケーション方式
Webアプリケーション方式では、Rhodesアプリケーションにはデータを一切格納せず、クラウドサーバに設置されたWebアプリケーションにデータ管理を任せる方法を研究しました。
・サーバ処理方式
データの作成、更新、削除の機能で使用しています。
サーバに対して、情報をJSON形式に変換してPOST,PUT送信または、DELETEアクセスなどを行います。
サーバでは、JSON形式のデータが送られてきた場合は、そのデータを解析して使用しています。
それぞれの情報にあった処理を行い、その結果をクライアントへ返しています。
・クライアント処理方式
一覧表示、詳細表示の機能で使用しています。
サーバへGETアクセスを行います。サーバでは必要なデータをJSON形式でクライアントへ返しています。
クライアントでは、取得したJSON形式のデータを解析し、表示しています。
サービスや環境に合ったデータ保存方法の研究
本研究でにあたり、スマートフォン端末上でのデータ取り扱いについて研究を行いました。
・ネットワーク環境とセキュリティ
スマートフォンを使用したデータ連係を行う場合、通信キャリアの3G回線などは通信状況が環境に大きく左右されるため、データ連係を行う際に通信が途中で切断される場合などを想定する必要があることがわかりました。
本研究で実装した同期方式においても、データ量が多くなれば多くなるほど通信が不安定になる事が多く、アプリケーションの運用方法としてWiFi環境下(高速なモバイルルータ含む)での使用が望ましいという結論に至りました。
また、通常のデータ通信では平文での通信が殆どであるため、業務で使用する場合はサーバ連携時にHTTPS使用するか、VPNでの接続を行うなどセキュアな通信経路を確保する必要があります。
研究成果
- ダウンロードページにて公開しています