【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新...

28
もう業務はとまらない! もう業務はとまらない! Rich Client Web Contents Language Rich Client Web Contents Language Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ ケーションの実例と最新Curl情報 株式会社カール 三野 凡希

Transcript of 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新...

Page 1: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

もう業務はとまらない!もう業務はとまらない!

Rich Client Web Contents LanguageRich Client Web Contents LanguageRich Client Web Contents LanguageNEXT GENERATION INTERACTIVE WEBNEXT GENERATION INTERACTIVE WEB

オフライン機能を使った業務アプリ ケーションの実例と最新Curl情報

株式会社カール三野

凡希

Page 2: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved2 ページ

Curlとは?

主要あるコンテンツ言語を包括した言語

テキスト記述&レイアウトデザインHTML

スクリプト言語JAVA Script

オブジェクト指向プログラム言語JAVA

2D/3Dグラフィックス、マルチメディア対応Flash/Shockwave

1995: 研究開始

$5M DARPA-MITプロジェクト

・現在のW3Cの設立(CSS,DOM,XML,etc)

・Curlプロジェクト(インターネットに特化した新言語の開発)

1998: 会社設立

Dr.Lee を含むMITの12人により設立

2001: Surge 1.0のリリース

2003: Surge 2.0で日本語版リリース

2004: Surge

3.0

住商情報システムがCurl(知財権)を取得

2005:

Surge

4.0

2006: Curl 5.0

2007: Curl 6.0

2009: Curl 7.0

1995: 研究開始

$5M DARPA-MITプロジェクト

・現在のW3Cの設立(CSS,DOM,XML,etc)

・Curlプロジェクト(インターネットに特化した新言語の開発)

1998: 会社設立

Dr.Lee を含むMITの12人により設立

2001: Surge 1.0のリリース

2003: Surge 2.0で日本語版リリース

2004: Surge

3.0

住商情報システムがCurl(知財権)を取得

2005:

Surge

4.0

2006: Curl 5.0

2007: Curl 6.0

2009: Curl 7.0

株式会社

カールCurl Inc.

SCSの100%関連会社

R&D及び米国内販売 日本国内販売

及びマーケティング

Curlの特長

• 米国MITで開発されたWebリッチクライ

アント言語及び開発ツール

• 国内350社以上の基幹業務採用実績

を持つ

• inB,toB(業務システム向け)機能が充実• 処理性能が高い

Page 3: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved3 ページ

Webアプリケーションの問題

せっかく入力したのに

SessionTimeOutで再入力・・・

せっかく入力したのに

SessionTimeOutで再入力・・・

サーバー・ネットワークが

ダウンしたら復旧まで現場は・・

サーバー・ネットワークが

ダウンしたら復旧まで現場は・・

出張先で情報を

入力したいけど

アプリに接続できない・・

出張先で情報を

入力したいけど

アプリに接続できない・・

Page 4: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved4 ページ

随時接続コンピューティングにより、アプリケーション

ユーザーは

Web サーバー

に接続していないときでもアプリケーションにアクセスすることができます。

OCCアプリケーションはユーザー

マシン上にそれ自体のコピーを作成します。

ユーザーはオフラインかオンラインかを意識せずにアプリケーションを起動するこ

とができます。

オフライン機能

-

OCC(Occasionally Connected Computing)

Files saved in cacheor local storage

Actual access Client

URL access

Server

Original Files

Page 5: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved5 ページ

Curl実行の仕組みの違い

サーバブラウザCurl™RTE

4.JIT コンパイラ実行

1.プレフィックス付URLの場合、実

行環境起動

ローカルコンピュータ

2b.オフラインの場合、ローカルコ

ピーへアクセス

2a.オンラインの場合、サーバへリク

エスト

3b.Curlファイル取得

1.ブラウザからURLでリクエスト

2.Curlファイルをダウンロード

3.実行環境

起動

3a.Curlファイルをダウンロード

4.JIT コンパイラ実行通常実行

OCC(オンライン)

OCC(オフライン)

Page 6: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved6 ページ

OCC機能は「ローカルにアプリケーションをコピーおよび更新します」という宣言文と

