Zdalne odpytywanie w ManagedBean i powiadamianie widoku klienta poprzez push

Mam widok jsf, który pokazuje niektóre dane z zarządzanego komponentu bean (viewscope) w tabeli, która jest pobierana zdalnie.
Obecnie dane są aktualizowane przez odpytywanie z widoku klienta za pomocą komponentu odpytywania primefaces.

Nie jest to wystarczające, ponieważ dla dużego ruchu wysyłanego do klienta, a teraz, gdy primefaces obsługuje push serwera, chcę tylko przeładować dane i przekazać je do widoku klienta, jeśli dane zostały zmienione.

Powinno to zostać zrealizowane poprzez odpytywanie z warstwy internetowej do warstwy aplikacji, wywołując taką metodęhasChanged(...). Jeśli dane zostaną zmienione, warstwa sieciowa przesyła powiadomienie do klienta, aby ponownie załadować dane.

Aktualna ankieta klienta

klient>> warstwa internetowa>> poziom aplikacji

klient pyta o warstwę danych za pośrednictwem ajax dla danych, która ponownie prosi aplikację o dane i aktualizacje

Żądana ankieta i wypychanie na poziomie sieci

klient<< warstwa internetowa>> poziom aplikacji

warstwa internetowa odpytuje aplikacje, jeśli dane zostały zmienione i załadowane w imieniu i informuje (przesuwa) klienta, aby zaktualizował widok

Awanse:

Jakie jest najlepsze podejście do realizacji sondowania w zarządzanym komponencie bean w warstwie internetowej?

TimerTask w zarządzanym komponencie bean
Rozmnażanie wątków w zarządzanym komponencie bean JSF dla zaplanowanych zadań przy użyciu zegaraDodatkowe EJB z adnotacją harmonogramuDodatkowe EJB z TimerServiceinny?

Edytować:

Architektura: (3-poziomowa)

Serwer1: baza danychServer2: app-tier (EAR z Remote EJB + Hibernate)Serwer3: warstwa internetowa (WAR z JSF 2.0 + Primefaces 3.4)Klient: przeglądarka

questionAnswers(1)

yourAnswerToTheQuestion