Monday, 28 January 2013

Smart Client applications

Introduction:
Smart client when we divide them into words we get two words; 'smart' and 'client'.
In application development terms 'client' application is a application which runs in your local system and takes full advantage of the local hardware resources and advantages which are featured in your local operating system.
Now comes the term 'smart', smart in general terms is someone who knows by itself what to do? There is no necessity for someone to tell a smart person what to do.
So, a smart client is an application ,which runs in your local system and is designed so as to know what it has to do at a given point of time. To be more specific, it gives application access to local hardware when not connected to internet and when connected allows application to take full advantages of remote services and information available.
I can say smart client = thick client + thin client.
Now we have introduced two terms thick client ; thin client.
Let us know explain these terms one by one.
Thick clients:
Thick clients are also known as rich client applications.
Thick/Rich client applications are the windows or more generally speaking desktop applications which we use more often.These were very popular in mid- nineties. Thick client applications take advantage of local hardware resources and features of the client operating systems.
Advantages of thick clients:
Thick client/ Rich client applications have following advantages:
a. High qulaity
b. Responsive user experience
c. Easy to maintain
d. Take full capabilities of local hardware resources.
e. Esay to develop.( Developer friendly ;) applications)
Disadvantages of thick clients:
a. Applications are stand-alone and operate on the client computer.
b. Integration between applications is limited .
c. At times features are limited to the features provided by .
d. Transfer of data between applications is very difficult.
e. These applications are very difficult to deploy and maintain.
f.One application can easily break another application if an incompatible shared component or library is deployed.Thi s is also known as application fragility.
g. New versions of the application are made available by redeploying the entire application, which can increase an application fragility problem.
Thin Clients:
Thin clients are browser-based applications . HTML and .NET and java Web applications can be called as thin clients. These applications are deployed and updated on a central Web server. These applications solve a lot of disadvantages of thick clients for example the interaction between different systems in network is very good, even the deployment and upgradation of these applications are relatively simpler and easy.
Advantages of thin clients:
a. Thin client model allows companies to expose their applications to a large and diverse external audience. Retail and banking sites can take advantages of these applications.
b. It is easier to deploy and maintain thin client applications.
Disadvantages of thin clients:
a. Thin applications are browser based . These applications must have a network connection at all times.
b.Usability of these applications are not that very good as these applications cannot take advantages of local operating systems.
c. Latency period of the application is quite high. That is the wait period of the application when the client requests for a data, server process the data and sends it back is quite high.
d. Donot support ocassionally connected applications.
Smart Client Applications
As discussed earlier, Smart client applications are designed to combine the benefits of a rich client application with the benefits of a thin client applications.
Advantages of smart client applications
a. Make use of local hardware resources
b. Make use of network resources
c. Easier for update installations
d. supports ocassionally supported clients.
e. We can develop smart windows application, smart office applications and mobile smart client applications.
Challenges of smart client applications
a. Creating the architecture of a smart client applications is very difficult.
b. Handling data in smart client applications is a real difficulty because in smart client application data resides both in the client and web server.
Following are various types of smart clent applications:
a. Windows smart client applications
b. Office smart client applications
c. Mobile smart client applications
Windows smart client applications:
Windows smart client application are suitable when we need an application that has to be deployed and accessed like a desktop-type application.
Windows smart client applications typically provide the msot of their functionality as a stand-alone application but when needed these applications can integrate themseleves with other applications when required. These applications provide functionality that can be tuned to particular tasks . These applications take the very advantage of rich UI of thick clients.
Windows smart client applications are most suitable for applications that run on desktop, laptop, or tablet PCs. These applications are not tightly associated with a particular document or
document type.
Office smart clients:
I have not worked much on office smart clients , so I maynot be able to explain office smart clients completly.
But briefly speaking , office smart clients are Microsoft office applications which can provide context-sensitive data as the user works ,these applications also provide workflow and task guidance, data analysis, collaboration, reporting etc. smart office applications are exposed by Web services and help transform data into useful information.
Mobile smart client applications:
Mobile smart client applications are used to provide stable connected and disconnected access to mobile users, laptop and tablet PC users. These are similar to Windows smart client applications with a small difference that these applications are developed in Micrsoft .NET compact framework.More or less these applications are similar to Windows smart client applications.

Conclusion:
At this age , mobile client users are increasing so smart clients are taking up the thick client applications , because using smart client it is easier to address these client who are connected/disconnected based on business use.

No comments:

Post a Comment