Skip to main content
main-content
Top

About this book

This book embarks on a mission to dissect, unravel and demystify the concepts of Web services, including their implementation and composition techniques. It provides a comprehensive perspective on the fundamentals of implementation standards and strategies for Web services (in the first half of the book), while also presenting composition techniques for leveraging existing services to create larger ones (in the second half). Pursuing a unique approach, it begins with a sound overview of concepts, followed by a targeted technical discussion that is in turn linked to practical exercises for hands-on learning. For each chapter, practical exercises are available on Github.

Mainly intended as a comprehensive textbook on the implementation and composition of Web services, it also offers a useful reference guide for academics and practitioners. Lecturers will find this book useful for a variety of courses, from undergraduate courses on the foundational technology of Web services through graduate courses on complex Web service composition. Students and researchers entering the field will benefit from the combination of a broad technical overview with practical self-guided exercises. Lastly, professionals will gain a well-informed grasp of how to synthesize the concepts of conventional and “newer” breeds of Web services, which they can use to revise foundational concepts or for practical implementation tasks.

Table of Contents

Chapter 1. Introduction to Service Oriented Architecture

In this chapter, we begin by understanding Service Oriented Architecture (SOA), its key values and goals too modern and evolving business ecosystems. We then describe the SOA architectural stack in reference to software application integration layers. This is followed by an introduction to service composition and data-flow techniques, including end-user mashups. This chapter also presents the overall goals, structure and organization of the rest of this book.
Hye-young Paik, Angel Lagares Lemos, Moshe Chai Barukh, Boualem Benatallah, Aarthi Natarajan

Chapter 2. Web Services – SOAP and WSDL

In this chapter, SOAP and WSDL are explained as important standards that lay the foundation for standardized descriptions of messages and operations of a Web service. We first describe the core elements of SOAP and WSDL standards with examples, then present how the two standards are fit together to form the common message communication styles, namely RPC and Document. The chapter concludes with a practical exercise covering activities that build a simple Web service and its client application.
Hye-young Paik, Angel Lagares Lemos, Moshe Chai Barukh, Boualem Benatallah, Aarthi Natarajan

Chapter 3. Web Services – REST or Restful Services

In this chapter, REST is introduced, an alternate Web service implementation technique. Unlike SOAP and WSDL with clearly defined standards, REST contains a set of generic Web service design principles and guidelines that can be interpreted and implemented differently. In this chapter, we present the fundamentals of the said principles, explaining the core properties that make a service "RESTful". As a practical exercise, we include activities to build a full REST-based service with all READ/UPDATE operations and its client application.
Hye-young Paik, Angel Lagares Lemos, Moshe Chai Barukh, Boualem Benatallah, Aarthi Natarajan

Chapter 4. Web Services – Data Services

In this chapter, we explore the concept of data services. After clarifying the main concepts, we introduce key enabling technologies for building data services, namely XSLT and XQuery. These two XML-based languages are used to transform and query potentially heterogeneous data into well-understood standard XML documents. The lab exercises included at the end of this chapter will guide you to learn the basic syntax and usage scenarios of XSLT and XQuery.
Hye-young Paik, Angel Lagares Lemos, Moshe Chai Barukh, Boualem Benatallah, Aarthi Natarajan

Chapter 5. Web Service Composition: Overview

In this chapter, we introduce the motivation behind Web service composition technologies – going from an atomic to a composite service. In doing so, we discuss the two main paradigms of multiple service interactions: Web service orchestration and Web service choreography. In the rest of the book, we will focus on Web service orchestration as the main paradigm behind Web service composition techniques.
Hye-young Paik, Angel Lagares Lemos, Moshe Chai Barukh, Boualem Benatallah, Aarthi Natarajan

Chapter 6. Web Service Composition: Control Flows

In this chapter, we present BPEL and BPMN as two main languages of Web service composition. Both BPEL and BPMN allow the codification of control flow logic of a composite service. We will introduce the core syntax elements of the two languages and their usage examples. The lab activities will show how to build a simple BPEL service by composing other services to implement a home loan-processing scenario.
Hye-young Paik, Angel Lagares Lemos, Moshe Chai Barukh, Boualem Benatallah, Aarthi Natarajan

Chapter 7. Web Service Composition: Data Flows

In this chapter, we examine the data-flow aspects of Web service composition, which specifies how data is exchanged between services. The data-flow description encapsulates the data movement from one service to another and the transformations applied on this data. We introduce two different paradigms based on the message passing style, namely, blackboard and explicit data flow. We conclude the chapter with a discussion of Mashup applications as a way to implement data-flow oriented service composition.
Hye-young Paik, Angel Lagares Lemos, Moshe Chai Barukh, Boualem Benatallah, Aarthi Natarajan

Chapter 8. Service Component Architecture (SCA)

In this chapter, we introduce a framework known as Service Component Architecture (SCA) that provides a technology-agnostic capability for composing applications from distributed services. Building a successful SOA solution in practice can be complex, due to the lack of standards and specifications, especially when integrating many different technology environments. This chapter explores techniques for adopting a consensus on how to describe an assembly of services, and how to implement and access them regardless of the technology.
Hye-young Paik, Angel Lagares Lemos, Moshe Chai Barukh, Boualem Benatallah, Aarthi Natarajan

Chapter 9. Conclusion

In this chapter, we provide concluding remarks offering readers our perspective for continued exploration in the field of Service Oriented Computing.
Hye-young Paik, Angel Lagares Lemos, Moshe Chai Barukh, Boualem Benatallah, Aarthi Natarajan
Additional information