2013年10月8日火曜日

GeneXusミーティングレポート 2日目その1:オフライン - GX23

GeneXusミーティング2日目はいよいよ次期バージョンに関するセッションが続きます。

まずは、オフライン機能の話です。これは次期バージョンであるTiloの目玉機能ですが、対象はスマートデバイスアプリケーションです。

※当情報は製品出荷前の情報であり、製品出荷時には変更になる場合もあります。あらかじめご了承ください。

スピーカーはサポートチームのPablo Mazzilli
昨年からTilo及びオフライン機能の
開発に係わっています
現行バージョンであるEvolution2で作成されたスマートデバイスアプリは基本的にコネクションが無いと(通信回線が接続していないと)使えません。つまりローカル(デバイス上)にデータベースを持たず、常にサーバーと通信してサーバー側のデータベースにI/Oする、いわゆるクライアント/サーバー型のアプリケーションです。
これに対し業務系のアプリケーションとしては、コネクションが無い状態でも利用できるオフライン機能のニーズが非常に強くありました。



オフライン機能の定義は「通信回線断の状態でも
動作できる事」 +「 データの同期」です

Artech社としてもオフライン機能が必要ないとの判断でEvolution2への搭載をしなかった訳では無く、オフライン機能の実現にはデータの同期メカニズムの設計などに時間が掛かると判断し、まずはオンライン機能(クライアント/サーバー型)でのリリースとなっていました。

昨年のインターナショナルミーティングで次期バージョンTiloとオフライン機能の発表がされ、その後開発とベータテストが続いてきました。今回のインターナショナルミーティングではベータ2のリリースを控え、より現実的になってきたオフライン機能の詳細がお披露目になっています。


オフラインアプリケーションの要件は
・ローカルデータベース
・マスタデータのロード
・通信回線断時でのイベントデータ登録
・通信回線接続時にイベントデータの同期
になります。

スマートデバイス用のメインオブジェクトにConnectivity Supportというプロパティが追加され、ここでOnline(ディフォルト)/Offlineの切り替えをします。

オンラインとオフラインのアーキテクチャーの違いは、オンラインはスマートデバイス側にはUIしかなく、サービス層、ビジネス層、データベースは全てサーバー側になります。

一方、オフラインではスマートデバイス側にUI+ビジネス層、データベースが加わり、サーバー側には同期機能が加わります。


Connectivity SupportOfflineに設定すると、ローカルデータベースオブジェクトが作成されます。



受信(サーバー→スマートデバイス)には以下の設定があります。

  • Data Synchronization Criteriaプロパティ(データ同期の条件)
    • Automatic
    • Manual
  • Data Synchronization Granularity(データ同期の粒度)
    • By Row
    • By Table



送信(スマートデバイス→サーバー)には以下の設定があります。

  • Local Changes Processing(ローカル(スマートデバイス)での変更をサーバーに送信するタイミング)
    • When connected
    • User defined(Send Method)


Tiloにおけるオフライン機能の実装状況
・ベータ1
 ・オフラインデータベース
 ・マスターデータ同期(片方向)
・ベータ2
 ・イベント同期(iOS、Android)
 ・セキュリティ - GAM
 ・Event Status API






0 件のコメント:

コメントを投稿