Sfondo/Contextdove memorizzare le credenziali dell'utente in un'applicazione enterprise (EAI)?
Stiamo sviluppando un Event Notification Service. L'applicazione ad alto livello è la seguente:
Il nostro ambito di sviluppo comprende widget e ENS.
"ENS" funge da punto di raccolta centrale per determinati tipi di eventi che interessano gli utenti. Qualsiasi utente che desideri sapere quando si verificano questi tipi di eventi registri con ENS, , che identifica gli eventi in ordine e abbina le notifiche con gli abbonamenti.
L'utente che vuole Iscriviti, dovrebbe essere un utente valido dell'applicazione intergrated (db, sistema SAP ecc)
La sequenza degli eventi:
Ora la mia domanda è:
Quali sono le migliori pratiche per la memorizzazione delle credenziali db, sap ecc.
MODIFICA Con quale frequenza l'utente deve essere autenticato? Dovrebbe essere ogni volta che i messaggi vengono consegnati? (Come indicato da @duffymo, se utilizzo questa strategia, influirà sul sistema sorgente)
Ulteriori informazioni: ENS sono i servizi web.
ENS esegue il polling del SAP (e di altre applicazioni) ed è qui che il problema sta diventando più complesso. In SAP esiste l'autorizzazione a livello di dati. Quindi non tutti gli utenti sono autorizzati a vedere tutti gli eventi/dati.
Se SAP ha PUSH i dati, insieme alle informazioni utente che ha autorizzato a vedere, quindi nessun problema.
Caso 1: pianificazione è iniziata dal ENS
- utente sottoscrive un abbonamento. Al momento della sottoscrizione, l'utente viene controllato per la sua autorizzazione nel sistema SAP. Se OK, allora gli sarà consentito l'Abbonamento.
- Lo scheduler viene eseguito all'ora pianificata.
- Lo scheduler identifica gli utenti che sono iscritti.
- Lo scheduler utilizza le credenziali memorizzate degli utenti (arricchite in ENS) in POLL se si verifica l'evento.
- Notifica agli utenti se sono presenti modifiche.
Disadvs qui:
- le credenziali dell'utente vengono memorizzati da qualche parte esterno - squadra di sicurezza potrebbe non accettarlo
- Reduntant colpisce se più di un utente è sottoscritto per lo stesso pezzo di informazioni
Caso 2: Lo scheduler è denominato WIDGET. I crediti utente verranno memorizzati solo nella macchina locale dell'utente. Diadv:
- Se l'abbonamento è giornaliera, e se il sistema utente/widget di non è all'altezza. L'utente potrebbe perdere le notifiche che accadono per esempio, nei fine settimana.
- Chiamate ridondanti sul server se più di un utente è stato sottoscritto per lo stesso numero di informazioni .
Che cosa state usando per implementare il servizio ENS? È basato su JMS sever o just o su un'app WEB? Stai sviluppando i tuoi protocolli di notifica e abbonamento? Inoltre, come vengono espulsi gli eventi dalle app che vogliono notificare gli altri, ENS esegue il polling di SAP e di altre app per gli eventi o SAP estenderà gli eventi? – ams