Ron Jacobs at the Austin Architect Council on Composite UI Application Block – level 200

On Monday, Microsoft held an Architect Council at the MTC. Ron Jacobs from the patterns and practices group was in town and spoke about the upcoming Composite UI Application Block (or CAB) as well as his take on SOA. Ron runs the patterns and practices group at Microsoft and has a series of related podcasts.

Ron related that he doesn’t like the DataSet because it is unstructured data. I have to agree with him. I recently ripped a DataSet out of EZWeb because it was annoying me. I replaced it with a data transfer object specifically suited to the purpose.

The Composite UI Application Block is written for .Net 2.0 and will ship along with the rest of Whidbey. It’s goal is to make smart client apps easier to develop. Ron recognizes that more and more smart client applications will have mutliple panes and not just a series of single forms. The CAB is largely based on lessons learned from when Microsoft created the Integrated Dell Desktop for Dell, Inc. The IDD is a smart client app framework that loads modules and hosts them. Modules are the individual application segments, and the smart client framework allows them to work together. It’s the application shell.

The CAB introduces a new dependency injection framework from Microsoft based on attributes. Personally, it’ll have to be really good if they expect people to switch from Spring.

Modules in applications using the CAB can publish events and subscribe to events. This communication is managed by the CAB which is highly instrumented to allow for sophisticated debugging. The CAB offers things called application services which are components that are meant to be shared by the entire application. All code runs in the same AppDomain, and each pane, dubbed a “Smart Part”. This is a takeaway from “Web Part”.

Hands-on labs for the CAB will be available soon. To download the CAB, go to

Check out for all kinds of hands-on demos of Microsoft products.