Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド 11g リリース1(11.1.1.7) B55916-08 |
|
前 |
次 |
この章では、Oracle User Messaging Service (UMS)の機能およびアーキテクチャについて説明します。使用環境でのOracle UMSの構成および保護方法についても説明します。
この章では、次の項目について説明します。
Oracle User Messaging Serviceのチューニングとパフォーマンス・プロパティの詳細は、『Oracle Fusion Middlewareパフォーマンスおよびチューニング・ガイド』を参照してください。
Oracle User Messaging Serviceは、ユーザーとデプロイされたアプリケーション間での双方向通信を可能にします。主な機能は次のとおりです。
様々なメッセージング・チャネルに対するサポート: メッセージは、電子メール、インスタント・メッセージ(IM)(XMPP)、ショート・メッセージ・サービス(SMS)(SMPP)およびボイスを介して送受信できます。メッセージはユーザーのSOA/Oracle WebCenterポータル・ワークリストにも配信できます。
双方向メッセージング: アプリケーションからユーザーへのメッセージ送信(アウトバウンド・メッセージングとも呼ばれる)以外に、ユーザーは、メッセージングの相互作用(インバウンド・メッセージング)を開始できます。たとえば、ユーザーが特定のアドレスに電子メールまたはテキスト・メッセージを送信すると、そのメッセージは適切なアプリケーションにルーティングされ、次に、アプリケーションでは、ビジネス・ロジックに従ってユーザーに応答するか、または別のプロセスを起動します。
ユーザー・メッセージング・プリファレンス: エンド・ユーザーは、Webインタフェースを使用して、メッセージング通知の受信方法と受信時間に関するプリファレンスを定義できます。アプリケーションでは、ユーザーの電子メール・アドレスやIMクライアントへの送信を判断せずに、その柔軟性によって、単にメッセージをユーザーに送信し、その先のメッセージのルーティングをユーザーのプリファレンスに従ってUMSに任せます。
注意: ユーザー・メッセージング・プリファレンスのUIは、次の場所で入手できます。
ユーザー・メッセージング・プリファレンスのUIは、Oracle BPM Worklistにも組み込まれています。「プリファレンス」→「通知」の順に選択することによってアクセスできます。 |
強力なメッセージ配信: UMSは、メッセージング・ゲートウェイが提供する配信ステータス情報を継続して記録し、アプリケーションにこの情報を提供しているため、アプリケーションは失敗した配信に対応できます。また、アプリケーションでは、初期のアドレスへの配信が失敗した場合に備えて、メッセージに対して1つ以上のフェイルオーバー・アドレスを指定できます。UMSのフェイルオーバー機能を使用することで、アプリケーション開発者は、複雑な再試行ロジックの実装から解放されます。
Oracle Fusion Middleware内の広範な統合: UMSは、他のFusion Middlewareコンポーネントと統合して、単一の統合された双方向のユーザー・メッセージング・サービスを提供します。
Oracle BPEL Process Managerとの統合: Oracle JDeveloperには、メッセージング操作に対応した事前作成のBPELアクティビティが含まれています。開発者は、目的のアクティビティを任意のワークフローにドラッグ・アンド・ドロップして、メッセージング機能をSOAコンポジット・アプリケーションに追加できます。
ヒューマン・ワークフローとの統合: UMSによって、ヒューマン・ワークフロー・サービス・エンジンは、アクション可能なメッセージをユーザーに送信し、電子メールを介して返信を受信できるようになります。「ワークフロー通知プロパティ」ページのUMSを使用したヒューマン・ワークフローの構成の詳細は、第21.1項「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。
Oracle BAMとの統合: Oracle BAMでは、UMSを使用し、イベントの監視に対応した電子メール・アラートを送信します。
Oracle WebCenterポータルとの統合: 開発者は、Oracle WebCenterポータル: スペースに対するアプリケーションの作成に、UMS APIを使用できます。このAPIは、Parlay X Web Services for Multimedia Messagingのバージョン2.1(強力なメッセージングに対する標準のWebサービス・インタフェース)を実現したものです。
Oracle User Messaging Serviceを構成するコンポーネントには、次の3つのタイプがあります。これらのコンポーネントは標準のJava EEアプリケーションであるため、デプロイが容易であり、Oracle WebLogic Serverが提供する標準のツールを使用して管理できます。
UMSサーバー: UMSサーバーは、アプリケーションとユーザー間のメッセージ・フローを統合します。このサーバーは、アウトバウンド・メッセージをクライアント・アプリケーションから適切なドライバにルーティングし、インバウンド・メッセージを適切なクライアント・アプリケーションにルーティングします。また、このサーバーは、以前送信したメッセージのリポジトリを永続ストアで保守し、配信ステータスの情報を以前送信したメッセージに関連付けます。
UMSドライバ: UMSドライバは、UMSをメッセージング・ゲートウェイに接続し、UMSでサポートされている様々なプロトコルに対してコンテンツを適合させます。このドライバは、特定のインストールで使用できるメッセージング・チャネルに従って、相互に独立してデプロイまたはアンデプロイできます。
UMSクライアント・アプリケーション: UMSクライアント・アプリケーションは、メッセージの送受信に関するビジネス・ロジックを実装します。UMSクライアント・アプリケーションは、BPELワークフローの1手順としてメッセージを送信するSOAアプリケーション、またはWebインタフェースからメッセージを送信できるWebCenterポータル・スペース・アプリケーションの場合があります。
UMS自体を構成するコンポーネントに加え、メッセージング環境における他の主なエンティティは、各メッセージング・チャネルに必要な外部ゲートウェイです。これらのゲートウェイは、UMSまたはOracle WebLogic Serverの一部ではありません。UMSドライバは、広範に適合できるメッセージング・プロトコルをサポートしているため、企業の電子メール・サーバーやXMPP(Jabber)サーバーなどの既存のインフラストラクチャにUMSを統合できます。また、UMSは、SMPPをサポートするSMSサービスや、VoiceXMLをサポートする音声変換サービスの外部プロバイダに接続できます。
図27-1に、Oracle User Messaging Serviceのシステム・アーキテクチャを示します。
柔軟性を最大にするために、UMSの各コンポーネントは、それぞれが個別のJava EEアプリケーションです。このため、それらは相互に独立してデプロイおよび管理できます。たとえば、他のすべてのチャネルでのメッセージ配信に影響を与えずに、特定のドライバを停止して再構成できます。
UMSクライアント・アプリケーションとUMSサーバー間のデータ交換は、SOAP/HTTP WebサービスによるWebサービス・クライアントのリクエスト時に発生するか、リモートのEnterprise JavaBeans(EJB)とJMSによるBPELメッセージング・アクティビティのコールを介して発生します。UMSサーバーとUMSドライバ間のデータ交換は、JMSキューを介して発生します。
Oracle UMSのサーバーとドライバは、Oracle SOA SuiteまたはOracle BAMとともに、それぞれのOracle WebLogic Serverインスタンスにインストールされます。Oracle WebCenterポータルのインストールには、UMSクライアント・アプリケーションとして機能するために必要なライブラリが組み込まれ、SOAインスタンスにデプロイされているサーバーを起動します。
Oracle User Messaging Serviceによって、ユーザーは、Oracle JDeveloperを使用して開発し、Oracle WebLogic ServerにデプロイしたSOAアプリケーションから送信された通知を受信できます。
アプリケーション・レベルには、特定の配信チャネル(SMSまたは電子メールなど)に対する通知アクティビティがあります。たとえば、電子メール通知を送信するSOAアプリケーションを作成するときは、Oracle JDeveloperの「コンポーネント・パレット」からワークフロー内の適切な場所に、Emailアクティビティをドラッグ・アンド・ドロップします。アプリケーションでは、接続してから通知を送信します。
Oracle JDeveloperの詳細は、Oracle JDeveloperのドキュメントを参照してください。
ワークフロー参加者が通知を受信して転送できるようにするには、Oracle Enterprise Manager Fusion Middleware Controlを使用して、Oracle User Messaging Service環境を設定します。この環境を設定するには、ワークフロー・アプリケーションのデプロイ先と同じOracle WebLogic Serverに適切なドライバ・インスタンスを構成します(図27-2)。Oracle User Messaging Serviceには、電子メール、IM、SMSおよびボイスの各チャネルを介したメッセージングをサポートするドライバが含まれています。詳細は、第27.4項「ユーザー・メッセージング・サービス・ドライバの構成」を参照してください。
図27-2 Oracle Enterprise Manager Fusion Middleware Control
ワークフローの参加者が通知を受信するには、メッセージのアクセスに使用するデバイスをユーザー・メッセージング・プリファレンスを介して登録する必要があります(図27-3)。
Oracle Enterprise Manager Fusion Middleware Controlを使用して、Oracle User Messaging Serviceを構成します。
「サーバー・プロパティ」ページを使用して、メッセージング・サーバーのデプロイメント・タイプを設定し(つまり、ランタイム・データと管理データの保管方法を選択し)、メッセージ・フィルタの作成に使用するユーザー・メッセージング・プリファレンスのビジネス条件を追加(または削除)します。
「永続」(デフォルト)を選択すると、サーバーが再起動されたときに、エントリおよびメッセージング・ストアを永続化できます。一時モード(軽量なデプロイメントに推奨)では、メッセージング・サーバーは、再起動後にメッセージング・ストアに格納されたデータを保守しません。
「サーバー・プロパティ」ページを使用すると、ユーザー・メッセージ・プリファレンスでのメッセージ・フィルタの構築に使用するビジネス条件を追加または削除できます。ビジネス条件を使用したメッセージング・フィルタの作成の詳細は、第27.3.2.1項「ビジネス条件の追加」を参照してください。
注意: ビジネス条件は、サーバー・インスタンスごとに格納されます。複数のインスタンスがある場合(1つのクラスタ内にある場合も同様)は、新しいビジネス条件を各インスタンスに個別に追加する必要があります。 |
ユーザー・メッセージング・プリファレンスにビジネス条件を追加する手順は、次のとおりです。
「追加」をクリックします。
ビジネス条件の記述名を入力します。
データ型(文字列、数値または日付など)を選択します。
「適用」をクリックします。
Oracle User Messaging Serviceには、次のドライバが組み込まれています。
注意: クラスタ環境では、管理対象サーバー・ノードごとに別々のメッセージング・ドライバを使用する場合は、すべてのドライバを個別に構成する必要があります。 UMSメッセージング・ドライバはインスタンスごとに構成されます。1つのみ構成した場合、その構成値は他のクラスタ・ノード上のドライバに移入されません。 |
ドライバを構成する手順は、次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlコンソールに管理者としてログインします。
「Fusion Middleware」フォルダを開きます。
ユーザー・メッセージング・サービスのホーム・ページに移動します。
「usermessagingserver(soa_server1)」をクリックします。「関連ドライバ」ページが表示されます。
「ローカル」タブを選択して、UMSサーバー・インスタンスと関連付けられているドライバにアクセスします。これらのドライバは、正しく構成されているかどうかによって、UMSサーバーに登録されている場合と登録されていない場合があります。「すべて」タブには、ドメインにデプロイされており、かつ、すべてのUMSサーバー・インスタンスに登録されているドライバがすべてリストされます。
リスト内で電子メール・ドライバを検索し、その横にある「ドライバの構成」アイコンをクリックします。
構成ページが表示されます。
必要に応じて、「ドライバ固有の構成」セクションを展開し、ドライバのパラメータを構成します。詳細は、第27.4.1.1項「ドライバ・プロパティの概要」を参照してください。
Oracle User Messaging Serviceの各ドライバは、アウトバウンド・メッセージをルーティングする際にメッセージング・エンジンで使用する共通プロパティ(表27-1に記載)を共有しています。通常、管理者が設定するプロパティは、ドライバ・コスト(Cost)とドライバ速度(Speed)、サポートされている電話会社(SupportedCarriers)、サポートされているプロトコル(SupportedProtocols)などのサービスのクオリティ(QoS)に関するプロパティです。ドライバ開発者が構成するプロパティは、管理者が通常変更する必要のない、サポートされている配信タイプ(SupportedDeliveryTypes)、サポートされているコンテンツ・タイプ(SupportedContentTypes)などです。
注意: SendingQueuesInfoなどのプロパティは高度な使用を目的としており、高度なデプロイメント・トポロジに対してのみ変更が必要です。 |
表27-1 共通ドライバ・プロパティ
名前 | 説明 | 必須プロパティ? |
---|---|---|
Capability |
ドライバの機能をメッセージの送信にするかまたは受信にするかを設定します。値はSEND、RECEIVEおよびBOTHです。 |
はい |
Cost |
ドライバのコスト・レベル(0から10)。0は最も低いコスト、10は最も高いコストです。値がこの範囲にない場合、コストは0とみなされます。 |
いいえ |
DefaultSenderAddress |
送信者のデフォルトのアドレス。ドライバがこれらのアドレスを使用するのは、送信者のアドレスが特定されていないメッセージを送信する場合、あるいは特定の送信者のアドレスが送信者アドレス・リストになく、アプリケーションが提供する送信者アドレスの使用をドライバがサポートしていない場合です。 |
いいえ |
SenderAddresses |
ドライバがサポートしている送信者アドレスのリスト。ドライバによって提供された場合、メッセージング・エンジンは、このリストを使用してメッセージの送信者アドレスと照合し、そのドライバに送信メッセージをルーティングできます。 |
いいえ |
SendingQueuesInfo |
ドライバの送信キューに関する情報。 |
はい |
Speed |
ドライバの速度レベル(0から10。10が最高速)。 |
いいえ |
SupportedCarriers |
サポートされている電話会社のカンマ区切りのリスト。 |
いいえ |
SupportedContentTypes |
ドライバでサポートされているコンテンツ・タイプ。 |
はい |
SupportedDeliveryTypes |
ドライバでサポートされている配信タイプ。 |
はい |
SupportedProtocols |
サポートされているプロトコルのカンマ区切りのリスト。任意のプロトコルに対してアスタリスク(*)を入力します。 |
いいえ |
SupportedStatusTypes |
ドライバでサポートされているステータス・タイプ。 |
いいえ |
SupportsCancel |
メッセージの取消し操作をサポート。 |
いいえ |
SupportsReplace |
メッセージの置換操作をサポート。 |
いいえ |
SupportsStatusPolling |
特定のプロトコルについては、リモート・ゲートウェイのアクティブ・ポーリングを実行して、以前に送信したメッセージのステータスをチェックする必要があります。このプロパティは、ドライバでこのようなステータス・ポーリングがサポートされているかどうかを示します。trueに設定されている場合は、メッセージング・エンジンによって、ドライバ接続の |
いいえ |
SupportsTracking |
メッセージのトラッキング操作をサポート。 |
いいえ |
ドライバの重要なプロパティ(パスワード)は、Oracle Enterprise Manager Fusion Middleware Controlを使用して資格証明ストアに安全に格納できます。プロパティは「エンコード済資格証明」フラグでマークされ、カスタムの入力フォーム・フィールドがあります。
ドライバの重要なプロパティを安全に格納する手順は、次のとおりです。
選択したドライバのドライバ構成ページに移動します。
「ドライバ固有の構成」セクションで、「エンコード済資格証明」フラグが設定されているプロパティを検索します。
資格証明のタイプを選択します。(選択した資格証明のタイプに従って、ユーザー名またはパスワード(あるいはその両方)の入力が求められます。)次の3つのオプションがあります。
間接パスワード、新規のユーザーの作成(デフォルトのオプション): ユーザー名と実際のパスワードを指定し、このパスワードは、ユーザー名とともに資格証明ストアにキーの一部として格納されます。このキーと固定フォルダ(マップ名)は、ドライバ・デプロイメントのdriverconfig.xml
ファイルに格納されます。
間接パスワード、既存のユーザーの使用: (以前に保存したパスワードを参照するために)資格証明ストアにある既存のユーザー名/キーを選択します。
クリアテキスト・パスワードの使用: パスワードを指定し、driverconfig.xml
ファイルに直接保存します。
「適用」をクリックして変更を保存します。
ドライバ・アプリケーションまたはコンテナを再起動して、変更内容を有効にします。
パスワードは、ドライバ・デプロイメント・ディレクトリのdriverconfig.xml
ファイルで確認できます。間接パスワードの場合のフォーマットは、次のようになります。
value="->mapName:keyName" (mapName is the driver target name, and the key is <parameter_name>.<username>)
電子メール・ドライバのOutgoingPassword
プロパティに関するdriverconfig.xml
のサンプル入力を次に示します。
<Property value="-> /Farm_base_domain/base_domain/server_soa/usermessagingdriver-email: OutgoingPassword.ouser" encodedCredential="true" type="java.lang.String" mandatory="no" name="OutgoingPassword" description="oracle.sdp.messaging.EmailDriverConfig.outgoingPassword"/>
拡張ドライバは、任意の管理者定義チャネル(プロトコル)のサポートを有効にし、このようなチャネルの通知を管理者定義のWebサービス・リスナー・エンドポイントに配信することで、ユーザー・メッセージング・サービスのメッセージング機能を拡張します。
注意: このドライバのインスタンスはデプロイされますが、デフォルト・インストールではどのサーバーにもターゲット設定されていません。このドライバ・インスタンスを有効化するには、UMS ( |
EARファイルは、$oracle_home/communications/applications/sdpmessagingdriver-extension.ear
です。
これらは共通のドライバ・プロパティで、このドライバの機能を示しており、これらの機能は、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用されます。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。(sendingqueuesinfo
などの)一部のプロパティは、高度な使用を目的としており、高度なデプロイメント・トポロジに対してのみ変更が必要です。表27-2を参照してください。これらのプロパティと使用可能な値の詳細は、driverconfigpropertynames
のJavaDocを参照してください。
表27-2 拡張ドライバの共通プロパティ
名前 | 説明 | 必須? | デフォルト値 |
---|---|---|---|
InstanceName |
インスタンス名(内部使用のみ)。 |
はい |
Extension-Driver |
Capability |
メッセージの送受信機能。 |
はい |
SEND |
SupportedDeliveryTypes |
サポートされている配信タイプ。 |
はい |
URI |
SupportedContentTypes |
サポートされているコンテンツ・タイプ。 |
はい |
text/plain, text/html, text/xml |
SupportedStatusTypes |
サポートされているステータス・タイプ。 |
いいえ |
DELIVERY_TO_GATEWAY_SUCCESS, DELIVERY_TO_GATEWAY_FAILURE |
コスト。 |
コスト。 |
いいえ |
|
Speed |
速度。 |
いいえ |
|
SupportedCarriers |
サポートされている電話会社。 |
いいえ |
|
SupportedProtocols |
サポートされているプロトコル。 |
いいえ |
popup |
SupportsCancel |
メッセージの取消し操作をサポートします。 |
いいえ |
False |
SupportsReplace |
メッセージの置換操作をサポートします。 |
いいえ |
False |
SupportsTracking |
メッセージの追跡操作をサポートします。 |
いいえ |
False |
SupportsStatusPolling |
メッセージのステータス・ポーリング操作をサポートします。 |
いいえ |
False |
SenderAddresses |
送信者のアドレス。 |
いいえ |
|
DefaultSenderAddress |
デフォルトの送信者アドレス。 |
いいえ |
|
SendingQueuesInfo |
ドライバによるキュー情報の送信。 |
はい |
|
このドライバは、拡張エンドポイント・グループと呼ばれる複数の構成グループをサポートします。拡張エンドポイント・グループには、拡張通知を配信するリモート・エンドポイントの構成が保持されます。各エンドポイントには、それぞれ異なるプロトコルとマップされたドメインの組合せが必要です。拡張エンドポイント・グループのプロパティを表27-3に示します。
表27-3 拡張ドライバのカスタム・プロパティ
名前 | 説明 | 必須? |
---|---|---|
グループ名 |
この拡張エンドポイント構成グループの名前。 |
はい |
エンドポイントURL |
リモート・エンドポイント・リスナーURL。 |
はい |
マップされたドメイン |
受信者URIのドメイン部分がこの値と一致した場合に、メッセージの配信に使用される拡張エンドポイント。 |
いいえ |
プロトコル |
受信者URIのプロトコル(スキーム)部分がこの値と一致した場合に、メッセージの配信に使用される拡張エンドポイント。 |
はい |
セキュリティ・ポリシー |
このエンドポイントに適用されるWSセキュリティ・ポリシーのカンマ区切りのリスト。 |
いいえ |
ユーザー名 |
WSセキュリティ・ヘッダーを介して伝播されるユーザー名。 |
いいえ |
キーストア別名 |
WSセキュリティ・ポリシーの公開鍵の参照に使用するキーストア別名。 |
いいえ |
資格証明ストア・キー |
Oracle Web Services Managementの資格情報ストア・マップからWSセキュリティのユーザー名およびパスワードを検索するために使用するキー。 |
いいえ |
リモート拡張エンドポイントがWSセキュリティを使用して保護されている場合は、拡張ドライバの追加構成が必要です。2つの一般的なWSセキュリティ構成がサポートされています。拡張ドライバではSAMLトークンまたはユーザー名トークンのいずれかを使用できます。
拡張ドライバのセキュリティを使用する手順は、次のとおりです。
SAMLトークンを使用するには、「セキュリティ・ポリシー」構成プロパティに値oracle/wss11_saml_token_identity_switch_with_message_protection_client_policy
が含まれ、「キーストア別名」構成プロパティにリモート拡張エンドポイントで受け入れられる有効なキーストア・エントリの別名が含まれている必要があります。
ユーザー名トークンを使用するには、Security Policies構成プロパティに値oracle/wss11_username_token_with_message_protection_client_policy
が含まれ、「資格証明ストア・キー」構成プロパティにリモート拡張エンドポイントで受け入れられる有効な資格情報ストア・エントリの別名が含まれている必要があります。
WSセキュリティ・ポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。
表27-4は、次のメッセージ配信関連のプロパティに対するプロトコルまたはドライバの実装による影響を示しています。これらのプロパティは、クライアントAPIを介して指定されます。
拡張ドライバを使用する手順は、次のとおりです。
MessagingNotifyService
WSDL (umsnotify.wsdl
)を基に、Webサービス・リスナー・エンドポイントを実装およびデプロイします。
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://xmlns.oracle.com/ucs/messaging/extension" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="MessagingNotifyService" targetNamespace="http://xmlns.oracle.com/ucs/messaging/extension"> <wsdl:types> <xsd:schema targetNamespace="http://xmlns.oracle.com/ucs/messaging/extension"> <xsd:element name="notification"> <xsd:complexType> <xsd:sequence> <xsd:element name="messageId" type="xsd:string" minOccurs="0" maxOccurs="1"> <xsd:annotation> <xsd:documentation>Unique message identifier from User Messaging Service.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="sender" type="xsd:string"> <xsd:annotation> <xsd:documentation>The sender address.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="recipient" type="xsd:string"> <xsd:annotation> <xsd:documentation>The recipient address (typically username).</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="subject" type="xsd:string" minOccurs="0" maxOccurs="1"> <xsd:annotation> <xsd:documentation>The subject of the message, if available.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="contentType" type="xsd:string" default="text/plain"> <xsd:annotation> <xsd:documentation>The MIME type of the message. e.g. text/plain, text/html, text/xml.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="content" type="xsd:string"> <xsd:annotation> <xsd:documentation>The main body of the message. Textual content only (no binary content).</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="parameters" type="tns:parameter" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation>Additional key-value pairs. This interface does not define any specific key-value pair meanings. Use of such parameters is defined on a private basis by particular implementations of this interface. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="parameter"> <xsd:sequence> <xsd:element name="name" type="xsd:string"> <xsd:annotation> <xsd:documentation>Parameter name</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="value" type="xsd:string"> <xsd:annotation> <xsd:documentation>Parameter value</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="notificationResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="messageId" type="xsd:string" minOccurs="0" maxOccurs="1"> <xsd:annotation> <xsd:documentation>A message identifier returned in response to successfully accepting the message. If returned, the identifier should be unique. Note: A fault is raised if the message cannot be accepted.</xsd:documentation> </xsd:annotation></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="notificationFault"> <xsd:complexType> <xsd:sequence> <xsd:element name="code" type="xsd:string"/> <xsd:element name="message" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </wsdl:types> <wsdl:message name="notifyRequest"> <wsdl:part element="tns:notification" name="parameters" /> </wsdl:message> <wsdl:message name="notifyResponse"> <wsdl:part element="tns:notificationResponse" name="parameters"/> </wsdl:message> <wsdl:message name="notifyException"> <wsdl:part element="tns:notificationFault" name="parameters"/> </wsdl:message> <wsdl:portType name="Notify"> <wsdl:operation name="invoke"> <wsdl:input message="tns:notifyRequest"/> <wsdl:output message="tns:notifyResponse"/> <wsdl:fault message="tns:notifyException" name="NotifyException"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="NotifySOAPBinding" type="tns:Notify"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="invoke"> <soap:operation soapAction="http://www.oracle.com/ucs/messaging/extension" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> <wsdl:fault name="NotifyException"> <soap:fault name="NotifyException" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="NotifyService"> <wsdl:port binding="tns:NotifySOAPBinding" name="Notify"> <soap:address location="http://localhost:8001/NotifyService"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
拡張ドライバを構成します。
usermessagingdriver-extension
という事前デプロイ済の拡張ドライバまたは新しいデプロイメントを、UMS (usermessagingserver
)が稼働している適切なサーバーにターゲット設定して、ドライバを起動します。
Enterprise Manager Fusion Middleware Controlで、usermessagingserverのホーム・ページに移動します。
「ユーザー・メッセージング・サービス」→「ドライバ・プロパティ」の順にクリックします。
ドライバusermessagingdriver-extension
を選択して編集するか、新しいドライバ・デプロイメントと同じ名前で新しいドライバを作成します。
「ドライバ固有の構成」で、新しい拡張エンドポイント構成グループを追加し、適切なプロパティを指定します - EndpointURLは、ステップ1で作成したWebサービス・リスナー・エンドポイントへのURLです。Protocolは、通知サポートを追加する新しいメッセージング・チャネルの値(popupなど)です。
「共通構成」で、Supported Protocolsを、各拡張エンドポイント・グループに定義されているプロトコルのカンマ区切りのリストで更新します。
「OK」をクリックして、構成を保存します。
これで、拡張ドライバを使用したUMSでの新しいメッセージング・チャネル(プロトコル)の構成および統合は完了です。
この新しいチャネル(プロトコル)に通知を送信するには、URIアドレッシング形式を使用して、URI配信タイプに受信者を指定する必要があります。
URI:scheme:scheme-specific-address-value
ここで、scheme
はプロトコルです。URI配信タイプはオプションです。たとえば、拡張ドライバがプロトコルpopupをサポートするように構成されている場合、アプリケーションでpopup:john.doe@example.com
宛のメッセージを作成できます。
また、エンド・ユーザーは、ワークリスト/UMSプリファレンスUIで新しいチャネル・タイプの新しいメッセージング・チャネルを作成することによって、メッセージング・プリファレンスを宣言することもできます。ユーザー・プリファレンスは、アプリケーションがユーザーベースの通知(つまり、USER:username
の形式の受信者宛)を送信する場合にのみ適用されます。
注意: UMSと電子メール・サーバー間にセキュアな接続を実現するには、Oracle WebLogic Serverコンテナ内でSSL/TLSが適切に構成されていることが前提条件となります。『Oracle Fusion Middleware Oracle WebLogic Serverの保護』のSSLの構成に関する項を参照してください。 |
電子メール・ドライバは、メッセージの送受信両方を実行します(すなわち、デフォルトでcapabilityプロパティはbothに設定されています)。電子メール・ドライバはSMTPを通じてメッセージを送信し、メッセージの受信にはIMAPまたはPOP3のいずれかを使用します。
注意: 「ワークフロー通知プロパティ」ページのヒューマン・ワークフローを使用した電子メール・ドライバの構成の詳細は、第21.1項「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。 ヒューマン・ワークフロー通知の問題のトラブルシューティングの詳細は、表27-29「UMSのトラブルシューティング」を参照してください。 |
この項では、電子メール・ドライバの互換性機能について詳細に説明します。
電子メール・ドライバは、POP3、IMAP4およびSMTPの各プロトコルと互換性があります。
注意: 高可用性環境ではIMAPをプロトコルに指定することをお薦めします。 |
電子メール・ドライバの機能は、次のとおりです。
自動接続再試行
メッセージ送信にSMTPを使用
メッセージ受信にIMAP4およびPOP3を使用(ポーリングを使用)
スケーラブルおよび高可用性
メッセージ消失の防止および重複の回避
表27-5のゲートウェイ・ベンダーとバージョンが検証済です。
表27-6に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。sendingqueuesinfoなどの一部のプロパティは、高度な使用を目的としており、高度なデプロイメント・トポロジに対してのみ変更が必要となります。これらのプロパティと使用可能な値の詳細は、driverconfigpropertynames
のJavaDocを参照してください。
表27-6 共通の電子メール・プロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
InstanceName |
インスタンス名(内部使用のみ)。 |
はい |
Email-Driver |
Capability |
メッセージの送受信機能。 |
はい |
Both |
SupportedDeliveryTypes |
サポートされている配信タイプ。 |
はい |
電子メール |
SupportedContentTypes |
サポートされているコンテンツ・タイプ。 |
はい |
text/plain, text/html, multipart/mixed, multipart/alternative, multipart/related |
SupportedStatusTypes |
サポートされているステータス・タイプ。 |
いいえ |
DELIVERY_TO_GATEWAY_SUCCESS, DELIVERY_TO_GATEWAY_FAILURE, USER_REPLY_ACKNOWLEDGEMENT_SUCCESS, USER_REPLY_ACKNOWLEDGEMENT_FAILURE |
Cost |
コスト。 |
いいえ |
N/A |
Speed |
速度。 |
いいえ |
N/A |
SupportedCarriers |
サポートされている電話会社。 |
いいえ |
N/A |
Supported Protocols |
サポートされているプロトコル。 |
いいえ |
N/A |
SupportsCancel |
メッセージの取消し操作をサポートします。 |
いいえ |
False |
SupportsReplace |
メッセージの置換操作をサポートします。 |
いいえ |
False |
SupportsTracking |
メッセージの追跡操作をサポートします。 |
いいえ |
False |
SupportsStatusPolling |
メッセージのステータス・ポーリング操作をサポートします。 |
いいえ |
False |
SenderAddresses |
送信者のアドレス。 |
いいえ |
N/A |
DefaultSenderAddress |
デフォルトの送信者アドレス。 |
いいえ |
N/A |
SendingQueuesInfo |
ドライバによるキュー情報の送信。 |
はい |
OraSDPM/QueueConnectionFactory:OraSDPM/Queues/OraSDPMDriverDefSndQ1 |
表27-7に、このドライバに固有のプロパティを示します。これらは通常、リモート・ゲートウェイへのアクセス構成、および特定のプロトコルやチャネル固有の動作に関連します。
注意: 受信電子メールにUMSを使用する場合は、次のフィールドを構成する必要があります。
|
表27-7 カスタムの電子メール・プロパティ
名前 | 説明 | 必須? | デフォルト値 |
---|---|---|---|
* これらのフィールドは、受信電子メールにUMSを使用する場合のみ構成する必要があります。 |
|||
MailAccessProtocol |
電子メール受信プロトコル。設定可能な値はIMAPおよびPOP3です。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。 |
いいえ |
IMAP |
RetryLimit |
この値は、なんらかの理由で接続が失われた場合の受信メール・サーバーへの接続再試行回数を指定します。デフォルト値は-1で、試行回数に制限がないことを示します。 |
いいえ |
-1 |
MailDelFreq |
削除済メッセージを永続的に削除する頻度。単位は秒で、デフォルト値は600秒です。負の値は、メッセージを消去しないことを示します。POP3プロトコルの場合、メッセージは処理後に消去されます。 |
いいえ |
600 |
AutoDelete |
この値は、メッセージの処理後にドライバがメッセージに削除のマークを付けるかどうかを示します。デフォルトは「無効」です。POP3プロトコルの場合、メッセージは常に処理直後に削除されます。 |
いいえ |
無効 |
Debug |
この値は、ドライバがデバッグ・モードで実行されているかどうかを示します。有効になっている場合、電子メール・ドライバとメール・サーバー間のリクエストとレスポンスがJavaMailによってFusion Middleware Controlに出力されます。デフォルトは「無効」です。 |
いいえ |
無効 |
CheckMailFreq |
電子メール・サーバーからメッセージを取得する頻度。単位は秒で、デフォルト値は30秒です。 |
いいえ |
30 |
ReceiveFolder |
ドライバがメッセージをポーリングするフォルダの名前。デフォルト値はINBOXです。 |
いいえ |
INBOX |
OutgoingMailServer |
SMTPサーバーの名前。電子メールの送信が必要な場合のみ必須です。 |
いいえ |
N/A |
OutgoingMailServerPort |
SMTPサーバーのポート番号。通常は25です。 |
いいえ |
25 |
OutgoingMailServerSecurity |
SMTPサーバーで使用されるセキュリティ設定。設定可能な値は「なし」、「TLS」および「SSL」です。デフォルト値は「なし」です。 |
いいえ |
なし |
OutgoingDefaultFromAddr |
デフォルトの送信者アドレス(送信メッセージで指定されていない場合)。 |
いいえ |
N/A |
OutgoingUsername |
SMTP認証に使用するユーザー名。SMTP認証がSMTPサーバーでサポートされている場合のみ必要です。 |
いいえ |
N/A |
OutgoingPassword |
SMTP認証に使用するパスワード。SMTP認証がSMTPサーバーでサポートされている場合のみ必要です。パスワードのタイプ(「間接パスワード、新規のユーザーの作成」、「間接パスワード、既存のユーザーの使用」、「クリアテキスト・パスワードの使用」から選択)とパスワードが含まれています。 |
いいえ |
N/A |
IncomingMailServer |
受信メール・サーバーのホスト名。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。 |
いいえ* |
N/A |
IncomingMailServerPort |
IMAP4サーバーのポート番号(143または993)、またはPOP3サーバーのポート番号(110または995)。 |
いいえ* |
N/A |
IncomingMailServerSSL |
IMAP4またはPOP3サーバーへの接続時にSSLを有効にするかどうかを指定します。デフォルトは「無効」です。 |
いいえ* |
無効 |
IncomingMailIDs |
ユーザー名に対応する電子メール・アドレス。各電子メール・アドレスはカンマで区切られ、対応するユーザー名がユーザー名リストに表示されているとおりに、リスト内で同じ位置に配置されている必要があります。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。 |
いいえ* |
N/A |
IncomingUserIDs |
ドライバ・インスタンスがポーリングするメール・アカウントのユーザー名のリスト。各名前はカンマで区切られている必要があります(例: foo,bar)。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。 |
いいえ* |
N/A |
IncomingUserPasswords |
ユーザー名に対応するパスワードのリスト。各パスワードはカンマで区切られ、対応するユーザー名がユーザー名リストに表示されているとおりに、リスト内で同じ位置に配置されている必要があります。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。パスワードのタイプ(「間接パスワード、新規のユーザーの作成」、「間接パスワード、既存のユーザーの使用」、「クリアテキスト・パスワードの使用」から選択)とパスワードが含まれています。 |
いいえ* |
N/A |
ProcessingChunkSize |
メッセージ・ポーリングごとに処理されるメッセージ数。デフォルトは 100 です。 |
いいえ |
100 |
ImapAuthPlainDisable |
IMAPユーザー認証のプレーン・テキスト認証( |
いいえ |
無効。このプロパティが無効の場合は、プレーン・テキストが許可されることを意味します。 |
次に、メッセージ配信関連のプロパティを示します。これらのプロパティは、クライアントAPIを介して指定されます。表27-8は、これらのプロパティに対するプロトコルまたはドライバの実装による影響を示しています。
Short Message Peer-to-Peer(SMPP)は、一般的なGSM SMSプロトコルです。ユーザー・メッセージング・サービスには、事前作成のSMPPプロトコルの実装がドライバとして含まれています。このドライバは、ショート・メッセージを送受信できます。送信機能が有効な場合、SMPPドライバは送信用の送信ドライバとしてショート・メッセージ・サービス・センター(SMS-C)にTCP接続を開きます。ドライバの受信機能が有効な場合は、受信用の受信ドライバとしてSMS-Cに別の接続を開きます。ドライバとSMS-C間のすべての通信に必要なのは、2つのTCP接続(両方ともドライバが開始する)のみです。
注意: SMPPドライバは、SMPPプロトコルのバージョン3.4を実装し、このバージョンをサポートするSMS-CまたはSMSゲートウェイへの接続のみをサポートします。 |
この項では、SMPPドライバの互換性機能について詳細に説明します。
SMPPドライバは、SMPP v3.4プロトコルと互換性があります。
SMPPドライバの機能は、次のとおりです。
自動接続再試行
ファイアウォール・トラバースにHTTPプロキシを使用
認証構成
構成可能なチャンク・サイズ
一括送信
エンコーディング: UCS2、IA5、GSM_DEFAULT
優先度設定
構成可能なウィンドウ・サイズ
プレーン・テキスト・コンテンツのみを使用
表27-9のゲートウェイ・ベンダーが検証済です。
表27-10に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。SendingQueuesInfoなどの一部のプロパティは、高度な使用を目的としており、高度なデプロイメント・トポロジに対してのみ変更が必要です。これらのプロパティと使用可能な値の詳細は、DriverConfigPropertyNames
のJavaDocを参照してください。
表27-10 共通のSMPPプロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
InstanceName |
インスタンス名(内部使用のみ)。 |
はい |
SMPP-Driver |
Capability |
メッセージの送受信機能。 |
はい |
Both |
SupportedDeliveryTypes |
サポートされている配信タイプ。 |
はい |
SMS |
SupportedContentTypes |
サポートされているコンテンツ・タイプ。 |
はい |
text/plain |
SupportedStatusTypes |
サポートされているステータス・タイプ。 |
いいえ |
DELIVERY_TO_GATEWAY_SUCCESS, DELIVERY_TO_GATEWAY_FAILURE |
Cost |
コスト。 |
いいえ |
N/A |
Speed |
速度。 |
いいえ |
N/A |
SupportedCarriers |
サポートされている電話会社。 |
いいえ |
N/A |
Supported Protocols |
サポートされているプロトコル。 |
いいえ |
N/A |
SupportsCancel |
メッセージの取消し操作をサポートします。 |
いいえ |
False |
SupportsReplace |
メッセージの置換操作をサポートします。 |
いいえ |
False |
SupportsTracking |
メッセージの追跡操作をサポートします。 |
いいえ |
False |
SupportsStatusPolling |
メッセージのステータス・ポーリング操作をサポートします。 |
いいえ |
False |
SenderAddresses |
送信者のアドレス。 |
いいえ |
N/A |
DefaultSenderAddress |
デフォルトの送信者アドレス。 |
いいえ |
N/A |
SendingQueuesInfo |
ドライバによるキュー情報の送信。 |
はい |
OraSDPM/QueueConnectionFactory:OraSDPM/Queues/OraSDPMDriverDefSndQ1 |
表27-11に、このドライバに固有のプロパティを示します。これらは通常、リモート・ゲートウェイへのアクセス構成、および特定のプロトコルやチャネル固有の動作に関連します。
表27-11 カスタムのSMPPプロパティ
名前 | 説明 | 必須? | デフォルト値 |
---|---|---|---|
SmsAccountId |
SMS-CのアカウントID。 |
はい |
N/A |
SmsServerHost |
SMS-Cサーバーの名前(またはIPアドレス)。 |
はい |
N/A |
TransmitterSystemId |
メッセージの送信に使用するアカウントID。 |
はい |
N/A |
ReceiverSystemId |
メッセージの受信に使用するアカウントID。 |
はい |
N/A |
TransmitterSystemType |
送信側システムのタイプ。デフォルトはLogicaです。 |
はい |
デフォルト値はLogicaです。 |
ReceiverSystemType |
受信側システムのタイプ。デフォルトはLogicaです。 |
はい |
デフォルト値はLogicaです。 |
TransmitterSystemPassword |
送信側システムのパスワード。パスワードのタイプ(「間接パスワード、新規のユーザーの作成」、「間接パスワード、既存のユーザーの使用」、「クリアテキスト・パスワードの使用」から選択)とパスワードが含まれています。 |
はい |
N/A |
ReceiverSystemPassword |
受信側システムのパスワード。パスワードのタイプ(「間接パスワード、新規のユーザーの作成」、「間接パスワード、既存のユーザーの使用」、「クリアテキスト・パスワードの使用」から選択)とパスワードが含まれています。 |
はい |
N/A |
ServerTransmitterPort |
送信側サーバーのTCPポート番号。 |
はい |
N/A |
ServerReceiverPort |
受信側サーバーのTCPポート番号。 |
はい |
N/A |
DefaultEncoding |
SMPPドライバのデフォルトのエンコーディング。デフォルトはIA5です。ドロップダウン・リストから「IA5」、「UCS2」または「GSM_DEFAULT」を選択します。 |
いいえ |
IA5 |
EncodingAutoDetect |
有効になっている場合、SMPPドライバは自動的にエンコードします。デフォルトは「有効」です。 |
いいえ |
有効 |
LocalSendingPort |
SMPPドライバがSMS-Cへのメッセージの送信に使用するローカルTCPポート。 |
いいえ |
N/A |
LocalReceivingPort |
SMPPドライバがSMS-Cからのメッセージの受信に使用するローカルTCPポート。 |
いいえ |
N/A |
LocalAddress |
SMPPドライバをホスト管理するサーバーのホスト名(またはIPアドレス)。 |
いいえ |
N/A |
WindowSize |
SMSのウィンドウ・サイズ。値は正数である必要があります。デフォルトは1です。 |
いいえ |
1 |
EnquireInterval |
SMS-Cへの問合せメッセージの送信間隔(秒単位)。デフォルトは、30秒間です。 |
いいえ |
30 |
ThrottleDelay |
スロットル間の遅延(秒単位)。デフォルトは 30 です。 |
いいえ |
30 |
BindRetryDelay |
バインド・エントリの試行間の最小遅延(秒単位)。デフォルトは 30 です。 |
いいえ |
30 |
ResponseTimer |
SMPPリクエストとレスポンス間に許可された経過時間(秒単位)。デフォルトは30です。 |
いいえ |
30 |
RegisteredDeliveryMask |
登録済配信ビット・マスク。デフォルトは0xFFで、配信フラグ値を変更しません。 |
いいえ |
0xFF |
RangeSetNull |
trueに設定すると、BIND_RECEIVERのアドレス範囲フィールドがnullに設定されます。false(デフォルト値)に設定すると、アドレス範囲フィールドがSmsSystemIdに設定されます。デフォルトは「無効」です。 |
いいえ |
無効 |
PriorityAllowed |
SMPPドライバに許容されている最高優先度。範囲は0(標準)から3(最高)です。デフォルトは0です。 |
いいえ |
0 |
BulkSending |
この値を 「有効」 (デフォルト値)に設定すると、複数のメッセージをSMS-Cに対して一括送信できます。 |
No |
有効 |
PayloadSending |
このプロパティを有効にすると、SMPPドライバはSMS-Cにメッセージを送信する際、常にSMPP仕様で定義されている |
いいえ |
無効 |
SourceTon |
SMPP受信側セッションを経由して提供されるESMEアドレスの番号のタイプ(TON)。デフォルトは0です。 |
いいえ |
0 |
SourceNpi |
SMPP受信側セッションを経由して提供されるESMEアドレスの番号計画識別子(NPI)。デフォルトは0です。 |
いいえ |
0 |
DestinationTon |
宛先のTON。デフォルトは0です。 |
いいえ |
0 |
DestinationNpi |
宛先のNPI。デフォルトは0です。 |
いいえ |
0 |
ExtraErrorCode |
エラー・コードのカンマ区切りのリスト。 |
いいえ |
N/A |
MaxChunks |
1メッセージに対する最大SMSチャンク数。デフォルトは-1(最大値なし)です。 |
いいえ |
-1(最大値なし) |
ChunkSize |
各SMSメッセージ・チャンクのサイズ。デフォルトは160です。 |
いいえ |
160 |
LongMessageSending |
長いメッセージの送信をサポートします。デフォルトは「無効」です。 |
いいえ |
無効 |
DatagramMessageMode |
データグラム・メッセージ・モードをサポートします。デフォルトは「無効」です。 |
いいえ |
無効 |
次に、メッセージ配信関連のプロパティを示します。これらのプロパティは、クライアントAPIを介して指定されます。表27-12は、これらのプロパティに対するプロトコルまたはドライバの実装による影響を示しています。
XMPPドライバは、Extensible Messaging and Presence Protocol(XMPP)を介したリアルタイムIMの場合に、Oracle Fusion Middlewareからエンド・ユーザーへの一方向および双方向のアクセスを提供します。このドライバを使用すると、エンド・ユーザーは、選択したIMクライアントを介して、アラート通知を受信したり、複数のアプリケーションと相互にチャットできます。
XMPPは、IMおよびプレゼンスに対するXMLベースのオープン・プロトコルです。XMPPベースのソフトウェアは、インターネットを介して多数のサーバーにデプロイされており、世界中に何百万人ものユーザーがいます。XMPPは、ユビキタス電子メール・ネットワークに類似した、クライアント/サーバー・アーキテクチャで構成されています。XMPPサーバーは、完全に分散化されているため、誰でも自分のサーバーを設定できます。メッセージングは電子メール・ネットワーク内と同様に実行され、受信者のアドレスには[username]@domain[/resource]
という形式のXMPP ID(またはJabber ID、つまりJID)が使用されます。アドレッシング・スキームの詳細は、RFC 3920を参照してください。
XMPPネットワークでは、ユーザーは前述のXMPP IDによって識別されます(このIDは、通常、ユーザーが接続するXMPPサーバーのユーザー名とドメインで構成されています)。XMPPのエンド・ユーザーは、XMPPクライアントを使用してXMPPサーバーに接続して、インスタント・メッセージを他のXMPPユーザーに送信します。ただし、XMPPはIMに利用できる唯一のプロトコル・ネットワークではありません。XMPPには、拡張可能なモジュール型アーキテクチャがあります。これは固有のIMネットワークに統合され、XMPPユーザーは他のネットワーク上のユーザーと通信できるようになります。
UMSでXMPPドライバを使用するには、Jabber/XMPPサーバーへのアクセス権と、ログインに使用するUMS XMPPドライバ・インスタンスのXMPPアカウントが必要です。
この項では、XMPPドライバの互換性機能について詳細に説明します。
XMPPドライバは、XMPP(RFC 3920、3921)のプロトコルと互換性があります。
XMPPドライバの機能は次のとおりです。
自動接続再試行
ファイアウォール・トラバースにHTTPプロキシを使用
プレーン・テキスト・コンテンツのみを使用
表27-13のゲートウェイ・ベンダーとバージョンが検証済です。
XMPPドライバは、次のサード・パーティ・ソフトウェアを使用または必要とします(オプションで、独自のXMPPサーバーをインストールして構成することもできます)。
表27-14 必要なサード・パーティ・ソフトウェア
名前 | 説明 | バージョン |
---|---|---|
Apache Smack |
このドライバは、Apache Smack XMPP Javaライブラリを使用してJabber/XMPP IMサーバーに接続します。このドライバには、Smack(バージョン3.0.4)のライセンス・コピーが含まれています。 |
3.0.4 |
注意: 既存のサーバーへのアクセス権がある場合、独自のXMPPサーバーのインストールは不要です。パブリック・サーバーのリストについては、 |
EARファイルは、$ORACLE_HOME/communications/applications/sdpmessagingdriver-xmpp.ear
です。
表27-15に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。SendingQueuesInfoなどの一部のプロパティは、高度な使用を目的としており、高度なデプロイメント・トポロジに対してのみ変更が必要です。これらのプロパティと使用可能な値の詳細は、DriverConfigPropertyNames
のJavaDocを参照してください。
表27-15 共通のXMPPプロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
InstanceName |
インスタンス名(内部使用のみ)。 |
はい |
XMPP-IM-Driver |
Capability |
メッセージの送受信機能。 |
はい |
Both |
SupportedDeliveryTypes |
サポートされている配信タイプ。 |
はい |
IM |
SupportedContentTypes |
サポートされているコンテンツ・タイプ。 |
はい |
text/plain |
SupportedStatusTypes |
サポートされているステータス・タイプ。 |
いいえ |
DELIVERY_TO_GATEWAY_SUCCESS, DELIVERY_TO_GATEWAY_FAILURE |
Cost |
コスト。 |
いいえ |
N/A |
Speed |
速度。 |
いいえ |
N/A |
SupportedCarriers |
サポートされている電話会社。 |
いいえ |
N/A |
Supported Protocols |
サポートされているプロトコル。 |
いいえ |
N/A |
SupportsCancel |
メッセージの取消し操作をサポートします。 |
いいえ |
False |
SupportsReplace |
メッセージの置換操作をサポートします。 |
いいえ |
False |
SupportsTracking |
メッセージの追跡操作をサポートします。 |
いいえ |
False |
SupportsStatusPolling |
メッセージのステータス・ポーリング操作をサポートします。 |
いいえ |
False |
SenderAddresses |
送信者のアドレス。 |
いいえ |
N/A |
DefaultSenderAddress |
デフォルトの送信者アドレス。 |
いいえ |
N/A |
SendingQueuesInfo |
ドライバによるキュー情報の送信。 |
はい |
OraSDPM/QueueConnectionFactory:OraSDPM/Queues/OraSDPMDriverDefSndQ1 |
XMPPドライバには、表27-16に示すカスタム・プロパティが組み込まれています。
表27-16 カスタムのXMPPプロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
IMServerHost |
Jabber/XMPPサーバー・ホスト名。 |
いいえ |
N/A |
IMServerPort |
対応するJabber/XMPPサーバー・ポート。デフォルトは5222です。 |
はい |
5222 |
IMServerUsername |
ログインに使用するJabber/XMPPユーザー名。ドメイン名がJabber/XMPPサーバーのホスト名と異なる場合は、完全なJabber IDを入力することもできます(例: myUserNameまたはmyUserName@xmpp-domain)。 注意: このユーザー・アカウントが存在せず、サーバーでアカウントの登録がサポートされている場合は、ユーザー・アカウントの登録が試行されます。 |
いいえ |
N/A |
IMServerPassword |
上にリストされているユーザー名に対応するパスワード。パスワードのタイプ(「間接パスワード、新規のユーザーの作成」、「間接パスワード、既存のユーザーの使用」、「クリアテキスト・パスワードの使用」から選択)とパスワードが含まれています。 |
いいえ |
N/A |
SecurityMode |
サーバーへの接続時に使用するセキュリティ・モード。使用可能なオプションは、「なし」(セキュリティは無効になり、暗号化されていない接続のみ使用されます)、「TLS」(可能な場合にはTLS暗号化によるセキュリティが使用されます)、「SSL」(SSL暗号化によるセキュリティが使用されます)。デフォルトは「TLS」です。 |
いいえ |
TLS |
SASLAuthenticationEnabled |
サーバーへのログイン時にSASL認証を使用するかどうか。SASL認証に失敗した場合、ドライバは非SASL認証の使用を試行します。デフォルトではSASLが有効になります。 |
いいえ |
有効 |
次に、メッセージ配信関連のプロパティを示します。これらのプロパティは、クライアントAPIを介して指定されます。表27-17は、これらのプロパティに対するプロトコルまたはドライバの実装による影響を示しています。
VoiceXMLドライバは、VoiceXMLで作成されたメッセージを送信する、Genesys VoiceGenieゲートウェイのアウトバウンド・コール・プロトコルをサポートしています。ゲートウェイは、音声変換合成を使用してメッセージを配信します。
この項では、VoiceXMLドライバの互換性機能について詳細に説明します。
VoiceXMLドライバは、VoiceXML over HTTPプロトコル(VoiceGenieゲートウェイ・プロトコル)と互換性があります。
VoiceXMLドライバの機能は、次のとおりです。
VoiceXMLコンテンツのみを使用
表27-18のゲートウェイ・ベンダーとバージョンが検証済です。
表27-19に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。SendingQueuesInfoなどの一部のプロパティは、高度な使用を目的としており、高度なデプロイメント・トポロジに対してのみ変更が必要です。これらのプロパティと使用可能な値の詳細は、DriverConfigPropertyNames
のJavaDocを参照してください。
表27-19 共通のVoiceXMLプロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
InstanceName |
インスタンス名(内部使用のみ)。 |
はい |
VoiceXML-Driver |
Capability |
メッセージの送受信機能。 |
はい |
SEND |
SupportedDeliveryTypes |
サポートされている配信タイプ。 |
はい |
VOICE |
SupportedContentTypes |
サポートされているコンテンツ・タイプ。 |
はい |
text/vxml, text/x-vxml |
SupportedStatusTypes |
サポートされているステータス・タイプ。 |
いいえ |
DELIVERY_TO_GATEWAY_SUCCESS, DELIVERY_TO_GATEWAY_FAILURE |
Cost |
コスト。 |
いいえ |
N/A |
Speed |
速度。 |
いいえ |
N/A |
SupportedCarriers |
サポートされている電話会社。 |
いいえ |
N/A |
Supported Protocols |
サポートされているプロトコル。 |
いいえ |
N/A |
SupportsCancel |
メッセージの取消し操作をサポートします。 |
いいえ |
False |
SupportsReplace |
メッセージの置換操作をサポートします。 |
いいえ |
False |
SupportsTracking |
メッセージの追跡操作をサポートします。 |
いいえ |
False |
SupportsStatusPolling |
メッセージのステータス・ポーリング操作をサポートします。 |
いいえ |
False |
SenderAddresses |
送信者のアドレス。 |
いいえ |
N/A |
DefaultSenderAddress |
デフォルトの送信者アドレス。 |
いいえ |
N/A |
SendingQueuesInfo |
ドライバによるキュー情報の送信。 |
はい |
OraSDPM/QueueConnectionFactory:OraSDPM/Queues/OraSDPMDriverDefSndQ1 |
VoiceXMLドライバには、表27-20に示すカスタム・プロパティが組み込まれています。
表27-20 カスタムのVoiceXMLプロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
VoiceXMLOutboundServletURI |
VoiceXMLゲートウェイのURL。 |
はい |
N/A |
VoiceXMLOutboundServletUserName |
VoiceXMLゲートウェイのユーザー名。 |
いいえ |
N/A |
VoiceXMLOutboundServletPassword |
VoiceXMLゲートウェイのユーザーのパスワード。 |
いいえ |
N/A |
VoiceXMLOutboundServletDNIS |
受信者の呼出し側ID表示で表示される数字。 |
いいえ |
N/A |
VoiceXMLReceiveURL |
VoiceXMLゲートウェイからの受信リクエストを処理するこのドライバのサーブレットのURL。フォーマットは |
いいえ |
N/A |
注意: Oracle HTTP Server(OHS)が構成されているクラスタ(高可用性)環境では、OHSポートを使用してVoiceXMLドライバの受信URLを構成しないでください。OHSポートを使用してVoiceXMLドライバの受信URLを構成すると、ドライバと競合します。 各VoiceXMLドライバは、固有のWLSサーバーのポートで構成する必要があります。 |
次に、メッセージ配信関連のプロパティを示します。これらのプロパティは、クライアントAPIを介して指定されます。表27-21は、これらのプロパティに対するプロトコルまたはドライバの実装による影響を示しています。
ワークリスト・ドライバを使用すると、ユーザーのWebCenterポータル統合ワークリストへの統合のために、すべてのソースからの通知をワークリスト・タスクの形式でユーザーに送信できます。
注意: ワークリスト・メッセージ・タスクには、Oracle WebCenterポータルとOracle BPMワークリストの両方からアクセスできます。Oracle WebCenterは、ワークリスト・メッセージ・ドライバがメッセージを送信するBPEL接続を検索するように構成されています。Oracle BPMワークリストでは、これらのメッセージベースのタスクがワークリスト項目としても表示されます。 |
この統合は、ワークリスト・チャネル(配信タイプ)をアプリケーションとエンド・ユーザーに対して公開することによって達成されます。ユーザーのワークリスト・チャネルを介して送信されたメッセージは、ワークリスト・ドライバによって処理されます。
注意: ワークリスト・チャネルは、 |
ユーザー・メッセージング・サービスAPIのセマンティクスは、IMや電子メールなどの既存のチャネルのセマンティクスと同じです。このドライバが処理するのは、送信メッセージのみです。ドライバ・アプリケーション・アーカイブ(EAR)は、$ORACLE_HOME/communications/applications/sdpmessagingdriver-worklist.ear
にあります。
ワークリスト・ドライバは、Oracle WebLogicプラットフォームまたはIBM WebSphereプラットフォームにインストールできます。次に示すインストール手順から、適切な手順を選択してください。
メッセージング・ワークリストの機能を有効にするには、$ORACLE_HOME/common/templates/applications/oracle.ums.driver.worklist_template_11.1.1.jar
で入手できる拡張テンプレートを使用して、WebLogic SOAドメインを拡張する必要があります。
Oracle Fusion Middleware構成ウィザードを使用してSOAドメインを拡張する手順は、次のとおりです。
Oracle Fusion Middleware構成ウィザードを起動します($ORACLE_HOME/common/bin/config.sh
または%ORACLE_HOME%\common\bin\config.cmd
)。
「既存のWebLogicドメインの拡張」オプションを選択します。
目的のSOAドメイン・ディレクトリを選択します。
「既存の拡張テンプレートを使用してドメインを拡張する」オプションを選択します。
「参照」をクリックし、$ORACLE_HOME/common/templates/applications
に移動します。
「oracle.ums.driver.worklist_template_11.1.1.jar」を選択します。
Oracle Fusion Middleware構成ウィザードの残りのステップを完了し、SOAサーバーを再起動します。
注意: SOA管理対象サーバーがリモート・コンピュータ上にある場合の特別な考慮事項: インストールを完了するには、 |
メッセージング・ワークリストの機能を有効にするには、$ORACLE_HOME/common/templates/was/oracle.ums.driver.worklist_template_11.1.1.jar
で入手できる拡張テンプレートを使用して、WebSphere SOAセルを拡張する必要があります。
Oracle Fusion Middleware構成ウィザードを使用してSOAセルを拡張する手順は、次のとおりです。
値-DTemplateCatalog.enable.selectable.all=true
を指定して環境変数CONFIG_JVM_ARGS
を設定します。たとえば、LinuxのbashシェルではexportCONFIG_JVM_ARGS="-DTemplateCatalog.enable.selectable.all=true"
と設定します。
Windowsコマンド・プロンプトではset CONFIG_JVM_ARGS=-DTemplateCatalog.enable.selectable.all=true
と設定します。
Oracle Fusion Middleware構成ウィザードを起動します($ORACLE_HOME/common/bin/was_config.sh
または%ORACLE_HOME%\common\bin\was_config.cmd
)。
「既存のセルの選択と構成」をクリックします。
目的のSOAセルを選択し、「次へ」をクリックします。
「セルへの製品追加」画面でOracle User Messaging Serviceワークリスト・ドライバを選択し、「次へ」をクリックします。
Oracle Fusion Middleware構成ウィザードの残りのステップをデフォルト選択で完了し、SOAセルを再起動します。
表27-22に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。SendingQueuesInfo
などの一部のプロパティは、高度な使用を目的としており、高度なデプロイメント・トポロジに対してのみ変更が必要です。これらのプロパティと使用可能な値の詳細は、DriverConfigPropertyNames
のJavaDocを参照してください。
表27-22 共通のワークリスト・プロパティ
名前 | 説明 | 必須? | デフォルト値 |
---|---|---|---|
InstanceName |
インスタンス名(内部使用のみ)。 |
はい |
Worklist-Driver |
Capability |
メッセージの送受信機能。 |
はい |
SEND |
SupportedDeliveryTypes |
サポートされている配信タイプ。 |
はい |
WORKLIST |
SupportedContentTypes |
サポートされているコンテンツ・タイプ。 |
はい |
text/plain, text/html |
SupportedStatusTypes |
サポートされているステータス・タイプ。 |
いいえ |
DELIVERY_TO_GATEWAY_SUCCESS, DELIVERY_TO_GATEWAY_FAILURE |
コスト。 |
コスト。 |
いいえ |
N/A |
速度。 |
速度。 |
いいえ |
N/A |
サポートされている電話会社。 |
サポートされている電話会社。 |
いいえ |
N/A |
サポートされているプロトコル。 |
サポートされているプロトコル。 |
いいえ |
N/A |
SupportsCancel |
メッセージの取消し操作をサポートします。 |
いいえ |
False |
SupportsReplace |
メッセージの置換操作をサポートします。 |
いいえ |
False |
SupportsTracking |
メッセージの追跡操作をサポートします。 |
いいえ |
False |
SupportsStatusPolling |
メッセージのステータス・ポーリング操作をサポートします。 |
いいえ |
False |
SenderAddresses |
送信者のアドレス。 |
いいえ |
N/A |
DefaultSenderAddress |
デフォルトの送信者アドレス。 |
いいえ |
N/A |
SendingQueuesInfo |
ドライバによるキュー情報の送信。 |
はい |
OraSDPM/QueueConnectionFactory:OraSDPM/Queues/OraSDPMDriverDefSndQ1 |
表27-24は、次のメッセージ配信関連のプロパティに対するプロトコルまたはドライバの実装による影響を示しています。これらのプロパティは、クライアントAPIを介して指定されます。
プロキシ・ドライバは、イントラネットやインターネットの他の場所でホスト管理されるFusion Middlewareメッセージング・サーバーに対するメッセージングWebサービス・クライアントとして機能します。これは、SOAP over HTTP(Parlay X Multimedia Webサービス・プロトコル)を使用し、複数メッセージの送受信の他に、メッセージの配信ステータスも返します。ParlayX Webサービスは、UMSインスタンス間でメッセージをリレーします。これは、イントラネット内の複数インスタンスから、プロトコル固有のドライバをすべて備えた終了インスタンスにトラフィックをリレーできます。この場合のドライバは、SMSCなどの外部ゲートウェイまたはSMTPやIMAPなどのメール・サーバー用に構成されています。
表27-25に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。SendingQueuesInfoなどの一部のプロパティは、高度な使用を目的としており、高度なデプロイメント・トポロジに対してのみ変更が必要です。これらのプロパティと使用可能な値の詳細は、DriverConfigPropertyNames
のJavaDocを参照してください。
表27-25 共通のプロキシ・プロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
InstanceName |
インスタンス名(内部使用のみ)。 |
はい |
Proxy-Driver |
Capability |
メッセージの送受信機能。 |
はい |
SEND |
SupportedDeliveryTypes |
サポートされている配信タイプ。 |
はい |
EMAIL, SMS, VOICE, IM, WORKLIST |
SupportedContentTypes |
サポートされているコンテンツ・タイプ。 |
はい |
* |
SupportedStatusTypes |
サポートされているステータス・タイプ。 |
いいえ |
DELIVERY_TO_GATEWAY_SUCCESS, DELIVERY_TO_GATEWAY_FAILURE |
Cost |
コスト。 |
いいえ |
N/A |
Speed |
速度。 |
いいえ |
N/A |
SupportedCarriers |
サポートされている電話会社。 |
いいえ |
N/A |
Supported Protocols |
サポートされているプロトコル。 |
いいえ |
N/A |
SupportsCancel |
メッセージの取消し操作をサポートします。 |
いいえ |
False |
SupportsReplace |
メッセージの置換操作をサポートします。 |
いいえ |
False |
SupportsTracking |
メッセージの追跡操作をサポートします。 |
いいえ |
False |
SupportsStatusPolling |
メッセージのステータス・ポーリング操作をサポートします。 |
いいえ |
False |
SenderAddresses |
送信者のアドレス。 |
いいえ |
N/A |
DefaultSenderAddress |
デフォルトの送信者アドレス。 |
いいえ |
N/A |
SendingQueuesInfo |
ドライバによるキュー情報の送信。 |
はい |
OraSDPM/QueueConnectionFactory:OraSDPM/Queues/OraSDPMDriverDefSndQ1 |
プロキシ・ドライバには、表27-26に示すカスタム・プロパティが組み込まれています。
表27-26 カスタムのプロキシ・プロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
GatewayURL |
ホスト管理されている11g UMS Webサービス・ゲートウェイのURL。このURLのフォーマットは、次のとおりです。 http://<host>:<port>/sdpmessaging/parlayx/SendMessageService |
はい |
N/A |
ユーザー名 |
メッセージング・ゲートウェイのユーザー名。 |
いいえ |
N/A |
Password |
ユーザー名のパスワード。 |
いいえ |
N/A |
Policies |
プロキシ・ドライバ・リクエストにアタッチされる、Oracle Web Services ManagerのWSセキュリティ・ポリシーのカンマ区切りのリスト。 |
いいえ |
N/A |
次に、メッセージ配信関連のプロパティを示します。これらのプロパティは、クライアントAPIを介して指定されます。表27-27は、これらのプロパティに対するプロトコルまたはドライバの実装による影響を示しています。
SOAデプロイメントでのLDAPプロバイダの設定の一環として、WebLogic Server管理コンソールを介して「ユーザー名属性」を構成します。デフォルトのcn以外の値でこの属性を構成する場合、またはユーザーの電子メール・アドレスが「mail」とは異なるLDAP属性に格納されている場合、UMSがユーザー・プロファイルに正常にアクセスして、勤務先電子メールなど、LDAPでプロビジョニングされた通信チャネルのリストを取得するには、Oracle Platform Security Services (OPSS)で追加の構成変更を行う必要があります。
Oracle Platform Security Services (OPSS)の詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』を参照してください。
LDAPユーザー・プロファイルへのアクセスを構成する手順は、次のとおりです。
$DOMAIN_HOME/config/fmwconfig
ディレクトリのjps-config.xml
ファイルを変更して、idstore.ldap serviceInstance
セクションに<property>
要素を追加します。
バックエンドLDAPサーバー上のユーザー・プロファイルを検索する際に「ユーザー名属性」の値を使用するには、次の要素を追加します。
<property name=”username.attr” value=”username_attribute_value
”/>
ここで、username_attribute_value
は、LDAPプロバイダ構成の「ユーザー名属性」プロパティの値です。たとえば、「ユーザー名属性」の値がmail
の場合は、次の行を追加します。
<property name=”username.attr” value=”mail”/>
次のコード例は、jps-config.xml
ファイルに挿入された前述の行を示しています。
<!-- JPS WLS LDAP Identity Store Service Instance --> <serviceInstance name="idstore.ldap" provider="idstore.ldap.provider"> <property name="idstore.config.provider" value="oracle.security.jps.wls.internal.idstore.WlsLdapIdStoreConfigProvide r"/> <property name="CONNECTION_POOL_CLASS" value="oracle.security.idm.providers.stdldap.JNDIPool"/> <property name=”username.attr” value=”mail”/> </serviceInstance>
ユーザーの勤務先電子メール・アドレスを格納しているLDAP属性がmail
属性以外である場合は、次の要素を追加します。
<property name="PROPERTY_ATTRIBUTE_MAPPING" value="BUSINESS_EMAIL=attr_containing_email
"/>
ここで、attr_containing_email
は、ユーザーの電子メール・アドレスを格納しているLDAPプロバイダの属性名です。たとえば、電子メール・アドレスを格納しているユーザー属性がexternalEmail
の場合は、次の行を追加します。
<property name="PROPERTY_ATTRIBUTE_MAPPING" value="BUSINESS_EMAIL=externalEmail"/>
次のコード例は、jps-config.xml
ファイルに挿入された前述の行を示しています。
<!-- JPS WLS LDAP Identity Store Service Instance --> <serviceInstance name="idstore.ldap" provider="idstore.ldap.provider"> <property name="idstore.config.provider" value="oracle.security.jps.wls.internal.idstore.WlsLdapIdStoreConfigProvide r"/> <property name="CONNECTION_POOL_CLASS" value="oracle.security.idm.providers.stdldap.JNDIPool"/> <property name="PROPERTY_ATTRIBUTE_MAPPING" value="BUSINESS_ EMAIL=externalEmail"/> </serviceInstance>
注意: 同じセクションに他のプロパティが定義されている場合があります。 |
ドメインを再起動します。
ユーザー・メッセージング・プリファレンスのユーザー・インタフェースおよびParlay X Webサービスは、Secure Sockets Layer(SSL)を使用してトランスポート・レベルで保護できます。デフォルトでは、デプロイされるすべてのWebサービスは保護されていません。本番環境にデプロイされるすべてのサービスに対して、Webサービス・セキュリティを有効にする必要があります。
Oracle WebLogic ServerでSSLを有効にする方法は、『Oracle Fusion Middleware管理者ガイド』のOracle WebLogic ServerのSSLの構成に関する項を参照してください。この手順で、ユーザー・メッセージング・プリファレンスのユーザー・インタフェースを保護できます。
Parlay X Webサービスを保護する方法は、WebLogic Webサービスの保護のトランスポート・レベルのセキュリティの構成に関する項を参照してください。
UMSは、UMS Webサービスを保護するためのOracle Web Services ManagerのWSセキュリティ・ポリシーの使用をサポートしています。Oracle Web Services Managerの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のOracle Web Serviceのセキュリティ・ポリシーの使用に関する項を参照してください。
Webサービスの推奨セキュリティ構成では、Security Assertion Markup Language(SAML)トークンを使用して、Webサービス・クライアントとUMSの間でアイデンティティを受け渡します。SAMLトークンを使用する場合は、Webサービス・クライアントがユーザー名とパスワードをUMSに渡すかわりに、証明書の交換によってクライアントとUMSの間に信頼関係が確立されます。このキーストア構成が整うと、Webサービス・クライアントは、ユーザー・アイデンティティを渡すのみで、ユーザーを適切に認証していることを保証します。
UMS Webサービスで使用する推奨ポリシーは、次のとおりです。
oracle/wss11_saml_token_with_message_protection_service_policy(サーバー側)
oracle/wss11_saml_token_with_message_protection_client_policy(クライアント側)
oracle/wss11_saml_token_identity_switch_with_message_protection_client_policy(クライアント側)
注意: クライアント側ポリシーの選択は、アプリケーションによって実行されているセキュリティ・コンテキストに応じて異なります。
|
様々なWebサービスに、対応する通知Webサービス(MessageNotification
、PresenceNotification
)が含まれており、これらはクライアント側で実行され、適合するイベントの発生時に通知(メッセージ配信ステータス、メッセージ受信、プレゼンス・ステータスの変更)を受信します。
この実装には、クライアントの通知時にWebサービス・セキュリティ(WSセキュリティ)を使用する機能がデフォルトでは備わっていません。つまり、サーバーは、クライアント側で実行中の通知WebサービスはWSセキュリティを使用していないと想定しているため、通知の送信時に自己認証を試行しません。クライアント側でWSセキュリティを有効にした場合は、通知SOAPリクエストに必要なヘッダーがないため、サーバーからの通知が失敗します。
UMS Webサービスのポリシーを有効にするには、『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の管理コンソールでのOracle WSMセキュリティ・ポリシーの構成に関する項の手順に従って、ポリシーoracle/wss11_saml_token_with_message_protection_service_policy
を選択します。この構成は、保護するサービスごとに繰り返す必要があります。
Webサービス・クライアントのセキュリティは、プログラムで有効化する必要があります。Parlay Xメッセージング・クライアントAPIおよびクライアント・プロキシ・パッケージに関する項(『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』)に記載されているクライアント・ライブラリを使用すると、クライアント・オブジェクトの構築時にWSセキュリティ・ポリシー構成が提供されます。クライアント・コンストラクタは、Map<String, Object
タイプの引数を使用します。通常、SAML認証を使用する場合は、エンドポイント・アドレスなどの必須プロパティ以外に、キー/値のペア(表27-28)を構成マップに追加する必要があります。
表27-28 クライアント・セキュリティ・キー
キー | タイプ | 一般的な値 |
---|---|---|
oracle.sdp.parlayx.ParlayXConstants.POLICIES |
文字列[] |
oracle/wss11_saml_token_ with_message_protection_ client_policy |
javax.xml.ws.BindingProvider.USERNAME_PROPERTY |
文字列 |
(オプション) < 注意: |
oracle.wsm.security.util.SecurityConstants.Conf ig.KEYSTORE_RECIPIENT_ALIAS_PROPERTY |
文字列 |
(オプション)ターゲット・サービスのキーストア別名。「クライアント別名」を参照してください。 |
例27-1 Webサービス・クライアントのセキュリティ
import oracle.sdp.parlayx.multimedia_messaging.send.SendMessageClient ... Map<String, Object> config = new HashMap<String, Object>(); config.put(javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY, ums_url); config.put(oracle.sdp.parlayx.ParlayXConstants.POLICIES, new String[] {"oracle/wss11_saml_token_with_message_protection_client_policy"}); SendMessageClient sendClient = new SendMessageClient(config);
推奨WSセキュリティ・ポリシーを使用するには、OWSMに必要な公開鍵と秘密鍵の情報が含まれるキーストアを構成する必要があります。キーストアおよび対応する資格情報ストアのエントリを構成する方法は、『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のWLSTを使用した資格情報ストアの構成に関する項を参照してください。
Webサービス・クライアントとUMSサーバーの両方が同じドメインにある場合、これらはキーストアと資格証明ストアを共有します。
Webサービス・クライアントとUMSサーバーが異なるドメインにある場合は、UMS公開鍵をクライアント・ドメインのキーストアにインポートし、クライアント・ドメインの公開鍵をUMSキーストアにインポートする必要があります。
ここで推奨しているSAMLポリシーなど、特定のWSセキュリティ・ポリシーを使用する場合、クライアントは、サーバーの公開鍵を使用してWebサービス・リクエストを暗号化する必要があります。ただし、通常はドメインごとにキーストアを1つのみ構成します。したがって、複数の他のドメイン内のWebサービスと通信するWebサービス・クライアントがあるドメインの場合は、OWSMで使用するデフォルトのキーストア・エントリを上書きすることが必要になる場合があります。
たとえば、アプリケーション「A」がUMS Webサービスに対するWebサービス・クライアントで、アプリケーション「B」が別のドメイン内のWebサービスに対するWebサービス・クライアントであるドメインがあるとします。この場合、AのリクエストはUMSドメインの公開鍵を使用して暗号化する必要があり、Bのリクエストは他のドメインの公開鍵を使用して暗号化する必要があります。この目的を達成するには、OWSMで使用するキーストア別名をリクエストごとに上書きします。
たとえば、UMS公開鍵を別名"ums_public_key"でインポートし、他の公開鍵を別名"other_public_key"でインポートします。
UMS Webサービス・クライアントの作成時に、例27-2に示すように、キーをoracle.wsm.security.util.SecurityConstants.Config.KEYSTORE_RECIPIENT_ALIAS_PROPERTY
に設定し、値を"ums_public_key"に設定して受信キーストア別名パラメータを指定します。
例27-2 クライアント別名
import oracle.sdp.parlayx.multimedia_messaging.send.SendMessageClient ... Map<String, Object> config = new HashMap<String, Object>(); config.put(javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY, ums_url); config.put(oracle.sdp.parlayx.ParlayXConstants.POLICIES, new String[] {"oracle/wss11_saml_token_with_message_protection_client_policy"}); config.put(javax.xml.ws.BindingProvider.USERNAME_PROPERTY, "test.user1"); config.put(oracle.wsm.security.util.SecurityConstants.Config.KEYSTORE_RECIPIENT_ ALIAS_PROPERTY, "ums_public_key") SendMessageClient sendClient = new SendMessageClient(config);
同様に、他のWebサービス・クライアントでもキーストア別名を上書きする必要がありますが、正確なメカニズムは異なる場合があります。たとえば、JAX-WSクライアント・スタブを直接使用する場合は、上書きプロパティをJAX-WSリクエスト・コンテキストに追加できます。詳細は、『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のWebサービス・クライアントのポリシー構成の上書きに関する項を参照してください。
この(オプションの)手順では、セキュリティを向上させるために、管理者がOracle User Messaging ServiceのJMSリソース(キューなど)へのアクセスを制限できます。
注意: この項では、JMSリソースを保護するために従う手順を詳細に説明します。Oracle User Messaging Serviceの新規インストール(11g リリース1 11.1.1.3)から開始する場合は、次の手順に従ってください。 11g リリース1 11.1.1.3にアップグレードしない場合、この手順は使用しません。 以前のリリースで作成したドメインをアップグレードする場合に、最新のリリース・ノートの手順を完了していない場合は、先に進む前に、その手順を完了してください。 |
JMSシステム・リソースを保護するには、OracleSystemRoleロールを持つUMSJMSSystemResourceという名前で始まるすべてのJMSサブデプロイメントをロックします(複数サーバーまたはクラスタ・デプロイメントではUMSに対して複数の自動作成リソースがある場合があります)。この操作は、Oracle WebLogic Server管理コンソールを使用して行うか、または、次のようにWLSTスクリプトを実行できます($ORACLE_HOME/communications/bin/secure_jms_system_resource.py
で入手できます)。
$ORACLE_HOME/common/bin/wlst.sh $ORACLE_HOME/communications/bin/secure_jms_system_resource.py --username=<admin_username> --password=<password> --url=t3://<admin-host>:<admin-port> --jmsSystemResource <UMSJMSSystemResource> --role OracleSystemRole
例:
$ORACLE_HOME/common/bin/wlst.sh $ORACLE_HOME/communications/bin/secure_jms_system_resource.py --username=weblogic --password=<password> --url=t3://localhost:7001 --jmsSystemResource UMSJMSSystemResource --role OracleSystemRole
デフォルトでは、UMSシステムはJMSリソースにアクセスするためにユーザーOracleSystemUserとして実行されます。ユーザーOracleSystemUserが存在しない場合、または他のユーザーに付与されている他のロールを使用してUMS JMSリソースを保護する場合は、コンテナを起動するとき、次のJVMシステム・プロパティに別のユーザー名を指定することによって、UMSシステムで使用されるデフォルトのユーザー・アイデンティティを上書きする必要があります。
oracle.ums.system.user=<username>
たとえば、ユーザーがMySystemUserである場合は、-Doracle.ums.system.user=MySystemUser
のようにコマンドラインでJVMシステム・プロパティを渡すことができます。
ユーザー・メッセージング・サービスをデバッグするには、最初にサーバーの診断ログを確認します。ログには、例外、エラーまたは警告メッセージが含まれている場合があり、不正な動作に関する詳細とともに問題を修正するアクションが示されます。表27-29では、一般的なユーザー・メッセージング・サービスの問題をデバッグするための他の方法について説明します。
表27-29 UMSのトラブルシューティング
症状 | 考えられる原因 | 解決策 |
---|---|---|
通知がSOA内のBPELまたはヒューマン・ワークフローから送信されない場合 |
SOAワークフロー通知の構成で通知モードが「NONE」に設定されています。 |
Oracle Fusion Middleware Controlを使用して、通知モードの設定を「EMAIL」または「ALL」に変更します。 |
電子メール通知が送信されない場合 |
UMS電子メール・ドライバの送信(SMTP)メール・サーバーの設定が正しくありません。 |
Oracle Fusion Middleware Controlを使用して、UMS電子メール・ドライバの次の設定を確認します。
注意: SMTPサーバー接続用の電子メール・クライアントで、これらを使用して値を検証します。 |
SMTPサーバーに、認証またはセキュアな接続(TLSまたはSSL)が必要です。 |
Oracle Fusion Middleware Controlを使用して、UMS電子メール・ドライバの次の設定を確認します。
|
|
エラー・メッセージ: |
該当するチャネルに対するUMSドライバが特定のSenderAddressesリストで構成されていますが、アプリケーションが送信したメッセージに、一致しない送信者アドレスが設定されています。 注意: UMSサーバーは、アウトバウンド・メッセージの送信者アドレスを使用可能なドライバのSenderAddressesに対して照合(送信者アドレスが設定されている場合)して、メッセージの配信に使用する一致ドライバを検索します。ドライバに1つ以上のSenderAddressesが設定されている場合、UMSサーバーは、一致する送信者アドレスが含まれているメッセージのみをそのドライバに送信します。 |
|
電子メール・クライアントによる通知の受信に矛盾がある場合 |
UMS電子メール・ドライバの受信メール・サーバーの設定が、通知の送信先と同じ電子メール・アカウントで構成されています。 通知が同じアカウントに送信された場合、電子メール・クライアントが電子メールを表示できるようになる前に、UMS電子メール・ドライバが電子メールをダウンロードして処理する場合があります。 |
受信メール・サーバーの設定には排他的な電子メール・アカウントを使用してください。Oracle Fusion Middleware Controlを使用して、UMS電子メール・ドライバの次の設定を確認します。
|
SOAヒューマン・ワークフロー通知が送信されるが、アクション可能ではない場合 |
アクション可能な電子メール・アドレスがSOAワークフロー通知プロパティで構成されていません。 |
UMS電子メール・ドライバで構成された電子メール・アカウントのアドレスを使用して、SOAワークフロー通知プロパティでアクション可能な電子メール・アドレスを設定します。 |
ヒューマン・ワークフロー・タスクがアクション可能な通知を送信するように設定されていません。 |
JDeveloperでヒューマン・ワークフロー・タスクのアクション可能属性を設定し、SOAコンポジット・アプリケーションを再デプロイします。 |
|
SOAヒューマン・ワークフローのアクション可能な通知が送信されるが、応答後アクションが実行されない場合 |
UMS電子メール・ドライバの受信メール・サーバーの設定が正しくありません。 |
Oracle Fusion Middleware Controlを使用して、UMS電子メール・ドライバの次の設定を確認します。
注意: IMAPまたはPOP3サーバー接続用の電子メール・クライアントで、これらを使用して値を検証します。 |
メール・アクセス・プロトコルが正しくありません。 |
Oracle Fusion Middleware Controlを使用して、UMS電子メール・ドライバの次の設定を確認します。
|
|
電子メール・サーバーがSSL対応です。 |
Oracle Fusion Middleware Controlを使用して、UMS電子メール・ドライバの次の設定を確認します。
|
|
受信フォルダ名が正しくありません。 |
Oracle Fusion Middleware Controlを使用して、UMS電子メール・ドライバの次の設定を確認します。
注意: 一部の電子メール・サーバーでは、値INBOXをinboxまたはInbox(つまり大/小文字を区別)と記述する必要があります。電子メール・サーバーに応じて適切な値を使用してください。 |
|
デフォルト以外の電子メール・クライアントが通知受信用に構成されています。ユーザーが承認リンクをクリックすると、デフォルトのメール・クライアント・ページが開き、このページで別の電子メール・サーバーに電子メールを送信できます。 |
デフォルトの電子メール・クライアントを、アクション可能な通知を受信するように構成します。 |
|
SOA BPELユーザー通知またはヒューマン・ワークフロー通知が正しい配信タイプ(電子メール、SMSなど)に送信されるが、間違ったアドレスに送信される場合 |
ユーザー・メッセージング・プリファレンスで、ユーザーが、BPELユーザー通知またはヒューマン・ワークフロー・ユースケースで使用するために、セルフプロビジョニング・メッセージング・チャネルを作成しました。 注意: ユーザー・メッセージング・プリファレンスのUIを使用すると、エンド・ユーザーは様々なユースケースに対する独自のメッセージング・チャネルを作成できますが、これらはBPELユーザー通知およびヒューマン・ワークフローに使用することを目的としていません。 |
BPELユーザー通知またはヒューマン・ワークフロー・ユースケースには、セルフプロビジョニング・メッセージング・チャネルは使用しないでください(つまり、デフォルトのチャネルとして設定しないでください。また、このようなユースケースに対するメッセージ・フィルタで使用しないでください)。BPELユーザー通知およびヒューマン・ワークフローでは、配信タイプ・プリファレンスに対してのみユーザー・メッセージング・プリファレンスが使用され、実際のアドレスはアイデンティティ管理システムのユーザー・プロファイルから取得されます。 注意: アイデンティティ管理システムのユーザー・プロファイルからのアドレスは、事前定義のチャネル名(「勤務先電子メール」、「業務用携帯電話番号」、「勤務先電話番号」、「インスタント・メッセージ」など)を使用して、ユーザー・メッセージング・プリファレンスを介して使用可能です。BPELユーザー通知およびヒューマン・ワークフロー・ユースケースには、かわりにこれらの事前定義済メッセージング・チャネルを使用してください。 |