Pubblica / Iscriviti / Richiesta di scambio di dati grandi, complessi e riservati?

1

Sto lavorando a un progetto in cui un sito Web deve scambiare dati complessi e confidenziali (e quindi crittografati) con altri sistemi. I dati includono informazioni personali, disegni tecnici, documenti pubblici ecc.

Preferiremmo evitare il modello di richiesta di risposta ai sistemi dipendenti (e ce ne sono molti), in quanto ciò creerebbe un sacco di traffico vuoto.

D'altra parte, non sono sicuro che un modello di Publisher / Subscriber puro sarebbe appropriato, principalmente a causa della natura complessa e voluminosa dei dati da scambiare.

Per questo motivo abbiamo discusso la possibilità di una soluzione "pubblica / iscriviti / richiesta". La parte Pubblica / Iscriviti sarebbe quella di pubblicare un messaggio per i sistemi dipendenti, che qualcosa è pronto per il ritiro. Il contenuto effettivo viene quindi prelevato dall'azione richiesta-risposta della vecchia scuola.

Come ti suona?

    
posta Morten 30.03.2012 - 11:32
fonte

1 risposta

1

Considera PubSubHubbub

PubSubHubbub funziona offrendo innanzitutto un feed AtomPub generale con collegamenti a vari hub. Gli abbonati si registrano con gli hub utilizzando un feed socket diretto (in genere invertire Ajax utilizzando Cometa ). Ciò consente agli hub di inviare dati agli abbonati su richiesta senza consumare troppe risorse. Gli editori inviano i dati agli hub per la divulgazione. Gli hub possono essere raggruppati.

Nella tua situazione, potresti fare quanto segue (soggetto ai tuoi criteri di protezione dei dati personali):

  1. Un nuovo utente viene fornito con una chiave simmetrica segreta insieme alle sue credenziali di accesso
  2. Il sottoscrittore si registra con un hub per ricevere i dati
  3. Il publisher crea i dati specifici di un sottoscrittore e lo invia all'hub crittografato insieme alla sua chiave simmetrica
  4. L'hub gestisce il processo di invio dei dati al sottoscrittore

Nel mondo Java, una combinazione di Jetty (versione 7+), OData4J e Atmosphere probabilmente otterrà la maggior parte di ciò che ti serve.

    
risposta data 03.05.2012 - 19:02
fonte

Leggi altre domande sui tag