Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
その5:Curlの凄いところ!「地下鉄でも新幹線でも大丈夫!Curlオフライン機能」
06-21-2012, 03:56 PM, (This post was last modified: 06-21-2012, 08:03 PM by hmino.)
#1
その5:Curlの凄いところ!「地下鉄でも新幹線でも大丈夫!Curlオフライン機能」
こんばんは!
マーケティングの三野です。

前回は 「表現力!ユーザーインタフェースのアニメーションと2D、3D表現」についてについて説明させてもらいましたが今回はCurlの凄いところの第三弾としてCurlの「オフライン機能」についてお話させていただきます。

1.地下鉄や新幹線でよく見かける悲しい光景

CurlはWebを前提としたRIAアプリケーションやモバイルアプリケーションを構築するための技術ですが、Webを前提としたアプリケーションは運用面でのメリットやどこでも使えることなど多くのメリッ​トがある一方でネットワークやサーバーにつながっていなければ使えないということを皆さんご承知でしょうか?あたりまえといわれそうですが(笑)

私は今会社まで地下鉄一本で通っていますが、周りを見渡すとこんな面白い光景を目にします。
  • 電車が移動中は手にスマートフォンを持っているがなにもしてない。
  • 駅に止まると同時にみんなが一斉にスマートフォンをいじりまくる(笑)
これは僕もなんですが、移動中は地下なのでネットワークにつながらないのでブラウジングやモバイルアプリが操作できないんですよね。あるアプリなんかでは画面がグルグルしたまんまでなにもできない。ほんと不便ですよね。

またPCでも同じことがあります。
たとえば出張ではよく新幹線を使うのですが、たとえば携帯型Wifi端末などでは移動中は途切れ途切れ。また新幹線内の無線LANも非常に遅いですよね。
だからたとえば業務系のアプリケーションなどはこのような問題に対して、出張先ではExcelで入力し、帰社したら再度転記することや、障害時にはファックスなどによる運用のみにするなどで対応しているケースや、そもそ​もWebシステムにしないなど様々あるかと思います。



2.Curlのオフライン機能-OCC機能(Occasionally Connected Computing


このような問題に対してCurlは2003年に通称OCC機能(Occasionally Connected Computing)と呼んでいるオフライン機能を提供しています。もう提供してから早9年が経ちました。

CurlのRIAアプリケーションにおけるオフライン機能(OCC機能)は他ベンダーから提供されているインストール型のデスクトップアプリではなく、オンライン/オフラインが同じアプリケーションで実現できる機能を​提供しております。
管理の面でもそのために二重管理になりません。

簡単に機能を説明しますとWebサーバーにあるCurlコンテンツのコピーをPCのサンドボックス内におき、オフラインの場合はそれを起動する仕組みです。もちろ​ん起動にもアプリケーションの更新にもユーザーや開発者にもお手間を取らせません!





3.オンラインのときとオフラインのときの動作の違い

Curlコンテンツのコピーを利用する説明しましたが、通常のCurlアプリケーションの場合とOCC機能組み込んだCurlアプリケーションの場合の起動は上記のように​最初にWebサーバーに問合せに行くかCurl RTEにオンラインかオフラインかの判定をするぐらいの違いで、OCCアプリケーションは必ずクライアントから起動するわけではなくオンラインのときはWebサーバーから​起動するので通常のCurlアプリケーションと同じなのです!
この点が他のインストール型のRIAデスクトップアプリと違う点です。





4.アーキテクチャの違い-データの取り扱い

OCC機能ではコンテンツをローカルにコピーし、オンライン/オフラインによって起動されるアプリケーションを切り換えるものですが、実際のアプリケーションではアーキテ​クチャとして通常のオンラインを前提としたRIAの場合とオフライン機能を使ったRIAの場合では違いがあります。



上の図の左右の図を比べてもらえばお分かりのように大きな違いは「データ」に関する取り扱いの部分です。

通常RIAアプリケーションでも、またWebアプリケーションでもデータはサーバーで一括管理されております。
ただし、オフラインの場合はその「データ」にアクセスができないわけですからローカルになにかしらのDBやデータを保持しておかなくてはなりません
その場合、つねに普遍的なデータであれば問題なく運用できますが、常に追加される明細データのようなものや、マスターデータはどのように運用したらよいのでしょうか?そこ​で必要となるのが「データの同期」です。
CurlのオフラインアーキテクチャではDB同期にリアルタイム方式やポーリング方式、またイベントによる同期と様々なアーキテクチャを選択できるようになっています。
また、ローカルにデータベースを配置することでクライアント側のビジネスロジックも容易に構築できるようになっており、SQLiteやのMS-AccessなどのようなADO接続が可能なDBにアクセスすることができるようになっています。



5.モバイルアプリケーション-Caedeの場合
Caedeを使用したモバイルアプリケーションの場合では通常インストール型アプリケーションになるため、若干RIAの場合と違いがありますが、オフラインでももちろん動かせますし、またローカルDBへのアクセスやデバイスのアクセスもできるので、基本的なアーキテクチャは同じ設計ができます。是非正式リリースを期待しててください!



余談
もしかすると今年度中にオフラインモデルをさらに進化させたソリューションを発表するかもしれません!今はまだ語れませんがそちらについても期待しててください!

ではまたまた。


Attached Files
.jpg   occ1.JPG (Size: 20.97 KB / Downloads: 1,253)
.jpg   occ2.JPG (Size: 52.27 KB / Downloads: 1,410)
.jpg   occ3.JPG (Size: 57.49 KB / Downloads: 1,790)

Forum Jump:


Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('539')