How do you define Web services – in the context of service-oriented architectures, for example?
Leymann: A service represents functionality with business significance that is always available. The actual service being used makes no difference to users. Users see all available services as a single service. When users turn to the infrastructure for a service, the infrastructure decides which service it calls. This approach – service-oriented computing – assumes that the platforms, application servers, and operating systems in use are interoperable, as defined in Web Service Standards (WSS). This standard enables communication between user and Web service over a programming interface like Java Message Service or by calling an application server. That’s why I define a Web service as a service that is implemented inside a WSS-compliant infrastructure. Web services don’t necessarily have anything to do with the Web. Accordingly, a service-oriented architecture (SOA) is a paradigm for the implementation of service-oriented computing.
What’s really new about Web services?
Leymann: Truly new things often result from the combined effects of several familiar designs. The novelty of Web-service technology is the new options that result from general availability of the services. Even the fact that practically all manufacturers support service-oriented computing and Web services is new. That means that a process-oriented view has recently become common property. For example, research is exploring new ways to combine familiar services with BPEL, the modeling language for business processes.
Do users notice the move to a service Web?
Leymann: Users notice hardly anything. They access existing services, but those are now Web services, such as search engine functions or access to specific information. Technologies that are now being offered or developed as Web 2.0 will strengthen this trend in the future.
What was the most important breakthrough for Web services?
Leymann: Only Web services have truly implemented a process orientation in the industry. Component-oriented software development has been discussed for some time, but such components have now become a reality in the form of Web services and can be easily combined with BPEL. Web service technology has also simplified the outsourcing of IT services. That trend is primarily noticeable in the selection of transport protocols, the format for the serialization of the messages that were exchanged, and the safeguarding and robustness of message exchange.
What are semantic Web services?
Leymann: They are Web services whose functionality is described in the terminology environment of the user. Right now, a Web service is defined only technically – as the set of its operations along with the input and output data. For example, “OrderService” offers the “DeterminePrice” operation, requests the entry of an “ItemNumber” and outputs the price. But without understanding English, it’s impossible to know what a given service actually does. And it’s also unclear if the price includes value-added tax and, if so, the tax applicable in which country, that of the person ordering the item or that of the manufacturer. Semantic Web services deliver all this information in descriptions that computers can read. The Web service infrastructure uses the information to find the required implementation of a service for each user. The beneficiaries include the end users and the developers that need the service to develop a specific application.
What influence do Web services have on a company’s IT organization?
Leymann: Just like a utility offers electricity, natural gas, or water for use at all times, external service providers make Web services available at all times. That implies that a company can outsource part of its IT needs, such as e-mail, document storage, or even entire business processes, to an external service provider. WSS ensures that the company can change its outsourcing service provider more easily.
. . . and on the business processes?
Leymann: The standardization of Web services includes a standard for modeling business processes, which all important manufacturers support. The related modeling language, BPEL, enables the exchange of process models between modeling tools and executing the models in a runtime environment. Many attempts have been made to accomplish something similar since the beginning of the 1990s, but without success. A breakthrough here occurred only with the appearance of Web service technology.
How exactly can parts of business processes be outsourced?
Leymann: Web service technology makes Web services out of business processes. The Web services can be outsourced. For partial outsourcing, the fragment in question must be extracted from the original business process, replaced with a placeholder, and then operated by a service provider. This step occurs independent of Web service technologies, but Web services help the placeholder and the fragment communicate with each other over a variety of platforms. The encrypted communications, secure transactions, and message transmission are standardized and are therefore more reliable.
How can Web services and grid computing be meaningfully combined?
Leymann: Both have a certain similarity. The application functionality in SOA looks like a single service to users, even when several Web services realize the functionality. In the same way, computing in a network of several thousand computers, grid computing, offers a pool of hardware resources like disks or CPUs that looks like a single large resource when viewed from the outside. Users perceive a complete IT solution that consists of application functionality, hardware, and infrastructure as a unit. Such a solution can be described in Web services, made accessible with Web service technology, and, if necessary, operated by an external service provider. For example, users can request the availability of a specific application around the clock from the infrastructure for a specific number of users. From that information, the infrastructure can determine how many computers and how much memory are required and reserve the hardware in the grid. The provisioning engine then installs the application along with the required operating system, database, and so on. Companies can therefore proceed with greater differentiation when outsourcing IT systems. The IT system needed to execute the average load of an application can be maintained in the company itself, but the system needed for peak loads can be outsourced.
What do you understand by autonomic computing in the context of Web services?
Leymann: The vision of autonomic computing is for IT to regulate itself much like a living organism. That means that IT adjusts itself independently to new environmental conditions – much as body functions like pulse, respiration, and perspiration increase with effort. Similarly, the IT infrastructure recognizes when the response time of an application has increased, perhaps because of a high number of users, and automatically uses additional hardware or installs additional applications. It thus distributes the load caused by additional users and reduces the response time. If fewer users log on, the application is uninstalled and the hardware that is no longer required is released. Web services technologies ensure that users can access applications without knowing anything about the actual infrastructure. If additional infrastructure is needed, it can be ordered from a service provider.
Do Web services also support the industrialization of application development?
Leymann: Yes. They make the production of applications more efficient and less expensive. Developers simply need to search within existing Web services to find one that meets their needs – they do not have to develop one from scratch. The process orientation forced by Web service technology means that user departments can handle the lion’s share of application development, without having to involve the IT department.
Where do you see Web services in 10 years?
Leymann: They will be as common as e-mail or a browser.