I've spent the last 1 1/2 weeks doing one of the most fun (seriously) work assignments that each Program Manager of our team gets to do every once in a while: Servicing. So until yesterday night (I'm flying home to Germany today) I was in charge of ASP.NET Web Services and Remoting. An even though these technologies have been out there for quite a while now, there are still situations where stuff breaks and people are scratching their heads wondering what's going on. Overall, it was a very, very quiet time on the bug front though.

The one issue that we found on my watch is that you can configure ASP.NET Web Forms in a way that it breaks ASP.NET Web Services (ASMX). We are shipping one ASP.NET Web Page (.aspx) with ASMX and that unfortunate interaction manages to break that exact page with an error that's hard to figure out unless you have substantial ASP.NET knowledge and you have enough confidence in that knowledge to not trust us ;-)

If you globally override the autoEventWireup setting in the <page/> config element in the ASP.NET web.config and set that to "false", the DefaultWsdlHelpGenator.aspx page (which sits in the CONFIG directory of the Framework) becomes very unhappy and fails with a NullReferenceException, stating "Object reference not set to an instance of an object." and showing you some code that's definitely not yours.

What happened? Well, the file is missing a directive that overrides the override of the default. The fix is to go edit the DefaultWsdlHelpGenerator.aspx file and add the line:

<%@ Page AutoEventWireup="true" %>

That will fix the problem.

Now, the big question is: "Will you put that into a service pack?". While there's obviously a bug here, the answer is, in this particular case, "don't know yet". Replacing or editing that particular file is a potentially very impactful surgery done on the patched system given that the file is there in source code and in the config directory because you are supposed to be able to change it. Could we touch changed files? Probably not. Could we touch unchanged files? Probably? So how would you surface the difference and make sure that the systems we couldn't patch would not suffer from the particular bug? What's the test impact for the code and for the service pack or patch installer? How many people are actually using that ASP.NET config directive AND are hosting ASMX services in the same application and/or scope? Is it actually worth doing that? Making changes in code that has already shipped and is part of the Framework is serious business, since you are potentially altering the behavior of millions of machines all at once. So that part is definitely not done in an "agile" way, but takes quite a bit of consideration, while it takes just 10 seconds and notepad.exe for you.

Categories: ASP.NET | Web Services

December 20, 2006
@ 11:07 PM

It's been slashdotted and also otherwise widely discussed that Google has deprecated their SOAP API. A deadly blow for SOAP as people are speculating? Guess not.

What I find striking are the differences in the licenses between the AJAX API and the SOAP API. That's where the beef is. While the results obtained through the SOAP API can be used (for non-commercial purposes) practically in any way except that "you may not use the search results provided by the Google SOAP Search API service with an existing product or service that competes with products or services offered by Google.", the AJAX API is constrained to use with web sites with the terms of use stating that "The API is limited to allowing You to host and display Google Search Results on your site, and does not provide You with the ability to access other underlying Google Services or data."

The AJAX API is a Web service that works for Google because its terms of use are very prescriptive for how to build a service that ensures Google's advertising machine gets exposure and clicks. That's certainly a reasonable business decision, but has nothing to do with SOAP vs. REST or anything else technical. There's just no money in application-to-application messaging for Google (unless they'd actually set up an infrastructure to charge for software as a service and provide support and proper SLAs for it that is saying more than "we don't make any guarantees whatsoever") while there's a lot of money for them in being able to get lots and lots of people to give them a free spot on their own site onto which they can place their advertising. That's what their business is about, not software.

Categories: IT Strategy | Technology | Web Services

December 20, 2006
@ 08:33 PM

Apparently there's a little blog tag game spreading that Gerald from Sun Microsystems desperately wants to pull me into. Ok. I'm game.

My 5 things:

1. The most CDs I have from a single artist or band are by Prince (& the Revolution, & the New Power Generation). I skipped most of the trash he put out while he was trying to get out of his Warner contract, but unfortunately not the horrid album Come for which I still want my money back. My favorite album is Sign of the Times, followed by 1999. The new 3121 isn't too shabby either.

