The Redmond, Wash., software makers Composite UI Application Block, also known as CAB, features best practices for developers building smart-client business applications.
Microsoft built CAB to support Visual Studio 2005 and is now promoting it to developers.
Eugenio Pace, a product manager in the Microsoft Patterns and Practices group, said the CAB application block is a reusable, source code–based component based on the Microsoft .Net Framework 2.0 that provides proven practices to build complex smart-client user interfaces based on well-known design patterns.
Pace, who is responsible for the "client space" in Patterns and Practices, said simple user interface parts can be combined to create complex solutions, but at the same time enable these parts to be independently developed, tested and deployed.
CAB helps developers to create user interfaces that leverage the Windows desktop, interact with multiple back-end systems, are easily deployed and configured, provide rich user experiences, and use complex data manipulation mechanisms that enhance user interface responsiveness, Pace said.
For instance, Microsoft said CAB can be used to develop smart-client line-of-business applications such as the following: OLTP (online transaction processing) front ends for things like data entry applications; rich client portals to back-end services such as portals to government services or bank teller applications; or UI-intensive stand-alone applications such as those used by call center staff, IT support desks or stock traders.
"CAB is essentially our foundational component for the smart-client guidance we have," Pace said. "My team has the goal of providing architecture guidance for our enterprise customers. We tell you how to put everything together in a way that is architecturally sound."
Pace said he and members of his team had been writing a lot of guidance in different forms, but "we felt we could capture the stuff weve written in books, in actual code and tools."
CAB is but one part of the deliverables the Microsoft Patterns and Practices group is working on.
"CAB is the scaffolding for building smart-client applications," Pace said. However, there are many other challenges developers face, such as how to build smart-client applications that operate offline, or sometimes online and sometimes offline, and to make applications aware of the network, he said.