Category Archives: Architecture

Platforms verses Applications

ownageSoma Segar did a Red vs. Blue show with Church and the gang. It was funny hearing Soma, who is always seems to be serious, chatting with the guys that aren’t. One of the things that he talked about was the Balmer Developers, Developers, Developers speech in terms that I actually agree with. He said that Microsoft is a platform company at heart and that we have been since the company was founded in 1975.

That is fantastic and absolutely true! I’ve been saying for quite a while that a platform will beat an application every time. There are a couple of great examples of this right now. For example, Microsoft Office is, more so than it is just word processing and spread sheeting, it’s a fantastic platform that you can leverage to build your application. It wasn’t overly difficult to do with COM, not that the object model was straight forward. Even so, all of the power was there and the average developer could figure it out and put together some fairly compelling applications. Now with VSTO, it’s very easy to build compelling applications on top of any of the Office Suite of applications including Outlook. As I live in Outlook a good portion of every day, I love the idea of being able to extend it to all of the other things that I need to do throughout the day. <mindDrifting>Now, if the expense system would expose services – I could have a ton of fun with Excel and Outlook………</mindDrifting>

Another Application vs. Platform situation that you can look at is MySpace verses Facebook. MySpace allows you to customize your page a ton but it’s not really a platform for you to build on. Facebook allows you as a developer, through their Developer APIs, to build your own application that adds right into their platform and feels like it’s part of Facebook. There are several thousand of them out there already. Some of them are downright stupid like the Vampire application. <rant>I really wish that there was a nukem button for anyone who tried to make me a zombie or vampire or any other stupid thing of Facebook more than 3 times after I’ve ignored them over and over and you know who you are…</rant> However, some of them, such as the Twitter and Cities I’ve Visited are great. Others, such as Groups and Photos feel like they are part of the platform when they are actually add-in bits created by the Facebook crew. That’s pretty cool and it’s part of the reason that Facebook is winning. (That being said, I will have to post some other time about my feelings on whether or not Microsoft should have ponied up 250 Million for rights to do the advertising…)

There are applications that should be platforms that are not currently great platforms and are suffering a little for it. For example, Internet Explorer is a fantastic application – but it’s not a great of a platform as Firefox. That’s frustrating because it could be such an amazing platform. As it is, it’s a frustrating set of COM based interfaces that are not quite completely undocumented.

Now, what does this have to do with your applications? You should be thinking about platforms that you could have built rather than applications. I’ve been in a number of shops where there are 10+ small applications that are build that could have and should all been written as a single application but the first and primary application was not extensible so the other groups around simply added new applications rather than adding value to the first one.

Defy All Challenges

Microsoft ArcReady: Web 2.0

ArcReady is ramping up again for another quarter’s worth of content. This quarter we have Jon Rauschenberger from Clarity Consulting putting together content on Web 2.0 based on his experience with creating the FaceBook Developers API and more.

Applying Lessons to Your Company

After Tim O’Reilly’s article “What is Web 2.0” in 2005, there has been considerable buzz around Web 2.0 technologies and the companies that use them. From the open platform Facebook to the rich user interfaces of web mail clients like Microsoft Exchange, the architecture of web applications is changing rapidly. While other companies have begun to see potential business value in Web 2.0 technologies, there is still uncertainty on how to integrate those technologies into corporate activities. How can you balance corporate security needs without negating the architecture of participation that is important in Web 2.0 applications? Where is the line between internal and external applications? What can we learn from the most successful public Web services and does it apply to our internal SOA?

In select cities, our guest speaker will be Jon Rauschenberger, CTO for Clarity Consulting. Together with the Central Region Architect Evangelists, we’ll discuss lessons learned and best practices around collaboration, rich user experiences, and data syndication from existing Web 2.0 application architectures. We’ll also provide guidance how current Microsoft platform technologies like AJAX for ASP.NET, SharePoint Server 2007, and WCF can be used to turn those lessons into a practical corporate Web 2.0 architecture. Finally we’ll take a look at the next generation of Microsoft technologies like Silverlight and Visual Studio 2008 and discuss how architects can design and deploy applications beyond the current Web 2.0 experience.

