The Smart Client Composite UI Application Block (CAB) is something of a work in progress, with regular updates to Microsoft Patterns & Practices Web pages being the best source for new information about this UI design methodology. Recent onsite updates to the CAB reference implementation include important "Offline" capabilities to deal with the niggling issue of interrupted services. Also worth a look-see: recently added 'how-to' topics in the CAB guidance pack, as well as documents detailing the manual steps required to implement much of the reference implementation.
"CAB provides an improved framework architecture on the presentation layer," said Steve Dadoly, vice president of engineering, Infragistics. "It allows you to compose applications out of different parts."
CAB examples are offered in both C# and VB.NET. The Composite UI Application Block guidance is likely to be most immediately useful for "portal-style" applications that integrate previously separate user activity screens.
Late last year, former TSS.NET Editor Paul Ballard spoke about CAB with Peter Provost, Software Design Engineer, Microsoft. As part of Microsoft's Patterns & Practices team, Provost is thoroughly versed in this method of client design and development.
"CAB is an application framework for building rich smart client applications, enterprise size applications," Provost told Ballard. "You typically wouldn't use it for small standalone apps."
"But if you are building a large application that is bringing together functionality, and need to compose a lot of interesting, different parts, CAB is a perfect fit."
Provost said that the best practices embedded in CAB derived from customer experiences. "We like to go out and find customers who are building systems and try to extract from them what they are doing, what works, what doesn't, and then leverage that, putting together kind of a common system that we can bring out to our customers so that they can benefit from both our own learning," he said.
Provost noted that CAB ships with a number of quick starts out of the box. Among these is the Bank Teller Quick Start, which can show most of the available CAB features in a mere one-hour session. One of the most powerful parts of the CAB, he indicated, is an Event Broker that lets two classes - or even full applications - communicate with each within the CAB, "without knowing anything about each other." Paul Ballard's complete TechTalk interview with Provost will appear next month on this site.
Information on Composite UI Application Block
Smart Client - Composite UI Application Block - Patterns & Practices site
New drop of the Smart Client Baseline Architecture Toolkit - EugenioP blog
Download - Composite UI Application Block in Visual Basic .NET - Microsoft.com
Download - Composite UI Application Block in C# - Microsoft.com