Smarter client technology is bringing a new class of Web service-powered
applications to the desktop. Case in point: PhotoWorks Inc. is
leveraging a common Web services infrastructure to power multiple
sales channels.
To date, standardizing and streamlining systems interoperability has
been the central objective of Web services. And while the benefits of
system-to-system interoperability are key to driving Web services
adoption, a complementary trend in the advancement of client
technology is enabling enterprises to bring a new class of
applications to their customers, partners, and employees.
One of the central reasons enterprise IT shifted to the Web was the
significant cost advantages of delivering applications through a
browser versus the high costs of developing, distributing, and
maintaining incumbent client/server software. For enterprises, it was
easy to understand that by reducing the costs of delivering an
application to almost zero, the Web offered IT a way to get more done
in less time and with smaller budgets. However, many enterprises did
not realize that as they were gaining the benefits of low-cost
distribution, they were taking a hit on productivity. Forrester
Research's December 2002 survey of Fortune 1000 IT executives
revealed that "73% prefer to deliver applications in a browser." Yet
at the same time, "the majority cited poor productivity and
usability" as a key pain that resulted from the shift to
browser-based software. Users were frustrated by the limited
functionality of each page and the "click-wait-refresh" pacing. The
intuitive ease-of-use of the desktop applications to which they were
accustomed was jettisoned in the rush to the cost savings promised by
switching to Web applications. While IT productivity improved, it was
at the expense of user productivity. According to AMR, call centers
that shifted to browser-based solutions with the intent of lowering
their total cost of ownership (TCO) saw call handle times
significantly increase, which had a greater impact on the bottom
line. It's easy to
see that when compared to the rich interface, speed, and performance
of client/server applications, delivering performance through HTML
pages just doesn't come close. The key problem has been that
enterprises have had to make a tough choice: go with the high
productivity, high performance, and high cost of traditional client/
server software, or choose the low-cost, slower performance and lower
productivity of pseudo-software HTML pages. In a world of declining
resources and budget, the near-term savings often won.
Changing the balance of this equation have been advancements over the
past few years in Web services, which, when paired with "smart
clients," (a.k.a "rich clients," or "X-Internet clients") eliminate
the tradeoff between simple browser-based applications and
full-featured client-server software. Smart client technologies
deliver the high productivity features of client/server software at
the lower TCO offered by Web-delivered applications by combining
Internet delivery of just-in-time application code with the
computational power of the workstation CPU. Various companies have
followed differing technical strategies toward this objective.
Technical approaches similar to those offered by Droplets focus on
pumping up the browser's capabilities by asking the user to add
plug-ins or extra Java runtimes and components. Approaches like that
of Curl seek to supplant the browser altogether by providing an
alternative client to install and a special server to communicate
with that client. Companies such as Versalent have sought to better
utilize the technologies that already exist within the browser to
eliminate the need for extra software installation and leverage
capabilities the browser does well, such as security, and communicate
directly with any number of Web servers, XML data sources, or Web
services.
Web service implementations today face the same constraints that
end-user applications have faced historically: the two options remain
either lower-productivity Web pages or high-cost installed software
clients. A simple analogy makes this problem clear. Web services
have often been described as independent stereo system components
working together to deliver great sound processing on behalf of the
listener. It was the invention of the RCA jack that provided
universal interoperability among stereo components that previously
had proprietary interfaces. SOAP essentially is to Web services what
the RCA jack was to stereo components. But there is the problem of
getting the sound these nicely connected components produce to the
user. Imagine only having the option to listen through either a
low-fidelity gramophone or a set of expensive high-performance
speakers. So that enterprises can garner the most value from Web
service implementations, new client technology is needed that is
aligned with the fundamental benefits of Web services.
Why are Web services and smart clients a perfect pair? Web services
can deliver structured data that is independent and agnostic of how
(or if) that data ever gets presented to an end user. This makes for
the best use of server resources and lets the service interoperate
with the maximum possible number of other systems. At the same time,
smart clients leverage the computational power of the workstation CPU
and in most cases reduce or even eliminate the need to generate HTML
on the server, delivering instead the full feature functionality of a
thick client by simply communicating via messages and data transfers
between the client and the server. This architecture delivers the
best performance for the enterprise by making the most of client,
bandwidth, and server resources.
The Right Tool for the Right Job
This is not to say that smart clients are always the right tools for
the job. HTML page applications and thick clients alike will not soon
be extinct by any measure. Instead. the universal "it depends" maxim
certainly applies when selecting the client technology that's best
for a given need. As Figure 1 (adapted from a 2002 Jupiter Research
report) shows, HTML frequently suffices, but for more sophisticated
applications, "client-side logic and software-like models become more
appropriate".
Case in Point: PhotoWorks Inc.
PhotoWorks Inc., a leading innovator of high-quality photofinishing
services for more than 24 years, provides a great case study as they
are implementing three classes of client applications, powered by Web
service infrastructure.
The Web site, www.photoworks.com, is the company's main e-commerce
site. The site is delivered by a number of servers running ASP.NET
processes that communicate with the underlying layer of .NET Web
services, then in turn generate the HTML pages that get sent to the
user's browser. For the purposes for which the site is intended, the
solution delivers a good experience for the end user.
In addition, PhotoWorks offers its users free desktop photo editing
and management software. Users can wait for the custom C++
application to download and install, then get access to its rich
features. Of course upgrades to the software must be downloaded and
installed again and PhotoWorks must concurrently maintain back-end
systems that will work with all the various versions of installed
software that have been downloaded by users.
In late August 2003, PhotoWorks will launch a print wizard for
Windows XP users. Using the online print function of the My Pictures
feature on Windows XP-based computers, the print wizard will make it
easy for consumers to order real, professional-quality prints on
Kodak paper from PhotoWorks - directly from their computers. This
service will be available as a free download from the PhotoWorks Web
site in August and on some PCs in the Fall.What's unique is that the
software, powered by Versalent's smart client technology, looks,
feels, and performs as if it were preinstalled, but in reality the
software code arrives over the Internet in a matter of seconds.
What's more, the Versalent technology that simply uses the
pre-existing capabilities of a standard Web browser enables the
client application to talk directly with the Web services layer,
eliminating the need for any intermediary servers. The result is a
premium, powerful, and easy-to-use service from PhotoWorks that
outperforms their competitors' offerings (see Figure 3).
Compared to the traditional alternative of building and maintaining
three front ends and three back ends, PhotoWorks maximizes the return
on its Web services investment,
distributing those costs across channels. Of interest here is that
different client technologies were used for different objectives, and
each client technology carries with it a substantially different
total cost of development and ownership.
CONCLUSION
Web services don't need to be relegated to the system integration and
messaging tiers. Smarter, richer client technology that leverages the
power of the Internet for instant distribution of code provides a
means to deliver superior functionality to the end user desktop at
costs that make the technology a great way to get more from
investments in service-oriented architectures.
Author Bio
Kevin Hakman is the cofounder of Versalent Inc., a leading provider of enterprise client technology. Prior to Versalent, he founded a series of successful emerging Internet
technology and ecommerce ventures. Kevin has also written for various business publications.
khakman@versalent.com
All Rights Reserved
Copyright © 2004 SYS-CON Media, Inc.
E-mail:
info@sys-con.com