製品をチェック

HCL Domino Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

HCL Domino アイコン HCL Domino JDBC Driver 相談したい

HCL Domino に連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。

JRuby からHCL Domino にデータ連携

リアルタイムHCL Domino に連携するシンプルなJRuby アプリケーションを作成します。

加藤龍彦
デジタルマーケティング

最終更新日:2022-10-23
domino ロゴ

CData

jdbc ロゴ画像
JRuby ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for Domino を使用すると、JRuby からリアルタイムHCL Domino へのデータ連携を簡単に実装できます。ここでは、HCL Domino に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。

HCL Domino のデータにJDBC で接続

アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for Domino\libにあります。)

JRuby は、JDBC をネイティブにサポートしているため、簡単にHCL Domino に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。

Domino への接続

Domino のデータに接続するには、以下のプロパティを設定してください。

  • URL: Domino データベースをホスティングしているサーバーのホスト名、またはIP を入力します。サーバーのポート番号を含めてください。例えば、http://sampleserver:1234/
  • DatabaseScope: Domino Web UI 内のスコープ名を入力します。ドライバーは、ここで指定したスコープによって制御されるスキーマの、フォームとビューを公開します。Domino Admin UI で、サイドバーからScopes メニューを選択します。このプロパティを、既存のスコープ名に設定します。

Domino での認証

Domino は、ログインクレデンシャルまたはAzure Active Directory OAuth アプリケーションを使用した認証をサポートしています。

ログインクレデンシャル

ログインクレデンシャルで認証するには、以下のプロパティを設定してください:

  • AuthScheme: これを"OAuthPassword" に設定します
  • User: 認証するDomino ユーザーのユーザー名
  • Password: 認証するDominoユ ーザーに関連付けられたパスワード

ドライバーはログインクレデンシャルを使用して、自動的にOAuth トークン交換を実行します。

AzureAD

この認証方法は、Azure Active Directory をIdP として使用してJWTトークンを取得します。Azure Active Directory にカスタムのアプリケーションを作成し、それをIdP として設定する必要があります。そのためには、ヘルプドキュメントの指示に従ってください。その後、以下のプロパティを設定します。

  • AuthScheme: これを"AzureAD" に設定します
  • InitiateOAuth: これをGETANDREFRESH に設定します。InitiateOAuth を使用すると、OAuth 交換の繰り返しやOAuthAccessToken の手動設定を避けることができます。
  • OAuthClientId: カスタムOAuth アプリケーションのセットアップ時に取得したクライアントID
  • OAuthClientSecret: カスタムOAuth アプリケーションのセットアップ時に取得したクライアントシークレット
  • CallbackURL: アプリ登録時に定義したリダイレクトURI。例えば、https://localhost:33333
  • AzureTenant: データにアクセスするために使用されるMicrosoft Online テナント。companyname.microsoft.com 形式の値またはテナントID のいずれかを指定してください。

    テナントID は、Azure ポータルのAzure Active Directory > プロパティページに表示されているディレクトリID と同じです。

ビルトイン接続文字列デザイナー

JDBC URL の構成については、HCL Domino JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.domino.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

以下はHCL Domino の一般的なJDBC 接続文字列です。

jdbc:domino:Server=https://domino.corp.com;Database=names.nsf;Port=3002;SSLClientCertType=PEMKEY_FILE;SSLClientCert=full_path_of_certificate.pem;SSLServerCert=*

HCL Domino のデータへの接続性を持つJRuby アプリを作成

新しいRuby ファイル(例: DominoSelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。

require 'java' require 'rubygems' require 'C:/Program Files/CData/CData JDBC Driver for Domino 2018/lib/cdata.jdbc.domino.jar' url = "jdbc:domino:Server=https://domino.corp.com;Database=names.nsf;Port=3002;SSLClientCertType=PEMKEY_FILE;SSLClientCert=full_path_of_certificate.pem;SSLServerCert=*" conn = java.sql.DriverManager.getConnection(url) stmt = conn.createStatement rs = stmt.executeQuery("SELECT Name, Address FROM ByName") while (rs.next) do puts rs.getString(1) + ' ' + rs.getString(2) end

ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でHCL Domino を表示できるようになります。

jruby -S DominoSelect.rb

SQL-92 クエリをHCL Domino に書き込むと、HCL Domino を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。