Yep, that's a great solution.figuerres said:Good Points and well said Beth!funkyonex said:*snip*
I have a client app that connects with asmx web services to my datacenter, in fact I really have serveral that work that way...
so the contract between the service and the client just has classes that hold data.
inside the web service i use DLINQ to do stuff but anything that goes to the client or comes from the client has no traces of LINQ.
and I have CE handhelds and WIndows Desktops that share the same set of web services.
now as I am updating the cleint apps they are starting to use LINQ localy to work with the local Objects... but again when the data goes out it's plain old classes that hold data.
Of if you're just looking for a simple architecture that provides that scalability you need, you could set up n-tier datasets (http://msdn.microsoft.com/en-us/vbasic/cc138242.aspx) and then use LINQ to Datasets on the client (http://msdn.microsoft.com/en-us/vbasic/bb737877.aspx), and use sync services for caching (http://msdn.microsoft.com/en-us/vbasic/cc307991.aspx ).
Of course this can solve the scalability/occasionally connected issues but it isn't SOA so you'd still probably want to define some contracts for interoperability if you need it.