Welcome!

Microservices Expo Authors: Elizabeth White, Derek Weeks, Mehdi Daoudi, Don MacVittie, John Katrick

Related Topics: Microservices Expo

Microservices Expo: Article

Get Smart

Get Smart

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.

More Stories By Kevin Hakman

Kevin Hakman is Director of Evangelism for Aptana, Inc., makers of the popular Aptana Studio web development suite. As early as 2001 Kevin was pioneering AJAX web applications via General Interface, a full AJAX development and GUI toolkit which he co-founded, and later sold to TIBCO Software in 2004. Kevin is a contributor to AJAXWorld Magazine, and has spoken at numerous AJAX industry events.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@MicroservicesExpo Stories
"I focus on what we are calling CAST Highlight, which is our SaaS application portfolio analysis tool. It is an extremely lightweight tool that can integrate with pretty much any build process right now," explained Andrew Siegmund, Application Migration Specialist for CAST, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Admiral Calcote - also known as Lee Calcote (@lcalcote) or the Ginger Geek to his friends - gave a presentation entitled Characterizing and Contrasting Container Orchestrators at the 2016 All Day DevOps conference. Okay, he isn't really an admiral - nor does anyone call him that - but he used the title admiral to describe what container orchestrators do, relating it to an admiral directing a fleet of container ships. You could also say that they are like the conductor of an orchestra, directing...
The past few years have seen a huge increase in the amount of critical IT services that companies outsource to SaaS/IaaS/PaaS providers, be it security, storage, monitoring, or operations. Of course, along with any outsourcing to a service provider comes a Service Level Agreement (SLA) to ensure that the vendor is held financially responsible for any lapses in their service which affect the customer’s end users, and ultimately, their bottom line. SLAs can be very tricky to manage for a number ...
Our work, both with clients and with tools, has lead us to wonder how it is that organizations are handling compliance issues in the cloud. The big cloud vendors offer compliance for their infrastructure, but the shared responsibility model requires that you take certain steps to meet compliance requirements. Which lead us to start poking around a little more. We wanted to get a picture of what was available, and how it was being used. There is a lot of fluidity in this space, as in all things c...
Gaining visibility in today’s sprawling cloud infrastructure is complex and laborious, involving drilling down into tools offered by various cloud services providers. Enterprise IT organizations need smarter and effective tools at their disposal in order to address this pertinent problem. Gaining a 360 - degree view of the cloud costs requires collection and analysis of the cost data across all cloud infrastructures used inside an enterprise.
Some people are directors, managers, and administrators. Others are disrupters. Eddie Webb (@edwardawebb) is an IT Disrupter for Software Development Platforms at Liberty Mutual and was a presenter at the 2016 All Day DevOps conference. His talk, Organically DevOps: Building Quality and Security into the Software Supply Chain at Liberty Mutual, looked at Liberty Mutual's transformation to Continuous Integration, Continuous Delivery, and DevOps. For a large, heavily regulated industry, this task...
DevOps promotes continuous improvement through a culture of collaboration. But in real terms, how do you: Integrate activities across diverse teams and services? Make objective decisions with system-wide visibility? Use feedback loops to enable learning and improvement? With technology insights and real-world examples, in his general session at @DevOpsSummit, at 21st Cloud Expo, Andi Mann, Chief Technology Advocate at Splunk, explored how leading organizations use data-driven DevOps to clos...
The goal of Microservices is to improve software delivery speed and increase system safety as scale increases. Microservices being modular these are faster to change and enables an evolutionary architecture where systems can change, as the business needs change. Microservices can scale elastically and by being service oriented can enable APIs natively. Microservices also reduce implementation and release cycle time and enables continuous delivery. This paper provides a logical overview of the Mi...
The notion of improving operational efficiency is conspicuously absent from the healthcare debate - neither Obamacare nor the newly proposed GOP plan discusses the impact that a step-function improvement in efficiency could have on access to healthcare (through more capacity), quality of healthcare services (through reduced wait times for patients) or cost (through better utilization of scarce, expensive assets).
Gone are the days when application development was the daunting task of the highly skilled developers backed with strong IT skills, low code application development has democratized app development and empowered a new generation of citizen developers. There was a time when app development was in the domain of people with complex coding and technical skills. We called these people by various names like programmers, coders, techies, and they usually worked in a world oblivious of the everyday pri...
The “Digital Era” is forcing us to engage with new methods to build, operate and maintain applications. This transformation also implies an evolution to more and more intelligent applications to better engage with the customers, while creating significant market differentiators. In both cases, the cloud has become a key enabler to embrace this digital revolution. So, moving to the cloud is no longer the question; the new questions are HOW and WHEN. To make this equation even more complex, most ...
Some journey to cloud on a mission, others, a deadline. Change management is useful when migrating to public, private or hybrid cloud environments in either case. For most, stakeholder engagement peaks during the planning and post migration phases of a project. Legacy engagements are fairly direct: projects follow a linear progression of activities (the “waterfall” approach) – change managers and application coders work from the same functional and technical requirements. Enablement and develo...
The past few years have brought a sea change in the way applications are architected, developed, and consumed—increasing both the complexity of testing and the business impact of software failures. How can software testing professionals keep pace with modern application delivery, given the trends that impact both architectures (cloud, microservices, and APIs) and processes (DevOps, agile, and continuous delivery)? This is where continuous testing comes in. D
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...
The dynamic nature of the cloud means that change is a constant when it comes to modern cloud-based infrastructure. Delivering modern applications to end users, therefore, is a constantly shifting challenge. Delivery automation helps IT Ops teams ensure that apps are providing an optimal end user experience over hybrid-cloud and multi-cloud environments, no matter what the current state of the infrastructure is. To employ a delivery automation strategy that reflects your business rules, making r...
SYS-CON Events announced today that Synametrics Technologies will exhibit at SYS-CON's 22nd International Cloud Expo®, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Synametrics Technologies is a privately held company based in Plainsboro, New Jersey that has been providing solutions for the developer community since 1997. Based on the success of its initial product offerings such as WinSQL, Xeams, SynaMan and Syncrify, Synametrics continues to create and hone in...
Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. Kubernetes was originally built by Google, leveraging years of experience with managing container workloads, and is now a Cloud Native Compute Foundation (CNCF) project. Kubernetes has been widely adopted by the community, supported on all major public and private cloud providers, and is gaining rapid adoption in enterprises. However, Kubernetes may seem intimidating and complex ...
You know you need the cloud, but you’re hesitant to simply dump everything at Amazon since you know that not all workloads are suitable for cloud. You know that you want the kind of ease of use and scalability that you get with public cloud, but your applications are architected in a way that makes the public cloud a non-starter. You’re looking at private cloud solutions based on hyperconverged infrastructure, but you’re concerned with the limits inherent in those technologies.
For DevOps teams, the concepts behind service-oriented architecture (SOA) are nothing new. A style of software design initially made popular in the 1990s, SOA was an alternative to a monolithic application; essentially a collection of coarse-grained components that communicated with each other. Communication would involve either simple data passing or two or more services coordinating some activity. SOA served as a valid approach to solving many architectural problems faced by businesses, as app...
Many IT organizations have come to learn that leveraging cloud infrastructure is not just unavoidable, it’s one of the most effective paths for IT organizations to become more responsive to business needs. Yet with the cloud comes new challenges, including minimizing downtime, decreasing the cost of operations, and preventing employee burnout to name a few. As companies migrate their processes and procedures to their new reality of a cloud-based infrastructure, an incident management solution...