Abbiamo un sistema che al momento ha circa 25 clienti (non si espanderà mai da questo) e che ognuno di essi ha un servizio Web pubblico che consente a vicenda di interrogare reciprocamente le informazioni interne sull'applicazione. ad esempio il numero di domanda di ricerca (ad es. PAR1056) o il nome del richiedente (es. Bill Bob) e ricevere un elenco di applicazioni corrispondenti (ad esempio se ho digitato PAR I otterrei PAR1, PAR2, PAR3 ecc.) e quindi una volta selezionata un'applicazione, recupera alcune informazioni a riguardo.
Attualmente ognuno di questi servizi ha un front-end di base scritto per interrogarli in cui il campo di ricerca andrà e chiamerà i servizi (automaticamente, non via post back) ed elencerà i risultati. È diventato un requisito (il team di vendita ha già venduto sogni) per creare un portale di front-end che consenta a qualsiasi utente di uno di questi siti di utilizzare una casella di ricerca per digitare il numero dell'applicazione o il nome del richiedente e recuperare i risultati da ciascuno dei 25 siti che eseguono il servizio (quindi fondamentalmente un servizio di ricerca per interrogare tutti i siti).
Avendo questo sold out da sotto di noi, senza un vero concetto già preparato, sto cercando di considerare come ciò possa essere fatto. Non c'è coerenza tra nessuno di questi clienti se non il fatto che stanno utilizzando lo stesso servizio (cioè il sistema che contiene le informazioni dell'applicazione è di terze parti e diverso sito al sito) e geograficamente ciascuno di questi siti si trova a circa 1000 miglia l'uno dall'altro. Ogni servizio contiene da 10.000 a 100.000 applicazioni, quindi penso che l'esecuzione di un servizio di sincronizzazione notturna per portare tutti i risultati in una posizione centrale non è un'opzione praticabile.
Questo mi mette in testa il dubbio di poter interrogare il servizio A per vedere se ha dei risultati, se non passare al servizio B e così via finché non vengono trovati i primi 50 risultati. Se non ci sono risultati fino agli ultimi servizi rispetto alla performance percepita sarà terribile.
L'unico modo logico in cui credo possa essere fatto, è una volta che il testo è digitato, tutti i 25 servizi sono chiamati in una volta e elenca i primi 50 risultati per ciascuno di questi servizi in un bel front-end che separa e distingue quale sito ognuno dei risultati viene da.
L'altra soluzione sarebbe quella di chiamare ciascuno dei 25 servizi allo stesso tempo per vedere se hanno qualche risultato (booleano vero / falso) e quindi eseguire il servizio di quotazione solo sui servizi che restituiscono true.
L'obiettivo è ovviamente percepito come prestazione.
Qualcuno ha già lavorato o lavorato su qualcosa di simile prima e cosa hanno ottenuto con questo?
Grazie,