Previous |
Next |
A messaging environment stores information in queues. Enqueuing is the process of placing messages into queues. Dequeuing is the process of retrieving messages from queues.
The information in queues can be used to complete tasks, or it can be processed by applications. A messaging environment allows applications to communicate with each other asynchronously. That is, one application does not need to wait for another application to complete a particular task. Asynchronous communication means that a messaging system has minimal impact on the functionality of the applications that use the system.
For example, when one application wants to communicate with another application, it can put messages in a queue. The messages can be stored in the queue until the other application retrieves them. In fact, one application might not be running while another application is enqueuing messages for it to process later. The messages might instruct the retrieving application to perform an action, or the messages might contain information that must be processed by the retrieving application.
When an organization has a number of different systems that must communicate with each other, a messaging environment can be a good solution. The various systems might be in different locations, some might be older than others, and some might run on different platforms. Messaging provides a standard, reliable way to transport critical information between these systems.
The messaging feature of Oracle Database is called Oracle Streams Advanced Queuing (AQ). Oracle Streams AQ provides the advantages of messaging, and it also integrates the messaging system with Oracle Database. Therefore, Oracle Streams AQ provides the reliability, scalability, security, and manageability of Oracle Database.
Oracle Streams AQ can be used to configure a messaging environment that sends messages between queues in a single database or between queues in different databases. A messaging environment that sends messages between queues includes the following components:
Queues: Abstract storage units that store messages in a messaging environment
Producers: Users or applications that enqueue messages
Propagations: Oracle Scheduler jobs that copy messages from one queue to another according to a set schedule
Consumers: Users or applications that dequeue messages
A single user or application can act as both a producer and a consumer. In a messaging environment, both subscribers and messaging clients are consumers. Both subscribers and messaging clients are mechanisms that are authorized to dequeue messages from a queue, and both can use rules to determine which messages to dequeue.
Oracle Streams AQ provides many features, some of which are beyond the scope of this guide. The following topics provide an overview of some of the features of Oracle Streams AQ:
When to Send Messages Between Databases
Tutorial: Sending Messages Between Oracle Databases
Tutorial: Configuring Message Notifications
Monitoring a Messaging Environment
Troubleshooting a Messaging Environment
Oracle Streams Information Consumption for more information about messaging clients
Oracle Streams Advanced Queuing User's Guide for detailed information about subscribers and all of the other features of Oracle Streams AQ