Comunicazione tra due servlet

accosimo

Nuovo Utente
18 Nov 2013
6
2
0
Salve, premesso che sono molto inesperto in materia, vorrei chiedervi se è possibile e semmai in che modo è possibile far comunicare due servlet che sono ipoteticamente poste in due differenti server (ovviamente ora le ho entrambe in localhost su due distinte porte....). grazie
 

Slyfer

Utente Attivo
4 Dic 2010
65
21
0
Ciao, ma cosa devi fare esattamente? Se devi comunicare server to server, le servlet non sono il modo migliore...

ciao
 

accosimo

Nuovo Utente
18 Nov 2013
6
2
0
vorrei sviluppare un sistema composto da un client (jsp) e due server (servlet A e servlet B per ora, ma se è il caso di cambiare strategia sono pronto a farlo). Il client (attraverso ajax di jquery ma non è importante) fa una richiesta asincrona alla servlet A che a sua volta manda ciò che richiede il client. Avvenuto ciò il client fa una richiesta analoga alla servlet B. Fin qui niente di strano. Ora vorrei che la servlet B comunichi direttamente qualcosa alla servlet A (o a questo punto stavo pensando di usare un'altro client "nascosto" di "transizione" tra la servlet A e la B): dopo un rapido controllo, se i dati inviati a B sono coerenti con quello cha A conosce, la servlet A manda un messaggio di conferma al client e il gioco è finito... probabilmente mi sono spiegato male e comunque vi chiederete a cosa serve tutto questo inutile giro, ma purtroppo per ora è l'unico modo che mi è venuto in mente per implementare questo particolare metodo di autenticazione! Ah... forse potrebbe essere utile sottolineare il fatto che nel momento in cui il sistema funzionerà con due server, l'idea finale è quella di avere un server A principale e tanti sotto-server secondari B che si comporteranno tutti alla stessa maniera, a meno di opportuni parametri....

EDIT: un'altro nodo cruciale che non so risolvere è il seguente: è semplice gestire asincornicamente lato client la comunicazione, ovvero se al client serve qualcosa, lo chiede e il server risponde. Non so però come fare il contrario, e cioè mandare qualcosa al client senza che ci sia stata una relativa richiesta!!

scusate veramente l'ignoranza, mi rendo conto che sto facendo domande veramente basilari!
 
Ultima modifica:

Slyfer

Utente Attivo
4 Dic 2010
65
21
0
vorrei sviluppare un sistema composto da un client (jsp) e due server (servlet A e servlet B per ora, ma se è il caso di cambiare strategia sono pronto a farlo). Il client (attraverso ajax di jquery ma non è importante) fa una richiesta asincrona alla servlet A che a sua volta manda ciò che richiede il client. Avvenuto ciò il client fa una richiesta analoga alla servlet B. Fin qui niente di strano. Ora vorrei che la servlet B comunichi direttamente qualcosa alla servlet A (o a questo punto stavo pensando di usare un'altro client "nascosto" di "transizione" tra la servlet A e la B): dopo un rapido controllo, se i dati inviati a B sono coerenti con quello cha A conosce, la servlet A manda un messaggio di conferma al client e il gioco è finito... probabilmente mi sono spiegato male e comunque vi chiederete a cosa serve tutto questo inutile giro, ma purtroppo per ora è l'unico modo che mi è venuto in mente per implementare questo particolare metodo di autenticazione! Ah... forse potrebbe essere utile sottolineare il fatto che nel momento in cui il sistema funzionerà con due server, l'idea finale è quella di avere un server A principale e tanti sotto-server secondari B che si comporteranno tutti alla stessa maniera, a meno di opportuni parametri....

EDIT: un'altro nodo cruciale che non so risolvere è il seguente: è semplice gestire asincornicamente lato client la comunicazione, ovvero se al client serve qualcosa, lo chiede e il server risponde. Non so però come fare il contrario, e cioè mandare qualcosa al client senza che ci sia stata una relativa richiesta!!

scusate veramente l'ignoranza, mi rendo conto che sto facendo domande veramente basilari!


mmmm Non ci ho capito molto..., per poterti aiutare serve capire il problema, non quello che hai pensato come soluzione....

Cosa devi fare esattamente? Lasciando perdere i l'implementazione con servlet e jsp:

mi sembra di capire che c'è un client C che de fare una richiesta ad un sistema A e poi un sistema B.

Il sistema A ti da una risposta positiva se e solo se il sistema B conferma i dati inviati dal client C? Giusto?

Quindi ricapitolando

C manda dati ad A
C manda dati a B
B manda dai ad A
A risponde a C

Giusto? A che serve sto giro?

Perdona le domande, ma per aiutarti devo capire....
 

accosimo

Nuovo Utente
18 Nov 2013
6
2
0
mmmm Non ci ho capito molto..., per poterti aiutare serve capire il problema, non quello che hai pensato come soluzione....

Cosa devi fare esattamente? Lasciando perdere i l'implementazione con servlet e jsp:

mi sembra di capire che c'è un client C che de fare una richiesta ad un sistema A e poi un sistema B.

Il sistema A ti da una risposta positiva se e solo se il sistema B conferma i dati inviati dal client C? Giusto?

Quindi ricapitolando

C manda dati ad A
C manda dati a B
B manda dai ad A
A risponde a C

Giusto? A che serve sto giro?

Perdona le domande, ma per aiutarti devo capire....

Ci mancherebbe, è giusto chiedere, soprattutto visto che il problema è il mio che non mi sono spiegato! Il problema è un po' più complesso di così come te l'ho destritto, ma semlificando all'osso, è così:

1) C manda dati ad A
2) A risponde a C
3) C rigira questi dati a B
4) B elabora, aggiunge dati che A non ha e non può avere, e manda tutto ad A
5) A controlla l'effettiva validità e prende nota di quello che B ha aggiunto
6) se tutto è andato a buon fine, A autentica C ad accedere a particolari risorse legate a B

