Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

ESB の構成

この章では、Ensemble システムを ESB として構成する方法を説明します。この章は以下の節で構成されています。

ESB としての Ensemble の構成の概要

この節では、Ensemble を ESB として構成するために必要なタスクの概要を示します。各タスクの詳細は、他の節で示しています。

パブリック・サービス・レジストリに対するロールとユーザの定義

レジストリ内の情報に誰もがアクセスできるように ESB を構成することも、個々のレジストリ・エントリによるアクセスを特定のアカウントに限定することもできます。

パブリック・サービス・レジストリの一部またはすべてのエントリへのアクセスが開かれるようにするには、以下の操作を行います。

  1. 以下のいずれかの操作を実行して、ロールを作成します。

    1. [システム管理][セキュリティ][ロール] の順に選択して、[ロール] ポータル・ページを表示します。

    2. [新規ロール作成] ボタンを選択して、ロールに名前を付け (例 : ServReg_Unauthenticated)、[保存] ボタンを選択します。

  2. 以下の操作を実行して、パブリック・サービス・レジストリ向けの Web アプリケーションを編集または作成します。

    1. [許可された認証方法][認証なし] チェックボックスにチェックを付けます。

    2. 前の手順で定義したロールを [アプリケーションロール] に追加します。

    追加の必要がある他のロールの追加の詳細は、“パブリック・サービス・レジストリ API への Web アプリケーションの構成” を参照してください。

  3. 認証されていないユーザがアクセスできるようにするパブリック・サービス・レジストリのエントリごとに、手順 1 で定義したロールを [必要なロール] フィールドに追加します。これは、[内部情報] 内のカンマ区切りのリストです。

認証なしのアクセスを許可するには、ロールの定義だけが必要で、ユーザを定義する必要はありません。

パブリック・サービス・レジストリのエントリへのアクセスを 1 人以上のユーザに制限するには、以下の操作を行います。

  1. 以下のいずれかの操作を実行して、ロールを作成します。

    1. [システム管理][セキュリティ][ロール] の順に選択して、[ロール] ポータル・ページを表示します。

    2. [新規ロール作成] ボタンを選択して、ロールに名前を付け (例 : ServReg_IDServices)、[保存] ボタンを選択します。

  2. 以下の操作を実行して、パブリック・サービス・レジストリに対して Web アプリケーションを編集または作成します。

    1. [許可された認証方法][パスワード] チェックボックスにチェックを付けます。

    2. 前の手順で定義したロールを [アプリケーションロール] に追加しないでください。

    追加の必要がある他のロールの追加の詳細は、“パブリック・サービス・レジストリ API への Web アプリケーションの構成” を参照してください。

  3. このロールを持つユーザがアクセスできるようにするパブリック・サービス・レジストリのエントリごとに、このロールを [許可されたロール] フィールドに追加します。これは、カンマ区切りのリストです。

  4. 以下のように、ユーザ・アカウントを作成または編集して、ロールをユーザに割り当てます。

    1. [システム管理][セキュリティ][ユーザ] の順に選択して、[ユーザ] ポータル・ページを表示します。

    2. [新規ユーザ作成] ボタンを選択して、ユーザに名前を付け、パスワードなどの関連フィールドに入力し、[保存] ボタンを選択するか、既存のユーザを選択して編集します。

    3. [ロール] タブで、作成したロールを 1 つまたは複数選択し、右矢印ボタンを選択して、[割り当てる] ボタンを選択します。

    パブリック・サービス・レジストリ REST API にアクセスするために、ユーザにその他のロールを割り当てる必要はありません。サービス自体にアクセスできるように、追加のロールの割り当てが必要な場合があります。

Note:

レジストリ・エントリへのアクセスの制限または許可は、そのレジストリ・エントリによって記述されるサービスへのアクセスの制限または許可とはまったく無関係です。サービス自体へのアクセスの制御は、そのサービスを起動する Web アプリケーションへのアクセスを制御するか、そのサービスでカスタム・コードを使用することによって実現できます。

パブリック・サービス・レジストリ REST API への Web アプリケーションの構成

この節では、パブリック・サービス・レジストリ REST API に Web アプリケーションを構成する方法を説明します。

  1. Ensemble の CSP ポートへの呼び出しを処理する Web アプリケーションを定義します。この Web アプリケーションの名前によって、サービスを呼び出す URL のルートが指定されます。単一の Web アプリケーションは複数のビジネス・サービスをサポートできますが、これらのビジネス・サービスはすべて、同じクラスを持っているか、その Web アプリケーションのディスパッチ・クラスのサブクラスを持っている必要があります。

    1. [システム管理][セキュリティ][アプリケーション][Web アプリケーション] の順に選択して、[Web アプリケーション] ポータル・ページを表示します。[新規 Web アプリケーション作成] ボタンを選択します。

    2. この Web アプリケーションに名前を付けます (例 : /services)。名前の先頭には / (スラッシュ) を付加する必要があります。名前の中のアルファベット文字はすべて小文字にする必要があります。

    3. [ネームスペース] で、当該サービス・レジストリが実行されているネームスペースを指定します (例 : SERVICESNS)。[ネームスペースのデフォルト・アプリケーション] チェックボックスのチェックは外したままにします。

    4. [アプリケーション]、[CSP/ZEN]、および [受信 Web サービス] の各チェックボックスにはチェックを付けてもかまいません。

    5. [必須リソース] フィールドと [ID でグループ分け] フィールドは空白のままにします。

    6. ログインするユーザがこのレジストリにアクセスできるようにするには、[許可された認証方法][パスワード] チェックボックスにチェックを付けます。ログオンなしにユーザがこのレジストリにアクセスできるようにするには、[認証なし] チェックボックスにチェックを付けます。

    7. [ディスパッチ・クラス] を Ens.ServiceRegistry.API.REST.QueryOpens in a new tab コンポーネント・クラスに設定します。

    8. [保存] を選択します。

    9. [アプリケーションロール] タブを選択します。

    10. [利用可能] ボックスで、以下のロールを選択します。

      • %EnsRole_RegistrySelect

      • ネームスペースのグローバル用データベースおよびルーチン用データベースに定義されているロール (例 : %DB_SERVICESNSG や %DB_SERVICESNSR)

      • ユーザがログインに使用するアカウントに関係なく、すべてのユーザがアクセスできるようにするパブリック・サービス・レジストリに定義されているロール。非認証アクセスを許可するよう Web アプリケーションを構成している場合は、これらのロールを少なくとも 1 つ指定する必要があります。

      複数のロールを選択するには、Ctrl キーを押しながら選択します。

    11. 選択したロールがハイライト表示された状態で、右矢印ボタンを選択してこれらのロールを [選択済み] テキスト・ボックスに移動します。

    12. [割り当てる] ボタンを選択します。

