Come comunicano due applicazioni? [chiuso]

1

Supponiamo di avere una pagina PHP con un'interfaccia calcolatrice, ma voglio trasferire la somma a Windows Calculator.exe e poi ottenere una risposta dall'applicazione alla mia pagina PHP, come si fa a fare questo?

Capisco che la somma possa essere facilmente eseguita in PHP e sarebbe inutile usare un'altra applicazione, ma mi chiedevo come sarebbe stata fatta e sarebbe stato utile sapere per il mio prossimo progetto. Non sono riuscito a trovare nessuna domanda pertinente, ma i criteri di ricerca per questo non sono facili!

Grazie

    
posta CodeSlow 05.07.2014 - 22:56
fonte

2 risposte

4

Le applicazioni possono comunicare utilizzando una Application Programming Interface (API) . Quando si scrive un programma, lo sviluppatore può scegliere di esporre alcune funzioni per consentire ad altri programmi di interagire con loro. Esponendo solo determinate funzioni, e in un certo modo, lo sviluppatore consente alle persone di usare la sua applicazione in modo sicuro senza che accada (o intenzionalmente) facendo cose distruttive.

Un'API può essere esposta in diversi modi, a seconda delle lingue coinvolte. In un ambiente .NET, per esempio un altro programma .NET potrebbe aggiungere un riferimento a una dll API creata per questo scopo. Un altro esempio è un'API del servizio Web che può essere comunicata utilizzando le richieste HTTP. Se l'API utilizza una tecnica di linguaggio incrociato comune come JSON o XML per inserire e inviare dati, un programma in qualsiasi lingua potrebbe essere in grado di comunicare con esso.

    
risposta data 05.07.2014 - 22:59
fonte
0

Oltre a ciò che @razethestray ha detto, le applicazioni possono anche comunicare tra loro tramite le cosiddette interfacce RPC, che sta per Chiamate di procedure remote .

Tuttavia, RPC è di per sé un termine generico. In realtà ci sono molti modi in cui un RPC potrebbe essere implementato. Ad esempio, DCOM di Microsoft fa molto affidamento su RPC. D'altra parte, una chiamata al server SOAP (web) è considerata anche una RPC. l'unica cosa che tutti hanno in comune è che un client chiama un pezzo di codice in un processo remoto (server) attraverso un'API ben definita per ottenere qualcosa.

Come potete immaginare, è una buona idea e raccomandiamo vivamente l'uso di framework esistenti per tale compito, semplicemente per nascondere e gestire la complessità che viene fornita con l'infrastruttura necessaria per questo. Questi framework e in alcuni casi il supporto IDE integrato (ad esempio per SOAP) rendono un RPC essenzialmente simile a una normale chiamata di funzione / metodo. In realtà, dietro le quinte ci possono essere molte cose, specialmente quando l'altro processo è su una macchina remota.

PS: questo è un argomento abbastanza sofisticato per i principianti.

    
risposta data 06.07.2014 - 01:35
fonte

Leggi altre domande sui tag