Before we can develop a service, we need to have defined the interface of that service. This is the mantra of the commonly accepted "WSDL first" approach to designing Web services, and it is also the basis for each of the three service design processes we describe in this chapter. Defining the service interface prior to development is important to establishing a highly standardized service-oriented architecture and required to realize a number of the characteristics we identified as being part of contemporary SOA.
Specifically, the following benefits can be attained by creating the service contract prior to the service logic:
The process descriptions provided in this chapter are generic in nature and only suggest a series of steps for completing the design of service interfaces. They should be viewed as a starting point from which organizations can derive their own, custom design processes.
How case studies are used: Case studies take on a heightened significance in this chapter, as they are the means by which we introduce markup samples. Essentially, a subset of the service candidates we created in Chapter 11 are put through the design processes we establish in this chapter.
As part of these processes we create various WSDL definitions and associated XSD schemas. Complete versions of these files can be downloaded from the book's support site, at www.serviceoriented.ws.
The end result WSDL and XSD schema documents in these samples have been tested for compliance with the WS-I Basic Profile version 1.1.
Part I: SOA and Web Services Fundamentals
The Evolution of SOA
Web Services and Primitive SOA
Part II: SOA and WS-* Extensions
Web Services and Contemporary SOA (Part I: Activity Management and Composition)
Web Services and Contemporary SOA (Part II: Advanced Messaging, Metadata, and Security)
Part III: SOA and Service-Orientation
Principles of Service-Orientation
Part IV: Building SOA (Planning and Analysis)
SOA Delivery Strategies
Service-Oriented Analysis (Part I: Introduction)
Service-Oriented Analysis (Part II: Service Modeling)
Part V: Building SOA (Technology and Design)
Service-Oriented Design (Part I: Introduction)
Service-Oriented Design (Part II: SOA Composition Guidelines)
Service-Oriented Design (Part III: Service Design)
Service-Oriented Design (Part IV: Business Process Design)
Fundamental WS-* Extensions
Appendix A. Case Studies: Conclusion