So what are these Web services?
A Web service is a business function a company makes available online to customers or partners via an 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 different functions or information anywhere in the world.
Web services are based on an open XML standard, so if an 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 a business--almost irrelevant. Services break down proprietary boundaries because the SOAP standard provides a single mechanism for accessing data.
Finally, Web services break down organizational boundaries, providing new ways of exposing opportunities to empower a businessperson to build applications--without being at the mercy of an understaffed and overworked information-technology department.
Obstacles to adoption
Unfortunately, despite all the benefits of Web services, a number of problems hinder its widespread adoption. The most important of these is reliability.
The Web still is notoriously unreliable, and applications that rely on several Web services are susceptible to the failure of any one service. Worse, when Web services are provided by external businesses, the customer has no control over server load or general reliability.
A second challenge is the lack of standardization surrounding subscription and authentication for Web services. Customers need to specially implement each Web service call to support different service providers' methods of authentication.
A third challenge with Web services is a chicken-and-egg problem. Because Web services are not standalone business tools, 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 exists.
Fortunately, the barriers to adoption of Web services discussed above primarily apply to commercial Web services. For example, because a company 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. In addition, a Web service called from inside a company 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 corporate project, so the chicken-and-egg problem doesn't apply.
Inside the enterprise
So why use Web services? Simply put, they provide a streamlined and powerful way of making processes and data assets accessible and reusable throughout a company. 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, potentially remote locations.
Similarly, new functionality can be explored using standard SOAP interfaces to make services available across a company. The standards that surround Web services allow companies to use 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, businesspeople 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 Web service building blocks, the group frees itself from being the bottleneck of application development. Of the people closest to business problems and who best understand the process--business analysts, product managers, service line managers, and so on--three-fourths 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.
Although the foundations of Web services for consumers are still being set, the promise of Web services for business can be realized today. Corporate Web services make it possible to create applications that connect data that could never be connected before. They 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 business.