【ノーコード】HCL Domino をSalesforce の外部オブジェクトとしてノーコード連携:API Server

古川えりか
古川えりか
コンテンツスペシャリスト
SalesforceでのHCL Dominoの外部オブジェクト化でお困りですか?API ServerでOData公開→外部オブジェクト設定まで3ステップで完了。CRM連携を即実現、無償トライアルですぐにスタート。



CData API Server はHCL Domino (および 250+ のデータソース)をOData API 化し、Salesforce やSalesforce モバイルアプリケーション(旧:Salesforce1)での利用を実現します。 この記事では、API Server を使ってHCL Domino のデータを外部オブジェクトとしてSalesforce Connect に設定し、Salesforce の標準オブジェクトと同感覚で使用する方法を説明します。

API Server の設定

以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなHCL Domino OData サービスを作成していきましょう。

HCL Domino への接続

Salesforce Connect からHCL Domino のデータを操作するには、まずHCL Domino への接続を作成・設定します。

  1. API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。 接続を追加
  2. 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「HCL Domino」を選択します。
  3. 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
    CData コネクタの追加方法はこちら >>
  4. それでは、HCL Domino への接続設定を行っていきましょう! 接続設定
  5. Domino への接続

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

    • URL:Domino データベースをホスティングしているサーバーのホスト名またはIP アドレス。Domino データベースをホスティングしているサーバーのポートを含めます。例:http://sampleserver:1234/
    • DatabaseScope:Domino Web UI でのスコープ名。CData 製品は、指定されたスコープに適合するスキーマのフォームとビューを公開します。Domino Admin UI で、サイドバーのScopes メニューを選択してください。このプロパティを既存のスコープ名に設定します

    Domino での認証

    続いて、認証方法を設定しましょう。Domino では、ログインクレデンシャル(OAuthPassword)またはMicrosoft Entra ID(AzureAD)のいずれかによる認証をサポートしています。

    ログインクレデンシャル

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

    • AuthSchemeOAuthPassword
    • User:認証するDomino ユーザーのユーザー名
    • Password:認証するDomino ユーザーに関連付けられたパスワード

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

    Microsoft Entra ID(Azure AD)

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

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

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

  6. 接続情報の入力が完了したら、「保存およびテスト」をクリックします。

Domino への接続

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

  • URL:Domino データベースをホスティングしているサーバーのホスト名またはIP アドレス。Domino データベースをホスティングしているサーバーのポートを含めます。例:http://sampleserver:1234/
  • DatabaseScope:Domino Web UI でのスコープ名。CData 製品は、指定されたスコープに適合するスキーマのフォームとビューを公開します。Domino Admin UI で、サイドバーのScopes メニューを選択してください。このプロパティを既存のスコープ名に設定します

Domino での認証

続いて、認証方法を設定しましょう。Domino では、ログインクレデンシャル(OAuthPassword)またはMicrosoft Entra ID(AzureAD)のいずれかによる認証をサポートしています。

ログインクレデンシャル

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

  • AuthSchemeOAuthPassword
  • User:認証するDomino ユーザーのユーザー名
  • Password:認証するDomino ユーザーに関連付けられたパスワード

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

Microsoft Entra ID(Azure AD)

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

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

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

API Server のユーザー設定

次に、API Server 経由でHCL Domino にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。

  1. 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
  2. 次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
  3. その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。

HCL Domino 用のAPI エンドポイントの作成

ユーザーを作成したら、HCL Domino のデータ用のAPI エンドポイントを作成していきます。

  1. まず、「API」ページに移動し、 「 テーブルを追加」をクリックします。
  2. アクセスしたい接続を選択し、次へをクリックします。
  3. 接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。

OData のエンドポイントを取得

以上でHCL Domino への接続を設定してユーザーを作成し、API Server でHCL Domino データのAPI を追加しました。これで、OData 形式のHCL Domino データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。

HCL Domino のデータに外部データソースとしてアクセス

