Since it's on a different location you need some sort of serialization to pass data between the tiers. There are tons of techniques to communicate across machine boundaries:
- asmx services
- WCF
- Rest API's
- Remoting
- ServiceBus
- Queues
- ...
But yes, the idea is that you abstract the communication and then serialize and deserialize the data before they enter your layers.