DigitalScores Logo
       Featured article     
A Movable Workplace, Importance of Standards with Web Services

You don't have to look very hard to notice that internet services are transforming the business landscape. Communication technologies such as XML, SOAP, UDDI, WSDL, application technologies such as Java and Relational Databases, and good old reliable HTML for the display of information on any device having a Web Browser, collectively enable separate systems from different companies to become linked together and act as much as possible like a single system.

It is clear that web services can improve communications, automate processes, and have a very positive impact if designed and developed suitably. Consider, as an example, that 20% of your business costs go towards employees that are repeating some task each day that includes sending emails to each other and interpreting incoming faxes. A well developed online software system could cut their time by 50% owing to a number of factors including consistency of format resulting in fewer questions being asked, higher readability of digital information versus hand written information, reduced misplacement of the paper information and enormous time can be saved by automating email responses where appropriate. A 50% reduction of 20% of your business costs would either reduce the company's total costs by 10% or allow the freed up staff to assist with or expand other areas of the business. And there are some intangible gains when customers are involved. If your customers have the option of using your web services, whether for online retail or online administrative functions, then they will have a better experience using your service and so you retain more customers and consequently increase sales. So there is both the cost cutting and revenue increasing benifit to moving more of your business functions online.

Web Services are not cheap to have developed and must be designed with a developer that can listen and understand how your business works, and someone who knows how to control the long-term costs by making well-informed software design choices. The business advantages can then vastly outshine the initial cost.

Companies are advised to adopt, wherever possible, a Web based software infrastructure rather than a software infrastructure that uses proprietary methods for dealing with and displaying information. Developers hear a lot of hype about XML, the advantages of Internet distributed computing, and whether or not Linux is more reliable than Windows XP, however the big picture in architecture for your web services strategy is straight forward: It should be browser centric and it should be future-proof.

Indeed, making sure your software application can be accessed through a Web browser should be considered as an absolute requirement. The prevailing standards behind the success of the Internet are nothing more than (1) HTML, (2) 'HTTP Request/Response' (or 'form posting') and (3) email. Computers, small PDA devices and mobile phones should access the same information and be able to send information across this HTML/HTTP architecture, and the HTTP Request/Response is one of the precious few things that we can call a truly industry-stable standard.

The standards associated with the modern computer networks have the rationale that there are many different computer systems in place around the world and one should concentrate on standardizing the input/output of the hardware. This approach ignores the actual (executable) software and only cares about the input/output.

The standardization of system communication was taken lot further by Sun Microsystems when they attempted to standardize the rules of the actual executing software. The objective here was to allow the same application code, the development of which is where the bulk of the IT industry's funds are spent, to be shared across different hardware. They achieved this by designing a machine hardware specification, the 'Java computer', that is essentially an extra software layer that can be added to any sort of computer hardware. The programmer then writes their application in the same way without any consideration as to which hardware it will be deployed on, and for the first time one feels reasonably confident that in 2, 5 or even 20 years time the application is probably still going to run.

When you build a house you expect the walls to remain there for many decades rather than a few years, but we have become so accustomed to software always going out of date that most hardly expect some code written today to be worth more than junk one decade later, despite software construction frequently costing more than house construction. Fortunately this perception is changing as modern computer languages, with Java arguably the most successful, involve the programmer writing for a "virtual machine" which in theory never goes out of date; the entire industry is obliged to make sure that this virtual machine is supported over whatever physical hardware systems come up in the future.

Key points

Web services can increase your sales and reduce your costs. One goal of an effective web service is to automate the business processes to reduce costs for tasks you are already doing each day, such as eliminating the need to send and receive faxes or automate the sending and interpretation of emails. Another common function is to gain revenue by retaining a larger proportion of customers and gaining new customers. This is acheived by offering more convenient retail services (eg. online shopping not requiring that you move from your seat and credit card processing preventing you from waiting in a queue) and more streamlined administrative services (eg. real-time responses can save time and staff will fill in standard-format forms faster than interpreting information in multiple formats).

Web services really means software development that revolves around the browser. The most reliable standard for sending and receiving information is still HTTP form requests and responses while the most reliable standard for displaying information is still HTML. A browser centric solution allows you to be flexible with the bulk of your hardware (your client-side hardware) by allowing any device to send and receive information with the web service through the web browser. A browser acts as your window to the server application that everyone else can interact with regardless of the device their browser is running on.

Try to understand how to minimize the long-term cost of your web service. In the ordinary competitive environment where everyone is trying to sell something, you should ideally be able to distinguish or work with a developer who can distinguish real standards from merely marketed standards. There is some guesswork involved, but that is not an excuse to be complacent. Use programming software where the underlying architecture is abstract rather than physical so that you can better survive the unpredictable changes in hardware and operating systems that will occur over the long-term. If you are putting your web services development in the hands of another company then ask about how the software will need to be transformed over the long-term and whether this path will truly preserve long-term value.

Julian Cochran

return to all features