capisco che non è chiaro, per rendere tutto vermante chiaro dovrei desriverti il reale problema, ma non è questa la sede adatta :)

I punti da 1) a 3) li ho realizzati, 5) e 6) sono da rivedere ma a grandi linee funzionano (o dovrebbero funzionare). Il nodo che non riesco a risolvere è il 4). Come faccio a far comunicare l'entità B con l'entita A?

aggiungo anche le ultime due ipotesi su cui sto lavorando:
1-un'altro client ajax che comunica con le due entità A e B
2-l'utilizzo del metodo URLConnection connection = url.openConnection();
Nel caso delle servlet, il metodo:

BufferedWriter out = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
out.write("parametro=parametro");


dovrebbe invocare il metodo doPost(....) della servlet.
 

Slyfer

Utente Attivo
4 Dic 2010
65
21
0
Ciao, ora è più chiaro, ma vedo un problema: se C comunica con B via ajax e B sta su un altro server hai un problema di cross domain call

Detto questo mi pare di capire che C viene autorizzato da A a fare determinate cose, ma per essere autorizzato a farne delle altre C deve chiamare un altro sistema B che a sua volta deve comunicare con A etc etc.

Io la risolverei così

C chiama A dicendo che deve avere accesso anche a delle risorse di B
A chiama B e ottiene o meno l'autorizzazione
A risponde a C

Così risparmi 3 step, non hai cross domain call, C non deve fare polling su A (immagino tu l'abbia fatto così) e C non deve sapere dove sta B (stesso server, server diverso etc etc)

Per fare comunicare A e B puoi usare dei webservice SOAP e REST, e come framework ti consiglio CXF, oppure gli EJB se hai un Application Server (JBOSS)

ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
K Comunicazione tra app e dispositivo esterno tramite rs485 Sviluppo app per Android 1
M Comunicazione tra PHP e Epson Fiscal Printer PHP 13
B comunicazione dinamica tra più utenti in PHP PHP 0
voldemort Comunicazione disdetta hosting Hosting 1
R Mettere in sicurezza una comunicazione .NET Framework 0
cobra_72 comunicazione con host esterno Hosting 7
U comunicazione polivalente... Discussioni Varie 0
A Sistema di comunicazione visiva IP Cam e Videosorveglianza 0
R Errore di comunicazione con database Mysql PHP 5
voldemort Comunicazione NFC Sviluppo app per Android 1
U Workshop gratuito sulla Comunicazione digitale Altri Annunci 0
I ForuMobile.it il forum sulla comunicazione mobile Presenta il tuo Sito 2
elisa.decomm Decomm Applicazioni per il Web e comunicazione Offerte e Richieste di Lavoro e/o Collaborazione 0
V Comunicazione Importante!!!!!!!!!!!!!!!!!!!!!!!!!! Presenta il tuo Sito 0
L comunicazione vendita on line Leggi, Normative e Fisco 2
peppoweb Consiglio d'Europa: nuova Dichiarazione sulla libertà di comunicazione su Internet Discussioni Varie 0
grottafelix Storia E Comunicazione Presenta il tuo Sito 2
E Query differenza tra tabelle MySQL 5
A differenza tra account email e ISP presenti in blacklist Posta Elettronica 0
W Differenza tra orari PHP 3
Z Google Fonts CSS tra desktop e responsive HTML e CSS 1
MarcoGrazia Associazioni tra Search Console e Analitycs SEO e Posizionamento 0
M Collegamento tra form html e script php PHP 4
D popolare campi tra th alla select PHP 36
Gabriele Visioli Differenza tra hosting e hosting WordPress Hosting 4
S Differenza tra le funzioni include () e require ()? PHP 1
P Ciclare tra array di oggetti PHP 1
B Incongruenze tra Mac ver e PC ver Photoshop 1
N Problema passaggio variabili tra pagine PHP 4
L estrarre valori max tra più tabelle MySQL 2
MarcoGrazia Dati nulli su join tra più tabelle MySQL 1
S Utilizzo variabili di sessione tra PC e server PHP 0
R Relazione tra tabelle MS Access 5
Tommy03 Query tra 3 tabelle MySQL 2
elpirata [MySQL] Sincronizzare dati tra due tabelle sullo stesso host MySQL 0
R passaggio variabili tra modulo genitore a figlio jQuery 3
P Passagio dati complessi tra una ASP.NET webapi e Angular ASP.NET 1
A [ASP] Confronto tra dati Form e DB Classic ASP 2
G [PHP] Passare dati tra record PHP 4
M [MS Access] Relazione tra maschere MS Access 1
T onsiglio Web agency tra Caserta Agro Aversano e Napoli e zone vicine. Offerte e Richieste di Lavoro e/o Collaborazione 0
D Jquery, conflitto tra loro risolvibile? jQuery 7
J Passaggio variabile tra 2 file php PHP 15
E Compro profilo Instagram tra 10k e 30k Annunci servizi di Social Media Marketing 2
U [PHP] Differenza tra amministratore e utente PHP 2
P [PHP] Spostamento tra cartelle PHP 2
F [Javascript] Conflitto tra più form nella stessa pagina Javascript 1
M PHP Arrotondamento minuti in differenza tra due Orari PHP 9
felino EXCEL: verifica dati mancanti tra due sheet Windows e Software 2
K [PHP] Controllare dati database tra due valori PHP 18

Discussioni simili