この章では、Oracle User Messaging Service (UMS)について説明します。この章の内容は次のとおりです。
Oracle User Messaging Serviceは、ユーザーとデプロイされたアプリケーション間での双方向通信を可能にします。主な機能は次のとおりです。
様々なメッセージング・チャネルに対するサポート: メッセージは、電子メール、インスタント・メッセージ(IM)(XMPP)、ショート・メッセージ・サービス(SMS)(SMPP)およびボイスを介して送受信できます。メッセージはユーザーのSOA/Oracle WebCenterポータル・ワークリストにも配信できます。
双方向メッセージング: アプリケーションからユーザーへのメッセージ送信(アウトバウンド・メッセージングとも呼ばれる)以外に、ユーザーは、メッセージングの相互作用(インバウンド・メッセージング)を開始できます。たとえば、ユーザーが特定のアドレスに電子メールまたはテキスト・メッセージを送信すると、そのメッセージは適切なアプリケーションにルーティングされ、次に、アプリケーションでは、ビジネス・ロジックに従ってユーザーに応答するか、または別のプロセスを起動します。
ユーザー・メッセージング・プリファレンス: エンド・ユーザーは、Webインタフェースを使用して、メッセージング通知の受信方法と受信時間に関するプリファレンスを定義できます。アプリケーションでは、ユーザーの電子メール・アドレスやIMクライアントへの送信を判断せずに、その柔軟性によって、単にメッセージをユーザーに送信し、その先のメッセージのルーティングをユーザーのプリファレンスに従ってUMSに任せます。
注意: ユーザー・メッセージング・プリファレンスのUIは、次の場所で入手できます。
|
強力なメッセージ配信: UMSは、メッセージング・ゲートウェイが提供する配信ステータス情報を継続して記録し、アプリケーションにこの情報を提供しているため、アプリケーションは失敗した配信に対応できます。また、アプリケーションでは、初期のアドレスへの配信が失敗した場合に備えて、メッセージに対して1つ以上のフェイルオーバー・アドレスを指定できます。UMSのフェイルオーバー機能を使用することで、アプリケーション開発者は、複雑な再試行ロジックの実装から解放されます。この再試行ロジックは、12cで導入された自動再送信機能でもサポートされます。
Oracle Fusion Middleware内の広範な統合: UMSは、他のFusion Middlewareコンポーネントと統合して、単一の統合された双方向のユーザー・メッセージング・サービスを提供します。
Oracle BPEL Process Managerとの統合: Oracle JDeveloperには、メッセージング操作に対応した事前作成のBPELアクティビティが含まれています。開発者は、目的のアクティビティを任意のワークフローにドラッグ・アンド・ドロップして、メッセージング機能をSOAコンポジット・アプリケーションに追加できます。
ヒューマン・ワークフローとの統合: UMSによって、ヒューマン・ワークフロー・サービス・エンジンは、アクション可能なメッセージをユーザーに送信し、電子メールを介して返信を受信できるようになります。
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をサポートする音声変換サービスの外部プロバイダに接続できます。
図1-1に、Oracle User Messaging Serviceのシステム・アーキテクチャを示します。
UMSは、SOAスイートではなくJRFの一部として使用できるようになりました。そのため、上位スタックと簡単に統合できます。JRFテンプレートを使用したドメインの構成の詳細は、『Oracle Fusion Middleware Oracle Fusion Middleware Infrastructureのインストールと構成』の「Oracle Fusion Middleware Infrastructureドメインの構成」の章を参照してください。
柔軟性を最大にするために、UMSの各コンポーネントは、それぞれが個別のJava EEアプリケーションです。このため、それらは相互に独立してデプロイおよび管理できます。たとえば、他のすべてのチャネルでのメッセージ配信に影響を与えずに、特定のドライバを停止して再構成できます。
UMSクライアント・アプリケーションとUMSサーバー間のデータ交換は、SOAP/HTTP WebサービスによるWebサービス・クライアントのリクエスト時に発生するか、リモートのEnterprise JavaBeans (EJB)とJMSによるBPELメッセージング・アクティビティのコールを介して発生します。UMSサーバーとUMSドライバ間のデータ交換は、JMSキューを介して発生します。
Oracle User Messaging Serviceによって、ユーザーはOracle Developerを使用して開発し、Oracle Robotic Serverにデプロイしたクライアント・アプリケーションから送信された通知を受信できます。
Oracle JDeveloperの詳細は、『Oracle Fusion Middleware Oracle Jdeveloperによるアプリケーションの開発』を参照してください。
ワークフロー参加者が通知を受信して転送できるようにするには、Oracle Enterprise Manager Fusion Middleware Controlを使用して、Oracle User Messaging Service環境を設定します。この環境を設定するには、ワークフロー・アプリケーションのデプロイ先と同じOracle WebLogic Serverに適切なドライバ・インスタンスを構成します。図1-2を参照してください。Oracle User Messaging Serviceには、電子メール、IM、SMSおよびボイスの各チャネルを介したメッセージングをサポートするドライバが含まれています。ユーザー・メッセージング・サービスの構成の詳細は、第2章「Oracle User Messaging Serviceの構成」を参照してください。
図1-2 Oracle Enterprise Manager Fusion Middleware Control
ワークフロー参加者が通知を受信するには、メッセージへのアクセスに使用するデバイスをユーザー通信プリファレンスを使用して登録する必要があります。詳細は、『Oracle Fusion Middleware Oracle User Messaging Serviceによるアプリケーションの開発』の「ユーザー通信プリファレンス」の章を参照してください。