I was looking on the web for precise guidance for sending large XML documents in a Web Service.
I was looking for information like,
What should be data type of the document (a parameter to the web service) should it be
- a string
- a schema based type
- an attachment
How large is large?
When should you go for attachements?
Is it possible to do MTOM in ASP.NET 1.1?
Performance benchmarks if any?
I would say I was disappointed. No concrete information from the .NET world. Things that were close, but not a perfect solution were
Prefer Primitive Types for Web Services Parameters
There are two broad categories of parameter types that you can pass to Web services:
- Strongly typed. These include .NET types such as double and int, and custom objects such as Employee, Person, and so on. The advantage of using strongly typed parameters is that .NET automatically generates the schema for these types and validates the incoming values for you. Clients use the schema to construct appropriately formatted XML messages before sending them.
- Loosely typed. These parameters use the string type. Note that you should not pass XML documents as string parameters because the entire string then needs to be XML encoded. For example, < and > needs to be converted to < and > and so on. Instead, you should use either an XmlElement parameter or implement IXmlSerializable. The latter is the most efficient and works well for large data sizes, regardless of which encoding style you use, you should prefer simple primitive types like int, double, and string for Web services parameters. Use of primitive types leads to reduced serialization and automatic and efficient validation by the .NET Framework.
From http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt10.asp is ok but still not good enough.
I was looking for this kind of information, https://bpcatalog.dev.java.net/nonav/soa/docoriented/frames.html. Looks like Java world is more mature. I thought .NET is good with respect to web services. Anyways most of the design stuff applies to .NET too.
And then I ran into this article, http://www.topxml.com/XmlDocument/re-30780_High-Performance-Web-Services–Avoid-XmlNode-Use-IXmlSerializable.aspx. Ideally this should have been from Microsoft Patterns and Practices.
I just pasted this poster in our room.
Yes, we are expecting our junior in March 2007.
Scan says the baby is fine.
Milton Berle said, "If opportunity doesn’t knock, build a door."
Horatio Alger said, "Luck happens to those who greatly increase the chances of its occurrence."
Steps To Becoming The Luckiest Person You Know
1. Affirm. Every morning, affirm to yourself that great things are going to happen to you today. That you’re going to experience incredible personal and professional opportunities. That you will be a magnet for cool stuff and people.
2. Beware. Always be on the lookout for potential opportunities. Keep your eyes and ears open. Think into the future and ask, “What could this lead to?”
3. Celebrate. Whenever one of those “lucky” incidents happens, give thanks. Be excited that you proved yourself right. And say to yourself, I knew this was going to happen!
4. Documentation. Write them down. Keep track of your moments in an Opportunity Journal. You might try doing this with a partner with whom you can share your mutual opportunities.
5. Evaluate. Look for trends. Figure out what you did right. Figure out what correct knowledge you were laboring under.
6. Frequency. If opportunity already knocked once, invite it back. I’m sure it would love to stop by again.
John Maxwell was right: “Opportunity always takes NOW for an answer.”
Read more: Are people lucky? How can you become one?
Using IE7 RC1 as the primary browser app now. It had some issues with Google Desktop. Somewhere on the net I found a tip to disable "web history" indexing. Its working fine now. I like the new tab option. Windows Live toolbar is also kinda good (since I use Windows Live Spaces to blog). I hate Windows Live search though. I still like google for its simple UI.
Prakash is talking about coping with negative thoughts at work. Nice read…