So, what are these Web services that are causing such a buzz?
* A Web service is a business function that a company makes available to its customers or partners over the Internet via a new standard XML-based interface called SOAP. From a practical point of view, this means:
* Web services are functions, so they don’t define or present a visual interface to the caller.
Web services are available across the Web, so an application can access functionality and information anywhere in the enterprise or the world.
* Web services are based on an open XML standard, so if a programmer or application can access one Web service, it can probably access any Web service. * Web services break down geographical boundaries because the Internet makes the location of a service, whether inside or outside of the enterprise, almost irrelevant. They break down proprietary boundaries because the SOAP standard provides a single mechanism for accessing data and functionality.
Finally, they break down organizational boundaries because they provide a new way of exposing business assets that uniquely empowers the business user to build applications without being at the mercy of understaffed and overworked IT departments. Unfortunately, in spite of all of the benefits of Web services, a number of impediments hinder their widespread adoption. The most important of these is reliability.
The Web remains notoriously unreliable, and applications that rely on several Web services are susceptible to the failure of any one of them. Worse, when external vendors are the Web service source, the consuming company has no control over the server load or reliability.
A second challenge is the current lack of standardization surrounding subscription and authentication. Consumers of Web services need to specially implement each Web service call to support those disparate vendors' authentication approaches.
A third challenge with Web services is a classic chicken-and-egg problem. Because Web services are not stand-alone business solutions, they’re of no value without applications that use them. On the other hand, applications that rely on specific Web services will not be created until a critical mass of Web services exist.
Fortunately, the barriers to adoption of Web services discussed above primarily apply to commercial Web services. For example, because an enterprise can prepare for the load on a Web service if it controls the applications that call it, the reliability issues discussed above can be minimized. Also, a Web service called from inside the enterprise doesn’t need an infrastructure for subscription and authentication, so the absence of widely accepted standards is irrelevant. Finally, Web services and the applications that use them can be created as part of a single enterprise project, so the chicken and egg problem doesn’t apply.
Inside the enterprise So why use Web services inside the enterprise? The answer is that they provide a simple and powerful way of making processes and data assets of a business accessible and reusable throughout that enterprise. Because disconnected proprietary systems can be accessed through standard Web service interfaces, it becomes possible to easily create applications that bring together data from multiple, possibly remote locations. Similarly, new functionality can be exposed using standard SOAP interfaces to make it available across the enterprise. The standards that surround Web services allow companies to leverage the power of reuse like never before.
Web services have the potential to fundamentally change the way software development gets done. Because Web service interfaces are high-level and business-relevant, business people can do much of the work of assembling them into applications. Web services are combined and orchestrated into business services that can dramatically accelerate business to e-business transformation.
Once IT has created a critical mass of these Web service building blocks, it frees itself from being the bottleneck of application development. The people closest to business problems and who best understand the process -- business analysts, product managers, service line manager, etc. ¾ are empowered to assemble online business service solutions from these building blocks. When business conditions change, the responsible business professional can adapt the application to new circumstances quickly and easily, without having to wait for IT to schedule and implement the changes.
While the foundations of Web services for end-consumers are still being laid, the promise of Web services for business can be realized today. Enterprise Web services make it possible to create applications that connect data that could never be connected before. By encapsulating business relevant functionality, enterprise Web services make it possible to rapidly create and modify time-sensitive applications that could never have been created through a traditional IT development model. In short, Web services provide the first widely accepted, standards-based framework for the new, agile enterprise.
Tom Clement is the director of emerging Technologies at Avinon, Inc., a software company based in San Francisco.