Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
观察者模式在EJB和AJAX中的应用_Ajax_Design Patterns_Ejb_Reverse Ajax - Fatal编程技术网

观察者模式在EJB和AJAX中的应用

观察者模式在EJB和AJAX中的应用,ajax,design-patterns,ejb,reverse-ajax,Ajax,Design Patterns,Ejb,Reverse Ajax,我想构建一个Ajax gui,它在ejb应用程序中发生任何状态更改时都会得到通知。为了实现这一点,我认为我构建了一个有状态ejb(3.0),它实现了可观察的接口,Ajax客户端作为观察者添加到该接口中。 首先,这在Ajax中是可能的。如果是,这是一个好的设计理念还是有更合适的方法 提前谢谢 干杯 Andreas听起来您对“反向Ajax”感兴趣,在服务器端发生事件时会通知客户端。这与标准Ajax不同,在标准Ajax中,基于一些客户端操作将异步事件发送到服务器。反向Ajax是可能的,一个非常好地实现

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

提前谢谢

干杯


Andreas

听起来您对“反向Ajax”感兴趣,在服务器端发生事件时会通知客户端。这与标准Ajax不同,在标准Ajax中,基于一些客户端操作将异步事件发送到服务器。反向Ajax是可能的,一个非常好地实现了这一点并简化了底层复杂性的框架是DWR

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


至于这是否是一种好的做法,这实际上取决于您的应用程序。如果将接近实时的数据推送回客户机很重要,并且您不想使用Flex或其他更重的框架,那么我认为您走在了正确的道路上。如果数据不需要是实时的,或者您的负载非常高,那么也许一种更简单的方法(如定时页面刷新)可以为您节省一些复杂性并有助于提高性能。

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

从之前的“网络设计不允许网络服务器连接到网络浏览器…”开始,现在html5正在改变这一点