使用EJB和AJAX的观察者模式

时间:2009-03-02 22:05:29

标签: ajax design-patterns ejb reverse-ajax

我想构建一个Ajax gui,通知我的ejb应用程序中发生的任何状态更改。为了实现这一点,我想我构建了一个有状态的ejb(3.0),它实现了Ajax客户端作为观察者添加到的Observable接口。 首先,这可能与Ajax有关。如果是的话,这是一个好的设计理念还是有更合适的方法来做到这一点?

提前致谢!

干杯,

安德烈亚斯

2 个答案:

答案 0 :(得分:2)

听起来您对“Reverse-Ajax”感兴趣,当服务器端发生事件时,客户端会收到通知。这与标准Ajax不同,后者根据某些客户端操作将异步事件发送到服务器。反向Ajax是可能的,并且一个能够很好地实现这一目标的框架就是DWR,它简化了底层的复杂性。

http://directwebremoting.org/dwr/reverse-ajax

无论您使用哪种框架,您都希望了解基于预期负载,webapp容器等各种实现方式的性能影响。

至于它是否是一种好的做法,这实际上取决于你的应用。如果将近实时数据推送回客户端并且您不想使用Flex或其他更重的框架之类的东西很重要,那么我会说您走在正确的轨道上。如果数据不需要是实时的,或者您的负载非常高,那么可能更简单的方法(如计划页面刷新)将为您节省一些复杂性并有助于提高性能。

答案 1 :(得分:0)

现在,一段时间后,您的问题有了一个新的可能答案:Websockets的使用

从之前的linked websitePete:“网络设计不允许网络服务器与网络浏览器建立连接......”现在正在改变html5。

http://en.wikipedia.org/wiki/WebSockets