Microsofts CAB: Smart Clients for Dummies

By Darryl K. Taft  |  Posted 2006-02-17

Microsofts CAB: Smart Clients for Dummies

Microsoft has released a set of guidance and code to help enterprise developers build smart-client user interfaces on the .Net Framework 2.0.

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.

Will AJAX wash away smart clients? Click here to read more.

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.

Meanwhile, although Microsoft is providing guidance for developing smart-client applications that take advantage of the Windows platform, the company also is promoting AJAX (Asynchronous JavaScript and XML)-style development, which leverages the browser as a platform.

Next Page: Keeping AJAX in the mix.

Keeping AJAX in the


Pace said Microsoft will continue to promote both. He noted that Microsofts Atlas tool for AJAX-style development is still a work in progress, as the company recently released a CTP (Community Technology Preview) of the tool.

"Microsoft has a wide technology stack," Pace said. "Atlas is still being developed. The Patterns and Practices group focuses on solutions available today. We fill the gap to solve the problems that future technologies will address."

However, Pace said, "Windows Workflow Foundation is another technology that we will leverage in the client space," he said. "We build CAB in a way that allows you to plug in functionality."

Indeed, CAB allows applications to be based on the concept of modules or plug-ins; it enables developers with shell expertise to build components that hide UI complexity from the business logic development; and it facilitates development using patterns, Microsoft said.

"When you look at the whole client space, between the Web and smart clients you have a pretty significant percentage of applications," Pace said.

Infragistics, of East Windsor, N.J., announced Feb. 13 that it is the first commercial tools vendor to support Microsofts CAB framework with its NetAdvantage 2006 presentation layer tool set.

Infragistics offers its NetAdvantage CAB Extensibility Kit, which is provided as part of a NetAdvantage subscription. Company officials said the kit extends NetAdvantage to provide seamless interoperation with the CAB.

Read more here about new development tools on the way from Microsoft.

The kit enables development teams to easily compose customizable user interfaces with a complete set of enterprise-class frameworks and tools, Infragistics said.

Meanwhile, NetAdvantage 2006 Volume 1 enables software development teams to easily create rich, high-performing and productive user interfaces for a diverse line of business applications, said Steve Dadoly, vice president of engineering at Infragistics.

The tool set features new HTML Editor and Spell Checker controls to make it easier to add multilanguage rich text editing and spelling user interfaces to ASP.Net applications.

And ASP.Net application performance is improved with an AJAX-enabled Tree control and an optimized Grid control which reduces HTML download size, he said.

Dadoly said Infragistics worked with Microsofts Patterns and Practices team to build CAB.

"CAB is well-suited to enterprise applications, and it forces developers to use best practices and patterns," he said. "We were invited to a seat on the Smart-Client Advisory Committee," Dadoly said. "And we did on-site team development with the CAB development team."

Andrew Flick, Infragistics Windows Forms product manager, said Infragistics controls enable development teams to create new user interfaces.

"Our enterprise customers are really pushing the limit," Dadoly said. "It looks like this could be the way the industry will move. A lot of our Net Advantage customers are looking at CAB," he said.

Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.

Rocket Fuel