はじめに
Delphi は Professional 版 (相当) ばかり使ってきたので、DataSnap については全く知りませんでした。
関連技術を調べたので、ついでに 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。
| バージョン | MIDAS | 説明 |
|---|---|---|
| Delphi 3 | MIDAS | 実験的 (過度に抽象化してしまった?) |
| Delphi 4 | MIDAS II |
RemoteDataModule が追加された クライアント側の接続コンポーネントが細分化された |
| Delphi 5 | MIDAS III | MidasLib が追加された TClientDataSet (MyBase) が Professional 版でも利用可能になった TOLEnterpriseConnection 等が削除された (コンポーネントパレットで非表示になっている) |
MIDAS は 4 種類のコンポーネントで構成されています。
| コンポーネント | 説明 |
|---|---|
| リモートデータモジュール | COM オートメーションサーバーまたは CORBA サーバーとして動作でき、その中に含まれるプロバイダへのクライアントアプリケーションからのアクセスを可能にする特別なデータモジュール。アプリケーションサーバー上で使用される。 |
| プロバイダコンポーネント | データパケットを作成し、クライアント更新内容を解決することによってデータを提供するデータブローカ。アプリケーションサーバー上で使用される。 |
| クライアントデータセットコンポーネント | MIDAS DLL を使ってデータパケット内のデータを管理する特別なデータセット。 |
| 接続コンポーネント | サーバーの位置を特定し、接続を確立し、クライアントデータセットが IAppServer インターフェースを利用できるようにするコンポーネントファミリー。各接続コンポーネントは,特定の通信プロトコル専用になっている。 |
当時の MIDAS のドキュメントを引用しているため、現在の DataSnapとは表現が異なる箇所があります。
クライアント側の接続コンポーネントにも変遷があります。
| Delphi | クライアント側接続コンポーネント |
|---|---|
| Delphi 3 | TRemoteServer (DCOM) TMIDASConnection (DCOM、TCP/IP、OLEnterprise) |
| Delphi 4 | TDCOMConnection (DCOM) TCorbaConnection (CORBA) TSocketConnection (TCP/IP) TOLEnterpriseConnection (OLEnterprise) |
| Delphi 5 | TDCOMConnection (DCOM) TCorbaConnection (CORBA) TSocketConnection (TCP/IP) TWebConnection (HTTP) |
MIDAS を使ったアプリケーションを運用するには 運用ライセンスが必要です (有償)。MIDAS I / II / III でライセンスが異なります。
See also:
- MIDAS 製品情報 (Borland [En]: Internet Archive)
- Borland MIDAS Technical White Papers (Borland [En]: Internet Archive)
- MIDAS 2 製品情報 (Borland [En]: Internet Archive)
- MIDAS 3 製品情報 (Borland [En]: Internet Archive)
- MIDAS 3 製品情報 (Borland [Ja]: Internet Archive)
MIDAS という名称について
ギリシャ神話のミダース (Midās) は、フリュギア国の王様です。
- ディオニューソスから「触れたものをすべて金に変える」という力を授かった
- アポローンとパーンの音楽勝負の審査員をしたが、パーンの勝ちにしたのでアポローンにロバの耳を付けられた
- ミダースは耳の事を秘密にしようとしたが、秘密を暴露したい理髪師は穴を掘り、そこへ向かって叫んだ。「王様の耳はロバの耳!!」
...要は Midās のバクロニムです。
DataSnap
MIDAS が DataSnap と名前を変えたのは Delphi 6 からです。多層アプリケーション構築フレームワークとして再ブランド化された格好です。
| バージョン | DataSnap | 説明 |
|---|---|---|
| Delphi 6 | DataSnap | 再ブランド化 TSharedConnection が追加された TLocalConnection が追加された |
| Delphi 7 | DataSnap | TCORBAConnection が廃止された |
Delphi 7 以降、DataSnap からは CORBA 関連が廃止されています。
DataSnap を使ったアプリケーションを運用するには 運用ライセンスが必要です (有償)。
See also:
DataSnap 2009
(D)COM 関連の技術を排除した新しい DataSnap です。便宜的に DataSnap 2009 と呼ぶ事にします。
新しい DataSnap はアプリケーションサーバーを作るためのフレームワークです ([DataSnap Server] カテゴリ)。
古いタイプの DataSnap も残ってはいます ([DataSnap Client] カテゴリ)。
データセット系としては DBX4 (dbExpress) 関連の TSqlServerMethod が追加されています。FireDAC 版 TSqlServerMethod に相当するものはありません。
| バージョン | DataSnap | 説明 |
|---|---|---|
| Delphi 2009 | DataSnap | (D)COM 関連の技術を排除 DataSnap RPC サーバーを作れるようになった TDSProviderConnection が追加された |
| Delphi 2010 | DataSnap | DataSnap HTTP サーバー (WebBroker 統合) で作れるようになった DataSnap Server ウィザードが追加された MIDAS.DLL のソースコードが付属するようになった |
| Delphi XE | DataSnap | DataSnap REST サーバー (WebBroker 統合) で作れるようになった |
| Delphi XE2 | DataSnap | DataSnap モバイルコネクタが追加された |
| Delphi XE5 | DataSnap | 関連機能として REST クライアントライブラリが追加された (Professional でも利用可能) |
現在 DataSnap と呼ばれているものはこのような関係になっています。多層アプリケーションのサーバー側もクライアント側も、すべて Delphi で完結できるようになりました 2。
| カテゴリ | DataSnap | 説明 |
|---|---|---|
| DataSnap Client | DataSnap (旧) | 多層アプリケーション構築フレームワーク |
| DataSnap Server | DataSnap 2009 | アプリケーションサーバー |
DataSnap のアプリケーションサーバーへの転換 (拡充) は Windows Vista での セッション 0 の分離 (Session 0 Isolation) の影響が大きいと思われます。セッション 0 の分離により GUI アプリケーションとの連携が困難になったからです。
DataSnap 2009 以降、DataSnap 関連フレームワークはライセンスフリーで利用できるようになっています。
See also:
- The New DataSnap in Delphi 2009 (Embarcadero)
- Delphi 2010 DataSnap 活用ガイド (Embarcadero)
- 詳説!! DataSnap 2010 (Embarcadero)
- REST Servers in Delphi XE Using DataSnap (Embarcadero)
- モバイルデバイス用 DataSnap コネクタ (DocWiki)
- 【Delphi】REST クライアントライブラリを使う (Qiita)
DataSnap (MIDAS) 新旧比較
新旧の DataSnap をざっくりとまとめたものがこちらになります。
| 比較項目 | DataSnap (MIDAS) | DataSnap 2009 以降 |
|---|---|---|
| 主な目的 | 分散アーキテクチャの抽象化 | アプリケーションサーバーの構築 |
| データ形式・プロトコル | DCOM、CORBA、OLEnterprise、TCP/IP、HTTP | REST、JSON、TCP/IP、HTTP |
| クライアント | Windows アプリ | Windowsアプリ、モバイル、Webクライアント |
| ライセンス | 運用ライセンスが必要 | 運用ライセンスは不要 |
DataSnap 関連情報
DataSnap 周辺の情報もまとまったものがないので、軽くまとめてみました。
MIDAS / DataSnap のライセンス詳細
MIDAS / DataSnap アプリケーションは運用のためのライセンスが必要でした。
Professional 版で ClientDataSet を使っただけのアプリは MIDAS / DataSnap アプリケーションではないため、MIDAS.DLL を配布しても MIDAS / DataSnap のライセンスは必要ありません。以下、Delphi 7 の EULA からの抜粋です。
4.3 DELPHI 7 PROFESSIONALのみに適用される追加条項
ローカルデータベースを扱う著作物に関する追加事項
本製品の Professional 版は、ローカルデータベースを扱うアプリケーション著作物を作成するために readme や deploy ファイルで「ClientDataset 再配布可能ファイル」と記述されている再配布可能ファイルを含んでいます。Delphi 7 Professional は、単一のコンピュータでローカルデータアクセスをサポートする目的のために ClientDataset 再配布可能ファイルをアプリケーションの一部として開発、インストール、無制限に配布するための正規のライセンスを含みます。「ローカルデータアクセス」とは、単一のコンピュータ上に置かれた著作物が、そのコンピュータ上で実行され、同じコンピュータ上にあるデータにアクセスすることを指します。
本製品の Professional 版は、多層またはクライアントサーバーの著作物を作成する目的で「ClientDataset 再配布ファイル」を使う権利は提供していません。しかし、手作業によるコンピュータ間でのデータの共有を行う「ブリーフケース」モードを使う著作物を作成するために「ClientDataSet 再配布ファイル」を使うことはできます。(たとえば、有形のメディアにファイルを保存し、物理的に別のコンピュータにデータを戻すことはできます。)
・MIDAS I
アプリケーションサーバーの台数に応じて課金されます。
| 製品名称 | 希望小売価格 |
|---|---|
| MIDAS 1.0 サーバーライセンス | ¥600,000 |
| MIDAS 1.0 追加サーバーライセンス | ¥500,000 |
追加サーバーライセンスは同一モジュールをフェールオーバーやロードバランスなどのために用いるサーバーに対して適用されます。
・MIDAS II
クライアントの台数が不明な場合には従来通りのサーバーライセンスが、クライアントが少ない場合にはノードライセンスが選択できるようになりました。
サーバーライセンス:
| 製品名称 | 希望小売価格 |
|---|---|
| MIDAS 2.0 サーバーライセンス | ¥600,000 |
| MIDAS 2.0 追加サーバーライセンス | ¥500,000 |
ノードライセンス:
| 製品名称 | 希望小売価格 |
|---|---|
| アプリケーションサーバーライセンス | ¥30,000 / サーバー 1 台 |
| クライアントライセンス (24 台まで) | ¥15,000 / クライアント 1 台 |
| クライアントライセンス (25 台以降) | ¥10,000 / クライアント 1 台 |
| MIDAS CORBA ノードライセンス | ¥10,000 / クライアント 1 台 |
アプリケーションサーバー (1 台) とは CORBA で接続していて、クライアントが 10 台の場合には ¥30,000 + (¥15,000 + ¥10,000) * 10 = ¥280,000 となります。VisiBroker の配布権 (運用ライセンス) は付属しています。
・MIDAS III
ライセンス価格が引き下げられました。MIDAS II 同様、サーバーライセンスとクライアントライセンスが選べます。
サーバーライセンス:
| ライセンス | ライセンス形態 | 希望小売価格 |
|---|---|---|
| サーバーライセンス | サーバーマシン 1 台 (4 CPU 以内) につき | ¥360,000 |
クライアントライセンス:
| ライセンス | ライセンス形態 | 希望小売価格 |
|---|---|---|
| クライアントライセンス | サーバーマシン 1 台 (4 CPU 以内) に接続するクライアント 1 台につき | ¥15,000 |
CORBA ライセンス:
サーバーライセンスとクライアントライセンス、どちらのライセンスであっても、CORBA 接続の場合には別途 CORBA ライセンスが必要です。
| ライセンス | ライセンス形態 | 希望小売価格 |
|---|---|---|
| CORBA ライセンス | CORBAConnection を利用したプログラムが接続するアプリケーションサーバーが稼働するサーバーマシンの 1 CPU につき | ¥375,000 |
VisiBroker の配布権 (運用ライセンス) は付属しています。
・DataSnap
非常にシンプルなライセンスになりました。クライアントアプリケーションの配布についてはライセンスフリーとなっています。
どのような形であるにせよ、DataSnap アプリケーションが異なるマシン間でデータパケットを交換する場合に、ライセンスが必要になります。これには、HTTP などのインターネットプロトコル、電子メール、フロッピーディスクなどの媒体を介する場合のすべてが含まれます。たとえば、InternetExpress を使った Web サーバーアプリケーションと異なるマシン上のブラウザとの間で XML 形式でデータ交換する場合はライセンスが必要です。また、DataSnap アプリケーションによって作成されたフラットファイルを異なるマシンで利用する場合も含まれます。
DataSnap 技術を単独のマシンのみで利用する場合は、サーバーライセンスは不要です。たとえば、DataSnap のフラットファイル(バイナリまたは XML)形式のデータ処理を特定のマシンのみで利用する場合は、ライセンスを購入する必要はありません。しかし、このファイルをファイルサーバーやフロッピーなどを介して複数のマシンで共有する場合は、ライセンスが必要です。
| ライセンス | ライセンス形態 | 希望小売価格 |
|---|---|---|
| DataSnap サーバーライセンス | サーバーマシン 1 台 (4 CPU 以内) につき | ¥48,000 |
以前の MIDAS ライセンスを MIDAS ライセンスを DataSnap のライセンスに振り替えることはできません。例えば Delphi 5 (MIDAS III) -> Delphi 6 (DataSnap) へと開発環境を変更した場合には、別途 DataSnap のライセンスが必要となります。
VisiBroker の配布権 (運用ライセンス) が付属していないため、CORBA で接続している場合には VisiBroker の運用ライセンスが別途必要です。
・DataSnap 2009 以降
DataSnap のための運用ライセンスは不要になりました。
DataSnapは、RAD Studio(Delphi / C++Builder)に搭載されたミドルウェア構築用のSDKです。DataSnapは、DelphiまたはC++でミドルウェアサービスを構築するための機能を提供しており、配布費用はかかりません。
DataSnap 関連技術
DataSnap に関連する技術についても触れておきます。
・BizSnap と SOAP と CORBA
Delphi 6 では [Web Services] というコンポーネントページが増え、ウィザードにも増えています。これは BizSnap 3 と呼ばれる機能の一部で SOAP をサポートしています (Delphi 7 以降では Professional 版にも存在)。TSOAPConnection は明らかに DataSnap 関連技術ですが、別枠として扱われる事が多いです。
同じく Delphi 6 ではウィザードに [CORBA] が増え、CORBA サーバーアプリケーションと CORBA クライアントアプリケーションを 作る事ができるようになっています。IDL2PAS という IDL コンパイラも付属します。
恐らくですが、Borland は CORBA 関連を DataSnap から分離したかったのだと思います。そして Delphi 7 を最後に CORBA そのものをサポートしなくなりました。
See also:
・WebSnap
WebSnap は簡単に言えば WebBroker の上位版です。複数モジュールおよびサーバーサイドスクリプティングをサポートしています。
Delphi 6 に追加され、[WebSnap] というコンポーネントページにあります。
WebSnap は Delphi XE5 で廃止されました。
See also:
・InternetExpress
InternetExpress は DataSnap (MIDAS) の周辺技術で、DataSnap を Web 化するための追加レイヤーみたいなものです。Delphi 5 に追加され、[InternetExpress] というコンポーネントページにあります。
InternetExpress は TXMLBroker と TInetXPageProducer で構成されています (Delphi 5 には TInetXPageProducer はなく TMidasPageProducer があります)。
WebBroker + InternetExpress + MIDAS で構築された Web サーバーを WebMIDAS と呼んでいた事があったようです。
InternetExpress は Delphi XE5 で廃止されました。
See also:
- インプライス、ビジュアルアプリケーション開発ツール『Borland Delphi』の最新バージョンを発表 (ASCII.JP)
- Delphi 5 InternetExpress (with XML) (Dr.Bob's Programming Clinic: Internet Archive)
DataSnap 関連製品
DataSnap に直接あるいは間接的に関連する製品についても触れておきます。
・OLEnterprise
元々は Open Environment Corporation 社が作った OLE を使った分散オブジェクトプラットフォーム。Open Environment Corporation 社は 1996 年に Borland に買収されている。
OLEnterprise は 4 つのコンポーネントから構成される。
-
Object Explorer
クライアントシステムやサーバーシステムにあるオブジェクトをブラウズしたりアクセスするためのユーザーインターフェース。 -
Business Object Broker
サーバーオブジェクトを検出するための中心的な役割を果たす。ディレクトリサービス。 -
Object Agent
クライアントシステムによって使用される。 -
Object Factory
サーバーシステムによって使用される。
Delphi 3 および 4 の Client \ Server 版以上の SKU に OLEnterprise がバンドルされていた。
OLEnterprise は「独自 DCOM」 というのが近い表現かもしれません。
OLEnterprise は DCOM が登場する前に独自に作られた分散 OLE 技術でしたが、1996 年の DCOM の登場で存在意義を失ったため、Delphi 5 において TOLEnterpriseConnection が削除されたのだと考えられます。
See also:
- Open Environment Corporation (Wikipedia: en)
- Delphi 3 を使用したアプリケーションサーバーの構築 (citforum.ru)
- Borland MIDAS - 多層情報システムの信頼性と効率性を高めるためのツール (cs.vsu.ru)
- A Technical View of Borland MIDAS (Borland: Internet Archive)
・Entera
元々は Open Environment Corporation 社が作ったアプリケーションサーバープラットフォーム。UNIX 等も含む広範なマルチプラットフォーム RPC 技術。
Delphi Enterprise (恐らく Delphi 3 C/S の上位 SKU) という製品に Entera への接続用コンポーネントである TEnteraConnection と TEnteraProvider が含まれている。
Entera の周辺アプリケーション (?) である Entera OLE (Windows 向け) が OLEnterprise の元になっていると思われるが、詳細は不明。
Entera の現在の権利者は eCube Systems LLC 社である模様 4。Entera の後継製品として NXTera がある。
See also:
- Entera (Wikipedia: en)
- TEnteraProvider を使用して非公開 RPC を呼び出す (Borland: Internet Archive)
- A Technical View of Delphi Enterprise and Entera (Borland: Internet Archive)
- Entera White Paper (Borland: Internet Archive)
- Entera Developer Support (Borland: Internet Archive)
・VisiBroker
元々は Visigenic 社が作った CORBA 準拠のオブジェクトリクエストブローカー (ORB)。
Visigenic 社は 1998 年、Borland に買収されており、その際に社名が Inprise へと変更になっている。
Delphi 4~7 までの Client \ Server 版 または Enterprise 版以上の SKU に VisiBroker がバンドルされていた。
VisiBroker の現在の権利者は Rocket Software 社である模様 5。
See also:
- Common Object Request Broker Architecture (CORBA) (Wikipedia)
- インプライズ、本日よりボーランドへ (@IT)
- VisiBroker 4 (Borland [En]: Internet Archive)
- VisiBroker 4 (Borland [Ja]: Internet Archive)
・Borland/Inprise Application Server
J2EE + CORBA (VisiBroker) 準拠のアプリケーションサーバー。
See also:
- Inprise Application Server (Inprise: Internet Archive)
- インプライズ、開発者向けカンファレンスでアプリケーションサーバー最新版『Inprise Application Server 4』を発表 (ASCII.JP)
・Borland AppServer
J2EE + CORBA (VisiBroker) 準拠のアプリケーションサーバー。社名が Inprise から Borland に戻る際に Application Server から AppServer へと改名された。
See also:
・Borland Enterprise Server
アプリケーションサーバー関連スイート製品。
VisiBroker Edition は VisiBroker (CORBA ORB) で、AppServer Edition は Appserver (J2EE アプリケーションサーバー) そのもの 6。
- Web Edition (Tomcat ベースの Web コンテナ)
- VisiBroker Edition (後に VisiBroker に統合)
- AppServer Edition (後に Borland AppServer へ再分離)
AppServer の最終的な権利者は OpenText 社だと思われる。
See also:
- ボーランド、『Borland Enterprise Server 5.2 日本語版』を発表 (ASCII.JP)
- ボーランド、SOAに対応した分散アプリケーション用ミドルウェア「Borland VisiBroker 7.0」を発売 (ビジネス+IT)
・RAD Server
RAD Server は、サービスベースのアプリケーションを迅速に構築・実装するためのアプリケーションプラットフォーム。GetIt から取得可能 (Enterprise 以上の SKU)。
EMS というワードが出てきたら RAD Server 絡みだと思っていい。EMS (Enterprise Mobility Services) は RAD Server の旧称 7。
Borland AppServer の思想を現代風に引き継いだ、Delphi / C++Builder 版アプリケーションサーバーと言える。技術的な分類としては REST API サーバーで、DataSnap と直接関係はない。
AppServer の EJB のように EMS パッケージを作成して、RAD Server の機能を拡張することが可能。
| ライセンス | 価格 |
|---|---|
| シングルサイトライセンス | ¥766,000 (税抜) |
| マルチサイトライセンス | (ご相談ください) |
Delphi Eneterprise 版にはシングルサイトライセンスが、Architect 版にはマルチサイトライセンスが含まれる。Delphi Architect トライアル版には RAD Server 評価版が付属する。自社で RAD Server を使う分には追加費用は不要。
以前はデバイス単位での デバイスライセンス と、サイト(RAD Server のサーバー数)単位での サイトライセンス に分かれており、Delphi 本体には 開発者ライセンス しか含まれていなかった 8。
RAD Server Lite に関しては、Eneterprise 版以上の SKU を所持していれば配布は無制限 9。
See also:
- RAD Server (Embarcadero)
- RAD サーバー(EMS)(DocWiki)
- RAD Studio 11 の新しい RAD Server Lite(RSLite) (Embarcadero Blog)
- RAD Server Lite の配布 (DocWiki)
- RAD Serverテクニカルガイド (Embarcadero)
- RAD Serverに関連するドキュメント - ホワイトペーパー (Embarcadero)
- Mobile enterprise application platform (Wikipedia: En)
・PAServer
配置やデバッグ、SDK の取得に使われるアプリケーションサーバー。
DataSnap と直接関係はないが、PAServer は DataSnap の技術を使って作られている。
See also:
おわりに
DataSnap (MIDAS) は古くからあるものですが、Delphi は Professional 版 (相当) ばかり使ってきたので縁がなく、DataSnap (MIDAS) というワードが出る度に「あぁ、Enterprise 以上か」と聞き流していました。
そんな訳で、MyBase が Professional 版で使えるのを知ったのも遅かったですし、REST クライアントライブラリがProfessional 版で使えるのを知ったのも割と後になってからでした。ちゃんと機能一覧は確認すべきですね。
色々調べた今では「振り回されずに済んだな」という思いと「これは便利なのでは?」という思いが半々ですね...(^^;A
本記事のスクリーンショットは Delphi 13.1 Florence Architect Trial のものです。
See also:
- Unleash the power of Delphi with Delphi Labs - DataSnap (Embarcadero)
- MyBaseを試してみる。(Delphi-fan)
- [Delphi] 複数バージョンのmidasの問題点と対処方法 (くろねこ研究所)
- [Delphi] MidasLibの不具合 (くろねこ研究所)
- DataSnapを使用した3層アプリケーション構築技法 (ミガロ)
- Delphi 10.2 Tokyo Enterprise と RAD Server で REST JSON な Web API を作る (Qiita: @kazinoue)
- Delphi/C++BuilderでREST APIをカンタンに実装できるRAD ServerでJSONを返す方法を3種類作ってみる(Qiita: @kazinoue)
- 公式・準公式の Delphi 関連書籍を読んでみる (Qiita)
- Borland Press の Delphi 関連書籍を読んでみる (Qiita)
- 『Delphi マガジン』について (Qiita)
- 多層データベースシステム徹底活用 1/2 (Embarcadero: Youtube)
- 多層データベースシステム徹底活用 2/2 (Embarcadero: Youtube)
-
名前が示す通りですね (MIDAS = 多層分散アプリケーションサービス)。 ↩
-
古い DataSnap (MIDAS) でも多層アプリケーションを (限定的ながら) Delphi だけで作ることができます。 ↩
-
BizSnap という商標は現在では全く使われていません。XML/SOAP による Web サービス開発機能の事を指すようですが...? ↩
-
2002 年に Entra の権利が eCube Systems LLC に移った。 ↩
-
Borland (CodeGear 除く) を Micro Focus が買収 (2009)、Micro Focus を OpenText が買収 (2022)、OpenText の AMC (Application Modernization and Connectivity business) 部門を Rocket Software が買収 (2022) という流れらしい。国内のマイクロフォーカス合同会社は AMC ソフトウェアジャパン合同会社へと社名変更している (2025)。 ↩
-
Borland Enterprise Server は Delphi 7 Studio にも付属していたが、Professional 版では正直使い道がない気がした。 ↩
-
EMS (Enterprise Mobility Services) 初登場は XE7 (2014 年)、RAD Server に名称変更になったのは 10.1 Berlin の頃 (2016 年)。 ↩
-
現在と同じライセンス形態になったのは 10.3 Rio (2018 年) から。 ↩
-
RAD Studio の EULA を参照の事。 ↩








