.NET Gets Smarter with Smart Client Applications
By Jai Misra and Brenda Fackler

You have probably heard quite a bit about Microsoft's .NET platform and how it makes developing Web applications and Web services easier. Businesses that use .NET save on development costs and benefit from easier integration between their internal business processes. .NET makes it possible to connect systems, platforms, and applications and it creates new, extensible opportunities for integration.

But, what you may not know is that .NET can also help you develop rich desktop applications, called smart client applications that combine the functionality of a desktop application with the ease of deployment normally associated with browser-based applications. Let's take a look at smart client applications to find out why they appeal to businesses and who will benefit most from using them.

Simplified deployment.
Smart client applications can be deployed from a Web server with virtually "no-touch" from IT. Thus the name — no-touch deployment. Already well-known to browser-based applications, no-touch deployment uses Hypertext Transfer Protocol or HTTP and saves IT staff the time and effort of installing new software on individual client machines. Smart client applications can also be delivered by CD, DVD, floppy disk, or via Microsoft Systems Management Server.

Automatic updates.
In addition, smart client applications can help you keep all instances of desktop applications up-to-date within your organization — easily and automatically. Smart client applications can be written to download the assemblies they need from a Web server only as they are referenced. Dynamic updates eliminate redundant downloads and network flood. Reduced demand on IT provides substantial savings.

Sound security.
The HTTP deployment model that makes no-touch deployment and automatic update possible does have drawbacks. Because HTTP deployment is a "push model" there is an increased risk for virus attack. In addition, the push model can limit the required functionality of your application. Microsoft has addressed this issue by providing an easy block of code, the "Updater Application Block" that overrides the push model update solution with a pull model solution. The pull model gives users the ability to decide when they launch updates and promotes an added feeling of security. The Updater Application Block can be copied and pasted into smart client applications quickly and easily, giving developers greater control over the deployment and automatic update of secure desktop applications. Learn more about using the Updater Application Block.

Who benefits?
Best-suited for medium to large enterprises, smart client applications are ideal for the corporate computing environment when the operating system and client configuration infrastructure is known. Network administrators will revel in the low to zero touch distribution and network efficiencies. Users will benefit from using familiar desktop applications interfaces and developers will enjoy the rich user interface and layout.

Learn more about .NET and smart client applications

What Are Web Services?
http://www.microsoft.com/net/basics/webservices.asp

What .NET Means for Business
http://www.microsoft.com/net/business/bizbene.asp

Smart Clients: Combining the Power of the PC with the Reach of the Web
http://www.microsoft.com/net/products/client.asp

Smart Client Application Model and .NET Framework 1.1
http://msdn.microsoft.com/netframework/using/building/windows/analystreports/smartclient.aspx