Sto cercando di identificare le parti di un'architettura.
Il server (Python) funziona come un servizio web, fornendo file e dati. Il client (JS) richiede i dati di cui ha bisogno inviando xmlhttprequest
s al server.
Ho letto che può esserci un livello "middleware" che collega l'applicazione al suo nodo del sistema distribuito. Il punto del middleware è quello di astrarre la comunicazione di rete sottostante
SOAP viene fornito come esempio per essere un protocollo middleware. Non uso SOAP (o REST) Significa che non ho un middleware? Sto usando il vecchio vecchio HTTP per la comunicazione. È sufficiente un'astrazione per essere chiamata middleware? D'altra parte, HTTP fa parte dello stack TCP / IP, il che mi fa pensare che sia una parte della comunicazione di rete e non un'astrazione di ciò. Ciò suggerirebbe di non usare / avere un middleware.
Che cosa è esattamente un middleware in questo scenario?
ulteriore confusione
Una parte del problema è che non è molto chiaro cosa sia realmente il middleware e che ci siano diverse definizioni di esso.
Quello che ho trovato finora e quello che ho posto a questa domanda è che esiste un livello di middleware, per nodo nel sistema distribuito. I livelli middleware sono non direttamente connessi. È la rete al di sotto del middleware che garantisce la connessione. Il middleware è lì per fornire un livello di astrazione tra l'applicazione e la rete.
Vedi questa immagine:
Ognibloccodelmiddlewareèseparato.ciòhasenso.ÈprobabilecheilmiddlewareperMacOSsiaunacosacompletamentediversarispettoalmiddlewareperWindows.Suogniapplicazionesibasasulrelativomiddlewarespecifico.
Unaltromododipensarciècheilmiddlewareinrealtàèpraticamentel'unicacosachecollegainodidelsistemadistribuitocomesipuòvederenell'immaginedawikipedia:
Sembra una contraddizione. In uno scenario, ciascuna parte dell'applicazione comunica con il proprio middleware individuale, che a sua volta parla al nodo della rete. Il middleware è la linea base comune che separa l'applicazione distribuita dal sistema distribuito sottostante. Nell'altro, il middleware è un grosso blob che si estende su tutti i nodi, il che significa che non esiste nulla come un singolo middleware per ciascun nodo.
Ho il crescente sospetto che tutti facciano la propria interpretazione di questa terminologia non propriamente definita.
la risposta
è che non c'è una risposta (chiara). La risposta accettata fornisce pensieri ragionevoli su tutta la questione. La terminologia cade a pezzi se applicata in modo rigoroso e concreto.