Curl Global Community
「Developers Summit 2009」講演レビュー(1) - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Blogs (https://communities.curl.com/forumdisplay.php?fid=17)
+--- Forum: Marketing blog (https://communities.curl.com/forumdisplay.php?fid=19)
+--- Thread: 「Developers Summit 2009」講演レビュー(1) (/showthread.php?tid=126)



「Developers Summit 2009」講演レビュー(1) - blog - 07-20-2011

[attachment=158]2009年2月13日(金)にDevelopers Summit 2009で「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新Curl情報」というタイトルで講演させていただきました。

今回はCurlで構築されております佐川急便様のe飛伝Ⅱを元にCurlのオフライン機能やアーキテクチャ、ローカルデータベースへのアクセス方法などを中心にお話させていただきました。

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

だからこそ上記のような避けられない問題が発生してしまいます。
このような問題に対し、出張先ではExcelで入力し、帰社したら再度転記することや、障害時にはファックスなどによる運用のみにするなどで対応しているケースや、そもそもWebシステムにしないなど様々あるかと思います。
このような中、昨今ではGearsやfirefoxなどオフラインでも使用できるWebアプリケーションのプラットフォームが多くのベンダーやオープンソースで出てきております。
Curlは2003年に通称OCC機能と呼んでいるオフライン機能を提供してから早5年が経ちました。

Curlのオフライン機能は他ベンダーから提供されているインストール型のデスクトップアプリではなく、オンライン/オフラインが同じアプリケーションで実現できる機能を提供しております。
管理の面でもそのために二重管理になりません。
簡単に機能を説明しますとWebサーバーにあるCurlコンテンツのコピーをPCのサンドボックス内にコピーをおき、オフラインの場合はそれを起動する仕組みです。もちろん起動にもアプリケーションの更新にもユーザーも開発者にもお手間を取らせません!

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


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



これはSQLiteへのアクセスロジックですが、このように接続およぼSQLを簡単に発行することができるようになっており、SQLを発行することはもちろん、上のようにSQLiteのテーブルをそのままオブジェクトの状態で管理することができるので簡単にUIにアタッチすることが数行でできるようになっています。

ちょっと長くなってきましたので、今回はここまで。
次回はいよいよ佐川急便さんのe飛伝Ⅱでどのようにこのオフライン機能をつかったか(だせるとこだけですが!)をお伝えします!
では!