2009-03-02 55 views
3

我想要構建一個Ajax GUI,通知我的ejb應用程序中發生的任何狀態更改。爲了達到這個目的,我想我構建了一個有狀態的ejb(3.0),它實現了Observable接口,並將Ajax客戶端作爲觀察者添加到該接口中。首先,Ajax可以實現這一點。如果是的話,這是一個很好的設計理念,還是有更合適的方法來做到這一點?觀察者模式與EJB和AJAX的使用

在此先感謝!

乾杯,

安德烈亞斯

回答

2

這聽起來像你有興趣在「反向阿賈克斯」,其中當一個事件發生的服務器端,客戶端通知。這與標準Ajax不同,在標準Ajax中,基於某些客戶端操作將異步事件發送到服務器。反向Ajax是可能的,並且一個能夠很好地實現這個功能並且簡化底層複雜性的框架是DWR。

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

你想在各個方面的性能影響讀取多達實現基於你的預期負載,Web應用程序容器等。不管你使用哪種框架。

至於這是否是好的做法,那真的取決於您的應用程序。如果將接近實時的數據推送回客戶端非常重要,並且您不想使用Flex或其他較重框架之類的東西,那麼我會說您處在正確的軌道上。如果數據不需要是實時的,或者如果您的負載非常高,那麼可能更簡單的方法(如計劃的頁面刷新)將爲您節省一些複雜性並幫助提高性能。現在