分类:
2008-10-28 18:17:13
现在 oracle发展了很多版本,也不再是单纯的数据的数据库了。它提供了丰富的方法论,在设计数据库应用程序的时候应该尽量挖掘。如 外部过程,可以让oracle与application server通信,可以使任务使用其他机器上的cpu资源
java store procedure&external c procedure. 如执行os 命令,以及一些数据库本身不能实现或者实现困难的task.
UTL_HTTP . http包使用起来很简单。能够调用web server的java servlet.提供了丰富的功能。例1使用数据库发送短信息:通过trigger触发log表纪录的变动,使用dbms_job调用utl _http,请求一个短信网关服务。例2:utl_http请求java servlet,该servlet读取application server的文件,然后使用utl_file将utl_http读到的stream写到数据库本地文件系统上。
高级队列&JMS消息队列。就是发送/接受消息,然后进行处理。如数据库事务提交后,通知java application 在前台做出反应。oracle db的高级队列和jms整合的很好,不过复杂:)
如用户抱怨某个操作时间太长,客户端没有响应的时候。我们考虑是否可以将这个操作分为很多小的操作,一部分需要马上完成的操作和一部分可以推迟且不影响用户下一步操作的task.需要马上完成的task完成以后就可以在application client上通知用户完成;可以推迟的task,可以交给后台进程去做,这通过高级队列实现。