比如说要处理一个订单:
工作人员先把数据敲进界面,我们很多的情况都是主从表在一个界面上,所以一笔单的数据就包括主表的一条记录和从表的多条记录,完成后,用户触发保存动作,然后在客户端将数据一起打包成JMS消息交给weblogic上的MDB来处理(就是这里的异步),不排除在中间加入MOM提供更加强大的消息支持。然后MDB处理这些数据(有可能包括一定的业务逻辑,最后是存入数据库,整个是一个事务),如果失败,事务会滚,且要将数据返回给用户,用户可以在界面上重现这笔资料。成功的话就没必要返回消息。
现在我担心的是单纯用JMS+MDB会造成客户端和服务器端都很难维护,比如说怎么划分Topic和queue就是一大问题(好像MOM有一种像路由一样的功能,一般情况下这样我们就可以改了服务器端的Topic和Queue后只用配置MOM)。还有并发性的控制,安全性...
请楼上的老兄给点意见,谢谢!!!!
不建议你这样做,就上例子来说,我觉得应该用同步来做,比如订票吧:
客户端填写好东西,然后点击客户端的submit,客户通过网络把数据提交给weblogic,由weblogic里面的ejb处理之后将信息返回给客户端,这段时间之内,客户只能等待,而不是可以做其他操作。
从UI设计来说,如果客户点击submit之后,在结果返回之前能够进行其他操作,我觉得不合理。
使用MOM最大的好处就是异步,但是我觉得你这里用异步不合适。