论文部分内容阅读
事务是健壮的应用程序开发所必需的一种关键性服务,是一种编写健壮代码的高级规范。运用事务处理,可以让关键性任务安全稳定地运行于企业级环境中。事务具有原子性,一致性,隔离性和持久性等特点。结束事务有两种方法:提交(commit)或回滚(rollback)。 在当前的企业信息系统中,企业级事务有时会涉及到多个部门的子系统,并且需要在比较长的时间内由各子系统协调完成。传统的事务管理中的原子性要求一旦事务不能完成,则放弃所有已做的工作,而串行性,要求如果一个事务不结束,则其他事务必须等待。这两种传统事务的并发控制方法不适用于企业异步事务的管理。异步事务处理就是为了适应这种需求而产生的。与同步事务处理不同,异步事务处理采用非阻塞的处理机制,调用者无须像同步处理那样等待被调用者的执行结果。事务发起者启动某一事务,通知该事务的所有参与者,当所有参与者都完成了该事务,则事务结束。当事务执行过程中发生异常需要回滚时,根据企业需求,可以将整个事务回滚到初始状态,或者将某个子系统回滚到该子系统的初始状态,以便重新开始该事务。 同步事务处理通常采用远程方法调用来处理分布式应用。当调用其它子模块的方法时,事务发起者在方法调用返回之前,一直处于阻塞状态,直到被调用者成功返回,事务才可以继续进行。消息机制可以代替远程方法调用。面向消息的中间件(MOM)是指任意的支持消息机制的基础结构。在过去的几年中,面向消息中间件系统已经发展成为一种专有的方法。每一种产品都有它本身自己的应用编程接口,代码不能移植到其他的消息机制系统中,这导致了用户必须锁定于某一种特定的供应商。这样也会对开发人员带来不利的影响,因为他们需要重新学习每一种消息产品的专有应用编程接口。 Java消息服务(Java Message Service,JMS)提供了一种清晰的方法实现企业消息处理,通过采用异步传递方式处理进程间通信,能够连接应用中不同的组件。采用消息系统有助于将异步事务分解为多个事务,增强对异步事务处理的有效性,客户端启动一个事务,将事务处理请求消息发送至消息服务器,无须等待该消息处理结束,即可进行后续的处理。在该消息成功处理完成之后,再通过消息系统将处理结果返回。JMS为企业异步事务处理提供了良好的技术支持。 通过异步处理的方式,还可将企业已有资源整合起来,减少各应用程序之间的耦合程度,使各应用程序之间实现松耦合,并且便于管理与拓展。