Guidance on large XML documents
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
http://www-128.ibm.com/developerworks/xml/library/ws-complexml.html
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.
Expecting junior to join us in Early 2007
I just pasted this poster in our room.
Yes, we are expecting our junior in March 2007.
Scan says the baby is fine.
Are people lucky? How can you become one?
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?
Couple of nice writeups
Prakash pointed me to a couple of great articles. Worth reading.
Effective Listening
How to recruit the best breed of project managers
Using IE 7 RC1
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’s – Online Repository: 10 Tips to Cope with Negative Emotions at Work
Prakash is talking about coping with negative thoughts at work. Nice read…
Link to Prakash’s – Online Repository: 10 Tips to Cope with Negative Emotions at Work
Wisdom from Chanakya
CHANAKYA said :"A person should not be too honest. Straight trees are cut first and honest people are screwed first."
(Indian politician, strategist and writer, 350 BC-275 BC)
Not that I agree with him, but it is very true 🙂
Microsoft sues TestKing
These sites are taking the value out of the Microsoft Certifications.
As developers we can ensure the certifications have the value by making sure, we do the certification in its spirit
http://www.tcpmag.com/news/article.asp?editorialsid=1085
George Shepherd has a ASP.NET FAQ too!!
Going by the quality of their Windows Forms FAQ, this should be high quality stuff. Link Via Amit http://www.syncfusion.com/faq/aspnet/default.aspx