2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Delphi】DataSnap (MIDAS) の概要

2
Last updated at Posted at 2026-04-25

はじめに

Delphi は Professional 版 (相当) ばかり使ってきたので、DataSnap については全く知りませんでした。

image.png

関連技術を調べたので、ついでに DataSnap についても調べてみたいと思ったのが、本記事を書くきっかけとなりました。但し、実際に試す事はしていない (できていない) ので 謳い文句 を鵜呑みにしています。

See also:

DataSnap とは?

DataSnap は元々、Delphi 3 (Client / Server 版) に追加された MIDAS (Multi-tier Distributed Application Services) というフレームワークです。

異なる種類の分散アーキテクチャを統合 (抽象化) するテクノロジーです。

  • VisiBroker を使用した CORBA ベースの分散システム
  • DCOM を使用した Windows NT ベースの分散システム
  • TCP/IP Socket を使用した単純な3層システム
  • HTTP/SSL での分散システム
  • WebMIDAS による XML を利用したブラウザクライアント

...今の所は。

MIDAS (Multi-tier Distributed Application Services)

先述の通り、Delphi 3 (Client / Server 版) で追加されたフレームワークです。分散アーキテクチャの抽象化を行っており、アプリケーションサーバーの種類を意識せずに利用する事が可能となっています 1

image.png

バージョン MIDAS 説明
Delphi 3 MIDAS 実験的
(過度に抽象化してしまった?)
Delphi 4 MIDAS II RemoteDataModule が追加された
TDCOMConnection が追加された (DCOM のサポート)
Delphi 5 MIDAS III MidasLib が追加された
TClientDataSet (MyBase) が Professional 版でも利用可能になった
TOLEnterpriseConnection 等が削除された (コンポーネントパレットで非表示になっている)

midas.dll の配布には配布ライセンスが必要です (有償)。

See also:

DataSnap

MIDAS が DataSnap と名前を変えたのは Delphi 6 からです。3 層アプリケーション構築フレームワークとして再ブランド化された格好です。

バージョン DataSnap 説明
Delphi 6 DataSnap 再ブランド化
Delphi 7 DataSnap TCORBAConnection が廃止された

Delphi 7 以降、CORBA 関連が廃止されています。

midas.dll の配布には配布ライセンスが必要です (有償)。

DataSnap 2009

(D)COM 関連の技術を排除した新しい DataSnap です。便宜的に DataSnap 2009 と呼ぶ事にします。

新しい DataSnap はアプリケーションサーバーを作るためのフレームワークです ([DataSnap Server] カテゴリ)。

image.png

古いタイプの DataSnap も残ってはいます ([DataSnap Client] カテゴリ)。

image.png

データセット系としては DBX4 (dbExpress) 関連の TSqlServerMethod が追加されています。FireDAC 版 TSqlServerMethod に相当するものはありません。

image.png

バージョン DataSnap 説明
Delphi 2009 DataSnap (D)COM 関連の技術を排除
DataSnap RPC サーバーを作れるようになった
Delphi 2010 DataSnap DataSnap HTTP サーバー (WebBroker 統合) で作れるようになった
DataSnap Server ウィザードが追加された
Delphi XE DataSnap DataSnap REST サーバー (WebBroker 統合) で作れるようになった
Delphi XE5 DataSnap 関連機能として REST クライアントライブラリが追加された (Professional でも利用可能)

DataSnap = MIDAS」という事だけを覚えていると、データベース関連フレームワークのように思いがちですが、DataSnap 2009 以降ではアプリケーションサーバーフレームワークという側面が強くなっています。

image.png

DataSnap 説明
MIDAS 分散アーキテクチャの抽象化
DataSnap (旧) 3 層アプリケーション構築フレームワーク
DataSnap 2009 アプリケーションサーバー

現在 DataSnap と呼ばれているものはこのような関係になっています。3 層アプリケーションのサーバー側もクライアント側も、すべて Delphi で完結できるようになりました 2

カテゴリ DataSnap 説明
DataSnap Client DataSnap (旧) 3 層アプリケーション構築フレームワーク
DataSnap Server DataSnap 2009 アプリケーションサーバー

DataSnap のアプリケーションサーバーへの転換 (拡充) は Windows Vista での セッション 0 の分離 (Session 0 Isolation) の影響が大きいと思われます。セッション 0 の分離により GUI アプリケーションとの連携が困難になったからです。

DataSnap 2009 以降、midas.dll の配布ライセンスが不要となっており、DataSnap 関連フレームワークはライセンスフリーで利用できるようになっています。

See also:

関連製品

OLEnterprise

元々は Open Environment Corporation 社が作った OLE を使った分散オブジェクトプラットフォーム。Open Environment Corporation 社は 1996 年に Borland に買収されている。

OLEnterprise は 4 つのコンポーネントから構成される。

image.png

  • Object Explorer
    クライアントシステムやサーバーシステムにあるオブジェクトをブラウズしたりアクセスするためのユーザーインターフェース。
  • Business Object Broker
    サーバーオブジェクトを検出するための中心的な役割を果たす。ディレクトリサービス。
  • Object Agent
    クライアントシステムによって使用される。
  • Object Factory
    サーバーシステムによって使用される。

Delphi 3 および 4 の Client \ Server 版以上の SKU に OLEnterprise がバンドルされていた。

OLEnterprise は「独自 DCOM」 というのが近い表現かもしれません。

OLEnterprise は DCOM が登場する前に独自に作られた分散 OLE 技術でしたが、1996 年の DCOM の登場で存在意義を失ったため、Delphi 4 で MIDAS に TDCOMConnection が追加され、Delphi 5 で TOLEnterpriseConnection が削除されたのだと考えられます。

See also:

VisiBroker

元々は Visigenic 社が作った CORBA 準拠のオブジェクトリクエストブローカー (ORB)。

Visigenic 社は 1998 年、Borland に買収されており、その際に社名が Inprise へと変更になっている。

Delphi 4~6 までの Client \ Server 版 または Enterprise 版以上の SKU に VisiBroker がバンドルされていた。

VisiBroker は Micro Focus 社、Open Text 社 へと移譲され、最終的な権利者は Rocket Software 社である模様。

See also:

Borland/Inprise Application Server

CORBA 準拠のアプリケーションサーバー。

Borland Enterprise Server

CORBA 準拠のアプリケーションサーバー。

RAD Server

RAD Serverは、サービスベースのアプリケーションを迅速に構築・実装するためのアプリケーションプラットフォーム。

PAServer

PAServer は DataSnap の技術を使って作られている。

おわりに

DataSnap (MIDAS) は古くからあるものですが、Delphi は Professional 版 (相当) ばかり使ってきたので縁がなく、DataSnap (MIDAS) というワードが出る度に「あぁ、Enterprise 以上か」と聞き流していました。

そんな訳で、MyBase が Professional 版で使えるのを知ったのも遅かったですし、REST クライアントライブラリがProfessional 版で使えるのを知ったのも割と後になってからでした。ちゃんと機能一覧は確認すべきですね。

色々調べた今では「振り回されずに済んだな」という思いと「これは便利なのでは?」という思いが半々ですね...(^^;A

本記事のスクリーンショットは Delphi 13.1 Florence Architect Trial のものです。

See also:

  1. 名前が示す通りですね (MIDAS = 多層分散アプリケーションサービス)。

  2. Delphi 3/4 + OLEnterprise または Delphi 4 以降 + DCOM でも 3 層アプリケーションを (限定的ながら) Delphi だけで作ることができます。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?