SOAP サービス向けのプロダクションの構成
この付録では、Web ポートを通じて HTTP および SOAP サービスを使用できるようにシステムを構成する方法を簡単に説明します。ここで紹介する情報は、これらのサービス用の開発システムやテスト・システムをセットアップするのに役立ちます。これらのトピックに関する包括的な情報は、ドキュメントに記載されています。詳細は、"Configuring System-Wide Settings" を参照してください。
InterSystems IRIS® の開発システムまたはテスト・システムを HTTP または SOAP サービス向けにセットアップするには、以下の手順を実行します。
-
InterSystems IRIS をロックダウンされたインストール環境にインストールした場合は、スタジオへのアクセスは無効になっています。管理ポータルを開いてスタジオへのアクセスを有効にします。
-
InterSystems IRIS ランチャーから管理ポータルを開始します。管理ポータルにアクセスするには、_system ではなく Windows のログイン・ユーザ名を使用する必要があります。インストール時に指定したパスワードを入力します。
-
[システム管理]、[セキュリティ]、[サービス] の順に選択して、[サービス] ポータル・ページを表示します。
-
デフォルトでは、[%Services_Bindings] サービスは無効になっています。このサービス名を選択し、[サービス有効] チェック・ボックスにチェックを付けて、設定を保存します。
-
-
既存のネームスペースを使用しない場合は、新しいネームスペースを作成します。
-
[システム管理]、[構成]、[システム構成]、[ネームスペース] の順に選択して、[ネームスペース] ポータル・ページを表示します。
-
[新規ネームスペース作成] ボタンをクリックして、ネームスペースの名前を指定します (例 : SERVICESNS)。
-
グローバル用データベースについて [新規データベース作成] ボタンをクリックします。
-
データベース・ウィザードで、グローバル用データベースの名前を入力します (例 : SERVICES_GDB)。ウィザードはこの名前を使用して、このデータベース用のディレクトリを作成します。
-
[次へ] ボタンを 2 回クリックして、[データベースリソース] フォームを表示します。[新規リソース作成] ラジオ・ボタンを選択します。ウィザードで [新規リソース作成] フォームが表示されます。表示されている名前 (%DB_SERVICES_GDB など) をそのまま使用して、[パブリック許可] の [読み込み] と [書き込み] というチェック・ボックスのチェックが外れていることを確認します。[データベースリソース] フォームの [保存] ボタンをクリックして、[データベースウィザード] フォームの [完了] ボタンをクリックします。
-
ルーチン用データベースについて手順 c から e を繰り返します。
-
[保存] ボタンをクリックして、ネームスペースの作成を完了します。
-
[閉じる] をクリックしてログを閉じます。
-
-
空のロールを作成して、このロールを不明ユーザに割り当てます。
-
[システム管理]、[セキュリティ]、[ロール] の順に選択して、[ロール] ポータル・ページを表示します。
-
[新規ロール作成] ボタンをクリックして、ロールに名前を付けて (例 : Services_Role)、[保存] ボタンをクリックします。
-
[メンバ] タブを選択して、[不明ユーザ] を選択して、右矢印をクリックして、[割り当てる] ボタンをクリックします。
-
-
Web ポートへの呼び出しを処理する Web アプリケーションを定義します。この Web アプリケーションの名前によって、サービスを呼び出す URL のルートが指定されます。単一の Web アプリケーションは複数のビジネス・サービスをサポートできますが、これらのビジネス・サービスはすべて、同じクラスを持っているか、その Web アプリケーションのディスパッチ・クラスのサブクラスを持っている必要があります。
-
[システム管理]、[セキュリティ]、[アプリケーション]、[Web アプリケーション] の順に選択して、[Web アプリケーション] ポータル・ページを表示します。[新規 Web アプリケーション作成] ボタンをクリックします。
-
この Web アプリケーションに名前を付けます (例 : /weatherapp や /math/sum)。名前の先頭には / (スラッシュ) を付加する必要があります。
-
[ネームスペース] で、当該プロダクションが実行されているネームスペースを指定します (例 : SERVICESNS)。[ネームスペースのデフォルト・アプリケーション] チェックボックスのチェックは外したままにします。
-
[アプリケーション]、[CSP/ZEN]、および [着信 Web サービス] の各チェック・ボックスにはチェックを付けてもかまいません。
-
[必須リソース] フィールドと [ID でグループ分け] フィールドは空白のままにします。
-
[許可された認証方法] 行の [認証なし] チェック・ボックスにチェックを付けます。
またはこれに代わる方法について、このリストの後のヒントを参照してください。
-
[ディスパッチ・クラス] でコンポーネント・クラスを指定します (例 : EnsLib.REST.GenericServiceOpens in a new tab や EnsLib.SOAP.GenericServiceOpens in a new tab)。
-
[保存] をクリックします。
-
[マッチングロール] タブを選択します。
-
[マッチングロールを選択:] フィールドで、前の手順で作成したロールを選択します。
-
[選択されたマッチングロールに対して追加するターゲットロールを選択] フィールドで、当該ネームスペースのグローバルとルーチンに関連付けられた 1 つまたは複数のロールを選択します。これらのグローバルとルーチンは、同じデータベース内にあっても別々のデータベース内にあってもかまいません。お使いのサービスが別の InterSystems IRIS データベースにアクセスする場合は、そのデータベースのロールも選択する必要があります。 複数のロールを選択するには、Ctrl キーを押しながら選択します。
Note:グローバル用データベースには、二次データベースおよび対応するロールも存在する場合があります (例 : %DB_GDBSECONDARY)。この二次データベースにはパスワードが保管されます。パススルー・サービスとパススルー・オペレーションのためにこのデータベースにアクセスする必要はありませんが、パスワード・アクセスを使用するカスタム Web サービスを作成する場合は、二次データベースのロールをターゲット・データベースに追加する必要もあります。
-
選択したロールがハイライト表示された状態で、右矢印をクリックしてこれらのロールを [選択済み] テキスト・ボックスに移動します。
-
[割り当てる] ボタンをクリックします。
-
これで、システム構成が完了しました。
ユーザを認証する場合は、以下の操作を行います。
-
EnsLib.SOAP.GenericServiceOpens in a new tab を拡張する新規クラスを作成します。
-
このクラスで、パラメータ SECURITYIN を ALLOW または REQUIRE に設定してオーバーライドします。
-
ビジネス・サービスの構成時に、この新規クラスを使用します。
-
サービスを呼び出す際に、WS-Security ユーザ名トークンを使用します。
-
Web アプリケーションの構成で、[認証なし] オプションをクリアします。