SlideShare a Scribd company logo
1 of 28
Download to read offline
もう業務はとまらない!
オフライン機能を使った業務アプリ
ケーションの実例と最新Curl情報
     NEXT GENERATION INTERACTIVE WEB
            Rich Client Web Contents Language




株式会社カール
三野 凡希
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
Webアプリケーションの問題

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




                                                                               出張先で情報を
                                                                               入力したいけど
                                                                               アプリに接続できない・・




         サーバー・ネットワークが
         ダウンしたら復旧まで現場は・・




 3 ページ                         Copyright © 2008Curl International Corporation. All Rights Reserved
オフライン機能 - 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
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
随時接続コンピューティング機能

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




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



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

 6 ページ                                    Copyright © 2008Curl International Corporation. All Rights Reserved
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
アーキテクチャの違い
                                                                                                 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
ローカルデータベースへのアクセス

                                                                                 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
データベースの内容を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
佐川急便様 e飛伝Ⅱ




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

 11 ページ                              Copyright © 2008Curl International Corporation. All Rights Reserved
佐川急便様 e飛伝Ⅱ

                                                                                      送り状発行システム




                         Client                                             Server
  Actual access




                                               URL access
  Files saved in cache
  or local storage                                                                             Original Files


 12 ページ                           Copyright © 2008Curl International Corporation. All Rights Reserved
佐川急便様 e飛伝Ⅱ

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

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

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

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

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



 13 ページ                   Copyright © 2008Curl International Corporation. All Rights Reserved
佐川急便様 e飛伝Ⅱの送り状印刷
■送り状の種類




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




15 ページ       Copyright © 2008Curl International Corporation. All Rights Reserved
オフライン時の課題とポイント


          ローカルDBとサーバーDBとの同期は?
          明細情報(問合せ番号)のコードの採番は?
          送り状の作成および印刷は?
          ローカルDBやアプリケーションの破損障害への対応は?




 16 ページ                 Copyright © 2008Curl International Corporation. All Rights Reserved
ローカルDBとサーバーDBの同期
                                                                                          (詳細情報削除)
 全件同期と差分同期を使い分けており、同期のタイミングはログイン時とポーリング方式
 ユーザが任意に同期処理を行うことも可能!

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




 17 ページ             Copyright © 2008Curl International Corporation. All Rights Reserved
ユーザーデータを複数端末にてデータ共有する仕組み
                                                                                             (詳細情報削除)

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


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




 18 ページ                Copyright © 2008Curl International Corporation. All Rights Reserved
クライアント端末にのみ管理されるデータ
                                                                                         (詳細情報削除)

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




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



   問合せ番号




                                                                                          イメージ




バーコードフォント
バーコードフォント
 20 ページ             Copyright © 2008Curl International Corporation. All Rights Reserved
問合せ番号の採番と帳票印刷
                                                                                             (詳細情報削除)

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

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




21 ページ                 Copyright © 2008Curl International Corporation. All Rights Reserved
問合せ番号の採番
                                                                                           (詳細情報削除)

•各端末へ幅をもった採番方式を実装することでネットワーク障害時にも継続運用が可能!
•端末側で空き番号がなくなった場合はサーバーより自動的に割り振られる仕組み!

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




 22 ページ              Copyright © 2008Curl International Corporation. All Rights Reserved
ローカルDBやアプリケーションの破損障害への対応は?
                                                                                     (詳細情報削除)

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




23 ページ         Copyright © 2008Curl International Corporation. All Rights Reserved
使用された特徴的なCurl機能


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

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

          帳票レイアウト
          Curl標準GUIおよびバーコードフォントとVLE(VisualLayutEditor)

          印刷機能
          Curl標準PrintAPI




 24 ページ                     Copyright © 2008Curl International Corporation. All Rights Reserved
New 7.0 Feature Areas


          Performance
          Presentation
          Security
          Offline capability
          Interoperability and Deployment
          Eclipse IDE




 25 ページ                   Copyright © 2008Curl International Corporation. All Rights Reserved
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
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
株式会社カールへお問合せ下さい。

                    E-Mail             info@curlap.com
                    URL                http://www. curlap.com
                    Blog               http://blogs.curlap.com
