|
|
|
|
|
|
Value of AJAX
|
|
|
|
Value of AJAX.
The changing face of Web applications The World Wide Web was originally envisioned as a way to easily
communicate unstructured information and to provide users with a simple way to navigate between pages of that information
using a Web browser. HTML (Hypertext Markup Language) was designed to easily create and format those pages, and it's handled
that mission pretty well since the Web began to take off in the mid 1990's. We've all grown accustomed to HTML's "page-at-a-time"
design: Click on a link, your browser screen clears, and an entirely new page is sent to replace it. Those of you who grew
up with slow speed dialup links probably remember (not fondly!) how your browser screen turned white, followed by a long delay
while the next page was downloaded and displayed. Maybe not real elegant, but hey, it was simple and it got the job done for
the 'informational' websites of the day.
The Web wasn't ever as functional or useful as client software, and AJAX just knocks that ball out of the
park." Seth Sternberg, co-founder of Meebo.com (News.com) Now fast-forward about ten years: Internet usage is pervasive,
broadband links have become common, and we're using the Web not only to deliver information but as the de facto way of handling
business transactions. We still refer to "Websites", but "Web applications" have joined that older term. Whether our applications
are internal or customer-facing, we all love the idea of delivering them anywhere in the world without distributing or installing
client-side software. But we hate giving up the usability, speed, power, and flexibility users have come to expect with traditional
"fat client" applications. And that's where the huge limitations of traditional HTML are painfully apparent to businesses
as well as to your customers. Users quickly become frustrated, to the point that they simply give up and walk away. Online
shopping cart abandonment rates over 80% are common, as are unfinished financial applications and uncompleted transactions.
At the risk of more jargon, users miss the usability that's easy to achieve with 'event-driven' programs-a paradigm that just
can't duplicated with HTML.
"Until Google put this technology out there, no one was really thinking of Web pages as applications" -
Francis Shanahan, Sapient Corp. (SAPE) Software Architect Rich Internet Applications (known as RIAs) are changing all
that. Put simply, RIAs give us the best of both worlds: they deliver the usability of traditional applications, but over a
standard Web browser on the internet. For lots of good reasons, what's now called 'AJAX' (Asynchronous Java and XML) is by
far the most popular approach for creating RIAs. There are also proprietary tools like Adobe's Flash that use different technologies
to accomplish similar results.
|
|
The software industry is experiencing huge change from typical desktop or web application to application service
provider based on Web service and AJAX. We hope to be able to handle all of your existing application transfering
needs.
A Smart Client is an application that uses local processing, consumes XML Web Services and can be deployed and updated
from a centralized server. While the .NET Framework (Windows Forms) and the .NET Compact Framework provide the ability to
develop Smart Clients with ease, other technologies can provide smart client applications by utilizing the same architecture.
Smart Client is the concept of architecting your application solution into a smart, flexible and convenient platform that
utilizes web services for communication.
Why do we need a Smart Client?
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 Client
The Thin clients or the Web application provided features like –
- Easy to Update – Single location update
- Easy to deploy – Single location Update
- Easy to manage.
If it had the above features then it also had the following issues –
- Network dependency – are usually Network based
- Poor user experience – mainly emit HTML
- Complex to develop.
The Thick Client
The Thick clients or the Rich client or Desktop Applications or Client/Server application provided features like –
- Rich User experience – by means of better user interface
- Offline capabilities – Need not be connected on a Network
- High Developer Productivity
- Responsive & Flexible
The Thick did provide the above feature but on the other hand they also had the following issues –
- Tough to Update – Each location needs modifications
- Tough to Deploy – Deployment had to be done at multiple location
- “DLL Hell”
A Smart Client
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.
Smart Client Features
A smart client would have the following characteristics:
- Local Resource Utilization - A smart client application always has code artifacts on the client that enable local resources
to be utilized. What do we mean by local resources? We mean everything from hardware to software resources. A smart client
may take advantage of the local CPU, local memory or disk, or any local devices connected to the client, such as a telephone,
bar-code/RFID reader, and so on. But it may also take advantage of local software, such as Microsoft Office applications,
or any installed line-of-business (LOB) applications that interact with it.
- Connected - Smart client applications are never standalone and always form part of a larger distributed solution. This
could mean that the application interacts with a number of Web services that provide access to data or an LOB application.
Very often, the application has access to specific services that help maintain the application and provide deployment and
update services.
- Offline Capable - Because they are running on the local machine, one of the key benefits that smart client applications
offer is that they can be made to work even when the user is not connected. For applications running in occasional or intermittent
connectivity situations, such as those used by traveling workers or even those running on laptops, tablets, PDA's, and so
on, where connectivity cannot be guaranteed at all times, being able to work while disconnected is essential. Even when the
client is connected, the smart client application can improve performance and usability by caching data and managing the connection
in an intelligent way.
- Intelligent Install and Update - Smart client applications manage their deployment and update in a much more intelligent
way than traditional rich client applications. The .NET framework enables application artifacts to be deployed using a variety
of techniques, including simple file copy or download over HTTP. Applications can be updated while running and can be deployed
on demand by clicking on a URL. The Microsoft(r) .NET Framework provides a powerful security mechanism that guarantees the
integrity of the application and its related assemblies. Assemblies
can be given limited permissions in order to restrict their functionality in semi-trusted scenarios.
- Client Device Flexibility - The .NET Framework together with the .NET Compact Framework provides a common platform upon
which smart client applications can be built. Often, there will be multiple versions of the smart client application, each
targeting a specific device type and taking advantage of the devices unique features and providing functionality appropriate
to its usage.
Let us look at one of the very important features of Smart clients – Intelligent Install and Update.
Intelligent Install and Update (Easy Deployment)
Smart client applications manage their deployment and update in a much more intelligent way than traditional rich client
applications.
Components
A Smart client application will have two components
- A very thin client application to be installed locally
- The actual application hosted on a Web Server build using Strong named assemblies
Process involved
When the user opens a Smart client Application –
- The User opens the Application.
- The application references a assembly hosted on a Web Server
- The .NET Framework checks if the previously downloaded assembly is the latest one.
- If not downloads the latest version from the server, loads the assembly locally and launches the application.
Advantages
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.
|
|
|