Is polling the only way for updating app's data from a database?
In Oracle you can use the built in DBMS_ALERT package to facilitate this.  


  DBMS_ALERT supports asynchronous
  notification of database events
  (alerts). By appropriate use of this
  package and database triggers, an
  application can notify itself whenever
  values of interest in the database are
  changed.
  
  Suppose a graphics tool is
  displaying a graph of some data from a
  database table. The graphics tool can,
  after reading and graphing the data,
  wait on a database alert (WAITONE)
  covering the data just read. The tool
  automatically wakes up when the data
  is changed by any other user. All that
  is required is that a trigger be
  placed on the database table, which
  performs a signal (SIGNAL) whenever
  the trigger is fired.