28 ページ   Copyright © 2008Curl International Corporation. All Rights Reserved

More Related Content

What's hot

Sciencecafe Niigata(20090913)
Sciencecafe Niigata(20090913)Sciencecafe Niigata(20090913)
Sciencecafe Niigata(20090913)真 岡本
 
20090522 Candycane
20090522 Candycane20090522 Candycane
20090522 CandycaneYusuke Ando
 
PMT-006-生產計劃與管理
PMT-006-生產計劃與管理PMT-006-生產計劃與管理
PMT-006-生產計劃與管理handbook
 
Metadaily80131
Metadaily80131Metadaily80131
Metadaily80131arefnet
 
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687Turkmenistan Laws
 
980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報guest92ee6e
 
20090612 実践Redmine @ Redmine勉強会
20090612 実践Redmine @ Redmine勉強会20090612 実践Redmine @ Redmine勉強会
20090612 実践Redmine @ Redmine勉強会Yusuke Ando
 
Oracle Unconference 松下 4/22
Oracle Unconference 松下 4/22Oracle Unconference 松下 4/22
Oracle Unconference 松下 4/22matsushita
 
Table 15
Table 15Table 15
Table 15HITEMY
 
Don't forget Cygwin ~Cygwin のこともわすれないであげてください~
Don't forget Cygwin ~Cygwin のこともわすれないであげてください~Don't forget Cygwin ~Cygwin のこともわすれないであげてください~
Don't forget Cygwin ~Cygwin のこともわすれないであげてください~fd0
 
Nfbs 5 pages gram basi bayan
Nfbs 5 pages gram basi bayanNfbs 5 pages gram basi bayan
Nfbs 5 pages gram basi bayanBSSO49
 
QM-076-六標準差管理方法的解題邏輯與策略
QM-076-六標準差管理方法的解題邏輯與策略QM-076-六標準差管理方法的解題邏輯與策略
QM-076-六標準差管理方法的解題邏輯與策略handbook
 
IPV9人类共同的理想/IPv9 - The common ideal for human being
IPV9人类共同的理想/IPv9 - The common ideal for human beingIPV9人类共同的理想/IPv9 - The common ideal for human being
IPV9人类共同的理想/IPv9 - The common ideal for human beingshizhao
 
俄罗斯Gost标准,进出口购买商品目录№RG 425
俄罗斯Gost标准,进出口购买商品目录№RG 425俄罗斯Gost标准,进出口购买商品目录№RG 425
俄罗斯Gost标准,进出口购买商品目录№RG 425Turkmenistan Laws
 
Zurich2007 MySQL Query Optimization
Zurich2007 MySQL Query OptimizationZurich2007 MySQL Query Optimization
Zurich2007 MySQL Query OptimizationHiệp Lê Tuấn
 
とある高専出身の過去現在未来
とある高専出身の過去現在未来とある高専出身の過去現在未来
とある高専出身の過去現在未来Satoshi Hirata
 
كتاب تعليم الفلاش
كتاب تعليم الفلاشكتاب تعليم الفلاش
كتاب تعليم الفلاشnansyrigan
 

What's hot (19)

S30
S30S30
S30
 
It Flyer Page08
It Flyer Page08It Flyer Page08
It Flyer Page08
 
Sciencecafe Niigata(20090913)
Sciencecafe Niigata(20090913)Sciencecafe Niigata(20090913)
Sciencecafe Niigata(20090913)
 
20090522 Candycane
20090522 Candycane20090522 Candycane
20090522 Candycane
 
PMT-006-生產計劃與管理
PMT-006-生產計劃與管理PMT-006-生產計劃與管理
PMT-006-生產計劃與管理
 
Metadaily80131
Metadaily80131Metadaily80131
Metadaily80131
 
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687
 
980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報
 
20090612 実践Redmine @ Redmine勉強会
20090612 実践Redmine @ Redmine勉強会20090612 実践Redmine @ Redmine勉強会
20090612 実践Redmine @ Redmine勉強会
 
Oracle Unconference 松下 4/22
Oracle Unconference 松下 4/22Oracle Unconference 松下 4/22
Oracle Unconference 松下 4/22
 
Table 15
Table 15Table 15
Table 15
 
