Dr. GUI Gets Webbed, Again

December 27, 1999

The good doctor held out in the land of COM (and, according to Don Box, love -- as Don contends that COM is love) for as long as he could. He circled the wagons. He rallied with the sea turtles. But eventually the tear gas and concussion grenades got to be too much, and he dispersed.

As Dr. GUI has long known, the Internet is here -- and it's time, after resisting mightily, to get on the bandwagon. (It's kind of like Dr. GUI resisting Windows programming as long as possible -- at least until MFC came along -- and then resisting COM until ATL came along. A pattern? You be the judge.)

Not Just Webbed -- Duwamished!

As it turns out, the good doctor has not only been Webbed, he's been Duwamished. Specifically, he's pulling together the plan for documenting the next version of Duwamish (the version he likes to call "Duwamish Gets Real"). You can read more about Duwamish in the MSDN Online Library.)

If you've been following Duwamish, you know that it's gone from a Visual Basic® app using an Access database on a single machine to a distributed Web app using Web servers, SQL Server, and transactions (with some intermediate phases along the way).

Now that Duwamish is a distributed Web app, new questions arise:

There's no way to find out without trying.

So the Duwamish team is deploying the Duwamish Books sample application as a real Web e-commerce app -- real except for one thing: We're not sure yet whether we're actually going to sell and ship anything. Even if we don't, we'll simulate it by connecting to test accounts at the companies that are doing credit-card payments and fulfillment. At the very least, it will be that real.

We're also going to generalize the Duwamish Books sample app some, so that it'll be easier to adapt to anything you might be selling -- T-shirts, fruitcakes, or whatever.

The most important changes will be in deploying the app as you might deploy it: with a real connection to the Internet (and to the credit-card payment company and the fulfillment company), with security, and with hardware you might use.

You'll be able to use the application, and we'll also have a set of machines simulating Web users so we can check the scalability, identify bottlenecks, and make the app even more scalable than it already is.

What We're Thinking About Writing

The Duwamish guys (and woman) have been working on Duwamish 5.0 and testing Duwamish 4.0 to identify bottlenecks, such as too little network or CPU capacity, or too little memory. During the next couple months, we'll produce a serial diary (http://msdn.microsoft.com/voices/sampleapp.asp) that describes what we're doing. We're also thinking of starting a diary about performance and scalability issues. Maybe we'll call it "Your Mileage May Vary."

One luxury we have is that as we run into questions -- such as whether to have more single-processor Web servers or fewer dual-processor Web servers -- we'll be able to do some testing and come up with guidelines that we hope will be useful for you. We'll figure out how to diagnose and fix performance and scalability bottlenecks we come across, and we'll sure pass that knowledge on to you.

As always, we'll document our source code, so you can understand and modify it more quickly.

We're also lucky to have a couple of developers and a tester who cut their teeth doing different sorts of programming -- some Win32, some UNIX. As they learn the ins and outs of Windows DNA programming for the Web, they'll tell you how they did it and provide links and pointers to the things you can read to learn most quickly.

What Do You Need to Read? Comment Below

Dr. GUI's going to ask a big favor of you: Can you comment this article and tell him what's hard about deploying Web applications? What types documentation are important to you? What would make your life easier as a Web developer who uses Microsoft technologies? What would make it easier to deploy solutions based on Windows DNA?

Also, please tell the good doctor briefly about your job and your background. We need to have a clear idea of the audiences we're writing for.

Think of it as your chance to tell someone at Microsoft, or even a doctor, how to do his job. And thanks!