ここからは、API Server で生成したOData フィードにSalesforce から実際に接続してみます。

  1. Salsforce にログインし、[設定]→[統合]→[外部データソース]をクリックします。
  2. 「新規外部データソース」をクリックします。
  3. 次の値を入力してください。
    • 外部データソース:Salesforce ユーザインターフェースに表示するラベル
    • 名前:一意の識別子
    • 種別:"Salesforce Connect: OData 4.0" を選択。
    • URL:先ほど確認した、API Server のOData エンドポイントのURL を設定します。フォーマットは、https://your-server:your-port.rsc.

      です。

      プレーンテキストはテストのみに使用し、本番ではTSL の仕様を推奨します。

  4. 形式メニューでは、JSON を選択します。

  5. 認証セクションで、次のプロパティを設定してください。
    • ID 種別: 組織のすべてのメンバーが同じ認証情報でAPI Server にアクセスする場合には[指定ユーザー]を指定します。組織のメンバーがそれぞれの認証情報を使う場合には「ユーザ」を指定します。
    • 認証プロトコル: ベーシック認証には、「パスワード認証」を選択します。
    • 証明書: Salesforce からサーバーへの通信を暗号化し認証するには証明書を指定します。
    • ユーザ名: API Server に登録されたユーザー名。
    • パスワード: ユーザーのAuth トークン。
Configuration settings for the data source. (NetSuite is shown.)

HCL Domino オブジェクトの同期

外部オブジェクトを作成したら、次のステップでHCL Domino 外部オブジェクトのデータソース側の変更を反映させます。 HCL Domino テーブルの定義とHCL Domino 外部オブジェクトの定義を同期する必要があります。

  1. 作成した外部オブジェクトをクリックします。
  2. [検証して同期]をクリックします。
  3. 外部オブジェクトとして作業するHCL Domino テーブルを選択し、[同期]します。

Salesforce オブジェクトとしてHCL Domino のデータにアクセス

以上でHCL Domino を外部オブジェクトとして設定できたので、Salesforce の標準オブジェクトと同じようにアクセスできます。実際にアクセスしてみましょう。

  • フィルタリストビューで新しいタブを作成。

    A filtered list view shown on a custom tab. (NetSuite Invoices are shown.)
  • HCL Domino 外部オブジェクトの関連テーブルを標準セールスフォースオブジェクトのように表示。

    A related list that shows an indirect lookup relationship, which links a child external object to a parent standard object. (Salesforce accounts and associated NetSuite invoices are shown.)

トラブルシューティング

よくある接続時の問題を解決するためには、以下のチェックリストを確認してみてください。

  • サーバーがパブリックにアクセス可能なIP アドレスを持っていることを確認してください。関連して、オペレーティングシステム層でAPI Server が実行されているポートのファイアウォールが開いていることを確認する必要があります。アプリケーション層では、管理コンソールの設定 -> セキュリティタブで信頼できるIP アドレスを追加したことを確認してください。
  • 商業的な信頼されたCA からのSSL 証明書で保護された接続を使用していることを確認してください。Salesforce は現在、自己署名証明書や内部CA を受け付けていません。
  • API Server をホストしているサーバーがTLS 1.1 以上を使用していることを確認してください。.NET 版のAPI Server を使用している場合は、API Server の組み込みサーバーを使用してこれを実現できます。

    IIS を使用している場合、TLS 1.1 と 1.2 はサポートされていますが、デフォルトでは有効になっていません。これらのプロトコルを有効にするには、MSDN のハウツーMicrosoft のページを参照してください。

    Java 版を使用している場合、TLS 1.2 は Java 8 ではデフォルトで有効になっていますが、Java 6 または 7 ではそうではありません。これらの以前のバージョンを使用している場合は、Oracle のハウツーを参照してください。

おわりに

以上で、Salesforce の外部データソースとしてHCL Domino のデータに直接接続できるようになりました。

API Server のご利用について質問などありましたら、問い合わせフォームよりお気軽にご相談ください。

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

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