Binding a Web Service Implementation

Chapter 8 • Web Services 287 generate the stub and skeleton proxies, respectively. These proxies interact with the SOAP-based middleware. WSDL code generator tools one of which is reviewed in Section 8.5 below allow automatic generation of Web services, automatic generation of WSDL documents, and invocation of Web services.

8.3.5 Non-functional Descriptions and Beyond WSDL

WDSL only describes functional characteristics of a particular Web service how to invoke it. But this is only part of the picture and will be sufficient only for standalone Web services that will be used individually. In some cases, non-functional characteristics such as performance, security, reliability may be important, as well. In a general case, the service consumer needs to know: • How to invoke the service? supported by WSDL, described above • What are the characteristics of the service? not supported by WSDL - Is a service more secure than the others are? - Does a particular provider guarantee a faster response or a more scalable and reliableavailable service? - If there is a fee for the service, how does billing and payment processing work? Service requestor Service provider WSDL document of service provider Application object client SOAP-based middleware Stub Application object Web service SOAP-based middleware Skeleton 1 3 2 WSDL compiler client side WSDL compiler server side WSDL generator Figure 8-16: From a Programming Interface to WSDL and back to the Program: Step n: generate WSDL documents from interface classes or APIs. Step o: generate server-side stub from the WSDL document. Step p: generate client-side stub from the WSDL document. Ivan Marsic • Rutgers University 288 • In what order should related Web services and their operations be invoked? not supported by WSDL - How can services be composed to create a macro service often referred to as service orchestration? The diagram in Figure 8-17 lists the different aspects of Web service description. WSDL focuses on describing individual Web services, and interface and implementation descriptions are the central elements of describing individual services. Policy and presentation are two concepts that are not in the scope of the core WSDL specification since more standardization work needs to be done here. When considering service relationships, or service interactions, programmatic approaches composition vs. configuration-oriented agreements orchestration have to be distinguished. Orchestration is a synonym for choreography. An emerging specification is the Business Process Execution Language for Web Services BPEL4WS. Figure 8-17 lists also service and business level agreements, both not yet defined in detail. Some Web services are so simple that they do not need the complete description as shown in Figure 8-17. A service consumer invoking a standalone service is probably not interested in how the service is orchestrated with other services. Sometimes the consumer does not care about non- functional characteristics, such as performance or reliability. In addition, non-functional characteristics may be irrelevant if only one provider exists for a service.

8.4 UDDI for Service Discovery and Integration

The discovery agency level connection is a publishfind mechanism Figure 8-1, either used at build-time or runtime. Universal Description, Discovery, and Integration UDDI is an Business level agreements Service level agreements Composition Orchestration Presentation Policy Implementation description Interface description XML Schema Service Description Service Broker UDDI Registry Service Broker UDDI Registry Service Provider Service Provider Service Customer Service Customer 3. BindUse 2 . F in d S e a rc h 1 . P u b lis h R e g is te r Service Description Indi vidual ser v ic e de scr ip ti on Se rv ic e re lat ion ships Figure 8-17: Web service description stack.