もう業務はとまらない!もう業務はとまらない!rich client web contents language...

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

Upload: others

Post on 19-Jan-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

もう業務はとまらない!

Rich Client Web Contents LanguageNEXT GENERATION INTERACTIVE WEB

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

株式会社カール三野 凡希

Page 2: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

Copyright © 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

株式会社 カールCurl Inc.

SCSの100%関連会社

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

及びマーケティング

Curlの特長

• 米国MITで開発されたWebリッチクライアント言語及び開発ツール

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

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

Page 3: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

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

せっかく入力したのに

SessionTimeOutで再入力・・・

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

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

出張先で情報を

入力したいけど

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

Page 4: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

随時接続コンピューティングにより、アプリケーション ユーザーは Web サーバー

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

OCCアプリケーションはユーザー マシン上にそれ自体のコピーを作成します。

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

オフライン機能 - OCC(Occasionally Connected Computing)

Files saved in cache

or local storage

Actual accessClient

URL access

Server

Original Files

Page 5: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

Copyright © 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: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

OCC機能は「ローカルにアプリケーションをコピーおよび更新します」という宣言文とオフライン専用のデプロイメントを行うことで簡単に構築することができます。

起動ファイル(start.dcurl/start.curl)に1行書き込むことでプロジェクトメンバーをローカルにコピーします

オフライン用のコピーの圧縮ファイルなどを生成するために【OCC用デフォルトのデプロイメント】を行います。

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

Page 7: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

Copyright © 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: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

Copyright © 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

Sync

DB同期

リアルタイム

ポーリング

更新要求

Page 9: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

Copyright © 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: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

Copyright © 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 12: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

Files saved in cache

or local storage

Actual accessClient

URL access

Server

Original Files

送り状発行システム

佐川急便様 e飛伝Ⅱ

Page 13: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

インターネットに接続しているパソコンとプリンタさえあれば、送り状や飛脚メール便ラベルをラクラク発行できます。送り状を記入する手間が省けるだけでなく、お届け先の住所録機能や出荷データの取り込みなど、便利な機能が盛りだくさんです。

主な機能 カンタンに送り状を作成

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

便利な送り状送り状はシールタイプでお荷物へラクラク貼付け。お手持ちのプリンターでご利用いただけます。また、貴重品などの指定シールを送り状へ印刷することもできます。

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

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

佐川急便様 e飛伝Ⅱ

Page 14: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

■送り状の種類

佐川急便様 e飛伝Ⅱの送り状印刷

Page 15: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

システム概念図

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

Page 16: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

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

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

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

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

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

Page 17: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

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

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

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

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

(詳細情報削除)

Page 18: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

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

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

(詳細情報削除)

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

Page 19: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

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

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

(詳細情報削除)

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

Page 20: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

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

バーコードフォント

イメージ

問合せ番号

Curlで帳票レイアウトを動的に作成し、ローカルデータベースのデータをバインドすることでネットワーク障害時(オフライン)でも帳票印刷が可能!

Page 21: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

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

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

(詳細情報削除)

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

Page 22: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

問合せ番号の採番

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

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

(詳細情報削除)

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

Page 23: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

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

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

(詳細情報削除)

Page 24: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

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

オフライン機能

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

ローカルDBアクセス

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

帳票レイアウト

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

印刷機能

Curl標準PrintAPI

Page 25: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

New 7.0 Feature Areas

Performance

Presentation

Security

Offline capability

Interoperability and Deployment

Eclipse IDE

Page 26: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

Security models

Server of OriginAny Server

unprivilegedbrowser applet

unprivileged desktop applet

sandboxed

Must be signed

By validCertification

Authority

AdministratorOverride

AdministratorOverride

Servers with Network permission file

privileged desktop application

AdministratorOverride

Page 27: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

Copyright © 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: もう業務はとまらない!もう業務はとまらない!Rich Client Web Contents Language NEXT GENERATION INTERACTIVE WEB オフライン機能を使った業務アプリ

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

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

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