Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Delphiユーザー必見の技術情報を集約した
「Delphi 2010 DataSnap活用ガイド」

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/12/24 10:20

 DataSnap 2010は、DataSnap 2009に比べ、大幅な拡張と強化が行われ、かつDataSnapとMIDASのCOMベースのオリジナルバージョン以降の多くの改善も取り入れられています。この約60ページのBob Swart氏によるDelphi 2010 DataSnapの活用ガイドはDelphiユーザの必読資料となるでしょう。

目次

0. はじめに

 「DataSnap」(旧MIDAS)は、多層型のデータベースアプリケーションをRAD(Rapid Application Development)手法ですばやく構築するためのフレームワークです。DelphiC++ Builderといった、エンバカデロ・テクノロジーズ製の開発ツールで利用することができます。もともとWin32ベースのWindowsネイティブアプリケーション開発を前提とした技術でしたが、前バージョンのDelphi 2009からはCOM依存性を排除して再構築され、.NETクライアントからも接続できるようになりました。最新版のDelphi 2010ではさらなる機能拡充によって、WindowsサービスやWebサービス、インターネットサーバーAPIといった新しいターゲットやHTTP認証などをサポートし、適用範囲がかなり広がりつつあります。

 このデータベースを利用するさまざまなアプリケーションの構築に有益な「DataSnap」ですが、残念ながら紙面やWebにおいてまとまった日本語の技術資料がまだまだ少ないのが現状です。そのような状況の中、58ページに及ぶホワイトペーパー「Delphi 2010 DataSnap活用ガイド」(原著:BoB Swart氏)のダウンロード提供が2009年12月より開始され、無償で利用できるようになりました(個人情報の入力が必要)。

 DataSnapによるクライアントサーバーアプリケーション作成の初歩から、.NETやインターネットプロトコル、コールバックを活用した手法までステップバイステップで詳細に解説した貴重な日本語のドキュメントです。本稿では、その一部を簡単に紹介したいと思います。

「Delphi 2010 DataSnap活用ガイド」の目次より抜粋
1. DataSnap の歴史
  1.1 DataSnap サンプルデータ
2. DataSnap Windows ターゲット
  2.1. DataSnap サーバーサンプル
    2.1.1. マルチターゲットプロジェクトグループ . VCL フォーム
    2.1.2. マルチターゲットプロジェクトグループ . コンソール
    2.1.3. マルチターゲットプロジェクトグループ . Windows サービス
    2.1.4. Server Methods 
  2.2. DataSnap クライアント
    2.2.1. DataSnap クライアントクラス
  2.3. DataSnap サーバーの配布
    2.3.1. DataSnap クライアントの配布
3. DataSnap とデータベース
  3.1. TSqlServerMethod
  3.2. TDSProviderConnection 
    3.2.1. TDSProviderConnection クライアント
    3.2.2 データベースの更新
    3.2.3. 調停エラー
    3.2.4. 調停エラーのデモ
  3.3. DataSnap「データベース」の配布
  3.4. 既存のリモートデータモジュールの再利用
4. DataSnap フィルター
  4.1. ZlibCompression フィルター
  4.2. Log フィルター
  4.3. Encryption フィルター
5. DataSnap Web ターゲット
  5.1. Web アプリケーションデバッカ用実行形式ターゲット
  5.2. ISAPI ターゲット
  5.3. サーバーメソッド - 配布とクライアント
6. REST とJSON
  6.1. コールバック
7. DataSnap と.NET 
  7.1. WinForms クライアント
8. まとめ

1. DATASNAPの歴史

 DataSnapは、元来、Delphi 3で「MIDAS」、Delphi 4ではMIDAS II、Delphi 5ではMIDAS IIIとして、TCP/IP、HTTP、(D)COMの接続機能におけるCOMベースのリモートデータモジュールを構築するとても強力な手段として提供されてきました。Delphi 6からは、「DataSnap」という名称に変更され、Delphi 2007までこのフレームワークはほぼそのままで提供されていました。

 Delphi 2009で、DataSnapは再構築され、COM依存性の排除、リモートサーバーオブジェクトの軽量化が行われ、TCP/IPのみに限られていたクライアント接続が、Delphi Prism 2009では、.NETクライアントの構築もサポートしました。

 Delphi 2010では、DataSnap 2009アーキテクチャー上に、このフレームワーク向けの2つのウィザードで新しいターゲット(VCLフォーム、Windowsサービス、コンソール、さらにWebターゲットとしてISAPI、CGIまたはWeb App Debugger)をサポートし、HTTP(S)トランスポートプロトコル、HTTP認証、クライアントコールバック機能、RESTとJSONのサポート、圧縮(組み込み済み)と暗号化をサポートするフィルタを含む、新しい拡張された機能が提供されました。

1.1 DATASNAPサンプルデータ

 このホワイトペーパーでは、デモと使用例をあわせて演習していただくよう強くお勧めします。Delphiでは、DBX4、dbGo for ADOやその他のデータアクセステクノロジーなどにより、多くの異なったデータベースシステムをサポートしていますが、デモと使用例の演習を簡単にするために、以下のディレクトリ上のemployee.jdsデータベースと、BlackfishSQLを使用したDBX4をDBMSとして使用します。

 Windows XPでは、employee.jdsデータベースは、

C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Demos\database\databases\BlackfishSQL

フォルダ内に、Windows Vista、または Windows 7では、

C:\Users\Public\Documents\RAD Studio\7.0\Demos\database\databases\BlackfishSQL

フォルダ内にあります。

 画面ショットからお分かりのように、使用例の作成にはOSとしてWindows 7 Professionalを、そしてDataSnap ISAPIサーバーの配布にはWindows Server 2008 Web Editionを使用しています。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • EDN編集部(イーディーエヌ編集部)

    エンバカデロ・デベロッパーネットワーク(EDN)は、ソフトウェア開発者とデータベース技術者のための技術情報サイトです。Delphi、C++Builderをはじめとする開発ツールやER/Studioなどのデータベースツールに関連する技術記事、ビデオなどを提供しています。EDN編集部は、EDN記事と連携...

バックナンバー

連載:EDN CodeZine出張所

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5