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

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



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

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.api.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.api.jar;%PRE_CLASSPATH%

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

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

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

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

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

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

      jdbc:api:Profile=C:\profiles\Outlook.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;TenantId=your_tenant_id;CallbackUrl=http://localhost:33333;

      OAuth 認証の設定

      Microsoft Graph API は認証に OAuth 2.0 を使用します。OAuth 認証情報(Client ID と Client Secret)を取得するには、Microsoft Azure Portal でアプリケーションを登録する必要があります。

      OAuth 認証情報の取得

      1. Azure Portal にログインします。
      2. Azure Active Directory > App registrations に移動します。
      3. New registration をクリックして新しいアプリケーションを作成します。
      4. アプリケーション名を入力し、適切なアカウントの種類を選択します。
      5. Redirect URI をアプリケーションのコールバック URL に設定します(デスクトップアプリの場合は http://localhost:33333 など)。
      6. Register をクリックしてアプリケーションを作成します。
      7. アプリケーションの概要ページで Application (client) ID をコピーします。これが OAuthClientId になります。
      8. Certificates & secrets に移動して、新しいクライアントシークレットを作成します。
      9. クライアントシークレットの値をコピーします。これが OAuthClientSecret になります。
      10. API permissions に移動して、必要な Microsoft Graph API の権限を追加します:
        • Mail.Read - メールメッセージへのアクセス用
        • Contacts.Read - 連絡先へのアクセス用
        • Calendars.Read - カレンダーイベントへのアクセス用
        • Tasks.Read - To Do タスクへのアクセス用
        • offline_access - リフレッシュトークンの取得用
      11. Grant admin consent をクリックして、これらの権限を付与します。

      OAuth での接続

      以下の接続プロパティを設定して接続を確立してください:

      • AuthScheme:OAuth に設定します。
      • InitiateOAuthGETANDREFRESH に設定します。CData API Profile for Outlook が OAuth プロセスを自動的に進め、アクセストークンを取得します。
      • OAuthClientId:Azure Portal の Application (client) ID に設定します。
      • OAuthClientSecret:Azure Portal のクライアントシークレットの値に設定します。
      • TenantId:Azure AD のテナント識別子(GUID または 'contoso.onmicrosoft.com' のようなドメイン名)に設定します。
      • CallbackURL:アプリ登録で指定したリダイレクト URI に設定します(デスクトップアプリの場合は http://localhost:33333 など)。

      接続文字列の例

      Profile=C:\profiles\Outlook.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;TenantId=your_tenant_id;CallbackUrl=http://localhost:33333;
      

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

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

      java -jar cdata.jdbc.api.jar
      

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

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

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

その他のWebLogic 連携

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

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

API Driver で Outlook のライブデータに接続

Outlook に接続