What Is Advanced Queuing?
When Web-based business applications communicate with each other, producer applications enqueue messages and consumer applications dequeue messages. Advanced Queuing provides database-integrated message queuing functionality. Advanced Queuing leverages the functions of the Oracle database so that messages can be stored persistently, propagated between queues on different machines and databases, and transmitted using Oracle Net Services (formerly Net8), HTTP(S), and SMTP.
Since Oracle Advanced Queuing is implemented in database tables, all the operational benefits of high availability, scalability, and reliability are applicable to queue data. Standard database features such as recovery, restart, and security are supported in Advanced Queuing, and queue tables can be imported and exported.
Advanced Queuing in Integrated Application Environments
Advanced Queuing provides the message management functionality and asynchronous communication needed for application integration. In an integrated environment, messages travel between the Oracle database server and the applications and users, as shown in Figure 1-1. Using Oracle Net Services (formerly Net8), messages are exchanged between a client and the Oracle database server or between two Oracle databases. Oracle Net Services also propagates messages from one Oracle queue to another. Or, as shown in Figure , Oracle DBA can perform Advanced Queuing operations over the Internet using transport protocols such as HTTP, HTTPS, or SMTP. In this case, the client, a user or Internet application, produces structured XML messages. During propagation over the Internet, Oracle servers communicate using structured XML also.
Interfaces to Advanced Queuing
Oracle DBA can access Advanced Queuing functionality through the following interfaces:
* PL/SQL using DBMS_AQ, DBMS_AQADM, and DBMS_AQELM.
* Visual Basic using Oracle Objects for OLE.
* Java using the oracle.AQ Java package.
* Java Messaging Service (JMS) using the oracle.jms Java package.
* Internet access using HTTP, HTTPS, and SMTP
Queuing System Requirements
Advanced Queuing meets queuing system requirements for performance, scalability, and persistence.
Requests for service must be decoupled from supply of services to increase efficiency and provide the infrastructure for complex scheduling. Advanced Queuing exhibits high performance characteristics as measured by the following metrics:
* Number of messages enqueued/dequeued per second
* Time to evaluate a complex query on a message warehouse
* Time to recover/restart the messaging process after a failure
Queuing systems must be scalable. Advanced Queuing exhibits high performance as the number of programs using the application increases, as the number of messages increases, and as the size of the message warehouse increases.
Persistence for Security
Messages that constitute requests for service must be stored persistently, and processed exactly once, for deferred execution to work correctly in the presence of network, machine, and application failures. Advanced Queuing is able to meet requirements in the following situations:
* Applications that do not have the resources to handle multiple unprocessed messages arriving simultaneously from external clients or from programs internal to the application.
* Communication links between databases that are not available all the time or are reserved for other purposes. If the system falls short in its capacity to deal with these messages immediately, the application must be able to store the messages until they can be processed.
* Eternal clients or internal programs that are not ready to receive messages that have been processed.
Persistence for Scheduling
Queuing systems need message persistence so they can deal with priorities: messages arriving later may be of higher priority than messages arriving earlier; messages arriving earlier may have to wait for messages arriving later before actions are executed; the same message may have to be accessed by different processes; and so on. Priorities also change. Messages in a specific queue can become more important, and so need to be processed with less delay or interference from messages in other queues. Similarly, messages sent to some destinations can have a higher priority than others.
Persistence for Accessing and Analyzing Metadata
Message persistence is needed to preserve message metadata, which can be as important as the payload data. For example, the time that a message is received or dispatched can be a crucial for business and legal reasons. With the persistence features of Advanced Queuing, Oracle DBA can analyze periods of greatest demand or evaluate the lag between receiving and completing an order.
More Tutorials on Oracle dba ...
Source :Oracle Documentation
Liked it ? Want to share it ? Social Bookmarking
Want to share or request Oracle Tutorial articles to become a Oracle DBA. Direct your requests