この章では、Oracle User Messaging Service(UMS)の機能およびアーキテクチャについて説明します。
項目は次のとおりです。
Oracle User Messaging Serviceは、ユーザーとデプロイされたアプリケーション間での双方向通信を可能にします。主な機能は次のとおりです。
様々なメッセージング・チャネルに対するサポート: メッセージは、電子メール、IM(XMPP)、SMS(SMPP)およびボイスを介して送受信できます。メッセージはユーザーのSOA/Oracle WebCenter Portalワークリストにも配信できます。
双方向メッセージング: アプリケーションからユーザーへのメッセージの送信(アウトバウンド・メッセージング)に加えて、ユーザーからメッセージング相互作用を開始(インバウンド・メッセージング)できます。たとえば、ユーザーは指定のアドレスに電子メールまたはテキスト・メッセージを送信でき、そのメッセージは適切なアプリケーションにルーティングされ、そのアプリケーションはユーザーに応答したり、ビジネス・ロジックに基づいて他のプロセスを呼び出したりできます。
ユーザー・メッセージング・プリファレンス: エンド・ユーザーは、Webインタフェースを使用して、メッセージング通知の送信方法と送信時間に関するプリファレンスを定義できます。アプリケーションでは、ユーザーの電子メール・アドレスやインスタント・メッセージ・クライアントへの送信を判断せずに、その柔軟性によって、単にメッセージをユーザーに送信し、その先のメッセージのルーティングをユーザーのプリファレンスに従ってUMSに任せます。
強力なメッセージ配信: UMSは、メッセージング・ゲートウェイが提供する配信ステータス情報を継続して記録し、アプリケーションに提供します。これによって、アプリケーションは失敗した配信に対応できます。また、アプリケーションでは、初期のアドレスへの配信が失敗した場合に備えて、メッセージに対して1つ以上のフェイルオーバー・アドレスを指定できます。UMSのフェイルオーバー機能を使用することで、アプリケーション開発者は、複雑な再試行ロジックの実装から解放されます。
Fusion Middleware内の広範な統合: UMSは、他のFusion Middlewareコンポーネントと統合して、単一の統合された双方向のユーザー・メッセージング・サービスを提供します。
Oracle BPELとの統合: Oracle JDeveloperには、メッセージング操作に対応した事前作成のBPELアクティビティが含まれています。開発者は、必要なアクティビティを任意のワークフローにドラッグ・アンド・ドロップして、メッセージング機能をSOAコンポジット・アプリケーションに追加できます。
Oracle Human Workflowとの統合: UMSによって、ヒューマン・ワークフロー・エンジンは、アクション可能なメッセージをユーザーに送信し、電子メールを介して返信を受信できるようになります。
Oracle BAMとの統合: Oracle BAMでは、UMSを使用し、イベントの監視に対応した電子メール・アラートを送信します。
Oracle WebCenter Portalとの統合: 開発者は、Oracle WebCenter Portal: スペースに対するアプリケーションの作成に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インタフェースからメッセージを送信できるスペース・アプリケーションの場合があります。
UMS自体を構成するコンポーネントに加え、メッセージング環境における他の主なエンティティは、各メッセージング・チャネルに必要な外部ゲートウェイです。これらのゲートウェイは、UMSまたはOracle WebLogic Serverの一部ではありません。UMSドライバは、広範に適合できるメッセージング・プロトコルをサポートしているため、企業の電子メール・サーバーやXMPP(Jabber)サーバーなどの既存のインフラストラクチャにUMSを統合できます。また、UMSは、SMPPをサポートするSMSサービスや、VoiceXMLをサポートする音声変換サービスの外部プロバイダに接続できます。
図62-1に、Oracle User Messaging Serviceのシステム・アーキテクチャを示します。
柔軟性を最大にするために、UMSの各コンポーネントは、それぞれが個別のJava EEアプリケーションです。このため、それらを相互に独立してデプロイおよび管理できます。たとえば、他のすべてのチャネルでのメッセージ配信に影響を与えずに、特定のドライバを停止して再構成できます。
UMSクライアント・アプリケーションとUMSサーバー間のデータ交換は、SOAP/HTTP WebサービスによるWebサービス・クライアントのリクエスト時に発生するか、リモートEJBとJMSによるBPELメッセージング・アクティビティのコールを介して発生します。UMSサーバーとUMSドライバ間のデータ交換は、JMSキューを介して発生します。
Oracle UMSのサーバーとドライバは、SOAまたはBAMとともに、それぞれのWebLogic Serverインスタンスにインストールされます。Oracle WebCenter Portalのインストールには、UMSクライアント・アプリケーションとして機能するために必要なライブラリが組み込まれ、SOAインスタンスにデプロイされているサーバーを起動します。