Waking Up

My father recommended I not blog politics, under the mistaken assumption that this is a “technical blog”. For the record, this isn’t a technical blog, it’s my personal blog and I blog about what I’m interested in. Usually, it’s technology, development and/or architecture. Sometimes it’s hockey. Sometimes it’s movies. Right now, I’m abnormally interested in politics – go figure. I’m a week behind on tech blog reading, but I’m currently reading over a dozen political blogs every day.

This political “season” has had a significant effect on me. Call me a slow learner, but I’m beginning to figure out that politics isn’t just something to think about once a year at election time – or worse, once every four years when at presidential election time. I’m sure regular readers can guess who I support for president, but I haven’t quite figured out how my new-found-interest in politics will effect my day-to-day life after Election Day. I won’t bother you with any political reasoning (yet) since you’ve either made up your mind, in which case nothing I say will make a difference either way, or you haven’t, in which case you’re getting bombarded on all sides to make a decision and anything I say will be lost in the cacophony. But I do want to share one quote with you, which I found doing a little research:

“Government is not reason, it is not eloquence, it is force; like fire, a troublesome servant and a fearful master. Never for a moment should it be left to irresponsible action.”

  • George Washington

Regardless of who wins in November, I will never turn my back on this troublesome servant and fearful master again.

More Architect Bloggers

Two new architect bloggers to note. Jim Clark is a business architect on the Architecture Strategy Team. Jim spends a lot of time with what he calls “Red River” – identification and definition of business architectures, ontologies and environments that promote trusted business solutions. His first post is about Familiarity and Trust. Steve Cook is a contributor to Software Factories and works for Keith. Steve is looking forward to OOPSLA. So am I.

SAF Day 2

I sat through four session yesterday – two keynotes and two informational presentations. My favorite of the four was the session on Business Architecture by Jack Calhoun, CEO of Accelare. I can’t summarize it effectively, so I won’t try. However, one of the key points I took from the presentation is that the architecture of the business is evolving away from an organizational-based model towards a capability-based model. That’s fascinating because business capabilities are a natural match to technology services. Jack made a point that SOA isn’t going to be successful if it’s just as new technology mechanism – it also needs to enable to business models. He also introduced a term I had never heard before – “chaordic“. The term chaordic is a combination of chaotic and ordered and is used to describe the dynamic organization of complex systems (like enterprises). It was coined (I believe) by Dee Hock, former CEO of Visa who wrote a book on the subject called Birth of the Chaordic Age. Yet another book to add to the tall stack that I’m still working through.

This morning, I ran a breakout on Refactoring Your Best Practices. I didn’t bring much presentation material to this session since I’m not sure we do a great job of this. Actually, we (i.e. Microsoft) do a pretty good job capturing best practices, but we’re less effective at reusing those practices. One of the reasons we’re not great at using these practices is because it’s very hard to capture the context of the best practice. The breakout session was awesome. We had a variety of experiences represented, from a company where best practices have become rigid rules that must be followed blindly, even when they stop making sense, to a company that has a “Chief Methodologist” who runs a group of architects who build best practices the way that other groups build products. I thought that the project-esque approach was fascinating. One of the implications is that we need to capture baseline information about the practices, so we can tell if we’ve improved as we refactor. All in all, it was a great discussion. I think everyone got value from it as we decided to “keep the conversation going” on email after the event.

The second morning session was a Q&A with Bill Gates and Eric Rudder. This is one of the high points of this event for the attendees. He was asked about a variety of topics, but the one that caught my attention was Bill’s opinion of blogs and if he is planning to start his own soon. Not surprisingly, he was very positive about blogging but made no commitment to starting a blog anytime soon. He’s said he didn’t want to start a blog unless he had the time to make a commitment to blog regularly. Of course, that’s exactly what has happened with Eric’s blog. However, in his defense, Eric made a great point – one of the reasons he started his blog to encourage the employees in his division (Servers & Tools) to blog. I’d love to see Bill and Eric blog, but I think it’s the rank-and-file Microsoft bloggers that are really making a difference in the community.

WSE2 and WSDL

I may be at Strategic Architect Forum, but I’ve actually been coding off and on today - using WSE2 to expose web services. I hadn’t realized that SoapService supports auto generation of WSDL – pretty cool. I dug around with Reflector to figure out how it works. Turns out that SoapReceiver (parent of SoapService) exposes a method called GetDescription that returns the WSDL as an XmlDocument. The SoapReceiver version of GetDescription returns null, but the SoapService implementation uses an internal class called WsdlCreator to generate construct a ServiceDescription from SoapService type that you write. Pretty cool.

The only downside is that if you use raw SoapEnvelopes as the input and output parameter of the SoapService methods, the WsdlCreator has no way to know what schema to use for the corrisponding SOAP messages. So, it punts and represents a SoapEnvelope as sequence of xsd:any tags. 😦 If you use XML serializable types for parameters, then the WsdlCreator generates the associated schema in the WSDL. Only issue, I gave up on XML serialization a while ago.

I wish there was a way to adorn the SoapService methods with an attribute indicating the associated message schemas (with the ability to validate those messages automatically).

Architect MVPs

In addition to event activities, we also take advantage of SAF to have side meetings with customers. Yesterday, I spent an hour discussing software factories and high-performance computing with Simon Cox from the University of Southampton. Simon is one of our inaugural group of Architect MVPs. We have fourteen architect MVPs across two categories: Visual Developer – Solutions Architect and Windows Server System – Infrastructure Architect. We’ll be growing this group significantly over the rest of the fiscal year, but there are already some influential names in this group, including Roger Sessions, Paul Preiss (founder of IASA), Ingo Rammer and Clemens Vasters. Congrats to all the new Architect MVPs!