サイボウズ社がサービス提供する kintone は、さまざまな情報管理のシステムを容易に構築できるWebサービスです。また kintone 上のデータ操作は Web ブラウザから行うだけではなく、API 経由で他のシステムから操作できるようになっています。そこでこの記事では kintone のデータに対して Delphi/C++Builder からアクセスすることを試みます。

この記事で説明する内容は以下の3つです。

  1. kintone の操作を行うために Enterprise Connectors の kintone コネクタをインストールする
  2. データエクスプローラーに接続定義を作成する
  3. Delphi/C++Builder VCLアプリケーションで kintone のデータを操作する

kintone の操作を行うために Enterprise Connectors の kintone コネクタをインストールする

Delphi/C++Builder に Enterprise Connectors の kintone コネクタを追加すれば、FireDAC から kintone を操作できます。
Enterprise Connectors とは、RAD Studio / Delphi / C++Builder のデータアクセス機能 FireDAC の接続性をクラウドなどのエンタープライズサービスに対して拡張するオプション機能です。100を超えるサービスやデータソースと連携できるのですが、2018年11月からは kintone と連携するコネクタを提供開始しています。Enterprise Connectors には2種類のエディション Enterprise、Enterprise Plus がありますが、kintoneコネクタはどちらのエディションでもご利用いただけます。

すでに Enterprise Connectors をご利用中の方は、製品ダウンロードのページより kintone コネクタのインストーラを入手できます。製品をお持ちでない方は、Enterprise Connectors トライアル版をお申し込みいただければ kintone コネクタを試すことができます。

ここでは製品版またはトライアル版をインストール済みという前提で説明を続けます。

データエクスプローラーで接続定義を作成する

データエクスプローラーはDelphi/C++Builderの右上のペインにあり、ここで FireDAC を用いた様々なデータベース接続を管理できます。Enterprise Connectors をインストール済みの場合は、ここに追加したコネクタが表示されています。


kintone への接続は、“CData Kintone Data Source” で右クリックメニューから”新規接続を追加”で作成できます。kintoneに接続するために最低限必要な設定項目は下記のとおりです。

  • Url
  • User
  • Password

設定したら「テスト」を実行し、正しく設定できていることを確認します。これで kintone への接続が完成しました。

Delphi/C++Builder VCLアプリケーションで kintone のデータを操作する

では VCL アプリケーションから kintone のデータを操作してみることにしましょう。
下記のアニメーションGIFは、データエクスプローラから kintone のデータをフォーム上に貼り、それを表示できる単票の画面を作成しています。単票の生成ではフィールドエディタからのドラッグ&ドロップを行って DBEdit を貼り付けています。


この作業は Delphi/C++Builder で Oracle や MSSQL に接続するアプリを作成するのと基本的に同様の手順です。FireDAC による広範なデータベース接続性が Enterprise Connectors によって kintone 向けでも同じように利用できることがわかります。また、この作業で配置された FDQuery を見てみると、そこには RDBMS 接続と同様に SQL 文が記述されていることがわかります。

つまり kintone の操作をアプリケーション開発者に身近な SQL で行えるわけです。

もし Enterprise Connectors を使わないとしたら?

kintone の API は REST で提供されています。たとえばレコードの取得は以下のような仕様で利用できます。

https://developer.cybozu.io/hc/ja/articles/202331474

この仕様に基づいてDelphi/C++BuilderのREST API接続用コンポーネントを用いてデータアクセスすることは可能です。しかし Enterprise Connectors を利用すれば仕様を調べて接続するというプロセスを省略できるので効率よく進められ、アプリケーションの機能の実装に、より多くの時間を投入できます。
既存システムと kintone のデータ連携をご検討の方は、ぜひトライアル版をお試しください。
https://www.embarcadero.com/jp/products/enterprise-connectors

Anonymous