What steps must I take to convert from RIA Services to plain WCF Services?
Notes:
In brief, if you're passing a large object back and forth to the service, then you're probably doing it wrong. Just send your object to the server, do all the required processing on the server, and then simply return the result back to the client. Why should you incur the performance and bandwidth costs of transferring the large object back and forth across the wire (over HTTP)?
Since you're using Silverlight as your primary client, then you will be using Asynchronous calls (which is yet another reason to stick to one call to the service). There are several ways you can manage instantiating your WCF service: You can either do it the simplest way by adding a reference of the service to your Silverlight client, or you could write some custom client that can execute methods on your service as follows:
client.ExecuteAsync<IService, TResult>(String methodName, Action<TResult> complete, Action<Exception> failure, params object[] parameters)
Then in your service contracts, you should write both versions of your operations: the synchronous and the asynchronous. For that, use a compiler conditional to separate the two:
#if(SILVERLIGHT)
[OperationContract(AsyncPattern = true)]
IAsyncResult BeginMyMethod(Int32 value, AsyncCallback callback, Object asyncState);
Double EndMyMethod(IAsyncResult result);
//more operations
#else
[OperationContract]
Double MyMethod(Int32 value);
//rest of the methods
#endif