Questo dipende dal livello di accoppiamento e dalla chiarezza dell'astrazione tra la GUI e il servizio web.
Le seguenti condizioni a livello di architettura sono necessarie per far funzionare le cose:
- Le astrazioni degli elementi dei dati devono essere chiaramente ben definite. Inoltre, se lo scambio di dati è più vicino allo schema di DB sul lato del servizio Web, sarebbe più semplice. (se applicabile).
- Il flusso degli scambi di messaggi deve essere articolato in modo molto chiaro. più è stateless, meglio è.
- Il servizio Web dovrebbe avere NESSUNA conoscenza del modo in cui la GUI sta utilizzando i dati e non dovrebbe esserci alcuna logica specifica nell'implementazione del webservice.
Ad esempio, a seconda della vista corrente o dell'ultima query, il web service non dovrebbe fare calcoli.
- È meglio che le sessioni di front-end Web siano tenute lontane dal servizio o limitate; meccanismi come l'autenticazione dovrebbero essere basati su broker indipendenti (come OpenID) o essere schermati tra User to GUI vs. GUI al servizio Web.
- Le regole aziendali sono ben documentate e concordate.
- Applicazione della crittografia dei messaggi, se applicabile.
In generale, prova a progettare API di servizi Web in modo tale che almeno due diversi tipi di GUI potrebbero aver bisogno di usarlo senza dover eseguire comportamenti inconsistenti. (questo ti aiuta a prendere coscienza dell'accoppiamento specifico della GUI).
Quanto sopra sono le regole di base per qualsiasi piattaforma. A parte questo, dal momento che hai menzionato, che questo è un matrimonio tra .NET e PHP, proverei a giocare in sicurezza e comunicare solo usando puro XML . Quindi suppongo che il REST o anche il semplice vecchio XML RPC possano funzionare molto meglio di SOAP. Non è che SOAP non possa funzionare - ma immagino che non sarà senza problemi rispetto alla comunicazione "plain XML".
Dipan.