Pattern di osservatore per servizi di assistenza con client UI

2

Sto sviluppando servizi rilassanti usando resteasy per un'applicazione. Questa applicazione ha un'interfaccia utente che consumerà questi servizi di riposo.

Ora sto avendo un caso in cui devo fare un push del server all'IU (Client). Attraverso la navigazione su Internet vedo Websockets, atmosphere2.0, ecc., Comunque mi chiedo come posso catturare tutto il pubblico usando la mia applicazione per fare un push del server all'interfaccia utente.

Inoltre, devo annullare la connessione o interrompere la sessione utente se non viene rilevata alcuna attività per 30 min.

Come posso ottenere questo?
Ho sentito parlare del modello di osservatore, non sono sicuro di come possa essere d'aiuto nel mio caso.

    
posta user2585494 16.11.2016 - 21:09
fonte

1 risposta

2

Il vecchio modo per farlo era usare il polling. Se riesci a tollerare un po 'di tempo tra l'evento e l'interfaccia utente che lo vede, questo potrebbe essere il modo più semplice per farlo. Una cosa che potresti usare è una richiesta HEAD su una risorsa eventi specifica per il cliente.

Se hai veramente bisogno di una spinta, probabilmente vorrai guardare qualcosa come le websocket. Ti consigliamo di limitare questo alle sole notifiche degli eventi e utilizzare le chiamate di riposo standard per ottenere i dati associati agli eventi.

Mi ci è voluto un po 'di tempo ma mi sono ricordato perché ho qualche apprensione per raccomandare websocket o un approccio push simile. Il problema che ho riscontrato con i web socket era che quando tutto è connesso, è fantastico, ma devi preoccuparti di cosa succede se la connessione viene interrotta. Con un polling, se il server è inattivo per un minuto o il singhiozzo della rete, riproverà più tardi. È applicabile a questo problema, ma mi piacerebbe che tu abbia bisogno di quel livello di complessità. L'ho provato anche quando era davvero nuovo, quindi le cose avrebbero potuto essere fatte per renderlo più semplice.

    
risposta data 16.11.2016 - 21:19
fonte

Leggi altre domande sui tag