UMS enables two-way communication between users and deployed applications. Key features include:
Support for a variety of messaging channels: Messages can be sent and received through various channels, for instance, email, instant messaging (IM) (XMPP), short message service (SMS) (SMPP).
Two-way messaging: In addition to sending messages from applications to users (referred to as outbound messaging), users can initiate messaging interactions (inbound messaging). For example, a user can send an email or text message to a specified address; the message is routed to the appropriate application that can then respond to the user or invoke another process according to its business logic.
User messaging preferences: End users can use a web interface to define preferences for how and when they receive messaging notifications. Applications immediately become more flexible; rather than deciding whether to send to a user's email address or IM client, the application can simply send the message to the user, and let UMS route the message according to the user's preferences.
Note:The User Messaging Preferences UI is available at
Robust message delivery: UMS keeps track of delivery status information provided by messaging gateways, and makes this information available to applications so that they can respond to a failed delivery. Or, applications can specify one or more failover addresses for a message in case delivery to the initial address fails. Using the failover capability of UMS frees application developers from having to implement complicated retry logic. This retry logic is also supported by the automatic resend feature that is introduced in 12c.
Pervasive integration within Oracle Fusion Middleware: UMS is integrated with other Fusion Middleware components providing a single consolidated bi-directional UMS.
Integration with Oracle BPEL Process Manager: Oracle JDeveloper includes prebuilt BPEL activities that enable messaging operations. Developers can add messaging capability to a SOA composite application by dragging and dropping the desired activity into any workflow.
Integration with human workflow: UMS enables the human workflow service engine to send actionable messages to and receive replies from users over email.
Integration with Oracle BAM: Oracle BAM uses UMS to send email alerts in response to monitoring events.
Integration with Oracle WebCenter Portal: UMS APIs are available to developers building applications for Oracle WebCenter Portal: Spaces. For more information on Oracle WebCenter Portal, please refer to Oracle Fusion Middleware Building Portals with Oracle WebCenter Portal.
There are three types of components that comprise UMS. These components are standard Java EE applications, making it easy to deploy and manage them using the standard tools provided with Oracle WebLogic Server.
UMS Server: The UMS Server orchestrates message flows between applications and users. The server routes outbound messages from a client application to the appropriate driver, and routes inbound messages to the correct client application. The server also maintains a repository of previously sent messages in a persistent store, and correlates delivery status information with previously sent messages.
UMS Drivers: UMS Drivers connect UMS to the messaging gateways, adapting content to the various protocols supported by UMS. Drivers can be deployed or undeployed independently of one another depending on what messaging channels are available in a given installation.
UMS Client applications: UMS client applications implement the business logic of sending and receiving messages. A UMS client application might be a SOA application that sends messages as one step of a BPEL workflow, or a WebCenter Portal Spaces application that can send messages from a web interface.
In addition to the components that comprise UMS itself, the other key entities in a messaging environment are the external gateways required for each messaging channel. These gateways are not a part of UMS or Oracle WebLogic Server. Since UMS Drivers support widely-adopted messaging protocols, UMS can be integrated with existing infrastructures such as a corporate email servers or XMPP (Jabber) servers. Alternatively, UMS can connect to outside providers of SMS services that support SMPP.
The system architecture of UMS is shown in Figure 1-1.
In 12c, UMS is available as a part of JRF. This enables easier upper stack integration. For more information about configuring your domain using JRF templates, refer to chapter Configuring your Oracle Fusion Middleware Infrastructure Domain in Oracle Fusion Middleware Installing and Configuring the Oracle Fusion Middleware Infrastructure.
For maximum flexibility, the components of UMS are separate Java EE applications. This allows them to be deployed and managed independently of one another. For example, a particular driver can be stopped and reconfigured without affecting message delivery on all other channels.
Exchanges between UMS client applications and the UMS Server occur as SOAP/HTTP web service requests for UMS Web Services API clients, or through remote Enterprise JavaBeans (EJB) and JMS calls for UMS Java API clients. Exchanges between the UMS Server and UMS drivers occur through JMS queues.
To enable UMS to send and receive messages, use Oracle Enterprise Manager Fusion Middleware Control to set the UMS environment by configuring the appropriate drivers in the domain or cluster. See Figure 1-2. UMS includes drivers that support messaging through various channels, for instance, email, IM, SMS. For more information about configuring UMS, see Chapter 4, "Configuring Oracle User Messaging Service"
For workflow participants to receive the notifications, they must register the devices that they use to access messages through User Communication Preferences. For more information, see chapter User Communication Preferences in Oracle Fusion Middleware Developing Applications with Oracle User Messaging Service.
Note:Some details in the API may vary between the underlying protocols. Study the driver description chapter in the Administration Guide (
http://docs.oracle.com/middleware/1213/ums/administer/ns_descriptions.htm#UMSAG97610) and in particular the UMS API Programmer Notes sections.
Following are the Deprecated features in 12.2.1 release:
UMS Proxy Driver
UMS VoiceXML Driver
UMS Worklist Driver
UMS EJB API
UMS Parlay X Multimedia Messaging API