One of the coolest things in Oracle 11g and onwards is a functionality called XDB Repository Events. Most of you probably know that based on XMLDB functionality in the database, the database also can be used in a File server kind of way by enabling the XDB Repository HTTP/FTP or WebDAV functionality via DBMS_XDB. XDB Repository Events are a kind of “triggers” that enable you to automatically trigger/do something based on the events triggered in this file/folder environment. For example, it is possible to automatically create duplicate files in the XDB Repository or secure them. Other possibilities are to read the content of such a file and insert that content, on the fly during the copy/paste action, into a relational table.
Most APEX enthusiast know of the PL/SQL Gateway, which is a small part of the functionality that is called the XDB Protocol Listener. Besides PL/SQL support, it also enables you to secure your data, as mentioned, trigger actions based, for example on MIME type, mount your database as a Logical Volume (currently only via WebDAV, eg. DAVFS) of your operating system. The XDB Protocol Listener can support your own solutions based on PL/SQL (like REST Web Services), but also C or Java based methods, and, out-of-the-box, Native Database Web Services (SOAP support) or direct XML content access via other “servlets” like the “ORADB/DBUriServlet” servlet method.
During UKOUG this year, Mark Drake (Senior Product Manager) and me, will demonstrate some of the cool things you can do with your database while acting as a file server for all your content. I will introduce, within half an hour, the audience to the concepts needed (XDB Repository, XDB Events, Extending your and database default methods) to extend your database functionality not only with file server capabilities but also go beyond that concept and enable it with automatic handling as needed (content consumption, version handling of content, securing content, detecting file properties and storing automatically extra file info, etc, etc).
Mark will spend the last half hour in demonstrating how you can create on these concepts a Google Map API content system that automatically picks up your photographs that are dropped in the XDB Repository (aka your database), then read it’s file properties (EXIF) and shows you the location on a Google World Map (via GIS/KML based info embedded in the picture) were the picture was actually taken. People who are using Apple/Mac OS, might recognize this functionality as “Places” in “iPhoto 11“.
…and yes, this was a shameless plug for our/my presentation during UKOUG…
…but then again, this is, is really cool stuff, so be there or be square on Tuesday morning…
- HOWTO: XDB Repository Events – An Introduction
- HOWTO: Implement Versioning via Oracle XMLDB
- HOWTO: Enable the Protocol Server (Listener)
- HOWTO: Create a Native Database Web Service
- HOWTO: Mount your Database as File System via WebDAV under Linux