TechEd 05 ARC Track Additions

For those of you that are in Orlando, there are a couple of ARC track additions and other items of note:

  • ARC305R – We’re repeating Scott Hanselman’s Code Generation talk again Wednesday at 5:30pm in room S220E
  • ARCC17 – The TBA ARC Cabana Session will be on patterns & practices Futures with Rob Jacobs. That’s at 9am on Friday.
  • Speaking of p&p, they are having their weekly p&p Live webcast in the ARC cabana. This “cabanacast” is happening 2pm on Thursday.

TechEd ARC Announcement Roundup

Of course, TechEd is a big time for product announcements, new websites (like ARC) and other assorted new stuff. Here’s a roundup of stuff I’ve been tracking:

  • TechEd is the first time we’re talking about the new Architect Certification in earnest. There has been quite a bit of cabana traffic on this topic. People hear “certification” and think it’s a simple test, but when we explain that it’s more like a PhD board, they get more impressed. When they talk some of the people who have been through the beta program and they hear how hard it is, they are more impressed. So far, I think we’ve only passed around two thirds of the candidates even though the beta program consists entirely of hand selected partners and MSFT employees. Mario made a great analogy to 18th century medicine – certification helped the public separate the real doctors from the charlatans. There’s also a great roundtable interview about the program up on PressPass. Joe from that interview spent a lot of time talking certification in the cabana yesterday. He mentioned that while there is some product focus, a deep Java architect should be able to pass the certification. Good news for Ted who didn’t have many takers to sign his book Effective Enterprise Java at the TechEd author signing on Sunday.
  • patterns & practices launched their new dev center on MSDN. They’ve also released previews of their new Global Bank Integration Baseline Architecture (typically just referred to as GBI) and the WS-I Basic Security Profile Sample App. I got a preview of the GBI project a few weeks ago, and I was very impressed (though it will be even more impressive if they release it as a GAT package). GBI has lots of moving parts that are headless, so the team wrote an application called The Narrator to help users explore what is happening in the system. It provides multiple views into the running system, including a system view, a services view, a pattern view and a security view. When I saw this, my first reaction was “Let’s get that on the web!” I mean, it’s great for use with the actual GBI, but GBI consists of 40 projects running across as many as six machines. That’s a lot of time investment to simple explore the system. So based on my suggestion, the p&p folks built a flash demo of the GBI Narrator. Of course, the flash demo doesn’t connect to a running system, but it’s otherwise a very similar experience to the “real” narrator. Let us know what you think of this approach.
  • Lots of other people have linked to the new VSTO Outlook that SteveB announced on Monday, but I also wanted to link to David Hill’s blog. David is an architect from the Architecture Strategy team, but the VSTO team “borrowed” him 3-4 months ago to help make this happen. Watch David’s blog for info on what’s happening under the covers with VSTO Outlook. Congrats David!

QOTD – Jim Dial

I’m giving credit to Jim Dial for this quote since he told it to me, but he did say someone told him. I just don’t remember who…

“The difference between a hallucination and a vision is how many other people can see it”

TechEd 05 Day One – This One’s for Chris Sells

Back in November, we published a series of articles about Software Factories. As excited as I am by the concept, Chris Sells really brought me back to earth with this post:

I’ve been reading each of the Software Factories articles with great interest. Part 1 and part 2 did a particularly good job describing the elements of the problem space, I thought. However, when I get to part 3, I was ready to see a solution. Instead what I got was a long abstract piece defining the bits of what makes up a software factory. This is the kind of thing I’d be ready to read after I was shown a concrete example or two of working, running software factories. Do other people like reading these long, abstract articles? I find them tedious unless they’re filling in and generalizing the details of something that I’ve already got a handle on.
[Chris Sells – Concrete Examples of Software Factories?!? – Nov 7th, 2004]

When we were planning the ARC track for TechEd this year, I sent this post to Keith and Jack and told them I wanted to show a concrete example of a working, running software factory. I wanted to impress Chris. Today was ARC302 – Building and Using a Software Factory with Jack and Wojtek. I don’t think Chris was here today, but if he had been, I think he would have been impressed. It’s one thing to see all the various parts working on their own, but it’s very different to see everything working together in concert.

The factory scenario they demoed was for building smart client apps. p&p already has a bunch of existing assets like EntLib and UIP that is useful for building smart clients as well as a ton of guidance for building smart client apps. But long books and source code projects are not the easiest form of guidance for developers to consume. The factory ties these assets and guidance together to provide a powerful in-tool experience for building such applications. For example, they started by instancing a smart client solution template. This had two projects – the UIP related code and the main application code. The UIP project had all the boilerplate code that every UIP project needs to use, but it didn’t have any code for individual UIP page flows. So they invoked a GAT recipe to create a UIP page flow. This is one way where factories differ from traditional wizards – wizards are typically only invoked when creating a new solution. Factory recopies are invoked after the initial wizard runs, meaning you can unfold the template incrementally as you go along. So in this case, you invoke the recipe to create a UIP page flow multiple times, once per flow you want to create. Running the recipe created a bunch of files, but of primary note was a DSL model file and two code generation templates. The model file was for a cool little DSL for laying out UIP page flows. The code gen templates generated all the code for the forms and the flow control as well as the config needed to implement the page flow as designed in the DSL. Then they wired up the generated forms to a web service, including usign a service agent to cache web service call results on the client.

All in all, it was a very full featured app to build in a very very short amount of time. What was interesting is that there was very little hand waving when it came to adding code. You know how demos go where they add literally pages of code? In this demo, they’d swap out the file with the empty method for one where the method had like ten lines of code. And on top of being full featured, it followed the best practices design put forth by out patterns & practices group. So it didn’t fit the mold of a “quick & dirty” demo – how often does a demo app that you build on stage conform to best practices?

I gotta get through the end of this week, but then I want to get a video of the demo up on the web so you can see what I’m talking about, even if you didn’t go to TechEd or attend the session. I’d love to get the code too – it’s all running on VS05 Beta 2 – but you know product group guys…the next version of the demo is going to be even cooler…I think I can convince Jack to ship the current code and then ship the even cooler demo code when they get that finished.

TechEd 05 – Day Zero

The calm before the storm, as they say…

Things have been quiet around here between new baby & final TechEd prep. I think we’re in pretty good shape, though we’ll see how we look tomorrow. One good piece of news is that Dick Carlson, who manages the Hands-on Labs, sent out a list of labs either not received or that have blocking bugs. No ARC track labs on either list. That’s a good sign…

Last night was the track owner dinner at Sea World. Funny, we had a track owner dinner at Sea World last year in San Diego. Is this a trend? It was fun to hang out with the other track owners and drink rather than have to sit around a table and plan. Didn’t get to see Shamu up-close-and-personal like last year, but we did go ride the Kraken roller-coaster. Pretty cool, though reminiscent of Batman at Six Flags in SoCal. One slight bummer – some of us waited extra to ride in the front, but I was to big for those seats! And it wasn’t a weight problem (though I could certainly use some work on that front), it was a barrel chest problem.

Today, my pal Chris is driving up from Hobe Sound and we’re going to hang out this afternoon. I used to see Chris all the time, but then we both switched jobs and he doesn’t have much chance to come out to the left coast. Last time I saw him was at an architect forum last spring in Orlando, when again he drove up to see me. However, I hear there may be a helicopter ride in the cards today, so I’ll try and keep the “when are you coming to see me for a change?” grief to a minimum.

I’ve even gotten a chance to write up some thoughts on two new projects and to play around with the new DSL Toolkit CTP. Of course, having an extended battery for the plane ride was the reason I could do all that.

See you in the cabana on Monday…