Don't forget Cygwin ~Cygwin のこともわすれないであげてください~
Don't forget Cygwin ~Cygwin のこともわすれないであげてください~Don't forget Cygwin ~Cygwin のこともわすれないであげてください~
Don't forget Cygwin ~Cygwin のこともわすれないであげてください~
 
Nfbs 5 pages gram basi bayan
Nfbs 5 pages gram basi bayanNfbs 5 pages gram basi bayan
Nfbs 5 pages gram basi bayan
 
QM-076-六標準差管理方法的解題邏輯與策略
QM-076-六標準差管理方法的解題邏輯與策略QM-076-六標準差管理方法的解題邏輯與策略
QM-076-六標準差管理方法的解題邏輯與策略
 
IPV9人类共同的理想/IPv9 - The common ideal for human being
IPV9人类共同的理想/IPv9 - The common ideal for human beingIPV9人类共同的理想/IPv9 - The common ideal for human being
IPV9人类共同的理想/IPv9 - The common ideal for human being
 
俄罗斯Gost标准,进出口购买商品目录№RG 425
俄罗斯Gost标准,进出口购买商品目录№RG 425俄罗斯Gost标准,进出口购买商品目录№RG 425
俄罗斯Gost标准,进出口购买商品目录№RG 425
 
Zurich2007 MySQL Query Optimization
Zurich2007 MySQL Query OptimizationZurich2007 MySQL Query Optimization
Zurich2007 MySQL Query Optimization
 
とある高専出身の過去現在未来
とある高専出身の過去現在未来とある高専出身の過去現在未来
とある高専出身の過去現在未来
 
كتاب تعليم الفلاش
كتاب تعليم الفلاشكتاب تعليم الفلاش
كتاب تعليم الفلاش
 

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

20090418 イケテルRails勉強会 第2部Air編 解説
20090418 イケテルRails勉強会 第2部Air編 解説20090418 イケテルRails勉強会 第2部Air編 解説
20090418 イケテルRails勉強会 第2部Air編 解説mochiko AsTech
 
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法devsumi2009
 
テキストマイニングとNLPビジネス
テキストマイニングとNLPビジネステキストマイニングとNLPビジネス
テキストマイニングとNLPビジネスHiroshi Ono
 
Search Engines Chapter 1 Summary
Search Engines Chapter 1 SummarySearch Engines Chapter 1 Summary
Search Engines Chapter 1 Summarysleepy_yoshi
 
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーションYuya Yamaki
 
Development toolsforteamdevelopment
Development toolsforteamdevelopmentDevelopment toolsforteamdevelopment
Development toolsforteamdevelopmentTakao Tetsuro
 
Tcl/Tk+ハッシュリスト
Tcl/Tk+ハッシュリストTcl/Tk+ハッシュリスト
Tcl/Tk+ハッシュリストHiromu Shioya
 
Sc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク DomaSc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク DomaToshihiro Nakamura
 
英語ブログのスヽメ - 1000スピーカープロジェクト#5
英語ブログのスヽメ - 1000スピーカープロジェクト#5英語ブログのスヽメ - 1000スピーカープロジェクト#5
英語ブログのスヽメ - 1000スピーカープロジェクト#5Yusuke Kawasaki
 
081210 Idcon 04 Itoh Peopleservice
081210 Idcon 04 Itoh Peopleservice081210 Idcon 04 Itoh Peopleservice
081210 Idcon 04 Itoh PeopleserviceHiroki Itoh
 
Where20 2009report
Where20 2009reportWhere20 2009report
Where20 2009reportToru Mori
 
文献紹介:Semantic-based information retrieval in support of concept design.
文献紹介:Semantic-based information retrieval in support of concept design.文献紹介:Semantic-based information retrieval in support of concept design.
文献紹介:Semantic-based information retrieval in support of concept design.Shin Sano
 
Open Source Type Pad Mobile
Open Source Type Pad MobileOpen Source Type Pad Mobile
Open Source Type Pad MobileHiroshi Sakai
 
20090418 イケテルRails勉強会 第2部Air編
20090418 イケテルRails勉強会 第2部Air編20090418 イケテルRails勉強会 第2部Air編
20090418 イケテルRails勉強会 第2部Air編mochiko AsTech
 
