【Delphi / C++Builder / RAD Studio】 5分でわかる、 Enterprise Connectors （エンタープライズコネクターズ）


# 5分でわかる、新製品 Enterprise Connectors （エンタープライズコネクターズ）
2017年7月20日、エンバカデロから「エンタープライズコネクターズ」が発表されました。

そしてこのエンタープライズコネクターズは、第34回デベロッパーキャンプでも、利用例について、いくつかのセッションで講演されておりました。この「エンタープライズコネクターズ」はFaceBookやTwitterなどのSNS, SalesforceやGoogle AnalyticsなどのCRM&マーケティング、NoSQLやERP関連などなど様々なデータソースに「コンポーネント」を使うことで手早く接続することが可能で、VCLやFireMonkeyのビジュアルコンポーネントを使って効率よくそのデータを利用して開発することができます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/145847/8b18c88c-17b1-9ab9-6ce1-e906d9fe32b1.png)


##エンタープライズコネクターズの特徴

###データ接続コンポーネントを通して接続
**データベース接続ミドルウエアとして評価の高いFireDACとして使えることが大きい**です。コンポーネントベースで様々なデータソースに接続できる便利さ効率の良さを感じていただけるでしょう。また、Delphi/C++Builderを利用したことのある開発者ならば、使い慣れたコンポーネントとして操作できるということでもあります。接続コンポーネントのTFDConnectionでつないだ後は、その次にSQL文を司るコンポーネントのTFDQueryでデータ操作が行え、 データを各コンポーネントへと伝達するDataSourceに接続し… とビジュアルコンポーネントに繋がっていくわけですね。そうすると、エンタープライズコネクターズ達によって取得できたデータが、VCLやFireMonkeyといったビジュアルコンポーネントで受け渡されて使いまわせるというメリットがあるわけです。

###クロスプラットフォーム開発/マルチデバイス対応
さらに言えば、FireDAC + FireMonkeyで開発していれば、**クロスプラットフォーム開発対応**なので、これらのデーターを使用した　Windows, macOS, Android, iOS向けのアプリが一つのコードと一つのマスタUI設計で行えるという効率の良さがあります。これは簡単に行ってしまえば工数削減に直結してきます。

###ちょい足しで使いまわせる
このエンタープライズコネクターズは、RAD StudioのGetItから入手できます。（入手手順は後述）
エンタープライズコネクターズをGetItからダウンロードすると、FireDACにコンポーネントとして各サービスへの接続が行えるようになります。実際にはTFDConnectionという接続コンポーネントを使って各サービスへ接続できるようになります。 RAD Studioをご利用の方なら、TFDConnectionはデータベースへと接続するときに基本となるコンポーネントであることはご存知かと思います。この汎用的なコンポーネントを使って接続できる、ということは既存のVCLやFireMonkeyのプロジェクトにおいても、この新しいエンタープライズコネクターズの機能を既存プロジェクトへチョイ足しで、新しい機能を追加できることになります。

###サーバサイドでも利用
FireDACのコンポーネントは、サーバーサイドの開発にも使えます。サーバーサイドでエンタープライズコネクターズを使って各種サービスに接続して、自社DBや、他サービスとの連携を図る、ということも期待できますし、そのデータをモバイルで見れるようにする、という運用も考えられます。各端末からアクセスさせる場合、セキュリティ面に気を付けなければいけませんが、サーバーサイドで一括してアクセスを担当させることで、対処できる範囲も絞れるといったことも期待できるでしょう。

###SQL-92の文法
このFireDACに新たに加わったこのデータアクセス機能において、デベロッパーが開発を行う上で良いところは、SQL-92の文法でどのコネクターも操作できるという事。
それぞれのコネクターで使えるフィールド名は異なりますので、初めはHelpを見ながらどんな風に使うのか確認する必要はありますが、一度、使い方を覚えれば、どのコネクターもお作法が同じなので、新たなサービスやデータベースなどに接続する際にも、ロジックが書きやすい、という事であります。 各サービスが直感的に扱えるようになるわけですね。

##エンタープライズコネクターズの入手方法
さて、このエンタープライズコネクターズ2017年8月22日現在、ベータ版として公開されており、下記の手順でダウンロードできます。 [＠Pikさんも既に入手方法を述べられております。](http://qiita.com/pik/items/7f8cd5f403753a7d52d7)


※RAD Studio 10.2 Tokyoをお持ちでない方は、トライアル版をでお試しできます。
[トライアル版のインストール方法はこちらの記事をご参照ください。](http://qiita.com/kazaiso/items/479fdf1170fa886fe208)

1. RAD Studioを起動 （Professional エディション以上）
2. ウインドウ上部のメニューバー内の[ツール（T)] - [GetItパッケージマネージャ(G)]を選択
![image.png](https://qiita-image-store.s3.amazonaws.com/0/145847/9d4f552c-68ec-ad7c-a3d8-0d2a4d13f0f1.png)<br><br>
1. 「GetItパッケージマネージャ」ウインドウが開くので、左側の「カテゴリ」から「Connectors」をクリック
![image.png](https://qiita-image-store.s3.amazonaws.com/0/145847/bfda75a3-c873-dec3-80c3-9293f7dd13d1.png)<br><br>

2. Cdata EC+と表示されている水色のアイコンが一覧表示されます
3. 必要とするサービスのコネクターの「インストール」をクリックすると、インストールが開始されます
4. インストレーションダイアログに従って進めていけば、インストールが完了します。インストール完了時にはRAD Studioの再起動が求められます。

##エンタープライズコネクターズの使用イメージ
インストール後は下記の要領で使うことができます。
インストールを終えたコネクター達は下記画像のようにFireDACの接続エディタのドライバID欄に接続対象として表示されます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/145847/01d736ad-eb43-3e14-dfd6-b1cf7ad427a5.png)
これは、FDConnectionに接続情報を設定している時のスナップショットです。

RAD Studioの右側、データエクスプローラーにも通常のDB同様にエンタープライズコネクターズによる接続可能先が表示されるようになります。データエクスプローラーであらかじめ接続設定をしておくと、以降、同じ接続設定を繰り返し使えて便利です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/145847/31028933-1455-71ad-9732-e6d0821a25a6.png)

また、Windowsのスタートメニューからアクセスできるヘルプもインストールされます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/145847/2d314a2e-5131-91c9-0831-a098bced5499.png)

下記はFacebookにつないで `Aiso` の文字をもつUserを探し出した一例。
VCLでFDConnectionコンポーネントを使って接続し、FDQueryコンポーネントでSQL文を使って検索してデータを持ってきています。
一覧表示に使っているのはTStringGridコンポーネントで、FDQueryで取得したデータを「LiveBinding」というマウス操作でデータを連携させることのできる接続ツールを使って表示させています。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/145847/3e34a167-ec72-3aff-3a0e-a8884b2e390c.png)

このように、VCL、FireMonkeyを使ってより開発の幅、問題解決の手段を広げられるエンタープライズコネクターズは、7月28日（東京）、8月1日（大阪）で開催されたデベロッパーキャンプで紹介されました。[その様子はこちらのリンクで](https://www.youtube.com/playlist?list=PLoQxxVNY10oFCEzCoukMw94F3zJVgnhIE)ビデオとして紹介されています。

##参考リンク:
* エンバカデロ エンタープライズコネクターズ：https://www.embarcadero.com/jp/products/enterprise-connectors
* CData : http://www.cdata.com/jp/firedac/
* デベロッパーキャンプ：http://forms.embarcadero.com/developer-camp-overview