この章では、Oracle User Messaging Service (UMS)の機能およびアーキテクチャについて説明します。使用環境でのOracle UMSの構成および保護方法についても説明します。
この章の内容は次のとおりです:
Oracle Enterprise Manager Fusion Middleware Controlを使用して、Oracle User Messaging Serviceを構成します。詳細は、Oracle User Messaging Serviceによるアプリケーションの開発を参照してください。
ユーザー・メッセージング・サービスでは、ユーザー・メッセージング・サーバーとUMSドライバを構成できます。12cでは、ドメイン・レベルでUMSサーバーの構成を定義しますが、これはクラスタ・レベルでオーバーライドできます。ドメイン内の複数のUMSインスタンスを個別に構成またはデプロイする必要がある場合は、UMSをクラスタ単位でデプロイし、クラスタごとに異なる構成を使用する必要があります。そのため、UMSではUMSサーバーとUMSドライバをドメイン全体およびクラスタ全体で構成できます。
ドメインがクラスタのみで構成されている場合(およびそのドメインにクラスタ化されていない管理対象サーバーが存在しない場合)は、クラスタ・レベルのみの構成の使用をお薦めします。また、UMSでは、特定のドライバ・タイプ(電子メール・ドライバなど)を異なるデプロイメント名で2回以上デプロイすることもできます。これにより、ドメイン内で特定のドライバ・タイプ(この場合は電子メール・ドライバ)の複数のインスタンスを異なる構成で使用できます。
ユーザー・メッセージング・サーバーの構成をクラスタ・レベルで定義する場合は、そのクラスタ名と次のすべてのプロパティを指定する必要があります。
表2-1 ユーザー・メッセージング・サーバーの構成プロパティ
名前 | 説明 | 必須 |
---|---|---|
AppReceivingQueuesInfo |
アプリケーションが受信メッセージをデキューするキューのデフォルト・セット。 |
はい |
DuplicateMessageRetryDelay |
メッセージが重複した場合に処理を保留するための遅延時間 |
はい |
EngineCommandQueuesInfo |
他のメッセージング・コンポーネントが送信したコマンド・メッセージをエンジンがデキューするキューのセット |
はい |
EnginePendingReceiveQueueInfo |
エンジンが保留メッセージをデキューするキュー。この値のフォーマットはJNDIQueueConnectionFactoryName:JNDIQueueNameです |
はい |
EngineReceivingQueuesInfo |
エンジンが受信メッセージをデキューするキューのセット |
はい |
EngineSendingQueuesInfo |
エンジンが送信メッセージをデキューするキューのセット |
はい |
JpsContextName |
アイデンティティ・ストア・サービス・インスタンスの取得時に使用するJava Platform Security (JPS)コンテキストの名前。値を空にするとJPSコンテキストに設定されます |
はい |
ReceivedmessageStatusEnabled |
受信メッセージ・ステータス・レポーティングの有効化 - falseの場合、クライアント・ライブラリは配信ステータスをエンジンに返しません |
はい |
ResendDefault |
配信失敗時の自動再送信のデフォルト回数。このプロパティはメッセージごとにプログラムでオーバーライドできます。 |
はい |
ResendDelay |
自動再送信間の遅延 |
はい |
ResendMax |
配信失敗時の自動再送信の最大回数 |
はい |
SecurityPrincipal |
デフォルトで使用されるシステム・ユーザー |
はい |
SessionTimeout |
ドライバまたはメッセージング・クライアント・アプリケーションによってセッション・フラグが設定されている場合、セッション・タイムアウトの前に待機する期間 |
はい |
SupportedDeliveryTypes |
このサーバーがサポートしている配信タイプのセット |
はい |
この項では、Oracle Enterprise Manager Fusion Middleware Controlを使用して次のOracle User Messagingドライバを構成する方法について説明します。
注意: または、WLSTコマンド |
注意: クラスタ環境では、管理対象サーバー・ノードごとに別々のメッセージング・ドライバを使用する場合は、すべてのドライバを個別に構成する必要があります。 UMSメッセージング・ドライバはドメイン全体で構成されます。ドメイン内の複数のUMSインスタンスを個別に構成またはデプロイする必要がある場合は、UMSをクラスタ単位でデプロイし、クラスタごとに異なる構成を使用できます。ドライバを1つのみ構成した場合、その構成値は他のクラスタ・ノード上のドライバに移入されません。 |
ドライバ構成ページには次のいずれかの場所から移動できます。
「ユーザー・メッセージング・サービス」ホーム・ページの「関連ドライバ」表
「ユーザー・メッセージング・サービス」ホーム・ページの「ドライバ・プロパティ」メニュー
「ターゲット・ナビゲーション」ペインのドライバ・ターゲットの「ドライバ・プロパティ」メニュー
ドライバを構成する手順は、次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlコンソールに管理者としてログインします。
ユーザー・メッセージング・サービスのホーム・ページに移動します。
「usermessagingserver(AdminServer)」をクリックします。「関連ドライバ」ページが表示されます。
「ローカル」タブを選択して、UMSサーバー・インスタンスと関連付けられているドライバにアクセスします。これらのドライバは、正しく構成されているかどうかによって、UMSサーバーに登録されている場合と登録されていない場合があります。「すべて」タブには、ドメインにデプロイされており、かつ、すべてのUMSサーバー・インスタンスに登録されているドライバがすべてリストされます。
リストからドライバ(電子メール・ドライバなど)を選択し、そのドライバの「ドライバの構成」アイコンをクリックします。
構成ページが表示されます。
必要に応じて、「ドライバ固有の構成」セクションを展開し、ドライバのパラメータを構成します。詳細は、第2.3.1.1項「ドライバ・プロパティの概要」を参照してください。
Oracle User Messaging Serviceのドライバは、アウトバウンド・メッセージをルーティングする際にメッセージング・エンジンで使用される共通プロパティ(表2-2に記載)を共有します。通常、管理者が設定するプロパティは、ドライバ・コスト(Cost)とドライバ速度(Speed)、サポートされている電話会社(SupportedCarriers)、構成レベル、サポートされているプロトコル(SupportedProtocols)などのサービスのクオリティ(QoS)に関するプロパティです。ドライバ開発者が構成するプロパティは、管理者が通常変更する必要のない、サポートされている配信タイプ(SupportedDeliveryTypes)、サポートされているコンテンツ・タイプ(SupportedContentTypes)などです。
表2-2 ドライバの共通プロパティ
名前 | 説明 | 必須プロパティ? |
---|---|---|
Capability |
ドライバの機能をメッセージの送信にするかまたは受信にするかを設定します。値はSEND、RECEIVEおよびBOTHです。 |
はい |
Cost |
ドライバのコスト・レベル(0から10)。0は最も低いコスト、10は最も高いコストです。値がこの範囲にない場合、コストは0とみなされます。 |
いいえ |
DefaultSenderAddress |
ドライバがサポートする特定のDeliveryTypeの送信者アドレスがUMSメッセージで指定されていない場合、ドライバがDefaultSenderAddressを送信者のアドレスとして使用することがあります。 |
いいえ |
SenderAddresses |
ドライバで処理するように構成されている送信者アドレスのリスト。SenderAdressesが指定されているドライバは、送信メッセージの送信者アドレスが一致する場合にのみ選択されます。SenderAdressesが指定されていないドライバは、メッセージの送信者アドレスに関係なく、すべての送信メッセージを処理できるとみなされます。リストは、カンマ区切りのUMSアドレスで構成する必要があります(例: |
いいえ |
Speed |
ドライバの速度レベル(0から10。10が最高速)。 |
いいえ |
SupportedCarriers |
サポートされている電話会社のカンマ区切りのリスト。 |
いいえ |
構成レベル |
ドメイン・レベルまたは選択したクラスタに対してクラスタ・レベルでドライバ構成を有効にします。「クラスタ」レベルを選択した場合は、クラスタ名を指定する必要があります。ドメインにクラスタがない場合は、「クラスタ」レベルの選択が無効になります。 |
はい |
SupportedContentTypes |
ドライバでサポートされているコンテンツ・タイプ。 |
はい |
SupportedDeliveryTypes |
ドライバでサポートされている配信タイプ。 |
はい |
SupportedProtocols |
サポートされているプロトコルのカンマ区切りのリスト。任意のプロトコルに対してアスタリスク(*)を入力します。 |
いいえ |
SupportedStatusTypes |
ドライバでサポートされているステータス・タイプ。 |
いいえ |
SupportsCancel |
メッセージの取消し操作をサポート。 |
いいえ |
SupportsReplace |
メッセージの置換操作をサポート。 |
いいえ |
SupportsStatusPolling |
特定のプロトコルについては、リモート・ゲートウェイのアクティブ・ポーリングを実行して、以前に送信したメッセージのステータスをチェックする必要があります。このプロパティは、ドライバでこのようなステータス・ポーリングがサポートされているかどうかを示します。trueに設定されている場合は、メッセージング・エンジンによって、ドライバ接続の |
いいえ |
SupportsTracking |
メッセージのトラッキング操作をサポート。 |
いいえ |
注意: UMS 12cでは次のドライバ・プロパティをサポートしていません。
これらのプロパティはEMのドライバ構成ページに表示されますが、構成は無効になっています。 |
ドライバの重要なプロパティ(パスワード)は、Oracle Enterprise Manager Fusion Middleware Controlを使用して資格証明ストアに安全に格納できます。プロパティは「エンコード済資格証明」フラグでマークされ、カスタムの入力フォーム・フィールドがあります。
ドライバの重要なプロパティを安全に格納する手順は、次のとおりです。
選択したドライバのドライバ構成ページに移動します。
「ドライバ固有の構成」セクションで、「エンコード済資格証明」フラグが設定されているプロパティを検索します。
資格証明のタイプを選択します。(選択した資格証明のタイプに従って、ユーザー名またはパスワード(あるいはその両方)の入力が求められます。)次の3つのオプションがあります。
間接パスワード、新規のユーザーの作成(デフォルトのオプション): ユーザー名と実際のパスワードを指定し、このパスワードは、ユーザー名とともに資格証明ストアにキーの一部として格納されます。このキーと固定フォルダ(マップ名)は、ドライバ・デプロイメントのファイルに格納されます。
間接パスワード、既存のユーザーの使用: (以前に保存したパスワードを参照するために)資格証明ストアにある既存のユーザー名/キーを選択します。
クリアテキスト・パスワードの使用: パスワードを指定し、ドライバ・デプロイメント・ファイルに直接保存します。
「適用」をクリックして変更を保存します。
ドライバ・アプリケーションまたはコンテナを再起動して、変更内容を有効にします。
パスワードは、ドライバ・デプロイメント・ディレクトリのファイルで確認できます。間接パスワードの場合のフォーマットは、次のようになります。
value="->mapName:keyName" (mapName can be any name of the user's choice, and the key is <parameter_name>.<username>)
拡張ドライバは、任意の管理者定義チャネル(プロトコル)のサポートを有効にし、このようなチャネルの通知を管理者定義のWebサービス・リスナー・エンドポイントに配信することで、ユーザー・メッセージング・サービスのメッセージング機能を拡張します。
注意: このドライバのインスタンスはデプロイされますが、デフォルトではどのサーバーにもターゲット設定されていません。このドライバ・インスタンスを有効化するには、UMS ( |
これらは共通のドライバ・プロパティで、このドライバの機能を示しており、これらの機能は、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用されます。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。表2-3を参照してください。これらのプロパティと使用可能な値の詳細は、ユーザー・メッセージング・サービスJava APIリファレンスのdriverconfigpropertynames
を参照してください。
表2-3 拡張ドライバの共通プロパティ
名前 | 説明 | 必須? | デフォルト値 |
---|---|---|---|
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 |
デフォルトの送信者アドレス |
いいえ |
このドライバは、拡張エンドポイント・グループと呼ばれる複数の構成グループをサポートします。拡張エンドポイント・グループには、拡張通知を配信するリモート・エンドポイントの構成が保持されます。各エンドポイントには、それぞれ異なるプロトコルとマップされたドメインの組合せが必要です。拡張エンドポイント・グループのプロパティを表2-4に示します。
表2-4 拡張ドライバのカスタム・プロパティ
名前 | 説明 | 必須? |
---|---|---|
グループ名 |
この拡張エンドポイント構成グループの名前。 |
はい |
エンドポイントURL |
リモート・エンドポイント・リスナーURL。 |
はい |
マップされたドメイン |
受信者URIのドメイン部分がこの値と一致した場合に、メッセージの配信に使用される拡張エンドポイント。 |
いいえ |
プロトコル |
受信者URIのプロトコル(スキーム)部分がこの値と一致した場合に、メッセージの配信に使用される拡張エンドポイント。 |
はい |
セキュリティ・ポリシー |
このエンドポイントに適用されるWS-Securityポリシーのカンマ区切りのリスト。 |
いいえ |
ユーザー名 |
WS-Securityヘッダーを介して伝播されるユーザー名。 |
いいえ |
キーストア別名 |
WS-Securityポリシーの公開鍵の参照に使用するキーストア別名。 |
いいえ |
資格証明ストア・キー |
Oracle Web Services Managementの資格情報ストア・マップからWS-Securityのユーザー名およびパスワードを検索するために使用するキー。 |
いいえ |
リモート拡張エンドポイントがWS-Securityを使用して保護されている場合は、拡張ドライバの追加構成が必要です。2つの一般的なWS-Security構成がサポートされています。拡張ドライバでは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-Securityポリシーの使用およびOWSMの構成の詳細は、『Oracle Fusion Middleware Webサービスの管理』を参照してください。
表2-5は、次のメッセージ配信関連のプロパティに対するプロトコルまたはドライバの実装による影響を示しています。これらのプロパティは、クライアント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は、通知サポートを追加する新しいメッセージング・チャネルの値(myProtocolなど)です。
「共通構成」で、Supported Protocolsを、各拡張エンドポイント・グループに定義されているプロトコルのカンマ区切りのリストで更新します。
「OK」をクリックして、構成を保存します。
これで、拡張ドライバを使用したUMSでの新しいメッセージング・チャネル(プロトコル)の構成および統合は完了です。
この新しいチャネル(プロトコル)に通知を送信するには、URIアドレッシング形式を使用して、URI配信タイプに受信者を指定する必要があります。
URI:scheme:scheme-specific-address-value
ここで、scheme
はプロトコルです。URI配信タイプはオプションです。たとえば、拡張ドライバがプロトコルmyProtocolをサポートするように構成されている場合、アプリケーションでmyProtocol:john.doe@example.com
宛のメッセージを作成できます。
また、エンド・ユーザーは、「ユーザー通信プリファレンス」UIで新しいチャネル・タイプの新しいメッセージング・チャネルを作成することによって、メッセージング・プリファレンスを宣言することもできます。ユーザー・プリファレンスは、アプリケーションがユーザーベースの通知(つまり、USER:username
の形式の受信者宛)を送信する場合にのみ適用されることに注意してください。
注意: UMSと電子メール・サーバー間にセキュアな接続を実現するには、Oracle WebLogic Serverコンテナ内でSSL/TLSが適切に構成されていることが前提条件となります。『Oracle Fusion Middleware Oracle WebLogic Serverの保護』のSSLの構成に関する項を参照してください。 |
電子メール・ドライバは、メッセージの送受信両方を実行します(すなわち、デフォルトでcapabilityプロパティはbothに設定されています)。電子メール・ドライバはSMTPを通じてメッセージを送信し、メッセージの受信にはIMAPまたはPOP3のいずれかを使用します。
この項では、電子メール・ドライバの互換性機能について詳細に説明します。
電子メール・ドライバは、POP3、IMAP4およびSMTPの各プロトコルと互換性があります。
電子メール・ドライバの機能は、次のとおりです。
自動接続再試行
メッセージ送信にSMTPを使用
メッセージ受信にIMAP4およびPOP3を使用(ポーリングを使用)
スケーラブルおよび高可用性
メッセージ消失の防止および重複の回避
表2-6のゲートウェイ・ベンダーとバージョンが検証済です。
表2-7に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。これらのプロパティと使用可能な値の詳細は、ユーザー・メッセージング・サービスJava APIリファレンスの「driverconfigpropertynames」を参照してください。
表2-7 共通の電子メール・プロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
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 |
表2-8に、このドライバに固有のプロパティを示します。これらは通常、リモート・ゲートウェイへのアクセス構成、および特定のプロトコルやチャネル固有の動作に関連します。
表2-8 カスタムの電子メール・プロパティ
名前 | 説明 | 必須? | デフォルト値 |
---|---|---|---|
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を介して指定されます。表2-9は、これらのプロパティに対するプロトコルまたはドライバの実装による影響を示しています。
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
優先度設定
構成可能なウィンドウ・サイズ
プレーン・テキスト・コンテンツのみを使用
表2-10のゲートウェイ・ベンダーが検証済です。
表2-11に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。これらのプロパティと使用可能な値の詳細は、ユーザー・メッセージング・サービスJava APIリファレンスのDriverConfigPropertyNames
を参照してください。
表2-11 共通の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 |
表2-12に、このドライバに固有のプロパティを示します。これらは通常、リモート・ゲートウェイへのアクセス構成、および特定のプロトコルやチャネル固有の動作に関連します。
表2-12 カスタムのSMPPプロパティ
名前 | 説明 | 必須? | デフォルト値 |
---|---|---|---|
SmsAccountId |
この値は、SMPPドライバがメッセージをリクエストする宛先サーバーのアドレス値を示します。この値はUNIXの正規表現で指定します。たとえば、「555」は単一のアドレス、「^123|^789」は123または789で始まるすべてのアドレスを示します。 |
はい |
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 |
受信メッセージの場合、SMS-Cがエンコーディングを ドロップダウン・リストから「IA5」、「UCS2」または「GSM_DEFAULT」を選択します。 |
いいえ |
IA5 |
EncodingAutoDetect |
有効な場合、SMPPドライバはDefaultEncodingパラメータに指定された値に基づいて送信メッセージをエンコードしようとします。エンコーディングが失敗すると、ドライバは16ビット・エンコーディングUCS2を使用します。 有効でない場合、ドライバはUMSメッセージのContent-Typeヘッダーからエンコーディングを得ます。 |
いいえ |
有効 |
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を介して指定されます。表2-13は、これらのプロパティに対するプロトコルまたはドライバの実装による影響を示しています。
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プロキシを使用
プレーン・テキスト・コンテンツのみを使用
表2-14のゲートウェイ・ベンダーとバージョンが検証済です。
XMPPドライバは、次のサード・パーティ・ソフトウェアを使用または必要とします(オプションで、独自のXMPPサーバーをインストールして構成することもできます)。
表2-15 必要なサード・パーティ・ソフトウェア
名前 | 説明 | バージョン |
---|---|---|
Apache Smack |
このドライバは、Apache Smack XMPP Javaライブラリを使用してJabber/XMPP IMサーバーに接続します。このドライバには、Smackのライセンス・コピーが含まれています。 |
3.2.2 |
注意: 既存のサーバーへのアクセス権がある場合、独自のXMPPサーバーのインストールは不要です。パブリック・サーバーのリストについては、 |
EARファイルは$ORACLE_HOME/communications/applications/usermessagingdriver-xmpp-ear-12.1.2.ear
です。
表2-16に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。これらのプロパティと使用可能な値の詳細は、ユーザー・メッセージング・サービスJava APIリファレンスのDriverConfigPropertyNames
を参照してください。
表2-16 共通の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 |
XMPPドライバには、表2-17に示すカスタム・プロパティが組み込まれています。
表2-17 カスタムの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を介して指定されます。表2-18は、これらのプロパティに対するプロトコルまたはドライバの実装による影響を示しています。
注意: この項に記載されているVocieXMLドライバは非推奨です。 |
VoiceXMLドライバは、VoiceXMLで作成されたメッセージを送信する、Genesys VoiceGenieゲートウェイのアウトバウンド・コール・プロトコルをサポートしています。ゲートウェイは、音声変換合成を使用してメッセージを配信します。
この項では、VoiceXMLドライバの互換性機能について詳細に説明します。
VoiceXMLドライバは、VoiceXML over HTTPプロトコル(VoiceGenieゲートウェイ・プロトコル)と互換性があります。
VoiceXMLドライバの機能は、次のとおりです。
VoiceXMLコンテンツのみを使用
表2-19のゲートウェイ・ベンダーとバージョンが検証済です。
表2-20に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。これらのプロパティと使用可能な値の詳細は、ユーザー・メッセージング・サービスJava APIリファレンスのDriverConfigPropertyNames
を参照してください。
表2-20 共通の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 |
VoiceXMLドライバには、表2-21に示すカスタム・プロパティが組み込まれています。
表2-21 カスタムの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を介して指定されます。表2-22は、これらのプロパティに対するプロトコルまたはドライバの実装による影響を示しています。
プロキシ・ドライバは、イントラネットやインターネットの他の場所でホスト管理されるFusion Middlewareメッセージング・サーバーに対するメッセージングWebサービス・クライアントとして機能します。SOAP over HTTPを使用して、複数メッセージを送受信し、メッセージの配信ステータスを返します。ParlayX Webサービスは、UMSインスタンス間でメッセージをリレーします。これは、イントラネット内の複数インスタンスから、プロトコル固有のドライバをすべて備えた終了インスタンスにトラフィックをリレーできます。この場合のドライバは、SMSCなどの外部ゲートウェイまたはSMTPやIMAPなどのメール・サーバー用に構成されています。
表2-23に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。これらのプロパティと使用可能な値の詳細は、ユーザー・メッセージング・サービスJava APIリファレンスのDriverConfigPropertyNames
を参照してください。
表2-23 共通のプロキシ・プロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
InstanceName |
インスタンス名(内部使用のみ) |
はい |
Proxy-Driver |
Capability |
メッセージの送受信機能 |
はい |
SEND |
SupportedDeliveryTypes |
サポートされている配信タイプ |
はい |
EMAIL, SMS, VOICE, IM, WORKLIST |
SupportedContentTypes |
サポートされているコンテンツ・タイプ |
はい |
* |
SupportedStatusTypes |
サポートされているステータス・タイプ |
いいえ |
DELIVERY_TO_GATEWAY_SUCCESS, DELIVERY_TO_GATEWAY_FAILURE |
コスト |
コスト |
いいえ |
N/A |
速度 |
速度 |
いいえ |
N/A |
SupportedCarriers |
SupportedCarriers |
いいえ |
N/A |
構成レベル |
ドメイン・レベルまたは選択したクラスタに対してクラスタ・レベルでドライバ構成を有効にします |
はい |
ドメイン |
Supported Protocols |
サポートされているプロトコル |
いいえ |
N/A |
SupportsCancel |
メッセージの取消し操作をサポートします |
いいえ |
False |
SupportsReplace |
メッセージの置換操作をサポートします |
いいえ |
False |
SupportsTracking |
メッセージの追跡操作をサポートします |
いいえ |
False |
SupportsStatusPolling |
メッセージのステータス・ポーリング操作をサポートします |
いいえ |
False |
SenderAddresses |
送信者のアドレス |
いいえ |
N/A |
DefaultSenderAddress |
デフォルトの送信者アドレス |
いいえ |
N/A |
プロキシ・ドライバには、表2-24に示すカスタム・プロパティが組み込まれています。
表2-24 カスタムのプロキシ・プロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
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-Securityポリシーのカンマ区切りのリスト |
いいえ |
N/A |
次に、メッセージ配信関連のプロパティを示します。これらのプロパティは、クライアントAPIを介して指定されます。表2-25は、これらのプロパティに対するプロトコルまたはドライバの実装による影響を示しています。
Twitterドライバは、Twitter APIサーバーと通信するユーザー・メッセージング・サービス(UMS)ドライバです。Twitterサーバーとの双方向のメッセージング・サービスを提供します。そのため、Twitterドライバを使用すると、アプリケーション・ユーザーはTwitterフィードを公開し、これに対する応答を受信できます。
TwitterドライバはUMSサーバー12.1.xと互換性がありますが、デフォルトではデプロイされません。個別にデプロイおよびアンデプロイできます。
Twitterドライバの特徴は次のとおりです。
複数の認証モード: Twitter REST APIでは次の2種類の認証モードを使用できます。
OAuth: これはシングル・サインオン・タイプの認証モードです。この認証モードはFusion Middleware Control (EM)のページから有効にできます。ドライバ固有のEMページで、「認証モード」パラメータをOauth
に設定し、2組のキー、つまりカスタマ・キー、カスタマ・シークレット、アクセス・トークンおよびアクセス・トークン・シークレットを構成する必要があります。これらのキーの詳細は、表2-27「Twitterドライバのカスタム・プロパティ」を参照してください。
xAuth: この認証モードはOAuthに基づいています。Twitterドライバは、OAuthの要件を満たしていないアプリケーションにのみxAuthを許可します。この認証モードを有効にするには、ユーザーがリクエストごとにユーザー名とパスワードを入力する必要があります。
複数のメッセージング・オプション: Twitterドライバを使用する場合に、ユーザーが目にするメッセージには次の2つのカテゴリがあります。
アウトバウンド・メッセージ: UMSクライアント・アプリケーションからTwitterサーバーに送信されるメッセージをアウトバウンド・メッセージと呼びます。このメッセージはツイートまたはダイレクト・メッセージとして処理されます。
ツイート: Twitterドライバに構成されているユーザー名に対して送信されるメッセージはツイートとして投稿されます。たとえば、TwitterドライバがユーザーTWという資格証明で構成されている場合、URI.twitter:TW
に送信されるメッセージはすべて、ユーザーTWからのツイートとして投稿されます。
ダイレクト・メッセージ: 構成済ユーザーのユーザー名から別のTwitterユーザーに送信されるメッセージはダイレクト・メッセージとして処理できます。Twitterでは、構成済ユーザーはそのユーザーの直接のフォロワにのみダイレクト・メッセージを送信できます。ダイレクト・メッセージの受信者がTwitterに登録されていないユーザーの場合、または送信者の直接のフォロワではない場合、メッセージの配信は失敗し、エラー・メッセージが表示されます。
インバウンド・メッセージ: TwitterドライバがTwitterサーバーから受信するメッセージをインバウンド・メッセージと呼びます。インバウンド・メッセージには次のタイプがあります。
タイムライン・メッセージ: これは構成済ユーザーまたは構成済ユーザーがフォローしているTwitterユーザーが投稿したツイートのリストです。
ダイレクト・メッセージ: これは構成済ユーザーがフォーローするTwitterユーザーから構成済ユーザーに送信されたプライベート・メッセージです。
ツイート・サイズの制限: Twitterでは各ツイートの長さが140バイトまでに制限されています。この制限を超えるツイートはTwitterサーバーで拒否されます。長いツイートの場合、Twitterサーバーに送信される前にTwitterドライバで切り捨てられます。
ツイート頻度の制限: Twitterではユーザー当たりのツイート使用頻度が制限されています。Twitterの制限の詳細は、「About Twitter Limits」ページを参照してください。ユーザーの使用頻度がそのTwitterユーザーの頻度制限を超えると、アウトバウンド・メッセージの配信に失敗し、インバウンド・メッセージの受信は停止します。
UMSをファイアウォールの後方で使用する場合、WebLogic Serverのプロキシ設定を構成する必要があります。WebLogic Serverのプロキシ設定の構成に関する詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JAX-RPC Webサービス・スタート・ガイド』のシステム・プロパティを使用したプロキシ・サーバーの指定に関する項を参照してください。
表2-26に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。これらのプロパティと使用可能な値の詳細は、ユーザー・メッセージング・サービスJava APIリファレンスのDriverConfigPropertyNames
を参照してください。
表2-26 Twitterドライバの共通プロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
InstanceName |
インスタンス名(内部使用のみ) |
はい |
usermessagingdriver-twitter |
Capability |
メッセージの送受信機能 |
はい |
SEND、RECEIVE |
SupportedDeliveryTypes |
サポートされている配信タイプ |
はい |
URI |
SupportedContentTypes |
サポートされているコンテンツ・タイプ |
はい |
text/plain、text/html、text/xml |
SupportedStatusTypes |
サポートされているステータス・タイプ |
はい |
DELIVERY_TO_GATEWAY_SUCCESS, DELIVERY_TO_GATEWAY_FAILURE |
Cost |
コスト |
いいえ |
N/A |
Speed |
速度 |
いいえ |
N/A |
サポートされている電話会社 |
サポートされている電話会社 |
いいえ |
N/A |
構成レベル |
ドメイン・レベルまたは選択したクラスタに対してクラスタ・レベルでドライバ構成を有効にします |
はい |
ドメイン |
サポートされているプロトコル |
サポートされているプロトコル |
いいえ |
N/A |
SupportsCancel |
メッセージの取消し操作をサポートします |
いいえ |
False |
SupportsReplace |
メッセージの置換操作をサポートします |
いいえ |
False |
SupportsTracking |
メッセージの追跡操作をサポートします |
いいえ |
False |
SupportsStatusPolling |
メッセージのステータス・ポーリング操作をサポートします |
いいえ |
False |
SenderAddresses |
送信者のアドレス |
いいえ |
N/A |
DefaultSenderAddress |
デフォルトの送信者アドレス |
いいえ |
N/A |
表2-27に、Twitterドライバに固有の構成可能なプロパティをリストします。
表2-27 Twitterドライバのカスタム・プロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
認証モード |
このプロパティにはTwitterドライバで使用する認証モードを指定します。有効な値はOAuthまたはxAuthです。 |
はい |
xAuth |
ユーザー名 |
Twitterユーザーのユーザー名。 |
認証モードでxAuthを選択した場合、このフィールドは必須です。 |
|
Password |
Twitterユーザーのパスワード。 |
認証モードでxAuthを選択した場合、このフィールドは必須です。 |
|
コンシューマ・キー |
Twitterユーザーの公開鍵。 |
認証モードでOAuthを選択した場合、このフィールドは必須です。 |
|
コンシューマ・シークレット |
Twitterユーザーの秘密鍵。 |
認証モードでOAuthを選択した場合、このフィールドは必須です。 |
|
アクセス・トークン |
登録済Twitterアプリケーションの公開鍵。 |
認証モードでOAuthを選択した場合、このフィールドは必須です。 |
|
アクセス・トークン・シークレット |
登録済Twitterアプリケーションの秘密鍵。 |
認証モードでOAuthを選択した場合、このフィールドは必須です。 |
SOAデプロイメントでのLDAPプロバイダの設定の一環として、WebLogic Server管理コンソールを介して「ユーザー名属性」を構成します。デフォルトのcn以外の値でこの属性を構成する場合、またはユーザーの電子メール・アドレスが「mail」とは異なるLDAP属性に格納されている場合、UMSがユーザー・プロファイルに正常にアクセスして、勤務先電子メールなど、LDAPでプロビジョニングされた通信チャネルのリストを取得するには、Oracle Platform Security Services (OPSS)で追加の構成変更を行う必要があります。
Oracle Platform Security Services (OPSS)の詳細は、Oracle Platform Security Servicesによるアプリケーションの保護を参照してください。
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>
注意: 同じセクションに他のプロパティが定義されている場合があります。 |
ドメインを再起動します。
UMSは、様々なチャネルによる双方向のマルチ・チャネル・メッセージングのサポートに加えて、グループ・メッセージングもサポートしています。この機能を使用すると、グループのURIにメッセージを送信してユーザーのグループにメッセージを送信したり、LDAPグループ(エンタープライズ・ロール)やアプリケーション・ロールにメッセージを送信したりできます。
グループ・メッセージング機能では、次の機能のサポートによりUMSの機能が拡張されています。
グループへのメッセージの送信
グループへの特定のチャネルを介したメッセージの送信
アプリケーション・ロールへのメッセージの送信
アプリケーション・ロールへの特定のチャネルを介したメッセージの送信
グループおよびアプリケーション・ロールへのメッセージの送信の詳細は、Oracle User Messaging Serviceによるアプリケーションの開発のグループ・メッセージの送信に関する項を参照してください。
グループ・メッセージング機能を使用する場合でも、新たにUMSを構成する必要はありません。UMSユーティリティを再使用してユーザー・ロールAPIにアクセスします。ユーザー・ロールAPI構成はUMSでは使用できないため、そのような構成はすべてUMSの外部で行います。ユーザー・ロールAPIは、最初のOracle Weblogic Serverオーセンティケータを使用するように自動的に構成されるため、特別な構成は必要ありません。
注意: UMSでアプリケーション・ロールを解決できるようにするには、特定のセキュリティ権限が必要です。アプリケーション・デプロイヤは、次の例に示すWLSTコマンドを使用してこれらのセキュリティ権限を構成する必要があります。 connect('weblogic','welcome1','t3://host.example.com:7601') createApplicationPolicy(appStripe="myapp") grantPermission(appStripe="myapp", principalClass="oracle.security.jps.service.policystore.PolicyStoreAccessPermission",codeBaseURL="file:MW_HOME/oracle_common/communications/applications/myapp.ear/-",principalName="orcladmin",permClass="java.security.AllPermission") grantPermission(appStripe="myapp", principalClass="oracle.security.jps.service.credstore.CredentialAccessPermission",codeBaseURL="file:MW_HOME/oracle_common/communications/applications/myapp.ear/-",principalName="GMgroup1",permClass="java.security.AllPermission" grantPermission(appStripe="myapp", principalClass="oracle.security.jps.service.credstore.CredentialAccessPermission",codeBaseURL="file:MW_HOME/oracle_common/communications/applications/myapp.ear/-",principalName="GMrole2",permClass="java.security.AllPermission") セキュリティ・コマンドの詳細は、インフラストラクチャ・セキュリティWLSTコマンド・リファレンスを参照してください。 |
11gでは、UMS APIでフェイルオーバー・アドレスの指定をサポートしています。このアドレスは元の受信者にメッセージを配信できなかった場合に使用されます。フェイルオーバー・アドレスの指定がない場合や、すべてのフェイルオーバー・アドレスに配信を試みて失敗した場合、そのメッセージの送信は完全に失敗したことになります。ただし、管理者はEnterprise Manager Fusion Middleware Controlを使用して失敗したメッセージを選択し、再送信できます。12cでは、自動再送信機能を構成することで、管理者の再送信操作を自動化できます。つまり、メッセージの送信が完全に失敗であると分類された場合に、そのメッセージの再送信が自動的にスケジュールされるということです。これは、そのメッセージの送信が成功するまで、または構成した再送信回数に達するまで繰り返されます。再送信の遅延時間と最大回数を構成できます。機能上、これは、遅延時間を過ぎた場合に管理者が手動でメッセージを再送信するのと変わりません。自動再送信の目的は、ネットワークの一時的な問題や一時的にバックエンド・サービスを利用できない状況を解決することです。
この機能を構成するために、UMSのサーバー構成パラメータ、ResendDefault
、ResendDelay
およびResendMax
が導入されました。これらのパラメータの詳細は、表2-1を参照してください。
再送信の試行回数はサーバーに対して構成されますが、クライアントのプログラムでメッセージごとにオーバーライドできます。ResendDefault
サーバー構成パラメータをオーバーライドするには、メッセージごとに使用する再送信の回数をクライアントで指定します。オーバーライドしてもResendMax
構成パラメータの制限は受けます。
プログラムで再送信の試行回数を設定する方法の詳細は、Oracle User Messaging Serviceによるアプリケーションの開発のUMS Java APIを使用したメッセージの再送信の指定に関する項およびUMS WebサービスAPIを使用したメッセージの再送信の指定に関する項を参照してください。
フェイルオーバー・アドレスのステータスを受信するには、getTotalFailovers()
とgetFailoverOrder()
を呼び出します。これらのメソッドの詳細は、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。フェイルオーバーの順序とフェイルオーバーの合計が同じ場合は、フェイルオーバー・チェーンがすべて使用されたことがわかります。ただし、再送信機能はフェイルオーバー・チェーンをループします。再送信およびフェイルオーバー・チェーンがすべて使用されたかどうかを確認するには、getMaxResend()
とgetCurrentResend()
を呼び出します。
注意: メッセージの再送信が最大回数まで自動的に試行された後でもメッセージの再送信に失敗する場合は、管理者がEnterprise Managerからそのメッセージを手動で送信できます。再送信カウンタはリセットされます。再送信の最大回数を0で構成した場合の動作は、11gの動作と同じです。つまり、管理者がEnterprise Managerを使用して手動で失敗したメッセージを選択し、再送信する必要があります。 |
ユーザー通信プリファレンスのユーザー・インタフェースは、Secure Sockets Layer (SSL)を使用してトランスポート・レベルで保護できます。デフォルトでは、デプロイされるすべてのWebサービスは保護されていません。本番環境にデプロイされるすべてのサービスに対して、Webサービス・セキュリティを有効にする必要があります。
Oracle WebLogic ServerでSSLを有効にする方法は、『Oracle Fusion Middlewareの管理』のOracle WebLogic ServerのSSLの構成に関する項を参照してください。この手順で、ユーザー通信プリファレンスのユーザー・インタフェースを保護できます。
UMSは、UMS Webサービスを保護するためのOracle Web Services ManagerのWS-Securityポリシーの使用をサポートしています。Oracle Web Services Managerの詳細は、Oracle WebLogic Server WebLogic Webサービスの保護のOracle Web Service Managerのセキュリティ・ポリシーの使用に関する項を参照してください。
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
)が含まれており、これらはクライアント側で実行され、適合するイベントの発生時に通知(メッセージ配信ステータス、メッセージ受信、プレゼンス・ステータスの変更)を受信します。
UMS Webサービスのポリシーを有効にするには、Oracle WebLogic Server WebLogic Webサービスの保護の管理コンソールを使用したOWSMセキュリティ・ポリシーのアタッチに関する項の手順に従って、ポリシーoracle/wss11_saml_token_with_message_protection_service_policy
を選択します。この構成は、保護するサービスごとに繰り返す必要があります。
Webサービス・クライアントのセキュリティは、プログラムで有効化する必要があります。Oracle User Messaging Serviceによるアプリケーションの開発に記載されているクライアント・ライブラリを使用すると、クライアント・オブジェクトの構築時にWS-Securityポリシー構成が提供されます。クライアント・コンストラクタは、Map<String, Object
タイプの引数を使用します。通常、SAML認証を使用する場合は、エンドポイント・アドレスなどの必須プロパティ以外に、キー/値のペア(表2-28)を構成マップに追加する必要があります。
表2-28 クライアント・セキュリティ・キー
キー | 一般的な値 |
---|---|
oracle.ucs.messaging.ws.ClientConstants.POLICIES |
oracle/wss11_saml_token_ with_message_protection_ client_policy |
|
リモートUMS WSのエンドポイントURL。これは通常「http://<host>:<port>/ucs/messaging/webservice」です。 |
javax.xml.ws.BindingProvider.USERNAME_PROPERTY |
(オプション) 注意: |
oracle.wsm.security.util.SecurityConstants.Conf ig.KEYSTORE_RECIPIENT_ALIAS_PROPERTY |
(オプション)ターゲット・サービスのキーストア別名。「クライアント別名」を参照してください。 |
|
OWSMポリシーのアタッチに使用されます。Oracle Web Services Management資格証明ストア・マップからのリモート・ユーザー名/パスワード情報の参照に使用する資格証明ストア・キーを指定します。 |
例2-1 Webサービス・クライアントのセキュリティ
HashMap<String, Object> config = new HashMap<String, Object>(); config.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://example.com:8001/ucs/messaging/webservice"); config.put(oracle.ucs.messaging.ws.ClientConstants.POLICIES, new String[] {"oracle/wss11_saml_token_with_message_protection_client_policy"}); mClient = new MessagingClient(config);
推奨WS-Securityポリシーを使用するには、OWSMに必要な公開鍵と秘密鍵の情報が含まれるキーストアを構成する必要があります。キーストアおよび対応する資格情報ストアのエントリを構成する方法は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のWLSTを使用した資格情報ストアの構成に関する項を参照してください。
Webサービス・クライアントとUMSサーバーの両方が同じドメインにある場合、これらはキーストアと資格証明ストアを共有します。
Webサービス・クライアントとUMSサーバーが異なるドメインにある場合は、UMS公開鍵をクライアント・ドメインのキーストアにインポートし、クライアント・ドメインの公開鍵をUMSキーストアにインポートする必要があります。
ここで推奨しているSAMLポリシーなど、特定のWS-Securityポリシーを使用する場合、クライアントは、サーバーの公開鍵を使用して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サービス・クライアントの作成時に、例2-2に示すように、キーをoracle.wsm.security.util.SecurityConstants.Config.KEYSTORE_RECIPIENT_ALIAS_PROPERTY
に設定し、値を「ums_public_key」に設定して受信キーストア別名パラメータを指定します。
例2-2 クライアント別名
HashMap<String, Object> config = new HashMap<String, Object>(); config.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://example.com:8001/ucs/messaging/webservice"); config.put(ClientConstants.POLICIES, new String[] {"oracle/wss11_saml_token_ identity_switch_with_message_protection_client_policy"}); config.put(BindingProvider.USERNAME_PROPERTY, "user1"); config.put(oracle.wsm.security.util.SecurityConstants.Config.CLIENT_CREDS_ LOCATION, oracle.wsm.security.util.SecurityConstants.Config.CLIENT_CREDS_LOC_ SUBJECT); config.put(oracle.wsm.security.util.SecurityConstants.Config.KEYSTORE_RECIPIENT_ ALIAS_PROPERTY, "ums_public_key"); config.put(MessagingConstants.APPLICATION_NAME, "MyUMSWSApp"); mClient = new MessagingClient(config);
同様に、他のWebサービス・クライアントでもキーストア別名をオーバーライドする必要がありますが、正確なメカニズムは異なる場合があります。たとえば、JAX-WSクライアント・スタブを直接使用する場合は、オーバーライドプロパティをJAX-WSリクエスト・コンテキストに追加できます。詳細は、『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のWebサービス・クライアントのポリシー構成のオーバーライドに関する項を参照してください。
この(オプションの)手順では、セキュリティを向上させるために、管理者がOracle User Messaging ServiceのJMSリソース(キューなど)へのアクセスを制限できます。
JMSシステム・リソースを保護するには、OracleSystemRoleロールを持つUMSJMSSystemResourceという名前で始まるすべてのJMSサブデプロイメントをロックします(複数サーバーまたはクラスタ・デプロイメントではUMSに対して複数の自動作成リソースがある場合があります)。この操作は、Oracle WebLogic Server管理コンソールを使用して行うか、または次のようにWLSTスクリプトを実行できます(MIDDLEWARE_HOME
/oracle_common/communications/bin/secure_jms_system_resource.py
にあります)。
MIDDLEWARE_HOME/oracle_common/common/bin/wlst.sh
./secure_jms_system_resource.py
-userConfigFile=<UserConfigFile>, -userKeyFile=<UserKeyFile>
-url=<AdminServer_t3_url> -jmsSystemResource=<JMSSystemResourceName> -role=<SecurityRoleToUse>
UserConfigFile
には、AdminUserの暗号化されたユーザー名とパスワードが含まれている必要があります。暗号化データのキーはUserKeyFile
内に指定する必要があります。
デフォルトでは、UMSシステムはJMSリソースにアクセスするためにユーザーOracleSystemUserとして実行されます。ユーザーOracleSystemUserが存在しない場合、または他のユーザーに付与されている他のロールを使用してUMS JMSリソースを保護する場合は、別のユーザー名を指定することによって、UMSシステムで使用されるデフォルトのユーザー・アイデンティティをオーバーライドする必要があります。
ユーザー・メッセージング・サービスをデバッグするには、最初にサーバーの診断ログを確認します。ログには、例外、エラーまたは警告メッセージが含まれている場合があり、不正な動作に関する詳細とともに問題を修正するアクションが示されます。表2-29では、一般的なユーザー・メッセージング・サービスの問題をデバッグするための他の方法について説明します。
表2-29 UMSのトラブルシューティング
症状 | 考えられる原因 | 解決策 |
---|---|---|
SSLハンドシェイク・エラー |
WebLogic Serverのデフォルトのキーストア( |
WebLogic Serverのデフォルトのキーストアを変更します。WebLogic Serverの「カスタムIDとJava標準信頼」キーストアを構成します。 WebLogic Server管理コンソールを使用したキーストアの構成の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのキーストアの構成に関する項を参照してください。 |
通知が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ユーザー通知およびヒューマン・ワークフロー・ユースケースには、かわりにこれらの事前定義済メッセージング・チャネルを使用してください。 |