こんにちは!リードエンジニアの杉本です。
この記事では、HCL Domino のByName データをkintone に同期する方法を紹介します。グレープシティ社のkrewData というkintone プラグインとCData Connect Cloud を使うと、HCL Domino をはじめとする100を超えるSaaS データをノーコードでkintone に取り込むことが可能です。
CData Connect Cloud とは?
CData Connect Cloud は、以下のような特徴を持ったクラウド型のリアルタイムデータ連携製品です。
- SaaS やクラウドデータベースを中心とする150種類以上のデータソース
- BI、アナリティクス、ETL、ローコードツールなど30種類以上のツールやアプリケーションから利用可能
- リアルタイムのデータ接続に対応。データの複製を作る必要はありません
- ノーコードでシンプルな設定
詳しくは、こちらの製品資料をご確認ください。
krewData とは?
krewData は、グレープシティ社が提供するkintone のプラグインで、kintone の複数のアプリ間やExcel・CSV ファイルとkintone のデータ統合をkintone 上で行うことができます。
https://krew.grapecity.com/products/krewdata.htm
CData Connect Cloud とは?
CData Connect Cloud は、2022年にCData が新たにリリースしたデータ仮想化プラットフォームです。Salesforce、kintone、Sharepoint、ServiceNow、PCA クラウド、スマレジなど多様なSaaS データにあらゆるツールからノーコードでのアクセスを実現します
CData Connect Cloud へ
今回は、CData Connect Cloud とkrewData を使って、HCL Domino のByName データをkintone に同期します。
ちなみに、CData Connect Cloud を使えば、HCL Domino 以外のクラウドデータをkintone に同期することも可能です。データ同士にキーとなる項目があれば、異なるデータソースのデータを統合してkintone にロードすることも可能です。
Connect Cloud アカウントの取得
以下のステップを実行するには、CData Connect Cloud のアカウントが必要になります。こちらから製品の詳しい情報とアカウント作成、30日間無償トライアルのご利用を開始できますので、ぜひご利用ください。
Connect Cloud からHCL Domino に接続する
CData Connect Cloud では、直感的なクリック操作ベースのインターフェースを使ってデータソースに接続できます。
- Connect Cloud にログインし、 Add Connection をクリックします。
- Add Connection パネルから「HCL Domino」を選択します。
-
必要な認証プロパティを入力し、HCL Domino に接続します。
Domino 接続プロパティの取得・設定方法
接続の前に
CData 製品を経由してDomino に接続するには、「Proton コンポーネント」のインストールが必要です。通常、
Proton はAppDev パックの一部として配布されています。Proton またはAppDev パックの入手およびインストール方法については、HCL のドキュメントを参照してください。
CData 製品は匿名アクセス、またはクライアント証明書の提供によりProton を認証できます。
これらのオプションは両方ともDomino で特定の設定が必要です。
次の2セクションでは、接続に必要な事前設定について説明します。使用したい認証方法に対応するセクションを参照してください。
クライアント証明書による認証の設定
クライアント証明書による認証では、CData 製品は専用のユーザーアカウントとして接続します。このユーザーには、接続するすべてのデータベースに対するdesigner
またはそれ以上のアクセス権が付与する必要があります。
また、CData 製品を使用するためにはユーザーがインターネット証明書を取得する必要があります。サーバーコンソールで以下のコマンドを実行することで、Proton にこの証明書を作成させることができます。
APPUSER はCData 製品でアクセス設定するユーザーアカウント名、ADMINISTRATOR は証明書を受け取るユーザー名です。
load proton --setupclient "APPUSER" --sendto "ADMINISTRATOR"
新しい証明書は、Notes のADMINISTRATOR
メールボックスから利用できます。証明書は、クライアント証明書(clientcert)およびキー(clientkey)の2ファイルに分けて送信される場合があります。
キーファイルのテキストを証明書ファイルの末尾にコピーアンドペーストして、2つのファイルを結合する必要があります。
匿名認証の設定
匿名アクセスでは、CData 製品はAnonymous という一般的なユーザーアカウントで接続します。
接続するすべてのデータベースには、次の2つの権限が設定される必要があります。
- Anonymous ユーザーには、designer またはそれ以上のデータベースへのアクセス権が付与される必要があります。
- データベースは、Maximum Internet name and password オプションがdesigner またはそれ以上のアクセスに設定される必要があります。
この設定は、データベースのAccess Control List オプションのAdvanced タブにあります。
Domino への接続
接続するには以下を設定します。
- Server:Proton サービスを使ってDomino を実行中のサーバーのIP アドレス。
- Port:Proton サービスがリッスンしているポート番号。
- Database:.nsf 拡張子を含むデータベースファイル名。
- SSLServerCert:サーバーが受け入れ可能なTLS/SSL 証明書に設定。コンピュータによって信頼されていない他の証明書はすべて拒否されます。または、"*"
を設定するとすべての証明書を受け入れます。
Domino への認証
CData 製品は、クライアント証明書を使用してProton に認証することも、匿名アクセスで認証することも可能です。
クライアント証明書による認証
クライアント証明書で認証するには以下を設定します。
- AuthScheme:SSLCertificate に設定。
- SSLClientCertType:これは、証明書ファイルの形式と一致する必要があります。
通常、.pem 証明書の場合はPEMKEY_FILE、.pfx 証明書の場合はPFXFILE のいずれかになります。
- SSLClientCert:証明書ファイルへのパス。
匿名認証
匿名認証を使用するには、AuthScheme をAnonymous に設定します。
- Create & Test をクリックします。
- Edit HCL Domino Connection ページのPermissions タブに移動し、ユーザーベースのアクセス許可を更新します。
パーソナルアクセストークンの追加
OAuth 認証をサポートしていないサービス、アプリケーション、プラットフォーム、またはフレームワークから接続する場合は、認証に使用するパーソナルアクセストークン(PAT)を作成できます。きめ細かなアクセス管理を行うために、サービスごとに個別のPAT を作成するのがベストプラクティスです。
- Connect Cloud アプリの右上にあるユーザー名をクリックし、User Profile をクリックします。
- User Profile ページでPersonal Access Token セクションにスクロールし、 Create PAT をクリックします。
- PAT の名前を入力して Create をクリックします。
- パーソナルアクセストークンは作成時にしか表示されないため、必ずコピーして安全に保存してください。
コネクションが構成されたら、kintone 上のkrewData プラグインからHCL Domino に接続できるようになります。
krewData でHCL Domino データをkintone に同期する
ここからは、kintone のプラグインであるkrewData での設定になります。
krewData の設定
krewData のプラグインインストールとkintone での設定については、こちらのリンクを参照してください。
https://krew.grapecity.com/products/krewdata.htm
kintone にkrewData プラグインを入れ、必要な権限設定を行ってください。
krewData の入力としてHCL Domino を設定
ここからは、実際にHCL Domino をkintone にロードするフローを作成していきます。krewData 自体は、複数データソースの統合、データのフィルタリング、集計処理など多様な機能を有するETL ですが、今回はシンプルにHCL Domino のByName データをkintone のアプリに同期するフローを作成します。
- kintone 画面でアプリにkrewData が表示されているので、これをクリックします。
- krewData アプリ画面の右上の「⚙」をクリックし、「設定」を開きます。
- 「設定」タブからプラグインをクリックします。これでkrewData のプラグイン操作画面に来ました。
- 「+データ編集フローを作成」の文字をクリックしてフローを作成します。作成されたフローが表示されますので、「⚙」マークをクリックしてフローを編集します。
- フロー編集画面が開きます。通常のkrewData フローは「入力アプリ」ではじまり、間にいくつかの処理モジュールを入れた後に「出力アプリ」で閉じる形です。CData Connect Cloud を使う場合には、一番下の「外部連携」の「CData Connect Cloud入力」モジュールを使います。
「CData Connect Cloud入力」を左ペインからドラッグして、フローキャンバスにドロップします。そこからコマンド設定を行っていきます。「アプリを選択」をクリックします。
- 「+新しい外部サービス情報アプリを作成する」をクリックして、アプリ名を入力してアプリを作成します。こちらはkrewData の連携で使われるアプリですので、通常のkintone アプリを設定することはできません。OK をクリックします。
- 同じ入力コマンドで「サインイン」をクリックして、CData Connect Cloud にkrewData からサインインします。アカウント選択画面がでるので、「別のアカウントを追加」ボタンをクリックします。CData Connect Cloud アカウント設定画面が表示されるので、Connect Cloud への接続を行います。
CData Connect Cloud アカウント:Connect Cloud のユーザー名
Personal Access Token:前述のPAT 取得プロセスで取得したアクセストークン
OK を押してConnect cloud に接続します。
- 次に「データソースを選択」ボタンをクリックします。まずどのConnection を使うかを選択するので、先ほど作成したHCL Domino のConnection をドロップダウンから選択します。
- HCL Domino のどのオブジェクト(テーブル)を使うかを選択します。CData Connect Cloud がHCL Domino のオブジェクト(含むカスタムオブジェクト)をフラットなテーブル構造にモデル化しています。今回はByName を選択します。OK を押してテーブル選択を保存します。
- ここでHCL Domino からkrewData に取得するデータの絞り込み条件をかけることができます。特にデータ量が多い場合には、パフォーマンスを上げるためにフィルタ条件をかけることをおすすめします。krewData のGUI でフィルタリング条件をかけるカラムを指定し、条件を設定することが可能です。
- 最後にkrewData で使用するフィールドを選択します。
- テーブル設定、フィルタリング設定、フィールド設定まで終わったら「プレビュー」タブをクリックして、実際に取得されるデータを見ることができます。
kintone へのアウトプットを設定
kintone への出力を行う設定を行います。
- 「出力アプリ」を左ペインからドラッグしてフローキャンバスにドロップします。先ほどのCData Connect Cloud入力アプリと出力アプリを線でつなぎます。
- 「アプリを選択」ボタンをクリックして、入力アプリと同様に新しいアプリを作成します。
- 出力アプリの設定として、2回目以降の同期の際のデータの更新の方法をしていします。今回はUPSERT 設定で更新または追加にチェックをいれています。
- 更新キーをしていできるので、ID カラムにチェックを入れて更新キーにします。
- これで出力アプリの設定が完了したので、左上の「アプリを更新」をクリックしてフローを保存します。
HCL Domino ByName のkintone への同期フローを実行
では、実際にフローを実行していきます。
まずはユーザー情報を指定する必要があります。左上の「設定ファイル」タブをクリックします。kintone のログイン名とパスワードを入力します。セキュアアクセスを使っている場合にはセキュアアクセス設定が必要です。
右上の「▶実行」ボタンをクリックして、フローを実行しましょう!!!
「成功」の表示がでました。
実際にkintone 上で出力アプリとして設定したアプリを開いてみます。ちゃんとHCL Domino ByName 情報がkintone アプリのレコードとして同期されていました。
まとめ
いかがでしたか?このようにCData Connect Cloud とkrewData を使って、簡単にHCL Domino のByName データをkintone にノーコードで同期することができました。
是非、CData Connect Cloud で他の100を超えるデータソースでもkintone への同期をお試しください。