オフライン専用のデプロイメントを行うことで簡単に構築することができます。

起動ファイル(start.dcurl/start.curl)

に1行書き込むことでプロジェクトメ

ンバーをローカルにコピーします

オフライン用のコピーの圧縮

ファイルなどを生成するため

に【OCC用デフォルトのデプロ

イメント】を行います。

随時接続コンピューティング機能

Page 7: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved7 ページ

OCC(Occasionally Connected Computing)の仕組み

Ms-AccessSqlite

Start.dcurl curl-timestamp.txt

curl-archive.car

アプリケーションコンテンツ

タイムスタンプ

manifest.mcurl

アーカイブファイルマニフェストファイル

curl://occ/https://www.curlap.com/start.dcurl

Curlプレフィックスを使用するとWebサーバーにあるプロジェクトのアーカイブファイルがダウン

ロードされ、ローカルにコピーされます。

request

download

Page 8: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved8 ページ

一般的なWebアプリケーション RIA(Curl)

HTML

Browser

Server

HTTP

データ要求変更通知 更新要求

Curl applet

Model

ControllerView

Server

データ要求

XMLWebサービス

テキスト

HTTPSOAP

TCP/IP

変更通知更新要求

データ要求変更通知

Offline

RIA(Curl)

•アプリケーションの状態保持•アプリケーションの機能提供•変更をビューに通知

Model

View

• 情報表示

Controller•ビューを選択

•更新を要求

Model•キャッシュデータを保持•変更をViewに通知

DB DB

OCC Curl applet

Model

ControllerView

Server

データ要求

XMLWebサービス

テキスト

変更通知

更新要求

更新要求

データ要求変更通知

Model•キャッシュデータを保持

・DB同期•変更をViewに通知

・DBアクセス

DB

DB

View• Controllerに動きを報告

アーキテクチャの違い

HTTPSOAP

TCP/IP

SyncDB同期

リアルタイム

ポーリング

更新要求

Page 9: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved9 ページ

{import * from COM.CURL.CDK.SQLITE}

def db = {SQLiteDatabase

{url

“sample.db” }}{db.execute

"

CREATE TABLE products (

id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,

name TEXT NOT NULL,

price DOUBLE NOT NULL);“

}

