Posts tagged aq
In preparation for our Oracle Open World session ‘Xenogenetics for PL/SQ – Infusing with Java Best Practices and Design Patterns’ – I have been doing a little work on Advanced Queuing in the Oracle RDBMS, as well as on Java Stored Procedures. The objective of this presentation is to bring best practices, design patterns as well as new functionality to the world of PL/SQL from other worlds, such as Java. Interaction between database applications and the rest of the world is an important part of that. And such interaction, especially when we have a need for decoupled interaction, which we frequently should have, Advanced Queues will be used at the database end to support that interaction.
The concept of queuing – and more generally: messaging – has its Java counterpart in JMS, the Java Message Service. The question I then asked myself is: how exactly can I map AQ to JMS and how can I link the two worlds. How can I expose the AQ Queue or Topic in the RDBMS as a JMS Queue or Topic? And how can I consume messages from JMS into the database, possibly to AQ?
One of my reasons for making the connection between AQ and JMS has to do with another presentation at OOW I will deliver, More >
Back in 2004 when we started with the AMIS Technology Blog, my main objective was to record the things I infrequently do in order to have notes describing the steps to go through whenever I needed to do the thing again. I was own primary audience, so to say. Over the years, the articles have increased in complexity and sometimes in absurdity too. This one is back to that original intention. This article is not fancy at all – even though it touches upon a powerful (and underrated) subject: the Advanced Queue in the Oracle RDBMS. For the 1000s of database developers and architects that make frequent use of AQ, I am not going to add anything: this article merely shows the steps for creating an Advanced Queue, how to register a listener on the queue and how to publish a message on the queue. That is not fancy at all, obviously.
What is extremely fancy and powerful – and not nearly used enough – is the architectural pattern that AQ allows us to introduce. Queues are a key concept for achieving decoupling. Decoupling itself is like the holy grail of architects – because it allows agility and reuse. Through a Queue, a publisher (or discoverer) of events can make them available to More >