アジャイル事例紹介 —夜のおしごと編—
アジャイル事例紹介 —夜のおしごと編—アジャイル事例紹介 —夜のおしごと編—
アジャイル事例紹介 —夜のおしごと編—Fumihiko Kinoshita
 
Practical Bug Reporting
Practical Bug ReportingPractical Bug Reporting
Practical Bug Reportingcharsbar
 

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

20090418 イケテルRails勉強会 第2部Air編 解説
20090418 イケテルRails勉強会 第2部Air編 解説20090418 イケテルRails勉強会 第2部Air編 解説
20090418 イケテルRails勉強会 第2部Air編 解説
 
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
 
sigfpai73-kaji
sigfpai73-kajisigfpai73-kaji
sigfpai73-kaji
 
テキストマイニングとNLPビジネス
テキストマイニングとNLPビジネステキストマイニングとNLPビジネス
テキストマイニングとNLPビジネス
 
Search Engines Chapter 1 Summary
Search Engines Chapter 1 SummarySearch Engines Chapter 1 Summary
Search Engines Chapter 1 Summary
 
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
 
Development toolsforteamdevelopment
Development toolsforteamdevelopmentDevelopment toolsforteamdevelopment
Development toolsforteamdevelopment
 
Tcl/Tk+ハッシュリスト
Tcl/Tk+ハッシュリストTcl/Tk+ハッシュリスト
Tcl/Tk+ハッシュリスト
 
Sc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク DomaSc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク Doma
 
英語ブログのスヽメ - 1000スピーカープロジェクト#5
英語ブログのスヽメ - 1000スピーカープロジェクト#5英語ブログのスヽメ - 1000スピーカープロジェクト#5
英語ブログのスヽメ - 1000スピーカープロジェクト#5
 
081210 Idcon 04 Itoh Peopleservice
081210 Idcon 04 Itoh Peopleservice081210 Idcon 04 Itoh Peopleservice
081210 Idcon 04 Itoh Peopleservice
 
03 Getting Started
03 Getting Started03 Getting Started
03 Getting Started
 
Where20 2009report
Where20 2009reportWhere20 2009report
Where20 2009report
 
文献紹介:Semantic-based information retrieval in support of concept design.
文献紹介:Semantic-based information retrieval in support of concept design.文献紹介:Semantic-based information retrieval in support of concept design.
文献紹介:Semantic-based information retrieval in support of concept design.
 
20210119 OCIJP#14 オラクル大橋資料
20210119 OCIJP#14 オラクル大橋資料20210119 OCIJP#14 オラクル大橋資料
20210119 OCIJP#14 オラクル大橋資料
 
Open Source Type Pad Mobile
Open Source Type Pad MobileOpen Source Type Pad Mobile
Open Source Type Pad Mobile
 
Green IT
Green ITGreen IT
Green IT
 
20090418 イケテルRails勉強会 第2部Air編
20090418 イケテルRails勉強会 第2部Air編20090418 イケテルRails勉強会 第2部Air編
20090418 イケテルRails勉強会 第2部Air編
 
アジャイル事例紹介 —夜のおしごと編—
アジャイル事例紹介 —夜のおしごと編—アジャイル事例紹介 —夜のおしごと編—
アジャイル事例紹介 —夜のおしごと編—
 
Practical Bug Reporting
Practical Bug ReportingPractical Bug Reporting
Practical Bug Reporting
 

More from devsumi2009

【12-E-2】 SEC流品質作りこみESQR 組込みソフトウェア開発向け品質作り込みガイドの紹介
【12-E-2】 SEC流品質作りこみESQR 組込みソフトウェア開発向け品質作り込みガイドの紹介【12-E-2】 SEC流品質作りこみESQR 組込みソフトウェア開発向け品質作り込みガイドの紹介
【12-E-2】 SEC流品質作りこみESQR 組込みソフトウェア開発向け品質作り込みガイドの紹介devsumi2009
 
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...devsumi2009
 
【12-B-1】 実例で学ぶ Objective-C 2.0 と GUI の関係~ iPhone アプリ開発を視野に入れて
【12-B-1】 実例で学ぶ Objective-C 2.0 と GUI の関係~ iPhone アプリ開発を視野に入れて【12-B-1】 実例で学ぶ Objective-C 2.0 と GUI の関係~ iPhone アプリ開発を視野に入れて
【12-B-1】 実例で学ぶ Objective-C 2.0 と GUI の関係~ iPhone アプリ開発を視野に入れてdevsumi2009
 
