rss
 
comment(s)

archives
J|F|M|A|M|J|J|A|S|O|N|D
(20##) 10 9 8 7 6 5 4 3 2 1 0 <
 
DesktopWeb FormText   Alex Y. provides WS compression for CFSun, 12 Dec 2004 19:26:33 GMT # 

his blog post is here : Getting Web Services using HTTP 1.1 Compression to work in Compact Framework. it would be really interesting to get this synched up with the WS-Compression implementation for WSE 2.0 at Plumbwork Orange.

now for some rattling on about WS speed in CF in general. its common knowledge that they are slow. they are slow for multiple reasons : small processors, framework, and small network pipes. 2 of these are out of our control : hardware and bandwidth. luckily those both keep getting faster. for compression, it leverages extra CPU to make it smaller on the wire. that leaves the framework. on the desktop, if you need speed, you can do remoting. we dont have (nor are we getting) that option for CF, nor do i think we should. granted, it might be possible to port it over from Mono? for WS on the desktop, it gets speed by building an assembly for de/serlialization of an object by reflecting against its object graph. this happens the 1st time the WS is called. every time its called from then on it is faster because it does not have to use reflection to figure out the object graph. we dont get to build an assembly like that for CF on the device ... thus its slow in comparison. er, um ... actually you can build an assembly on the actual device at runtime using Pocket C#. but there is another way. for ASP.NET 2.0, it introduced the concept of SGEN. SGEN does that reflection of the object graph to build a custom serialization assembly when the project is built. so every call is fast, even the 1st one. CF should get to leverage the SGEN capability ... and use it by default. that along with the performance improvements for XML in CF v2 might make WS more attractive. once we get past that performance hurdle, then we can proceed to slow them back down by adding security. then when we get past that, the next step would be to make hosting WS on CF a more viable option.