Note:

Web アプリケーションで非認証サービスと認証済みサービスの両方を許可する場合は、パスワードの入力が求められますが、パスワードを入力しないと、Web アプリケーションによって非認証アクセスが許可されます。

ESB ホストの構成での外部サービス・レジストリの使用

ESB プロダクションと外部サービス・レジストリが同じネームスペースにある場合、そのレジストリを使用して ESB ホストを構成できます。これによって、レジストリ内で外部サービスに関する情報を一元化できます。ほとんどの場合、このようなレジストリは、外部サービスにアクセスするビジネス・オペレーションのプロパティの設定に使用しますが、FTP サーバから受信メッセージを取得する FTP 受信アダプタに基づくサービスなどのビジネス・サービスにこのようなレジストリを使用することもできます。

外部サービス・レジストリを使用して、以下のいずれかのアダプタを実装するホストのプロパティを設定できます。

  • EnsLib.FTP.InboundAdapter

  • EnsLib.FTP.OutboundAdapter

  • EnsLib.File.InboundAdapter

  • EnsLib.File.OutboundAdapter

  • EnsLib.HTTP.OutboundAdapter

  • EnsLib.SOAP.OutboundAdapter

  • EnsLib.SQL.InboundAdapter

  • EnsLib.SQL.OutboundAdapter

  • EnsLib.TCP.OutboundAdapter

設定を外部サービス・レジストリから取得するようホストを構成するには、[外部レジストリ ID] フィールドでそのレジストリ・エントリのキー値を指定します。キー値は、サービスの名前、ドメイン、およびバージョンが、それぞれの要素を区切る || (2 本の縦棒) で連結されたものから成ります。例えば、名前が GetDaily、ドメインが Weather、バージョンが 1.0 の外部サービス・レジストリ・エントリからプロパティ値を取得するには、[外部レジストリ ID] プロパティを以下のように設定します。

GetDaily||Weather||1.0

次に、エンドポイント値を使用して、以下の各プロトコルにアダプタのプロパティを設定する方法を説明します。

  • HTTP および REST — エンドポイントで HTTPServer プロパティ、HTTPPort プロパティ、および URL プロパティが設定されます。例えば、エンドポイントが以下の場合

    http://newsrvcs.example.com:57781/csp/samples/docserver/namespaces

    ビジネス・オペレーションのプロパティは以下のように設定されます。

    HTTPServer : newsrvcs.example.com

    HTTPPort: 57781

    URL: /csp/samples/docserver/namespaces

    ビジネス・オペレーションがパススルー・ビジネス・オペレーションである場合、特殊文字 * (アスタリスク)、^ (曲折アクセント記号)、および | (縦棒) を使用して、受信 URL からエンドポイントを構築する方法を記述します。詳細は、“パススルー・ビジネス・オペレーションの構成” を参照してください。

  • FTP — エンドポイントで FTPServer プロパティ、FTPPort プロパティ、FilePath プロパティ、および SSLConfig プロパティが設定されます。例えば、エンドポイントが以下の場合

    ftp://newftp.example.com/filestore/docs/

    ビジネス・オペレーションのプロパティは以下のように設定されます。

    FTPServer: newftp.example.com

    FTPPort: 21

    FilePath: /filestore/docs/

    プロトコルが sftp:// である場合、SSLConfig は "!SFTP" に設定され、FTPPort は 22 に設定されます。

  • SQL — エンドポイントは、DSN プロパティの設定に使用されます。

  • SOAP — エンドポイントは、WebServiceURL プロパティの設定に使用されます。このため、EnsLib.SOAP.GenericOperationOpens in a new tab および EnsLib.SOAP.GenericOperationInProcOpens in a new tab パススルー・オペレーションは、SOAP オペレーションではなく HTTP オペレーションと見なされます。

  • File — エンドポイントは、FilePath プロパティの設定に使用されます。

  • TCP — エンドポイントは、IPAddress プロパティおよび Port プロパティの設定に使用されます。例えば、エンドポイントが以下の場合

    102.23.10.1:4500

    ビジネス・オペレーションのプロパティは以下のように設定されます。

    IPAddress: 102.23.10.1

    Port: 4500

  • HL7 および X12 — エンドポイント文字列の先頭で、基盤となる以下のプロトコルが指定されます。File、TCP、FTP、または HTTP。File および TCP の場合、解析の前にエンドポイントの文字列から file: および tcp: が削除されます。

外部サービス・レジストリ・エントリから取得したビジネス・オペレーションの設定によって、システムのデフォルト設定、プロダクション定義、およびビジネス・ホスト・クラス定義のいずれの設定も上書きされます。

FeedbackOpens in a new tab