Gestione degli avvisi nell'applicazione Web utilizzando l'API RESTful

1

Ho progettato un'API RESTful e sto lavorando alla creazione di un'applicazione web per utilizzare il servizio.

Una cosa a cui sono alle prese è come gestire gli avvisi nell'applicazione Web (simile allo stackoverflow degli avvisi fornisce nel tuo profilo una nuova risposta, risposta, ecc.)

Fondamentalmente l'applicazione web è un flusso di lavoro tra un utente e i suoi clienti. Alcune attività devono essere completate in ordine e l'applicazione Web avvisa sia l'utente che i suoi clienti di qualsiasi azione. L'utente viene inoltre avvisato di eventuali azioni client in sospeso.

Il modo in cui ho installato la mia architettura al momento è che l'API non ha conoscenza degli avvisi. Memorizza semplicemente le risorse che vengono recuperate dall'applicazione web. Per capire se è necessario visualizzare un avviso, l'applicazione Web controlla tutte le risorse e, in base a una serie di regole, decide quali avvisi devono essere visualizzati.

Il problema che ho è che non sono sicuro che questo sia un modo molto efficace di fare le cose. Sono disponibili diversi avvisi che possono essere visualizzati e dipendono da diverse risorse API che devono essere richiamate quando un utente o un client esegue l'accesso.

La mia domanda: è questo il modo migliore per ottenere ciò che voglio, o ci sono altri metodi che sono più utili da usare e contribuirà a ridurre il tempo di caricamento delle applicazioni Web e le chiamate API?

    
posta Gaz_Edge 03.03.2013 - 15:58
fonte

2 risposte

1

Quindi una cosa che potresti fare è rendere il controllo delle regole asincrono. Una volta che la risorsa è stata creata (forse come aspetto), metti un riferimento alla pubblicazione in Rabbit MQ, Active MQ o anche in una tabella di database periodicamente trascinata da un altro processo. L'uso degli aspetti significa che la tua API non deve sapere nulla sugli avvisi. (Anche se dovresti fare attenzione a quali verbi utilizzi con questi effetti collaterali, ad esempio POST è tuo amico ma GET sarebbe inappropriato).

Puoi essere un po 'più specifico? Forse rivelare le strutture o il linguaggio? Potrebbe esserci un modo migliore per farlo rispetto a AOP.

    
risposta data 03.03.2013 - 16:48
fonte
0

Sei la persona migliore per rispondere alla tua stessa domanda.

Gli avvisi sono parte integrante del sistema? Diciamo che domani scrivi un'app mobile che interagisce con il tuo server. È ragionevole presumere che avrà bisogno anche di allarmi? O sono avvisi specifici per il caso d'uso del sito web? Se la risposta alla prima domanda è sì, probabilmente vorrai che il server gestisca gli avvisi. In questo modo, quando scrivi la tua app moobile, non è necessario replicare il codice degli avvisi che hai scritto per il sito web. Ma se gli avvisi sono specifici per il caso d'uso del sito web, puoi e dovresti lasciare la logica nel sito web per mantenere l'api pulita e concentrata del server.

    
risposta data 03.03.2013 - 19:41
fonte

Leggi altre domande sui tag