TaskVision, and most of the articles about Web services, generally do not teach best practices with Web services, not much consideration given to performance, security, very often just the bad practices. The purpose of my modification is to test <a href="http://www.xrmsystems.com/DesktopDefault.aspx?tabindex=2&tabid=70">XRMS Remote Object Invoking Framework</a>, to see how it works with TaskVision. This framework takes the task of building remote communication layer out totally, as you can see on <a href="http://www.xrmsystems.com/DesktopDefault.aspx?tabindex=2&tabid=71">this page</a>, so no need even to look the code it generated, not that I have not looked at it, I built the framework!
Security, efficiency are the issues this framework designed to solve. It also permits more data types than Web services, .NET collections, DataTable can be used. DataTable would be a little simpler than DataSet with just one DataTable, but Web services could not handle DataTables, and most of the containers in collections namespace. My framework prefers simpler types.
To deal with 20k DataSet, .NET Remoting would not improve much over Web services, even with binary serialization, DataSet serialized to binary still has a big chunk of raw XML, similat in size to XmlSerialization. But the XRMS Framework is effcient in handling loose data, look at <a href="http://www.xrmsystems.com/DesktopDefault.aspx?tabindex=2&tabid=73">the running log of my modified TaskVision</a>, the entry on call "GetTasks", which returns data rows, is indictive to how this framework handles large data, it has just one return value, as always, a string of 1624 ANSI characters, representing a binary array of 7188 in length. Generally, the larger the raw data size, the bigger the difference between the sizes of the real data and the data in the resulted SOAP. Depends on what in your 20k DataSet, it could be just 3K or 4k to move with my framework. .NET Remoting does not do better. I used my framework to document sharing over the web, it does move much larger data volumes. This framework can be used for this type of applications, also can do more heavy work for server to server calls in the so called Enterprise Application Integration, EAI.
|