The messaging model used for inter-service communication is simple in nature. The challenge lies in implementing this model on an enterprise level while supporting SOA characteristics and preserving the principles of service-orientation.
To execute an automated business task with any substance, we need to be able to coordinate and compose a set of available services. To successfully perform this type of coordination requires that we have control over messaging that occurs between our composed services. Both conversational characteristics inherent in the Web services framework and specific features provided by key WS-* specifications provide a means to assert this control.
This chapter explains key concepts that define the messaging-based services activity model and also discusses the role and context of concepts derived from WS-* specifications that implement standardized activity management and composition mechanisms. Collectively, these concepts (and the specifications from which they are derived) contribute to a robust, coordinated, and transaction-capable service-oriented architecture that is characteristically composable and extensible. (Figure 6.1 illustrates the concepts discussed in this chapter and shows, on a high-level, how they can inter-relate.)
Figure 6.1. Specifications and concepts covered in this chapter.
To demonstrate common concepts, this chapter uses terms provided by current specifications in various stages of industry acceptance. In particular:
Because we are focused solely on concepts in this part of the book, we do not yet provide language examples. Sample mark-up code is provided in Chapter 16 for the WS-BPEL and WS-Coordination languages as part of an introductory tutorial.
Choreography, as a concept, is explored at the end of this chapter, but the WS-CDL language is not covered in this book. Its source specification is not yet mature, and it is therefore more relevant to us on a conceptual level.
In Plain English sections
Of all the concepts we discuss in this guide, those belonging to or related to WS-* specifications are perhaps the most foreign to IT professionals who have only had exposure to first-generation Web services technologies. For this reason, we continue with our In Plain English sections established in the previous chapter.
How case studies are used: The details of the RailCo-to-TLS Invoice Submission and the TLS-to-RailCo Purchase Order Submission Processes are further explained to identify specific aspects that pertain to the concepts discussed in this chapter.
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