May 26, 2004: Oracle database features every developer should know

For many java developers an Oracle database is nothing more than a collection of tables, relations and views. They are aware of something called stored procedures , but at best this knowledge leads to heated discussions.
Too bad, because a little more knowledge of the (modern) database options can immensily increase the development possibilities and lead to better applications. Of course, this is not only found among java developers. For years I accused Visual Basic developers for their short-sightedness, although they often even lacked the knowledge of basic datamodelling. But lately I discovered that also Oracle,Designer, Forms and PL/SQL, developers are lacking knowledge about their database. Therefore I'd like to highlight some features/technologies that everybody should know about.

  1. XMLDB
  2. Advanced Queue-ing
  3. 'internet' connections from within the database to the outside world
  4. Database connections based on http, webdav and ftp

1 Version 8i of the database introduced some basic XML options. which were extended with version 9i. But with 9i release 2 the XML implementation became a serious. Since then Oracle talks about the XMLDB, because it is more than some wrapping and layering on top of the relational model. The two concepts, xml and relation, happily co-exist together. For example, one can define an xml view on top of a relational model and query this view by means of XPath extended SQL and retrieve the data (within java and .NET) as XMLTYPE. No more parsing and conversion needed from recordset to xml. One can also store xml natively in the database as xmltype. Register the xml schema and the database takes care of the rest. If needed, a relational view can be created on top of this xmltype. What actually happens is that objects, and objecttables, are used that are based on the complex and simple types in the xml schema and these are transarantly kind of combined into the xmltype. The xml can be stored and retrieved with jdbc, sql-net, .NET dataprovider or the new connection options as mentioned later. A real good XMLDB demo is available at OTN.

2 Advanced queue-ing is the Oracle name of messaging. Also available since version 8i. It is, offcourse, based on tables to store the messages and offers api's in multiple languages for manipulation. Standard messaging options are available: one vs. multi producer and one vs multi consumer, message transformations, delay and retry mechanisms etc etc. It is truely a reliable, fast, stable and interesting messaging system.

3 The letter i with the 8 and 9 version of the database stands for internet. One of the ways this has been implemented can be found with PL/SQL. Multiple built-in packages are available for 'internet' connections to the outside: utl_smtp a low level api for sending mail. In version 9i it has been supplemented with utl_mail a higher level api. In 9i utl_http (low level) is available for making hppt and https connections to the outside. This can be very well used for connecting to webservices.

4 For years the database could only be reached with sql-net, (odbc), jdbc and some other obscure methods. After some trials with the internet file system (IFS) to open up the database it finally succeeded with 9i rel. 2. The database can now be reached via http, webdav and ftp. Hopefully https will be available soon. The main focus is on XML, but the relational model can be reached and queried too. Check out the demo at OTN.

Offcourse, this is only part of the wunderfull options the modern (Oracle) database offers. In the complex world of software developing today it is becoming a necessity to be familiar with multiple technologies. Hopefully this will give you some usefull information and new ideas for your work.