james wrote: > I do not really understand how .Net web services are more complicated > and inefficient than COM+. In COM+ ADO I have to fully type cast a > Record Set to another Record set, which I check against the Business > Model again before passing to the caller as a referenced disconnected > record set. Not to mention that for every com app running I loose at > least 3 threads in the CPU Queue when nothing at all is happening.
> With .Net Web Services I fill a dataset and serialize it to the outgoing > XML Data Stream. For inbound messages I de-serialize the inbound XML First of all, James, let me define what I mean when I use the terms COM+ and Web Services. COM+ is a technology that allows me to package components together to be treated as a unit for the purposes of administration, role-based security application, transaction management and specification of activation and pooling methods. Web Services is a means for me to deploy an interface so that disparate platforms can communicate with my business functionality using an XML-based interface. I really came across in my last post as comparing the two. I'm not. What I did was to try to say that web services doesn't provide any of what I would use COM+ for. Later in the post I threw in a rant about why I really am not fond of Web Services. So, just to clarify, my point is that Web Services do not provide any of the tools that I mentioned as a definition of COM+. Now, to clarify my disdain for Web Services and claim that they are inefficient. You said it yourself when you said, "...I fill a dataset and serialize it to the outgoing XML Data Stream". There is the single greatest problem with Web Services, IMO. XML. I'm sure you are aware of what a CPU hog it is to turn binary data into an XML text representation. Not only do you turn a few bytes of binary into many bytes of text, but you also add (by my experience) somewhere in the neighborhood of 80-90% overhead for tags. Also, you now have to parse back through that fat block of text to make binary sense of it once again. Now, given an existing binary data structure, why in the world would I work the hell out of my servers' CPUs to turn this into XML? Why would I not utilize the binary serialization built into the CLR and just write a custom dispatcher? That's exactly what we do now. We have a custom dispatcher that deserializes the binary-serialized parameters and passes them into the specified business object. The dispatcher is very simple and, once written, works everywhere. This is all just my view, of course. I see advantages to Web Services and XML, but I really think we need to think about appropriate application of these technologies rather than to jump on the bandwagon. IMO, the only problem Web Services solves is to provide a communication mechanism between disparate platforms. If you don't have disparate platforms communicating with your business components, *don't* use Web Services because all you're doing is introducing profitless overhead. Same goes for XML in my view. All too many developers these days are just throwing Web Services and XML into their apps and blindly believing that they are solving problems. I'm aware that MS touts Web Services as the next cure for world hunger. I'm well aware that they would have us move our middle tiers completely to Web Services. Respectfully, I think they're wrong. -- Steve Johnson =================================== This list is hosted by DevelopMentorŪ http://www.develop.com Some .NET courses you may be interested in: NEW! Guerrilla ASP.NET, 26 Jan 2004, in Los Angeles http://www.develop.com/courses/gaspdotnetls View archives and manage your subscription(s) at http://discuss.develop.com