It’s good to finally see “Smart Clients: Essential Requirements and Candidate Services” published on MSDN.
This article was something I helped craft when the Microsoft Architect Advisory Board was active. As the article states, MAAB has been retired and many, if not all, MAAB members are now Solution Architect MVPs.
One important name not listed in the acknowledgements is Jon Tobey. Jon took the collaborative work of a group of architects and clarified it into something more publicly consumable. As you might imagine, this was not an easy job–my colleague Greg Poirier characterized it as follows: “herding us like a bunch of alley cats to the finish line.” Thanks, Jon.
And thanks to all my fellow Smart Client Architecture Working Group teammates. Cheers!
Back in February of this year, I posted on the maturation of smart client development artifacts from Microsoft. What I called “SC-BAT” then is now the recently released Smart Client Software Factory on MSDN (i.e. SC-SF since 5/1 apparently). I look forward to upgrading my GAX and GAT to the Jun-06 CTP’s and upgrading to the new SC-SF, too–perÂ getting started.
Aside: It’s interesting for me to observe the morphing of “Baseline Architecture Toolkit” into “Software Factory” given my time spent on Software Factories as a reviewer of the book by that name.
Update: I see that Sam Gentile thinks highly of the new release, too.
If you’ve been a reader of mine for awhile, you know that I’ve blogged about smart clients in the past (defined). It’s been great to see a fair bit of progress from Microsoft concerning more robust infrastructure for the development of smart client-oriented applications.Â Insufficient common plumbingÂ was a central concern of the Smart Client Architectures working group within the, now all-but-closed, Microsoft Architect Advisory Board. Each one of us in the WG saw numerous one-off efforts that would benefit significantly from a more capable, robust platform from which to build smart clients (e.g. focus more on the business/problem domain instead). The following efforts are yielding these anticipated benefits: Enterprise Library, Composite Application Block, Guidance Automation Toolkit and Smart Client Baseline Architecture Toolkit.
In case you’re not familiar with these Microsoft (and community) provisions, I encourage you to visit the following links:
- Enterprise Library (EntLib) – January 2006 release for .NET 2.0: GDN home, contributor blogs, the goods (bits), overview and core architecture presentations, and (3) ARCast recordings. I also recommend this good explanation of the Object Builder framework within EntLib.
- Composite UI Application Block (CAB): home, community, the goods (C# bits), hands-on labs (C#), and introduction presentation. CAB specifies a composition-oriented architecture and framework for the presentation layer. It is a smart client framework for building composite enterprise applications (versus small standalone applications), enabling solution developers to focus on their business domain instead of application plumbing. CAB has a dependency on EntLib.
- Guidance Automation Toolkit (GAT): home, a short history, and an article. If you’re familiar with Enterprise Templates from VS.NET03, GAT is like ET on steriods. GAT requires Visual Studio 2005 (i.e. its DSL support). DSL is short for domain-specific language. DSLs are an essential part of the Software Factories paradigm.
- Smart Client Baseline Architecture Toolkit (SC-BAT): community, history, drop 3 details, and (2) ARCast recordings. The Smart Client Baseline Architecture Toolkit provides comprehensive, end-to-end guidance for building common Smart Clients. The reference implementation of SC-BAT has dependencies on CAB (which depends on EntLib) and on GAT.
[See also Architecture in a Priory.]
Over the past five months or so, the Smart Client Architectures working group of the Microsoft Architect Advisory Board (MAAB) (whew, that’s a mouth full) has met regularly to produce a reference model that is currently planned to outline a set of content that will map business needs to solutions enabled via smart client architecture. During this year’s (fourth) Microsoft Strategic Architect Forum (SAF) in Redmond, WA, we were able to present an overview of our progress to architects in attendance. It was encouraging to see the alignment between our work and our audience. A majority of interactive breakout sessions during SAF focused on concerns being addressed by our work (e.g. contextual integrity and transmission (aka references and relationships), simplified smart client production and potential expression as a software factory, etc.). Exciting times ahead!
It was nice to finally meet Rocky Lhotka in person. Shortly after our first working group meeting in May, Rocky joined the effort to advance smart client architectures. Anyway, we met up toward the tail end of the SAF–before the start of the MAAB meetings. One of the things I enjoy about blogging is the opportunity to gain another’s insight into a shared experience. For example, Rocky and I sat next to each other as Pat Helland presented another segment of his Metropolis series of talks (e.g. here is the presentation by Pat that shaped last year’s SAF). (Rocky blogs about it here.) What struck me at the time is the incredible value I receive when someone like Pat takes a hard look at history, correlates it to the present and suggest how to anticipate what’s to come–both opportunities and challenges. (It was also a treat to hear Pat’s lovely rendition of Mr. CIO Guy.)
Hopefully Microsoft will publish a MAAB page soon where you can gain addition insight into the makeup and focus of this group of architects. Ideally it will be a fairly collaborative area that allows you to interact with us (e.g. share your perspective; discover other feeds on architecture; etc.). Once Harry Pierson and team return from OOPSLA–wish I was there!!–look for these and other developments in the architecture space.
Earlier this week, I was in Redhill, UK at Nutfield Priory as a member of the Microsoft Architect Advisory Board (MAAB). Five focus groups spent two full, intense days at the Nutfield Priory collaborating on issues facing architects today. My group spent its time on Smart Client Architectures, and it was surprising how quickly the members of this group–the largest of the five–reached consensus on common vision of making it easier to build smart clients, which are admittedly hard to build today. Unlike some of the other areas focused upon by MAAB members this past week, which are five, even ten years out in their realization/implementation, smart clients are here today, driven by the growing demands of information workers, IT administrators, and software development staff.
David Hill joined our group as the representative architect from Microsoft. His suggestion that smart clients are rich clients done right resonated. Easily the most important feature to deliver in smart clients is deployment. Smart clients must be easy to deploy; if they aren’t the whole sell is a complete non-starter. However, deployment is not a one-time event; it’s a process. The process begins upon initial installation of software and continues throughout the life of the software and the role of the user.
Unfortunately there tends to be a default reaction when a new application is required in the enterprise–build a thin client (browser-based application). Not all user experiences are meant for the web, though. While this may seem like an obvious statement, it’s clear that today’™s businesses knowingly and, worse yet, unknowingly sacrifice the productivity of their employees, partners and customers to the web. Do you need to work in your application offline? Without a network connection, the web disappears; so does the ability to do critical business that may be transacted on cached data. Is the responsiveness and richness of your application critical to decision making and support? What if the available network has only low bandwidth and/or high latency; will your users perceive your software, your service, your brand in the same manner as if there were high bandwidth and little latency? Will sales be lost, will collaboration cease, and will customer satisfaction drip away?
To be clear, our work has just begun on this important facet of architecture. The roadmap will be incremental. Be looking for material to be published by this focus group, and by the MAAB in general. Keep an eye, for example, on the following resources: