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