Before any communications-specific configuration can take place, a number of decisions need to be taken from an application-design point of view. It is important to decide, in order of priority, what is important to the application. Typically, this will be a trade-off between performance, security and network-bandwidth usage.
Once these decisions have been made, it is important to create a prototype application to undertake empirical testing. This testing should use production data using a network sniffer tool in order to see timing and network usage information.