WebLogic のコネクションプールからElasticsearchに接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData JDBC Driver for Elasticsearch を使用して、WebLogic 上で動作するWeb アプリケーションからElasticsearch のデータ に接続します。

CData JDBC Driver for Elasticsearch を使えば、標準的な手順に沿ってElasticsearch のデータ をJava Web アプリケーションに統合できます。この記事では、CData JDBC Driver for Elasticsearch をWebLogic Server にデプロイする方法を説明します。

Elasticsearch データ連携について

CData を使用すれば、Elasticsearch のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:

  • SQL エンドポイントと REST エンドポイントの両方にアクセスでき、接続を最適化し、Elasticsearch データの読み書きに関してより多くのオプションを提供します。
  • v2.2 以降およびオープンソース Elasticsearch サブスクリプションを含む、ほぼすべての Elasticsearch インスタンスに接続できます。
  • SCORE() 関数を明示的に要求することなく、常にクエリ結果の関連性スコアを受け取ることができます。これにより、サードパーティツールからのアクセスが簡素化され、クエリ結果のテキスト関連性のランキングを簡単に確認できます。
  • 複数のインデックスを検索でき、クライアントマシンではなく Elasticsearch がクエリと結果の管理・処理を担当します。

ユーザーは、Crystal Reports、Power BI、Excel などの分析ツールと Elasticsearch データを統合し、当社のツールを活用して、Elasticsearch を含むすべてのデータソースへの単一のフェデレートアクセスレイヤーを実現しています。

CData の Elasticsearch ソリューションの詳細については、ナレッジベース記事をご覧ください:CData Elasticsearch Driver Features & Differentiators


はじめに


WebLogic Server へのJDBC ドライバーのデプロイ

ドライバーをデプロイするには、ドライバーJAR をクラスパスに追加します。.lic ファイルは、JAR と同じフォルダに配置する必要があります。 これらのファイルは、インストールディレクトリのlib サブフォルダに格納されています。

すべてのドメインにドライバーを追加する場合は、WL_HOME\common\bin\commEnv.cmd/sh にあるWEBLOGIC_CLASSPATH 環境変数の先頭にJAR のパスを追加します。このスクリプトは WL_HOME\common\bin\ にあります。以下に例を示します。

set WEBLOGIC_CLASSPATH=your-installation-directory\lib\cdata.jdbc.elasticsearch.jar;%WEBLOGIC_CLASSPATH%

WebLogic 12.2.1 では、特定のドメインにドライバーを追加する場合、ドライバーJAR と.lic ファイルをDOMAIN_HOME\lib(例:ORACLE_HOME\user_projects\domains\MY_DOMAIN\lib)に配置するだけで済みます。これらのファイルは、起動時にサーバーのクラスパスに追加されます。

以前のバージョンでは、手動でドライバーをクラスパスに追加する必要があります。setDomainEnv.cmd/sh のPRE_CLASSPATH 環境変数の先頭に、以下の内容を追加します。このスクリプトは、対象ドメインのフォルダのbin サブフォルダにあります。

set PRE_CLASSPATH=your-installation-directory\lib\cdata.jdbc.elasticsearch.jar;%PRE_CLASSPATH%

これらの変更を行った後、サーバーを再起動します。

Elasticsearch 用JDBC データソースの作成

ドライバーをデプロイしたら、WebLogic 管理コンソールにログインして接続を作成します。

  1. ドメイン構造ツリーで、Services -> Data Sources -> New -> Generic Data Source をクリックします。
  2. JDBC Data Source Properties ページで、以下の情報を入力します。
    • Name: ユーザーフレンドリーな名前を入力します(例:elasticsearchjdbc)。
    • JNDI Name: JDBC データソースのバインド先のパスを入力します(例:jdbc/Elasticsearch)。
    • Database Type: Other を選択します。

  3. Next をクリックしてデフォルトオプションを使用します。最後のページで、以下の情報を入力してTest Configuration をクリックします。

    • Driver Class Name: ドライバークラスを入力します(cdata.jdbc.elasticsearch.ElasticsearchDriver)。
    • URL: JDBC URL を入力します。一般的なJDBC URL は次のとおりです。

      jdbc:elasticsearch:Server=127.0.0.1;Port=9200;User=admin;Password=123456;

      Elasticsearch 接続プロパティの取得・設定方法

      接続するには、Server およびPort 接続プロパティを設定します。 認証には、User とPassword プロパティ、PKI (public key infrastructure)、またはその両方を設定します。 PKI を使用するには、SSLClientCert、SSLClientCertType、SSLClientCertSubject、およびSSLClientCertPassword プロパティを設定します。

      CData 製品は、認証とTLS/SSL 暗号化にX-Pack Security を使用しています。TLS/SSL で接続するには、Server 値に'https://' を接頭します。Note: PKI を 使用するためには、TLS/SSL およびクライアント認証はX-Pack 上で有効化されていなければなりません。

      接続されると、X-Pack では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。

      組み込みの接続文字列デザイナー

      JDBC URL の作成には、Elasticsearch JDBC Driver に組み込まれている接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。

      java -jar cdata.jdbc.elasticsearch.jar
      

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

    • Database User Name: JDBC URL で指定していない場合は、ユーザー名を入力します。
    • Password: JDBC URL で指定していない場合は、パスワードを入力します。

JDBC データソースをデプロイするサーバーを選択すると、Elasticsearch のデータ に接続できるようになります。

その他のWebLogic 連携

上記の手順では、シンプルなコネクションプーリングシナリオでのドライバー設定方法を説明しました。その他のユースケースや詳細については、Oracle Fusion Middleware ドキュメントのWebLogic Data Sources 章のJDBC セクションを参照してください。

はじめる準備はできましたか?

Elasticsearch Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Elasticsearch Icon Elasticsearch JDBC Driver お問い合わせ

Elasticsearch 連携のパワフルなJava アプリケーションを素早く作成して配布。