Hopefully I’ll see you there…

  • Detroit – 8/21/07 (I’ll be there)
  • Houston – 8/28/07 (Phil Wheat will be there)
  • Dallas – 8/29/07 (Phil Wheat will be there)
  • Austin – 8/30/07 (Phil Wheat will be there)
  • Memphis – 8/30/07 (I’ll speaking)
  • Minneapolis – 9/11/07 (Denny Boynton will be there)
  • Chicago – 9/12/07 (Larry Clarkin will be there)
  • Milwaukee – 9/13/07 (Larry Clarkin will be there)
  • Indianapolis – 9/18/07 (Larry Clarkin will be there)
  • St Louis – 9/19/07 (Denny Boynton will be there)
  • Kansas City – 9/21/07 (Denny Boynton will be there)
  • Cleveland – 9/25/07 (I’ll speaking)
  • Columbus – 9/26/07 (I’ll speaking)
  • Cincinnati – 9/27/07 (I’ll be there)
  • Nashville – 9/28/07 (I’ll be there)

    Microsoft ArcReady


    Longhorn – Windows Server Virtualization and Server Core

    I’m really excited about virtualization – as a lot of people are. I just ran across this video on a TechNet Blog by Kevin Remde and thought I’d share out.

    In the demo you will see:

    • Windows Server Virtualization running on Server Core managed from another Windows Server Longhorn box
    • 64-bit hosts and 32-bit hosts and a Linux running on the same server core box
    • An 8-core virtual machine
    • System Center Virtual Machine Manager
    • System Center Operations Manager
    • Monitoring the VMs on the Server Core box 
    • Fire off a PowerShell script to hot-add another NIC to a SQL VHD Image

    Link to Full of I.T. : Longhorn – Windows Server Virtualization and Server Core

    Architecture meets User Experience at upcoming ArcReady events

    Larry Clarin (one of my fellow Architect Evangelists) has a great write-up of the ArcReady tour and a bit about the new one coming.

    Larry Clarkin on the upcoming ArcReady events

    From the ArcReady site:

    Architecting the next generation of software. The why, the what and the how.

    Microsoft’s journey towards creating new technology strategies, platforms, tools and practices is to drive the next generation of software for consumers and the enterprise. It’s not without irony that one of the most neglected and challenging components of the software design process is understanding how to identify, design and implement the ‘experience’ that an individual will have with an interface. Learn how Microsoft is elevating ‘user experience’ to a first-class citizen in the software design and development process. Understand why ‘user experience’ may be one of the most important parts of an Architect’s job in creating new software that will matter.

    Our next ArcReady program is called “Architecting for the User Experience.” Our guest speaker will be Chris Bernard, UX Evangelist for Microsoft. Together with the Central Region Architect Evangelists, we’ll discuss the role of the ‘user experience’ in architectural design and provide hands-on, practical guidance for getting better results in your own projects. We’ll discuss WPF, WPF/e, XAML and the new Expressions suite of products that allow designers, architects and developers to build great ‘user experiences’ using the same base technologies. More importantly, we will discuss how architects can work with software design professionals in new and innovative ways to create the next generation of ‘experiences’ and products that will be demanded by consumers and the enterprise.

    Session 1: “Why the User Experience Matters in Architecture”

    Session 2: “Architecting for the User Experience”

    Join Us for This Free Event.

    Show Cities and Dates

    The ones with the + are where Chris and I will be speaking together and the ones with the * are were I will be speaking by myself or with a partner such as Jeff Blankenburg.

    Link to Larry Clarkin – Architecture meets User Experience at upcoming ArcReady events

    Registration for the next round of ArcReady events –

    Enterprise Library 3.0 Released!

    In case you haven’t seen it – Enterprise Library 3.0 has been released.

    There are a ton of new features. Most of these are additive.

    • Validation Application Block – this allows you to centralize your validation rules and validate data from anywhere in your application. This means that through config – you can use the exact same validation in your smart client, ASP.NET, server side and so on.
    • Policy Injection Application Block – Provides a powerful approach for separating cross-cutting concerns from business logic using declarative policies that are attached at runtime to methods on your objects.
    • Application Block Software Factory – Dramatically simplifies the process of building application blocks and providers through the magic of guidance automation.
    • Visual Studio-integrated Configuration Editor – great improvements on the config editor and VS.NET integration.
    • Environmental Overrides – Use the configuration tool to specify configuration settings that are common or different across multiple environments, and merge this information into configuration files to be deployed with your applications.
    • WCF Integration – This is a bigger deal that it seams as we are now able to config the services layer o the Enterprise Libraries to talk to almost anything through Windows Communication Foundation. This has implications on the Logging, Exception Handling and Validation Application Blocks.
    • Pre-compiled, strong-named binaries. No need to compile and strong name the code unless you want to manage and evolve the code yourself.

    Check out Tom Hollander’s blog for a more compete write-up.

    Link to patterns & practices – Enterprise Library

    ArcReady: Mid-Tour Update

    I’m in the middle of the ArcReady tour around the Heartland district (That’s Michigan, Ohio, Kentucky and Tennessee). Tim Landgrave spoke in Detroit, MI yesterday and did a bangup job as always. It was fantastic to sit and soak in the knowledge that he has gained through the many years that he’s been in business as a consultant on a tremendous number of different projects. He brings a lot of great stories and antidotes that we can all relate to from these varius projects. The only issue is that each of the presentation brings out slightly different sets of antidotes depending on the questions and audience reactions so really, I’d like to sit through all 11 of these rather than just 3 or 4 of them.

    I got some questions about the presentation so I thought I’d answer some of them here. First, the names of the books that were referenced in the Patterns and Anti-Patterns section were:


    Second question that I’m getting a lot is when and where can I get the presentation? We will be posting it on as soon as the tour is over.

    The question that I have for you is what topics/speakers would you like to see in the future for this series? Feel free to email me direct or leave answers in the comments.


    Link to Microsoft ArcReady: Reinforcing the Foundations of Solutions Architecture

    Architect School

    As an Architect, I sometimes attend the Architect school. I’m learning so much that I thought I’d share some of the lessions with you.

    First lession: the white board is your friend. Until you accept that and embrace it, you will not be a great architect.

    Then as time goes on, we work our way up to actually using the white board. Too often someone jumps right to the whiteboard without the proper background or respect for the whiteboard. The end result is often painful to witness.
    We start out slow working with simple lines and work our way up. In this lesson, we work with up to 4 lines.


    The graduate classes take whiteboarding to a whole new level where it can almost speak to the audience on it’s own without any words needed.

    Someday I’ll get to that level – but it’s a long road.

    Arc on the Street: Dave Redding – Command Pattern

    Announcing Arc on the Street. This is going to be an opportunistic podcast. I’ve got a podcast recording rig that I’ve been playing with (many posts to come later about the rig). The best part about it is that it’s very portable and all battery powered.

    So I was having a drink with my friend Dave Redding who was asking about patterns. I pointed him to Christian Gross‘s Foundations of Object-Oriented Programming using .NET 2.0 Patterns book. Turns out that he already knew some about patterns and had used the Command Pattern in the past. Well – in our first “Arc on the Street” Dave is going to tell us about that implementation and a little bit about patterns in general. At the time of the recording, I was thinking that I would do two series “Dev on the Street” and “Arc on the Street” but I’ve decided that it make more sense to just have one and for me to concentrate on the architect level topics.