【问题标题】:Usage of observer pattern with EJB and AJAX在 EJB 和 AJAX 中使用观察者模式
【发布时间】:2009-03-02 22:05:28
【问题描述】:
我想构建一个 Ajax gui,它会在我的 ejb 应用程序中发生的任何状态更改时得到通知。为了实现这一点,我认为我构建了一个有状态的 ejb (3.0),它实现了将 Ajax 客户端添加为观察者的 Observable 接口。
首先,这对 Ajax 是否可行。如果是,这是一个好的设计理念还是有更合适的方法来做到这一点?
提前致谢!
干杯,
安德烈亚斯
【问题讨论】:
标签:
ajax
design-patterns
ejb
reverse-ajax
【解决方案1】:
听起来您对“Reverse-Ajax”感兴趣,当服务器端发生事件时,客户端会收到通知。这与标准 Ajax 不同,后者基于某些客户端操作将异步事件发送到服务器。反向 Ajax 是可能的,并且在允许这样做并简化底层复杂性方面做得非常好的一个框架是 DWR。
http://directwebremoting.org/dwr/reverse-ajax
无论您使用哪种框架,您都需要根据您的预期负载、webapp 容器等了解各种实现方式对性能的影响。
至于这是否是好的做法,这真的取决于你的应用程序。如果将近乎实时的数据推送回客户端很重要,并且您不想使用 Flex 或其他较重的框架之类的东西,那么我会说您走在正确的轨道上。如果数据不需要是实时的,或者您的负载非常高,那么可能采用更简单的方法(如计划的页面刷新)可以为您节省一些复杂性并提高性能。