More Related Content
Similar to 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」
Similar to 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」 (20)
More from devsumi2009 (20)
【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」
- 2. Curlとは?
Curlの特長
テキスト記述&レイアウトデザイン
HTML
• 米国MITで開発されたWebリッチクライ
主要あるコンテンツ言語を包括した言語
スクリプト言語
アント言語及び開発ツール
JAVA Script
• 国内350社以上の基幹業務採用実績
を持つ
オブジェクト指向プログラム言語
• inB,toB(業務システム向け)機能が充実
JAVA
• 処理性能が高い
2D/3Dグラフィックス、マルチメディア対応
Flash/Shockwave
1995: 研究開始 ––$5M DARPA-MITプロジェクト
1995: 研究開始 $5M DARPA-MITプロジェクト
・現在のW3Cの設立(CSS,DOM,XML,etc)
・現在のW3Cの設立(CSS,DOM,XML,etc)
・Curlプロジェクト(インターネットに特化した新言語の開発)
・Curlプロジェクト(インターネットに特化した新言語の開発)
1998: 会社設立 ⇒ Dr.Lee を含むMITの12人により設立
1998: 会社設立 ⇒ Dr.Lee を含むMITの12人により設立
2001: Surge 1.0のリリース
2001: Surge 1.0のリリース
2003: Surge 2.0で日本語版リリース
2003: Surge 2.0で日本語版リリース
2004: Surge 3.0
2004: Surge 3.0 株式会社 カール
Curl Inc.
住商情報システムがCurl(知財権)を取得
住商情報システムがCurl(知財権)を取得 日本国内販売
2005: Surge 4.0 R&D及び米国内販売
2005: Surge 4.0 及びマーケティング
2006: Curl 5.0
2006: Curl 5.0
2007: Curl 6.0
SCSの100%関連会社
2007: Curl 6.0
2009: Curl 7.0
2009: Curl 7.0
2 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 3. Webアプリケーションの問題
せっかく入力したのに
SessionTimeOutで再入力・・・
出張先で情報を
入力したいけど
アプリに接続できない・・
サーバー・ネットワークが
ダウンしたら復旧まで現場は・・
3 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 4. オフライン機能 - OCC(Occasionally Connected Computing)
Client Server
Actual access
URL access
Files saved in cache
or local storage Original Files
随時接続コンピューティングにより、アプリケーション ユーザーは Web サーバー
に接続していないときでもアプリケーションにアクセスすることができます。
OCCアプリケーションはユーザー マシン上にそれ自体のコピーを作成します。
ユーザーはオフラインかオンラインかを意識せずにアプリケーションを起動するこ
とができます。
4 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 5. Curl実行の仕組みの違い
Curl™RTE
ローカルコンピュータ ブラウザ サーバ
1.ブラウザからURLでリクエスト
2.Curlファイルをダウンロード
3.実行環境 起動
4.JIT コンパイラ実行
通常実行
OCC(オンライン)
1.プレフィックス付URLの場合、実
行環境起動 OCC(オフライン)
2b.オフラインの場合、ローカルコ
ピーへアクセス
2a.オンラインの場合、サーバへリク
エスト
3b.Curlファイル取得
3a.Curlファイルをダウンロード
4.JIT コンパイラ実行
5 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 6. 随時接続コンピューティング機能
オフライン用のコピーの圧縮
ファイルなどを生成するため
に【OCC用デフォルトのデプロ
イメント】を行います。
起動ファイル(start.dcurl/start.curl)
に1行書き込むことでプロジェクトメ
ンバーをローカルにコピーします
OCC機能は「ローカルにアプリケーションをコピーおよび更新します」という宣言文と
オフライン専用のデプロイメントを行うことで簡単に構築することができます。
6 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 7. OCC(Occasionally Connected Computing)の仕組み
Sqlite Ms-Access
curl://occ/https://www.curlap.com/start.dcurl
Start.dcurl curl-timestamp.txt
request アプリケーション タイムスタンプ
コンテンツ
download manifest.mcurl curl-archive.car
アーカイブファイル
マニフェストファイル
Curlプレフィックスを使用するとWebサーバーにあるプロジェクトのアーカイブファイルがダウン
ロードされ、ローカルにコピーされます。
7 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 8. アーキテクチャの違い
Offline RIA(Curl)
RIA(Curl)
一般的なWebアプリケーション
Server Server
Server
DB DB DB
更新要求
Model Model Model
•アプリケーションの状態保持
•アプリケーションの機能提供
データ要求
•変更をビューに通知 変更通知
データ要求
変更通知
更新要求
HTTP
XML
データ要求 更新要求 リアルタイム
変更通知 SOAP
Webサービス
ポーリング
TCP/IP
テキスト
HTTP
XML
Controller SOAP
View Webサービス
TCP/IP
テキスト
•ビューを選択 Sync
DB
• 情報表示
DB同期
•更新を要求
Model
Model
•キャッシュデータを保持
•キャッシュデータを保持 ・DB同期
•変更をViewに通知
・DBアクセス
•変更をViewに通知
HTML HTTP
データ要求
変更通知 更新要求 更新要求
変更通知 データ要求
View Controller Controller
View View
• Controllerに動きを報告
Curl applet OCC Curl applet
Browser
8 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 9. ローカルデータベースへのアクセス
CDKパッケージのインポート
{import * from COM.CURL.CDK.SQLITE}
データベースの作成
def db = {SQLiteDatabase {url “sample.db” }}
{db.execute quot; SQLの発行
CREATE TABLE products (
id INTEGER NOT NULL PRIMARY KEY
AUTOINCREMENT,
name TEXT NOT NULL,
price DOUBLE NOT NULL);“
}
{db.execute quot; SQLの発行
INSERT INTO products VALUES (1,'paper',10.00);
INSERT INTO products VALUES (2,'envelope',5.00);
INSERT INTO products VALUES (3,'pen',4.00);
INSERT INTO products VALUES (4,'pencil',2.00);
INSERT INTO products VALUES (5,'marker',7.00);
INSERT INTO products VALUES (6,'folder',9.00);
INSERT INTO products VALUES (7,‘calendar',4.00);”
}
※CDK ( Curl Data Kit ) : http://sourceforge.net/projects/curl-cdk/
9 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 10. データベースの内容をRecordGridに表示
{import * from COM.CURL.CDK.SQLITE} CDKパッケージのインポート
{value
def db = {SQLiteDatabase {url “sample.db”}}
データベースへの接続
def con = {SQLiteConnection db}
def rs = RecordSetオブジェクトの作成
{SQLiteRecordSet.create-from-table-name con, quot;mainquot;,
quot;productsquot;,
request-modifiable? = true,
strict-types? = true}
{RecordGrid RecordGridの表示
record-source = rs,
width = 4in,
height = 3in
}
}
※CDK ( Curl Data Kit ) : http://sourceforge.net/projects/curl-cdk/
10 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 11. 佐川急便様 e飛伝Ⅱ
http://www.sagawa-exp.co.jp/business/service/other/e-hiden.html
11 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 12. 佐川急便様 e飛伝Ⅱ
送り状発行システム
Client Server
Actual access
URL access
Files saved in cache
or local storage Original Files
12 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 15. システム概念図
(詳細情報削除)
システム概要図を表示
15 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 16. オフライン時の課題とポイント
ローカルDBとサーバーDBとの同期は?
明細情報(問合せ番号)のコードの採番は?
送り状の作成および印刷は?
ローカルDBやアプリケーションの破損障害への対応は?
16 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 17. ローカルDBとサーバーDBの同期
(詳細情報削除)
全件同期と差分同期を使い分けており、同期のタイミングはログイン時とポーリング方式
ユーザが任意に同期処理を行うことも可能!
クライアントDBとサーバーDBの簡略フローを表示
17 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 18. ユーザーデータを複数端末にてデータ共有する仕組み
(詳細情報削除)
同じユーザーIDが複数端末で使用でき、かつ端末間のデータを同期する仕組みを実現!
同一ユーザーで複数端末を使用する場合の端末間DB同期の図を表示
18 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 19. クライアント端末にのみ管理されるデータ
(詳細情報削除)
プリンタの設定や端末に依存する情報はサーバーに持たず、クライアントのみに持つことで
運用面でのメリットを実現!
クライアント端末のみに持つテープルの図を表示
19 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 21. 問合せ番号の採番と帳票印刷
(詳細情報削除)
オフライン状態であっても問合せ番号(明細番号)や帳票印刷を実現!
印刷実行から問合せ番号の採番、DB登録までのフローを表示
21 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 22. 問合せ番号の採番
(詳細情報削除)
•各端末へ幅をもった採番方式を実装することでネットワーク障害時にも継続運用が可能!
•端末側で空き番号がなくなった場合はサーバーより自動的に割り振られる仕組み!
オフライン時でも問合せ番号を採番できる仕組みの図を表示
22 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 23. ローカルDBやアプリケーションの破損障害への対応は?
(詳細情報削除)
障害時の対応についての説明を表示
23 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 24. 使用された特徴的なCurl機能
オフライン機能
随時接続コンピューティング(OCC)機能
ローカルDBアクセス
CSKライブラリ(オープンソース)のADO接続API
帳票レイアウト
Curl標準GUIおよびバーコードフォントとVLE(VisualLayutEditor)
印刷機能
Curl標準PrintAPI
24 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 25. New 7.0 Feature Areas
Performance
Presentation
Security
Offline capability
Interoperability and Deployment
Eclipse IDE
25 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 26. Security models
Servers with
Any Server
Network permission file
Server of Origin
Must be
signed
sandboxed By valid
Certification
Authority
Administrator Administrator
Administrator
Override Override
Override
privileged
unprivileged unprivileged
desktop application
browser applet desktop applet
26 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 27. Curl関連情報
<Curlホームページ>
http://www.curlap.com
<Curl技術情報>
Curlデベロッパーセンタ-
・
http://developers.curlap.com
<Curl公式ブログ>
Curlブログ
・
http://blogs.curlap.com
<Curlギャラリー>
・Curl Apps Garrary
http://developers.curlap.com/apps
<Curlメディア記事>
Codezine VBプログラマのためのCurl入門
・
http://codezine.jp/article/detail/3068
@IT いまさら聞けないCurl入門
・
http://www.atmarkit.co.jp/fwcr/rensai/imasara15/imasara15_1.html
@IT Curlの無料投稿サイトでアプリをいろいろ試してみた
・
http://www.atmarkit.co.jp/news/200809/10/curl.html
CurlのオープンソースUIライブラリ builder tecday レポート
・
http://builder.japan.zdnet.com/news/story/0,3800079086,20381432,00.htm
@IT リッチクライアントカンファレンスⅣ パネルディスカッション レポート
・
http://www.atmarkit.co.jp/fwcr/special/richc4apanel/richc4apanel_1.html
27 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
- 28. 株式会社カールへお問合せ下さい。
E-Mail info@curlap.com
URL http://www. curlap.com
Blog http://blogs.curlap.com
28 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
Editor's Notes
- <number>
- 開発者がはじめて、Curlの環境に触っていただくことを想定した内容の書籍となっております。検証を始められる際の取り掛かりの内容として適切な内容となっております。弊社の開発者が実際の経験から書き下ろした内容となっており、非常にわかりやすいと評判です。