A.
To understand the need lets see the pros and cons of both the existing architectures the Thin Client (Web) and the Thick Client (Desktop)
The Thin clients or the Web application provided features like �
If it had the above features then it also had the following issues �
The Thick clients or the Rich client or Desktop Applications or Client/Server application provided features like �
The Thick did provide the above feature but on the other hand they also had the following issues �
The above two architectures provide one feature while they lack the other. But a Smart Client combines the best features found in both the architectures.
A smart client would have the following characteristics:
Let us look at one of the very important features of Smart clients � Intelligent Install and Update.
Smart client applications manage their deployment and update in a much more intelligent way than traditional rich client applications.
A Smart client application will have two components
When the user opens a Smart client Application �
Any updates to the application, a single change and the changes will be reflected to all the clients when they are launched the next time. This is called a smart client.
using System; using System.Reflection; using System.Windows.Forms; namespace MySmartClient { class SmartClient { [STAThread] static void Main(string[] args) { SmartClient objSmartClient = new SmartClient(); //display splash screen Splash splash = new Splash(); splash.Show(); Application.DoEvents(); // Set the URL to load the Assembly from string strURL = ""; // Set the class to call string sClassName = "MySmartClient.SmartForm"; Assembly assemblyContent = null; try { // Load the assembly assemblyContent = Assembly.LoadFrom(strURL); } catch(Exception e) { } splash.Close(); // Create a object for the Class Type typeContent = assemblyContent.GetType(sClassName); // Invoke the method. Here we are invoking the Main method. try { typeContent.InvokeMember ("Main", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, null, null); } catch(Exception e) { } } } }
This is all that would be installed on the client. The actual application will be available on the Server. First time the client application is launched, the .NET Framework will download the required assemblies locally. Henceforth every time the application is launched, the .NET Framework will check for the version of the assemblies, if the server has a latest version, it will downloaded or else the locally available assemblies will used to launch the application. This way, any updates to the application can be handled easily at one location, thereby making the deployment of application easy.
Download the client side application and the Server application from the link above.
General
News
Question
Answer
Joke
Rant
Admin