P
pdr75
Hi all,
I'm struggling with an architecture dilemma, and I'm hoping some of
you out there can offer some advice.
Our client requires a "occasionally connected" mobile application
capable of syncing with our server. We need a solution that is more
sophisticated then straight up SQL replication. We currently have a
fairly substantial investment in our custom mobile messaging
architecture - and it would certainly work for this application at a
technical level, but it's based on a web service (asmx) architecture
and would likely prove to be too slow for the volume of data that has
to be exchanged. I'd like to build a transport system capable of
duplex communication that can simply stream data in either direction.
I'm leaning towards building something using TCP and some kind of
binary serialization mechanism.
Essentially, I've narrowed the field down to two possibilities:
1. Write a custom TCP client / server solution to handle message
transport
2. use existing WCF framework and construct the required custom TCP
bindings and communication channels needed to support the .NET cf
Both of the above come with their own set of challenges, and I'm
wondering if someone out there can provide some insight on which of
these (if either) would prove more beneficial.
As far as I'm concerned, the main problem with writing a custom TCP
solution is that writing a scalable TCP server is difficult and
fraught with complexities. And in the end, all you have is propretary
solution that can't really interface with any other technology.
WCF on the other hand, is really scaled down on the mobile side.
Additionally, I don't have any experience with it as of yet. Is it
reasonable to assume that full duplex communication channels can be
custom built to plug into what's available on the .NET CF? Has anyone
attempted this yet?
Thanks for any thoughts you may have.
Paul
I'm struggling with an architecture dilemma, and I'm hoping some of
you out there can offer some advice.
Our client requires a "occasionally connected" mobile application
capable of syncing with our server. We need a solution that is more
sophisticated then straight up SQL replication. We currently have a
fairly substantial investment in our custom mobile messaging
architecture - and it would certainly work for this application at a
technical level, but it's based on a web service (asmx) architecture
and would likely prove to be too slow for the volume of data that has
to be exchanged. I'd like to build a transport system capable of
duplex communication that can simply stream data in either direction.
I'm leaning towards building something using TCP and some kind of
binary serialization mechanism.
Essentially, I've narrowed the field down to two possibilities:
1. Write a custom TCP client / server solution to handle message
transport
2. use existing WCF framework and construct the required custom TCP
bindings and communication channels needed to support the .NET cf
Both of the above come with their own set of challenges, and I'm
wondering if someone out there can provide some insight on which of
these (if either) would prove more beneficial.
As far as I'm concerned, the main problem with writing a custom TCP
solution is that writing a scalable TCP server is difficult and
fraught with complexities. And in the end, all you have is propretary
solution that can't really interface with any other technology.
WCF on the other hand, is really scaled down on the mobile side.
Additionally, I don't have any experience with it as of yet. Is it
reasonable to assume that full duplex communication channels can be
custom built to plug into what's available on the .NET CF? Has anyone
attempted this yet?
Thanks for any thoughts you may have.
Paul