There are a lot of system integration tools nowadays to connect multiple systems to one another. One with an even better looking monitoring interface, graphic development tool or bigger set of adapters than another. Truly great for integrating all your systems if you own a complex environment with an exotic mix of systems and vendors.
But what if you own just a few applications that just need point to point integrations with simple message exchange? Sometimes you just want to approach this with the simplest solution, simply because the case is not that complicated and you don’t want to spend unnecessary effort (read: money) into it.
If you have chosen to use a Oracle databases as a storage solution for your applications (or as part of your package implementations) you are lucky: This database accommodates a lot of functionality out of the box that you can use in just these cases.
Making use of database links and preferably Advanced Queuing (AQ) with propagation will do just this trick of connecting one database to another. Even processing or generating XML messages in a neat and proper way is basic baggage. So basically: this database is perfectly capable of integrating itself!!
The advantages of using this method:

  • No extra link in your chain that you have to maintain, pay for and that is able to fail.
  • No extra expertise you have to train your developers / administrators for. A Database developer should be able to do the trick.
  • No extra user monitoring tools are needed

Unfortunately there are a few limitations to using this method:

  • Initial development effort can take some time as this advanced queuing and propagation mechanism sometimes feels like working with a black box. But getting the hang of it shouldn’t take more than a few days of practice!
  • Database versions 9i and higher are perfectly interconnectable, however If you’re dealing with older databases, don’t expect anything fancy like XML processing.

And if you ever do want to implement a separate integration solution like Oracle Fusion Middleware: almost all these solution are perfectly capable of handling AQ as a decoupling point. The added integration solution will take care of transport and any additional processing of the messages and read/write to the already created AQ, saving you database-development effort!
Jan Willem Pas, Database & Integration specialist