Sono abbastanza nuovo ai servizi Web, JAX-WS ecc. Quindi forse domanda noob ...Architettura callback del servizio Web SOAP?
Quindi, voglio implementare un servizio Web per far comunicare due sistemi. Il sistema "client" è interessato agli eventi generati sul sistema "server". Ma il "sistema client" è di per sé un server per un'altra app. Il server è Java (WAR in tomcat). Il cliente è .Net.
Ci dovrebbe essere un solo sistema client, ma diversi processi client all'interno del sistema client, ciascuno interessato a distinte categorie di eventi.
Implementerò il server-side e un client di test. Qualcun altro implementerà il codice .Net.
La sequenza in esecuzione dovrebbe essere lungo questa linea:
- Server è in esecuzione ...
- client inizia la conversazione, "registri" al server, e richiede alcuni dati iniziali.
- Il server mantiene un elenco degli endpoint dei client registrati
- Nel server è presente un listener che viene avvisato quando si verificano determinati eventi. Passerà quindi attraverso l'elenco dei clienti registrati e inoltrerà l'evento a ciascuno di essi
- Ad un certo punto, il client può "annullare la registrazione" senza notificare al server che non desidera più ricevere eventi.
In primo luogo, sembra qualcosa di ragionevole?
E c'è un meccanismo integrato standard, che utilizza SOAP (JAX-WS sul server, qualsiasi cosa sia disponibile con .Net n il client) - che il server può utilizzare per ottenere un endpoint di callback dal client?
Ad esempio, ho fatto qualcosa di molto simile usando RMI, in questo caso il client può semplicemente inviare un riferimento remoto a se stesso, che il server può solo memorizzare e fare riferimento a più tardi.
Infine, esiste una libreria standard per archiviare riferimenti di endpoint, effettuare callback (collettivi) e magari mantenere aggiornato l'elenco, rimuovendo i client che non rispondono in modo tale da eseguire una chiamata "ping"?
Nota per chiarezza: ho bisogno di qualcosa di più del semplice metodo asincrono con callback: un messaggio dal client genererà molti messaggi di callback dal server al client.
Direi che è possibile. Esaminare i servizi Web asincroni. Se stai per utilizzare JAX-WS, l'indirizzamento WS sarà di aiuto. – Xargos