Oracle Enterprise Messaging Service
Standards-based, reliable messaging for SOA

As IT organizations deploy and integrate Service Oriented Architectures (SOA) and Enterprise Service Bus (ESB) based solutions to integrate their distributed applications it is becoming increasingly important that the underlying messaging infrastructure provide the reliability, scalability, and performance required to meet these demands.

The Oracle Enterprise Messaging Service (OEMS) is a standards based solution built on the Java Message Service (JMS) and the J2EE Connector Architecture (J2CA) which allows customers to develop and integrate distributed applications. It is built on a robust messaging platform which offers varying levels of service for message persistence and recovery -- in-memory, filesytem, or database backed message persistence. OEMS also provides a standards-based JMS Router for seamlessly integrating the OEMS platform with a customer's existing non-Oracle messaging infrastructure; WebSphereMQ, Tibco Enterprise JMS, or SonicMQ. 

OEMS - overview diagram

Product Information
 Oracle Enterprise Messaging Service Data Sheet (PDF) September 2005
 OEMS Oracle OpenWorld 2005 Presentation (PDF) September 2005
 OEMS FAQ (PDF) December 2005
 OEMS Whitepaper (PDF) November 2005

Relevant Documentation
 Oracle Enterprise Messaging Service (OEMS) section of the Oracle� Containers for J2EE Services Guide. 10g Release 3 (10.1.3)
The following documentation entries are only relevant to people using OEMS in database persistence mode:
 Using Oracle JMS and Oracle Streams AQ database release 10.2
 Introducing Oracle JMS database release 10.2
 JMS Types database release 10.2
 C++ Client: AQ Implementation in OCCI database release 10.2
 How-to: Oracle Advanced Queuing Integration with WebLogic Server

Tutorials & Examples
 Applications Server: Messaging and JMS How-To's
There is an extensive set of code examples detailing setup and configuration of the JMS Connector and JMS Router. They explain how to integrate with non-Oracle message providers; WebSphereMQ, Tibco JMS, and SonicMQ. There are also examples showing setup of OEMS JMS for in-memory, filesystem, and database persistence. These How-To's are designed to run with the Oracle Application Server 10g R3 (10.1.3) release that is available from OTN -- see the link in the upper right corner of this page.

(Examples for older versions of the applications server - 10.1.2 and earlier - can be found on the Oracle By Example Tutorials: Application Server page)

 How-To Develop a Message Driven Bean using EJB 3.0
Test drive Oracle's support for the EJB 3.0 specification for a Message Driven Bean and dependency injection of EJBContext. Jan-2005
 Oracle Streams Samples and Best Practices
This Oracle Streams page contains some JMS examples for OEMS in database-persistence mode. database release 10.2
 PL/SQL Client: Oracle JMS Types Examples
The AQ Streams documentation contains examples showing how to use PL/SQL to send and receive JMS messages. database release 10.2
 C++ Client: AQ-related OCCI examples
This set of examples demonstrates how to use the OCCI (C++ interface) to send and receive messages. database release 10.2

Articles and Blog Entries on OEMS
 Simple MDB with Oracle Database JMS Provider Oct-2006
 OracleAS JMS, Hermes and MBeans Oct-2006
 Propagating JMS Messages to Multiple Targets Oct-2006
 Stopping an MDB via JMX Oct-2006
 OC4J 10.1.3: Serving JCA 1.5 Applications Aug-2004

Left Curve
Popular Downloads
Right Curve
Untitled Document