【13-C-3】 RIA 開発をとりまく技術の進化と環境の変化
【13-C-3】 RIA 開発をとりまく技術の進化と環境の変化【13-C-3】 RIA 開発をとりまく技術の進化と環境の変化
【13-C-3】 RIA 開発をとりまく技術の進化と環境の変化devsumi2009
 
【13-C-5】 パネルディスカッション 帳票開発の肝
【13-C-5】 パネルディスカッション 帳票開発の肝【13-C-5】 パネルディスカッション 帳票開発の肝
【13-C-5】 パネルディスカッション 帳票開発の肝devsumi2009
 
【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるには【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるにはdevsumi2009
 
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~devsumi2009
 
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~devsumi2009
 
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~devsumi2009
 
【13-B-2】 パネルディスカッション:クラウド時代のプログラミングスタイルを語り合おう
【13-B-2】 パネルディスカッション:クラウド時代のプログラミングスタイルを語り合おう【13-B-2】 パネルディスカッション:クラウド時代のプログラミングスタイルを語り合おう
【13-B-2】 パネルディスカッション:クラウド時代のプログラミングスタイルを語り合おうdevsumi2009
 
【12-A-1】 開発プロセスの心
【12-A-1】 開発プロセスの心【12-A-1】 開発プロセスの心
【12-A-1】 開発プロセスの心devsumi2009
 
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~devsumi2009
 
【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場から【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場からdevsumi2009
 
【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場から【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場からdevsumi2009
 
【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場から【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場からdevsumi2009
 
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!devsumi2009
 
【13-D-1】 ERP5に見るストレージ技術
【13-D-1】 ERP5に見るストレージ技術【13-D-1】 ERP5に見るストレージ技術
【13-D-1】 ERP5に見るストレージ技術devsumi2009
 
【12-B-4】 並列処理開発を支援するコンパイラの機能
【12-B-4】 並列処理開発を支援するコンパイラの機能【12-B-4】 並列処理開発を支援するコンパイラの機能
【12-B-4】 並列処理開発を支援するコンパイラの機能devsumi2009
 
【12-D-2】 WPF アプリケーション開発
【12-D-2】 WPF アプリケーション開発【12-D-2】 WPF アプリケーション開発
【12-D-2】 WPF アプリケーション開発devsumi2009
 
【12-D-3】 ASP.NET MVC - 概要と仕組み
【12-D-3】 ASP.NET MVC - 概要と仕組み【12-D-3】 ASP.NET MVC - 概要と仕組み
【12-D-3】 ASP.NET MVC - 概要と仕組みdevsumi2009
 

More from devsumi2009 (20)

【12-E-2】 SEC流品質作りこみESQR 組込みソフトウェア開発向け品質作り込みガイドの紹介
【12-E-2】 SEC流品質作りこみESQR 組込みソフトウェア開発向け品質作り込みガイドの紹介【12-E-2】 SEC流品質作りこみESQR 組込みソフトウェア開発向け品質作り込みガイドの紹介
【12-E-2】 SEC流品質作りこみESQR 組込みソフトウェア開発向け品質作り込みガイドの紹介
 
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...
 
【12-B-1】 実例で学ぶ Objective-C 2.0 と GUI の関係~ iPhone アプリ開発を視野に入れて
【12-B-1】 実例で学ぶ Objective-C 2.0 と GUI の関係~ iPhone アプリ開発を視野に入れて【12-B-1】 実例で学ぶ Objective-C 2.0 と GUI の関係~ iPhone アプリ開発を視野に入れて
【12-B-1】 実例で学ぶ Objective-C 2.0 と GUI の関係~ iPhone アプリ開発を視野に入れて
 
【13-C-3】 RIA 開発をとりまく技術の進化と環境の変化
【13-C-3】 RIA 開発をとりまく技術の進化と環境の変化【13-C-3】 RIA 開発をとりまく技術の進化と環境の変化
【13-C-3】 RIA 開発をとりまく技術の進化と環境の変化
 