{db.execute

"

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パッケージのインポート

データベースの作成

SQLの発行

SQLの発行

http://sourceforge.net/projects/curl-cdk/※CDK ( Curl Data Kit ) :

Page 10: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved10 ページ

{import * from COM.CURL.CDK.SQLITE}

{value

def db = {SQLiteDatabase

{url

“sample.db”}}

def con = {SQLiteConnection

db}

def rs

=

{SQLiteRecordSet.create-from-table-name con, "main",

"products",

request-modifiable? = true,

strict-types? = true}

{RecordGrid

record-source = rs,

width = 4in,

height = 3in

}

}

データベースの内容をRecordGridに表示

CDKパッケージのインポート

http://sourceforge.net/projects/curl-cdk/※CDK ( Curl Data Kit ) :

データベースへの接続

RecordSetオブジェクトの作成

RecordGridの表示

Page 11: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved11 ページ

佐川急便様

e飛伝Ⅱ

http://www.sagawa-exp.co.jp/business/service/other/e-hiden.html

Page 12: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved12 ページ

Files saved in cacheor local storage

Actual access Client

URL access

Server

Original Files

送り状発行システム

佐川急便様

e飛伝Ⅱ

Page 13: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved13 ページ

インターネットに接続しているパソコンとプリンタさえあれば、送り状や飛脚メール便

ラベルをラクラク発行できます。送り状を記入する手間が省けるだけでなく、お届け

先の住所録機能や出荷データの取り込みなど、便利な機能が盛りだくさんです。

主な機能カンタンに送り状を作成お届け先の住所を入力するだけのカンタン操作で送り状を作成いただけます。

便利な送り状送り状はシールタイプでお荷物へラクラク貼付け。お手持ちのプリンターでご利用いただけます。

また、貴重品などの指定シールを送り状へ印刷することもできます。

お届け先の住所録お届け先を住所録として保存いただけます。保存したお届け先を呼び出すだけのカンタン操作で、送り状を作成いただけます。

出荷データの取り込み出荷データをCSV形式で取り込めば、複数の送り状を一括で作成できます。

佐川急便様

e飛伝Ⅱ

Page 14: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved14 ページ

■送り状の種類

佐川急便様

e飛伝Ⅱの送り状印刷

Page 15: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved15 ページ

システム概念図

システム概要図を表示(詳細情報削除)

Page 16: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved16 ページ

ローカルDBとサーバーDBとの同期は?

明細情報(問合せ番号)のコードの採番は?

送り状の作成および印刷は?

ローカルDBやアプリケーションの破損障害への対応は?

オフライン時の課題とポイント

Page 17: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved17 ページ

ローカルDBとサーバーDBの同期

全件同期と差分同期を使い分けており、同期のタイミングはログイン時とポーリング方式

ユーザが任意に同期処理を行うことも可能!

クライアントDBとサーバーDBの簡略フローを表示

(詳細情報削除)

Page 18: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved18 ページ

ユーザーデータを複数端末にてデータ共有する仕組み

同じユーザーIDが複数端末で使用でき、かつ端末間のデータを同期する仕組みを実現!

(詳細情報削除)

同一ユーザーで複数端末を使用する場合の端末間DB同期の図を表示

Page 19: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved19 ページ

クライアント端末にのみ管理されるデータ

プリンタの設定や端末に依存する情報はサーバーに持たず、クライアントのみに持つことで運用面でのメリットを実現!

(詳細情報削除)

クライアント端末のみに持つテープルの図を表示

Page 20: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved20 ページ

帳票レイアウトと問合わせ番号

バーコードフォントバーコードフォント

イメージ

問合せ番号

Curlで帳票レイアウトを動的に作成し、ローカルデータベースのデータをバインドする

ことでネットワーク障害時(オフライン)でも帳票印刷が可能!

Page 21: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved21 ページ

問合せ番号の採番と帳票印刷

オフライン状態であっても問合せ番号(明細番号)や帳票印刷を実現!

(詳細情報削除)

印刷実行から問合せ番号の採番、DB登録までのフローを表示

Page 22: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved22 ページ

問合せ番号の採番

•各端末へ幅をもった採番方式を実装することでネットワーク障害時にも継続運用が可能!

•端末側で空き番号がなくなった場合はサーバーより自動的に割り振られる仕組み!

(詳細情報削除)

オフライン時でも問合せ番号を採番できる仕組みの図を表示

Page 23: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved23 ページ

ローカルDBやアプリケーションの破損障害への対応は?

障害時の対応についての説明を表示

(詳細情報削除)

Page 24: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved24 ページ

使用された特徴的なCurl機能

オフライン機能

随時接続コンピューティング(OCC)機能

ローカルDBアクセス

CSKライブラリ(オープンソース)のADO接続API

帳票レイアウト

Curl標準GUIおよびバーコードフォントとVLE(VisualLayutEditor)

印刷機能

Curl標準PrintAPI

Page 25: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved25 ページ

New 7.0 Feature Areas

Performance

Presentation

Security

Offline capability

Interoperability and Deployment

Eclipse IDE

Page 26: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved26 ページ

Security models

Server of OriginAny  Server

unprivilegedbrowser applet

unprivileged desktop applet

sandboxed

Must be 

signed By valid

Certification 

Authority

AdministratorOverride

AdministratorOverride

Servers with Network permission file

privileged desktop application

AdministratorOverride

Page 27: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved27 ページ

<Curlホームページ>

http://www.curlap.com

<Curl技術情報>

Curlデベロッパーセンタ-http://developers.curlap.com

<Curl公式ブログ>

Curlブログhttp://blogs.curlap.com

<Curlギャラリー>

・Curl

Apps Garraryhttp://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

Curl関連情報

Page 28: 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

Copyright © 2008Curl International Corporation. All Rights ReservedCopyright © 2008Curl International Corporation. All Rights Reserved28 ページ

株式会社カールへお問合せ下さい。

E-Mail [email protected] URL http://www. curlap.com Blog http://blogs.curlap.com