2. The first game I ever programmed all by myself on my ZX81 (in 1KB!) and not by just typing in a listing from one of the difficult-to-acquire computer magazines (that's how things were back in the day) I wrote in 1984. It was a PacMan knockoff. I lost all work at least five times because the Sinclair's way of saving programs to the cassette tape was not very reliable, to put it nicely. Space Invaders was next.

3. The F. in Clemens F. Vasters stands for Friedrich. My grandmother (father's side) insisted me having that name in honor of my grandfather who fell in France in 1944. By what is known, he was a motor courier and got shot by the French Resistance. He's buried at the German War Cemetary outside of Andilly (near Nancy), France.

4. I currently have 180,000 hard-earned bonus miles with KLM/Air France and 110,000 with Lufthansa. I am qualified as Lufthansa Senator (Star Alliance Gold) through 2/2010, since Lufthansa stacks the 2 year award periods on top of each other when you qualify again in the first year of your award period. I am losing my Gold status with KLM/Air France this next April. No more lounge access in Schiphol and no more skipping the Economy check-in line. That sucks. In my job here at Microsoft I will unlikely requalify for either, because I'm not doing much of the crazy traveling anymore. I've been to 48 countries in the past 4 years.

5. I turned down an invitation to interview for a job with the Microsoft COM/OLE team in 1995. They had first approached me in 1994 and the PUM who was driving that at the time dropped the ball after the first contact. He came back with an apology for not being as thorough about the process as he should have been - some 8 months later. When that happened I was locked in a 2 year contract heading the NY office of the German company I worked for, so it ended up taking 11 years until I actually landed just at the division that can trace quite a few of its roots back to that team. I got the COM/OLE team's attention by fighting (and winning, if there is ever such a thing) a huge email flame-war on the Microsoft OLE CompuServe forum where the product manager of OpenDoc at Novell (who had just acquired WordPerfect at the time and got into OpenDoc that way) tried to convince everyone that he had the superior technology in hands. I wish someone had a backup of these forums. I am sure the conversation is horribly embarrasing from today's perspective.

So here are my 5 things. And the tag goes to ...  Udi, Daniel, Don, Nicholas, and Mr. Maine.

Categories: Blog

December 18, 2006
@ 02:39 AM

I hadn't expected this to be so bad. Thursday afternoon we had an email going around in the office warning that the 520 bridge may be closed at night because a storm was coming in and people living on the "westside" (Seattle) might consider leaving a bit early. I live in Kirkland and wasn't too worried about the storm. While the top wind speeds were forecast to be around 50-60 mph, my home (Germany) experience with storms of that magnitude (we call them "Orkan") was commonly that they rip shingles off roofs, down some trees, and may cause the occasional 3-4 hour power outage, but we learned that that "experience" isn't worth much when you move from the flats of the lower Rhine area here to Washington where a significant number of neighborhoods are basically built right into old forests with large trees and where quite a few of the power lines come here across the mountains. The storm knocked out power for over a million households and businesses. It took 48 hours for us to get power back and with that we're in the lucky 50%. A significant number of households here (300,000+) are still out. And we were doubly lucky in that we've got a natural gas heating and warm water system which self-generates the little electricity it needs. So at least we were warm.

When the power failed early Friday morning just before 2am we thought "ah, it'll be back tomorrow morning". Well, it wasn't. Since I am "on duty" for servicing hotfix requests and support escalations for ASP.NET Web Services and .NET Remoting last week and this week, I got up in the morning - with power still out - and drove out to Microsoft campus. Based on the experience from the winterstorm we had just a few weeks back, I would definitely stayed at home if it hadn't been for that. Why? Well, I think I can move my car reasonably safe over the streets here, but I am losing trust in many of the other drivers around here on a daily basis. Let's leave it at that.

Anyways, so I left the neighborhood in which I live and it already started dawning on me that this would take a while. Once I got to the first bigger cross-street with a traffic light, I found that to be off. Surprise. Not. What was also not much of a surprise is that the right-of-way rules here are not helping with the traffic congestion, at all. There's no notion of a privileged street. All traffic lights that are off are automatically four-way stops. That doesn't help with the throughput on main traffic arteries, of course.

When I arrived at Microsoft, I parked in the underground garage of my building. Elevators didn't work. Actually, I can't really say that because I couldn't even get to the elevators since the building access card readers didn't work. Took the stairs up, someone let me in the building (checking my card) and while the the floors had some lights, my office was predictably dark. Most of the other people arriving during the short time when I was over there came from their houses simply because they had no power and heat at home and were freezing. Nobody really expected to be working. Very few people from Seattle showed up, because the 520 bridge was closed. Microsoft shut down by a storm. Who would have thought.

After a Friday evening trip across the then-reopened and surprisingly empty 520 bridge to spend some time in the light over in Seattle (downtown was back on by then), we were confident we'd have power Saturday morning. "I can't be that the power stays out more than 24 hours". Well, yes, it can. It took until 1:30am for out power to come back on. Sabine beat me left and right in every board and dice game we played and I got through 1/2 of a very good book. All that with 30+ candles providing the light and, luckily, gas heating. Not too bad, after all.

And thanks to KIRO710. You've done a great job keeping everyone informed in the AM band.