Tutorials
Client Server
Web Services and Client Server Technology
Balanced Computing and the Server’s Changing RoleThe Internet and expanded network connectivity established client-sever models as the preferred form of distributed computing. When talking about Client-Server models of networked communication using web services the broadest components of this paradigm become the web browser (functioning as the client) and web server. So by introducing web services into the equation, client/server models become browser/server models.
These models are Server-Centric, which make applications easy to load and install, but reduces rich user interaction. Server-Centric applications are currently available from standard browsers, making them convenient and popular with developers. Therefore, a way of enriching user experience is an essential frontier that must be developed for using browser/server models of distributed computing.
One of the revolutions of the personal computer was usability or the ease with which humans could communicate with and configure their computers. This usually occurred through individual configuration and the user interface (UI). Administratively, this was a nightmare because administrators had to install and maintain applications one machine at a time and manage multiple platforms. Individual installation and maintenance across platforms made web services seem like a good solution. Using HTML tools, developers moved toward giving applications global potential and a uniform protocol for management and deployment.
The evolving trend was for developers to create applications that run on the server side, while web browsers became, for all intents and purposes, the standard client interface. Client processing power atrophied as execution of programs took place on central servers and output or responses were transmitted back to the browser through standard IP (Internet Protocols). This improved installation, administration, and maintenance. However, to be intelligible to the wide-array of platforms being targeted, web developers had to write in the lowest common denominator or the most widely accepted standards. This affected user experience negatively, while ensuring that applications could be deployed to the most users.
Once the benefits of browser/server models were cemented into place vendors looked to improving user experience to give their products a competitive edge. After all, how many everyday users would buy applications that were pitched as easy for developers and administrators but cut into their user-friendliness?
Rich client applications were already part of personal computer systems. However, the focus on server-centered application meant that a lot of client-side processing power was going to waste. This article will discuss how balanced computing that takes advantage of both client (in this case, browser-as-client) and server capabilities and web services combine to improve user experience.
Web services and Client-Server technology made it possible for applications to integrate of separate components. These components might exist on separate machines, but they work together through network (Internet) communication. Applications using web services demonstrate the integration of components coming from multiple sources. This makes version management important. One of the benefits of having to focus on version management is to make developers aware of component dependencies and specific areas that require maintenance in each version. This allows developers to customize maintenance for application deployment. These distributed application components use universal formats provided by such programming languages as XML (Extensible Markup Language) and WSDL (Web Standard Description Language).
XML is the W3C standardized language that allows information and services to be written in a structurally and semantically intelligible way that both humans and machine on different platforms can understand. It can be customized with user or industry tags. WSDL uses an XML format to describe network services. These service are described as endpoints that use messages to transmit documents or procedure-oriented information. These operations and messages are abstract, but then they are attached to specific network protocols and message formats to enable communication. Distributed application components also use universal protocols like HTTP (Hypertext Transfer Protocol) and SOAP (Simple Object Access Protocol).
HTTP is the standard protocol for transmitting HTML files or documents. SOAP is a message-based protocol formatted in XML and using HTTP. It is a way for a program running in one operating system to communicate with a program running in another. For the purposes of this discussion, applications that take advantage of web services will be understood as ‘balanced computing model’ because these applications are designed to take the fullest advantage of both client and server capabilities in the most efficient way. This model of balanced computing improves traditional Client-Server model by not stressing one part of the system and ignoring the capabilities of other parts.
For example, traditional browser-server models were Server-Centric. They could handle user demands but did not take advantage of client-side processing that could predict user behavior. To predict the behavior from a diverse customer base requires headroom. Headroom is also known as the attenuation crosstalk ratio. It ensures the network connections are strong and that signals on the receiving end of a communication are strong enough to overcome any interference. This provides a consistent and customized user experience regardless of unpredictable behavior in the network.
Next Page: Balanced Computing and the Server’s Changing Role