Smart Client Application Development using .NET





Organizations are seeking to extend their enterprises and provide knowledge workers with ever-greater mobility and access to information and applications. Powerful new computing and communications devices along with wireless networks are helping provide that mobility. This has sparked the creation of "smart clients," or applications and devices that can take advantage of the power of local processing but have the flexibility of Web-based computing.

Smart clients are computers, devices, or applications that can provide:
1. The best aspects of traditional desktop applications, including highly responsive software, sophisticated features for users, and great opportunities for developers to enhance existing applications or create new ones.
2. The best aspects of "thin clients," including a small form factor, economical use of computing resources such as processors and memory, ease of deployment, and easy manageability.
3. A natural, easily understood user interface (UI) that is high quality and designed for occasional connectivity with other systems.
4. Interoperability with many different types of devices.
5. The ability to consume Web services.
Organizations can start building and using smart client applications today with a rich array of Microsoft products and tools that eliminate barriers to developing and deploying smart clients. These tools include:
1. .NET Framework
2. Compact Framework.
3. Visual Studio .NET
4. Windows client operating systems
5. Windows Server 2003


Rich Clients
Rich clients are the usual programs running on a PC locally. They take advantage of the local hardware resources and the features of the client operating system platform. They have the following advantages:
1. use local Resources
2. provides rich user interface
3. offline capable
4. high productivity
5. responsive and flexible

Despite the impressive functionality of many of these applications, they have limitations. Many of these applications are stand-alone and operate on the client computer, with little or no awareness of the environment in which they operate. This environment includes the other computers and any services on the network, as well as any other applications on the user's computer. Very often, integration between applications is limited to using the cut or copy and paste features provided by Windows to transfer small amounts of data between applications. They have the following limitations:
1. Tough to deploy and update: Since no network connection is available the applications have to be installed separately on each system using a removable storage device.
2. "DLL Hell" (Application Fragility): When a new application is installed, it may replace a shared DLL with a newer version which is incompatible to an existing application, thereby breaking it.

Thin Clients
The Internet provides an alternative to the traditional rich client model that solves many of the problems associated with application deployment and maintenance. Thin client, browser-based applications are deployed and updated on a central Web server; therefore, they remove the need to explicitly deploy and manage any part of the application to the client computer.

Thin clients have the following advantages:
1. Easy to deploy and update: The application can be downloaded over the internet if the URL is provided. Updating can also be done at regular intervals over the internet.
2. Easy to manage: All the data is managed on a single server, with thin clients accessing the data over the internet - providing ease of data management and administration.

Despite the distributed functionality provided by thin clients, they also have some disadvantages. These are:
1. Network dependency: The browser must have a network connection at all times. This means that mobile users have no access to applications if they are disconnected, so they must reenter data when they return to the office.
2. Poor user experience: Common application features such as drag-and-drop, undo-redo, and context-sensitive help may be unavailable, which can reduce the usability of the application.

Because the vast majority of the application logic and state lives on the server, thin clients make frequent requests back to the server for data and processing. The browser must wait for a response before the user can continue to use the application; therefore, the application will typically be much less responsive than an equivalent rich client application. This problem is exacerbated in low bandwidth or high latency conditions, and the resulting performance problems can lead to a significant reduction in application usability and user efficiency

Tags :
Your rating: None Average: 3.5 (2 votes)

Posted by

Sun, 19/12/2010 - 19:55