Allora, se il server remoto comunicherà con il tuo client via Http, allora si il web service è quello che devi implementare, il web service però deve ovviamente essere installato sul Server remoto, mentre il client windows lo referenzierà e lo consumerà.
Per la parte relativa alla sicurezza, ci sono vari modi previsti dai web services, ovvero puoi utilizzare https invece di http oppure puoi utilizzare la crittografia a chiave doppia tramite i certificati X509 (se non sbaglio).
Riguardo quello che devi fare, il metodo sul server chiamato dal client sarà qualcosa del tipo
GetTable(filter)
mentre la classe del webservice esporrà il metodo che restituisce la datatable
esattamente come faresti su un data provider sul tuo pc normalissimo.
Dell'XML, Soap, crittografia ecc. Se ne occupa da solo .NET tu non hai bisogno di sapere che cosa accade realmente.
Ovviamente il webservice non è una semplice classe che legge e scrive dati
ma ha bisogno di riferimenti specifici, di decorazioni ed altro.
Puoi iniziare a testare come funziona semplicemente usando il tuo PC, crea un Webservice usando il template base di Visual Studio 2008, ti genererà il metodo Hello World.
Poi crea una applicazione Winforms e aggiungi il reference usando Aggiungi Riferimento Web (Add web reference) e vedrai che puoi chiamare il metodo hello World dalla tua applicazione windows, prova poi a implementare un metodo più significativo e vedi come funziona.
Fatto questo, devi vedere come fare a usare https oppure i certificati.
Spero che Rudy che ha già usato questo tipo di Funzionalità sia così gentile da creare un esempio d'uso da inserire in area articoli, sono certa che tutti glie ne saremmo eternamente grati

Saluti
Sabrina