もう業務はとまらない!
オフライン機能を使った業務アプリ
ケーションの実例と最新Curl情報
     NEXT GENERATION INTERACTIVE WEB
            Rich Client Web Contents L...
Curlとは?

                                                                                      Curlの特長
                   ...
Webアプリケーションの問題

                       せっかく入力したのに
                       SessionTimeOutで再入力・・・




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



                          Client                                       ...
Curl実行の仕組みの違い
                         Curl™RTE
ローカルコンピュータ                                               ブラウザ             ...
随時接続コンピューティング機能

                                                                       オフライン用のコピーの圧縮
                    ...
OCC(Occasionally Connected Computing)の仕組み


                                                                 Sqlite       ...
アーキテクチャの違い
                                                                                                 Offline RIA(Cu...
ローカルデータベースへのアクセス

                                                                                 CDKパッケージのインポート
   {impo...
データベースの内容をRecordGridに表示
  {import * from COM.CURL.CDK.SQLITE}                                               CDKパッケージのインポート...
佐川急便様 e飛伝Ⅱ




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

 11 ページ                         ...
佐川急便様 e飛伝Ⅱ

                                                                                      送り状発行システム




          ...
佐川急便様 e飛伝Ⅱ

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




14 ページ      Copyright © 2008Curl International Corporation. All Rights Reserved
システム概念図
                                                                                   (詳細情報削除)
          システム概要図を表示

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


          ローカルDBとサーバーDBとの同期は?
          明細情報(問合せ番号)のコードの採番は?
          送り状の作成および印刷は?
          ローカルDBやアプリ...
ローカルDBとサーバーDBの同期
                                                                                          (詳細情報削除)
 全件同期と...
ユーザーデータを複数端末にてデータ共有する仕組み
                                                                                             (詳細情...
クライアント端末にのみ管理されるデータ
                                                                                         (詳細情報削除)

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



   問合せ番号




               ...
問合せ番号の採番と帳票印刷
                                                                                             (詳細情報削除)

     ...
問合せ番号の採番
                                                                                           (詳細情報削除)

•各端末へ幅をもった採番...
ローカルDBやアプリケーションの破損障害への対応は?
                                                                                     (詳細情報削除)

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


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

          ローカルDBアクセス
          CSKライブラリ(オープンソース)のADO接続...
New 7.0 Feature Areas


          Performance
          Presentation
          Security
          Offline capability
     ...
Security models

                                     Servers with 
                                                      ...
Curl関連情報
 <Curlホームページ>
       http://www.curlap.com
 <Curl技術情報>
       Curlデベロッパーセンタ-
   ・
       http://developers.curlap...
株式会社カールへお問合せ下さい。

                    E-Mail             info@curlap.com
                    URL                http://www...
Upcoming SlideShare
Loading in …5
×

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

3,524 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,524
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
93
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • <number>
  • 開発者がはじめて、Curlの環境に触っていただくことを想定した内容の書籍となっております。検証を始められる際の取り掛かりの内容として適切な内容となっております。弊社の開発者が実際の経験から書き下ろした内容となっており、非常にわかりやすいと評判です。
  • 【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」

    1. 1. もう業務はとまらない! オフライン機能を使った業務アプリ ケーションの実例と最新Curl情報 NEXT GENERATION INTERACTIVE WEB Rich Client Web Contents Language 株式会社カール 三野 凡希
    2. 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. 3. Webアプリケーションの問題 せっかく入力したのに SessionTimeOutで再入力・・・ 出張先で情報を 入力したいけど アプリに接続できない・・ サーバー・ネットワークが ダウンしたら復旧まで現場は・・ 3 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    4. 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. 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. 6. 随時接続コンピューティング機能 オフライン用のコピーの圧縮 ファイルなどを生成するため に【OCC用デフォルトのデプロ イメント】を行います。 起動ファイル(start.dcurl/start.curl) に1行書き込むことでプロジェクトメ ンバーをローカルにコピーします OCC機能は「ローカルにアプリケーションをコピーおよび更新します」という宣言文と オフライン専用のデプロイメントを行うことで簡単に構築することができます。 6 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    7. 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. 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. 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. 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. 11. 佐川急便様 e飛伝Ⅱ http://www.sagawa-exp.co.jp/business/service/other/e-hiden.html 11 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    12. 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
    13. 13. 佐川急便様 e飛伝Ⅱ インターネットに接続しているパソコンとプリンタさえあれば、送り状や飛脚メール便 ラベルをラクラク発行できます。送り状を記入する手間が省けるだけでなく、お届け 先の住所録機能や出荷データの取り込みなど、便利な機能が盛りだくさんです。 主な機能 カンタンに送り状を作成 お届け先の住所を入力するだけのカンタン操作で送り状を作成いただけます。 便利な送り状 送り状はシールタイプでお荷物へラクラク貼付け。お手持ちのプリンターでご利用 いただけます。 また、貴重品などの指定シールを送り状へ印刷することもできます。 お届け先の住所録 お届け先を住所録として保存いただけます。保存したお届け先を呼び出すだけの カンタン操作で、送り状を作成いただけます。 出荷データの取り込み 出荷データをCSV形式で取り込めば、複数の送り状を一括で作成できます。 13 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    14. 14. 佐川急便様 e飛伝Ⅱの送り状印刷 ■送り状の種類 14 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    15. 15. システム概念図 (詳細情報削除) システム概要図を表示 15 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    16. 16. オフライン時の課題とポイント ローカルDBとサーバーDBとの同期は? 明細情報(問合せ番号)のコードの採番は? 送り状の作成および印刷は? ローカルDBやアプリケーションの破損障害への対応は? 16 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    17. 17. ローカルDBとサーバーDBの同期 (詳細情報削除) 全件同期と差分同期を使い分けており、同期のタイミングはログイン時とポーリング方式 ユーザが任意に同期処理を行うことも可能! クライアントDBとサーバーDBの簡略フローを表示 17 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    18. 18. ユーザーデータを複数端末にてデータ共有する仕組み (詳細情報削除) 同じユーザーIDが複数端末で使用でき、かつ端末間のデータを同期する仕組みを実現! 同一ユーザーで複数端末を使用する場合の端末間DB同期の図を表示 18 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    19. 19. クライアント端末にのみ管理されるデータ (詳細情報削除) プリンタの設定や端末に依存する情報はサーバーに持たず、クライアントのみに持つことで 運用面でのメリットを実現! クライアント端末のみに持つテープルの図を表示 19 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    20. 20. 帳票レイアウトと問合わせ番号 Curlで帳票レイアウトを動的に作成し、ローカルデータベースのデータをバインドする ことでネットワーク障害時(オフライン)でも帳票印刷が可能! 問合せ番号 イメージ バーコードフォント バーコードフォント 20 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    21. 21. 問合せ番号の採番と帳票印刷 (詳細情報削除) オフライン状態であっても問合せ番号(明細番号)や帳票印刷を実現! 印刷実行から問合せ番号の採番、DB登録までのフローを表示 21 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    22. 22. 問合せ番号の採番 (詳細情報削除) •各端末へ幅をもった採番方式を実装することでネットワーク障害時にも継続運用が可能! •端末側で空き番号がなくなった場合はサーバーより自動的に割り振られる仕組み! オフライン時でも問合せ番号を採番できる仕組みの図を表示 22 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    23. 23. ローカルDBやアプリケーションの破損障害への対応は? (詳細情報削除) 障害時の対応についての説明を表示 23 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    24. 24. 使用された特徴的なCurl機能 オフライン機能 随時接続コンピューティング(OCC)機能 ローカルDBアクセス CSKライブラリ(オープンソース)のADO接続API 帳票レイアウト Curl標準GUIおよびバーコードフォントとVLE(VisualLayutEditor) 印刷機能 Curl標準PrintAPI 24 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
    25. 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. 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. 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. 28. 株式会社カールへお問合せ下さい。 E-Mail info@curlap.com URL http://www. curlap.com Blog http://blogs.curlap.com 28 ページ Copyright © 2008Curl International Corporation. All Rights Reserved

    ×