【13-C-5】 パネルディスカッション 帳票開発の肝
【13-C-5】 パネルディスカッション 帳票開発の肝【13-C-5】 パネルディスカッション 帳票開発の肝
【13-C-5】 パネルディスカッション 帳票開発の肝
 
【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるには【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるには
 
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~
 
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~
 
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~
 
【13-B-2】 パネルディスカッション:クラウド時代のプログラミングスタイルを語り合おう
【13-B-2】 パネルディスカッション:クラウド時代のプログラミングスタイルを語り合おう【13-B-2】 パネルディスカッション:クラウド時代のプログラミングスタイルを語り合おう
【13-B-2】 パネルディスカッション:クラウド時代のプログラミングスタイルを語り合おう
 
【12-A-1】 開発プロセスの心
【12-A-1】 開発プロセスの心【12-A-1】 開発プロセスの心
【12-A-1】 開発プロセスの心
 
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~
【13-C-6】 帳票開発に時間かけすぎていませんか?~もっと簡単に「作る」現場、「使う」現場の最適解を探る~
 
【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場から【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場から
 
【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場から【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場から
 
【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場から【13-E-1】 システムの見える化~エンドユーザーの立場から
【13-E-1】 システムの見える化~エンドユーザーの立場から
 
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
 
【13-D-1】 ERP5に見るストレージ技術
【13-D-1】 ERP5に見るストレージ技術【13-D-1】 ERP5に見るストレージ技術
【13-D-1】 ERP5に見るストレージ技術
 
【12-B-4】 並列処理開発を支援するコンパイラの機能
【12-B-4】 並列処理開発を支援するコンパイラの機能【12-B-4】 並列処理開発を支援するコンパイラの機能
【12-B-4】 並列処理開発を支援するコンパイラの機能
 
【12-D-2】 WPF アプリケーション開発
【12-D-2】 WPF アプリケーション開発【12-D-2】 WPF アプリケーション開発
【12-D-2】 WPF アプリケーション開発
 
【12-D-3】 ASP.NET MVC - 概要と仕組み
【12-D-3】 ASP.NET MVC - 概要と仕組み【12-D-3】 ASP.NET MVC - 概要と仕組み
【12-D-3】 ASP.NET MVC - 概要と仕組み
 

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

  • 1. もう業務はとまらない! オフライン機能を使った業務アプリ ケーションの実例と最新Curl情報 NEXT GENERATION INTERACTIVE WEB Rich Client Web Contents Language 株式会社カール 三野 凡希
  • 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
  • 13. 佐川急便様 e飛伝Ⅱ インターネットに接続しているパソコンとプリンタさえあれば、送り状や飛脚メール便 ラベルをラクラク発行できます。送り状を記入する手間が省けるだけでなく、お届け 先の住所録機能や出荷データの取り込みなど、便利な機能が盛りだくさんです。 主な機能 カンタンに送り状を作成 お届け先の住所を入力するだけのカンタン操作で送り状を作成いただけます。 便利な送り状 送り状はシールタイプでお荷物へラクラク貼付け。お手持ちのプリンターでご利用 いただけます。 また、貴重品などの指定シールを送り状へ印刷することもできます。 お届け先の住所録 お届け先を住所録として保存いただけます。保存したお届け先を呼び出すだけの カンタン操作で、送り状を作成いただけます。 出荷データの取り込み 出荷データをCSV形式で取り込めば、複数の送り状を一括で作成できます。 13 ページ Copyright © 2008Curl International Corporation. All Rights Reserved
  • 14. 佐川急便様 e飛伝Ⅱの送り状印刷 ■送り状の種類 14 ページ 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
  • 20. 帳票レイアウトと問合わせ番号 Curlで帳票レイアウトを動的に作成し、ローカルデータベースのデータをバインドする ことでネットワーク障害時(オフライン)でも帳票印刷が可能! 問合せ番号 イメージ バーコードフォント バーコードフォント 20 ページ 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

  1. <number>
  2. 開発者がはじめて、Curlの環境に触っていただくことを想定した内容の書籍となっております。検証を始められる際の取り掛かりの内容として適切な内容となっております。弊社の開発者が実際の経験から書き下ろした内容となっており、非常にわかりやすいと評判です。