Web Services: Principles and Technology (Paperback)

Michael Papazoglou

  • 出版商: Addison Wesley
  • 出版日期: 2007-09-23
  • 售價: $1,060
  • 貴賓價: 9.5$1,007
  • 語言: 英文
  • 頁數: 784
  • 裝訂: Paperback
  • ISBN: 0321155556
  • ISBN-13: 9780321155559

下單後立即進貨 (約5~7天)





Web services, usually including some combination of programming and data, are made available from a business's web server for web users and other web connected programs. The accelerating creation and availability of these services is a major computing trend as software becomes increasingly distributed and web-based. Web services are the next logical step for web-based computing and will have a profound impact on the way in which business is conducted on the web in the future. As they involve many different systems communicating with each other, they are particularly important following the proliferation in the range of computing devices (PDA's mobile telephones, hand held computers etc).  

Table of Contents

PART 1           BASICS

Chapter 1        Introduction to Web Services

1.1       Introduction

1.1.1    What Are Web Services?

1.1.2    Typical Web Services Scenarios

1.2       The Concept of Software as a Service

1.3       A More Complete Definition of Web Services

1.4       Characteristics of Web Services

            1.4.1    Types of Web Services

               or Informational Services

               Services or Business Processes

1.4.2    Functional and Non-Functional Properties

1.4.3    State Properties

1.4.4    Loose Coupling

1.4.5    Service Granularity

1.4.6    Synchronicity

1.4.7    Well-definedness

1.4.8    Service Usage Context

1.5       Service Interface and Implementation

1.6       The Service Oriented Architecture (SOA)

1.6.1    Roles of Interaction in the Service Oriented Architecture

               Services Provider Services Requestor

1.61.3  Web Services Registry

1.6.2    Operations in the Service Oriented Architecture Publish Operation Find Operation Bind Operation

1.6.3    SOA: an Example Involving Complex Services

1.6.4    Layers in an SOA

1.7       The Web Services Technology Stack

1.8       Quality of Service

1.9       Web Services Interoperability  

1.10     Web Services versus Components

1.11     Impact and Shortcomings of Web Services

1.12     Summary

            Review Questions and Exercises


Chapter 2        Distributed Computing Infrastructure

2.1       Distributed Computing and Internet Protocols

2.1.1    Internet Protocols Open Systems Interconnection Reference Model TCP/IP Network Protocol

2.1.2    Middleware

2.2       The Client/Server Model

2.3       Characteristics of Inter-Process Communication

2.3.1    Messaging

2.3.2    Message Destinations and Sockets

2.3.3    Synchronous and Asynchronous Forms of Message Communication

2.4       Synchronous Forms of Middleware

2.4.1    Remote Procedure Calls

2.4.2    Remote Method Invocation

2.5       Asynchronous Forms of Middleware

2.5.1    Store and Forward Messaging

2.5.2    Publish/Subscribe Messaging   

2.5.3    Event-Driven Processing Mechanisms

2.5.4    Point-to-point Queuing

2.6       Request/Reply Messaging

2.7       Message Oriented Middleware

2.7.1    Integration Brokers

2.7.2    The Java Message Service (JMS)

2.8       Transaction Oriented Middleware

2.9       EnterpriseApplication and e-Business Integration

2.10     Summary

            Review Questions and Exercises

Chapter 3        Brief Overview of XML

3.1       XML Document Structure

3.1.1    XML Declaration

3.1.2    Elements

3.1.3    Attributes

3.2       URIs and XML Namespaces

3.3       Defining Structure in XML Documents

3.3.1    The XML Schema Definition Language

3.3.2    The XML Schema Document  

3.3.3    Type Definitions, Element and Attribute Declarations Declarations Declarations

3.3.1    Element Declarations

3.3.2    Attribute Declarations  

3.3.4    Simple Types

3.3.5    Complex Types

3.4       XML Schema Reuse

3.4.1    Deriving Complex Types Type Extensions Type Restrictions

            3.4.2    Importing and Including Schemas

3.5       Document Navigation and Transformation

3.5.1    The XML Path Language

3.5.2    Using XSLT to Transform Documents

3.6       Summary

            Review Questions and Exercises


Chapter 4        SOAP: Simple Object Access Protocol

4.1       Inter-Application Communication and Wire Protocols

4.1.1    SOAP as a Wire Representation

4.2       SOAP as a Messaging Protocol

4.3       Structure of a SOAP Message 

4.3.1    SOAP Envelope

4.3.2    SOAP Header Intermediaries

4.3.3    SOAP Body

4.4       The SOAP Communication Model

4.4.1    RPC-style Web Services

4.4.2    Document (Message)-style Web Services

4.4.3    Communication Modes and Massaging Exchange Patterns

4.5       Error Handling in SOAP

4.6       SOAP over HTTP

4.7       Advantages and Disadvantages of SOAP

4.8       Summary

            Review Questions and Exercises

Chapter 5        Describing Web Services

5.1       Why is a Service Description Needed?

5.2       WSDL: Web services Description Language    

5.2.1    Web Service Interface Definition

5.2.2    WSDL Implementation

5.2.3    WSDL Message Exchange Patterns

5.3       Using WSDL to Generate Client Stubs

5.4       Non-functional Descriptions in WSDL

5.5       Summary

            Review Questions and Exercises

Chapter 6        Registering and Discovering Web Services

6.1       Service Registries

6.2       Service Discovery

6.3       UDDI: Universal Description, Discovery, and Integration                                  

6.3.1    UDDI Data Structures Provider Information Service Information Service Access Information Publisher Assertion Structure

6.3.2    WSDL to UDDI Mapping Model Service Interfaces and Service Bindings Service Implementations of WSDL to UDDI Mapping Model

6.3.3    The UDDI Application Programming Interface API API

6.3.4    Querying the UDDI Model

6.3.5    UDDI Usage Model and Deployment Variants

6.4       Summary

            Review Questions and Exercises


Chapter 7        Reliable Messaging and Notification

7.1       Web Services and Stateful Resources  

7.2       Introduction to the WS-Resource Framework

7.2.1    Web Services Addressing

7.2.2    WS-Resource

7.2.3    Resource Properties

7.2.4    Resource Lifecycle

7.2.5    Service Groups

7.3       Web Services Notification

7.3.1    Peer-to-peer Notification Interfaces Filtering   

7.3.2    Notification Topics

7.3.3    Brokered Notification

7.4       Web Services Eventing

7.5       Summary

            Review Questions and Exercises

Chapter 8        Service-Oriented Architectures

8.1       What is a Software Architecture

8.1.1    System Quality Attributes

8.1.2    Common Architectural Concerns

8.2       The Service Oriented Architecture Revisited     

8.3       Service Roles in an SOA

8.4       Reliable Messaging

8.4.1    Definition and Scope of Reliable Messaging

8.4.2    WS-Reliable Messaging of WS-Reliable Messaging Messaging Examples

8.5       The EnterpriseService Bus

8.5.1    The Event-Driven Nature of SOA

8.5.2    Key Capabilities of an EnterpriseService Bus

8.5.3    ESB Integration Styles

8.5.4    Elements of an EnterpriseService Bus Solution Brokers Servers Process Management Service Bus Transport-level Choices

8.5.5    Connectivity and Translation Infrastructure

8.5.6    Leveraging Legacy Assets

8.5.7    Scalability Issues in an EnterpriseService Bus

8.5.8    Integration Patterns using an Enterprise Service Bus

8.6       The Extended Service Oriented Architecture

8.7       Summary

            Review Questions and Exercises


Chapter 9        Web Services and Workflows

9.1       Business Processes and their Management

9.1.1    Characteristics of Business Processes   

9.2       Workflows

9.3       Business Process Integration and Management

9.4       Cross-enterprise Business Processes

9.5       Service Composition Meta-model

9.5.1    Flow Modelling Concepts

9.5.2    Composing Web Services

9.6       Web Services Orchestration and Choreography

9.6.1    Orchestration versus Choreography

9.7       The Business Process Execution Language (BPEL)

9.7.1    BPEL Structure and Executable Processes Flow Flow Flow Orchestration Correlation Handling Handling

9.7.2    A Simple Example in BPEL

9.8       Choreography

9.8.1    Uses of Choreography Description

9.8.2    Web Services Choreography Description Language

9.9       Other Initiatives and Languages

9.10     Summary

            Review Questions and Exercises

Chapter 10      Web Services Transactions

10.1     What is a Transaction?

10.1.1  Properties of Transactions

10.1.2  Concurrency Control Mechanisms

10.2.    Distributed Transactions

10.2.1  Distributed Transaction Architectures

10.2.2  Two-Phase Commit Protocol

Phase I: Preparation

Phase II: Commitment/Abortion

10.3.    Nested Transactions

10.3.1  Closed Nested Transactions           Two-phase Commit Protocol for Nested Transactions           Concurrency Control

10.3.2  Open Nested Transactions           Transactional Workflows           Recovery Mechanisms

10.4.    Transactional Web Services

10.4.1  Definitions and General Characteristics of Web Services Transactions

10.4.2  Operational Characteristics of Web Services Transactions

10.4.3  Web Services Transaction Types           Atomic Actions           Long-duration Transactions

10.4.4  Consensus Groups and Interposition

10.4.5  States of Web Services Transactions

10.4.6  Web Services Transaction Frameworks

10.5.    Web Services Coordination and Transaction

10.5.1  WS-Coordination           Coordination Context           Activation Service           Registration Service           Typical Message Exchange between two Applications

10.5.2  WS-Transaction           Atomic Transaction           Business Activity

10.6.    Web Service Composite Application Framework

10.6.1  Web Service Context

10.6.2  Web Service Coordination Framework

10.6.3  Web Services Transaction Management

10.7.    Summary

            Review Questions and Exercises


Chapter 11      Web Services Security

11.1     Web Services Security Considerations

11.1.1  Security Threats for Web Services

11.1.2  Countermeasures

11.2     Network Level Security Mechanisms

11.2.1  Firewalls           Firewall Architectures  

11.2.2  Intrusion Detection Systems and Vulnerability Assessment

11.2.3  Securing Network Communications           Symmetric Encryption           Asymmetric Encryption           Digital Certificates and Signatures

11.3     Application Level Security Mechanisms

11.3.1  Authentication           Protection Domains           Web Resource Protection

11.3.2  Authorization

11.3.3  Integrity and Confidentiality

11.3.4  Non-repudiation

11.3.5  Auditing

11.3.6  Application Level Security Protocols           Secure Sockets Layer (SSL)           Internet Protocol Security (IPSec)           Kerberos

11.3.7  Security Infrastructures           Public Key Infrastructure           Directory Services

11.4     Security Topologies

11.5     XML Security Standards

11.5.1  XML Signature

11.5.2  XML Encryption

11.5.3  XML Key Management Specification (XKMS)           XML Key Information Service Specification (X-KISS)           XML Key Registration Service Specification (X-KRSS)

11.5.4  Security Assertions Markup Language

11.5.5  XML Access Control Markup Language

11.6     Securing Web Services

11.6.1  Web Services Application-level Security Challenges

11.6.2  Web Services Security Roadmap

11.6.3  Web Services Security Model  

11.6.4  Web Services Security           A Use Case for Web Services Security           Integrating Web Services Security in Service Oriented Architectures           WS-Security Key Features

11.6.5  Managing Security Policies

11.6.6  Managing Secure Sessions

11.6.7  Managing Trust

11.6.8  Managing Privacy

11.6.9  Managing Federated Identities

11.6.10            Managing Authorization

11.7     Summary

Review Questions and Exercises

Chapter 12      Service Policies and Agreements

12.1     What are Policies and why are they Needed?

12.1.1  Characteristics of Policies

12.1.2  The Need for a Policy Language

12.2     Types of Policies

12.3     Policies and Web Services Standards

12.4     WS-Policy Framework

12.4.1  WS-Policy Overview           Policy Expressions           Policy Assertion Usage Types

12.4.2  Combining and Comparing Policies           Merging Policies           Policy Intersection

12.4.3  Policy Attachments           WSDL Policy Attachment           External Policy Attachment

12.5     Service Agreements

12.5.1  WS-Agreement Structure

12.5.2  Agreement Language

12.6.    Summary

Review Questions and Exercises


Chapter 13      Semantics and Web Services

13.1     The semantic Interoperability Problem

13.2     The Role of Metadata

13.3     Resource Description Framework

13.3.1  The RDF Data Model

13.3.2  RDF Syntax

13.3.3  The RDF Schema

13.4     Richer Schema Languages

13.5     WS-Metadata Exchange

13.6     Summary

Review Questions and Exercises

Chapter 14      Business Protocols

14.1     The Supply Chain Business EcoSystem

14.2     Semantic Problems at the Business Process-Level

14.3     Business Standards and Protocols

14.3.1  Electronic Data Interchange (EDI)

14.3.2  RosettaNet           The RosettaNet Business Architecture           RosettaNet and Web Services 

14.3.3  The Electronic Business XML Initiative           ebXML Reference Architecture           ebXML Functional Phases           ebXML and Web Services

14.4     XML in Vertical Organizations

14.5     Summary         

Review Questions and Exercises


Chapter 15      Web Services Development Lifecycle

15.1     Why is a Web Services Development Methodology Needed?

15.2     Web Services Development and Related Methodologies

15.3     System Development Life Cycle

15.4     Properties of Service-oriented Design and Development

15.5     Service-Oriented Design and Development Milestones

15.6     The Qualities of Service-Oriented Design and Development      

15.6.1  Service Coupling

15.6.2  Service Cohesion

15.6.3  Service Granularity

15.7     Web Services Development Life Cycle

15.7.1  The Planning Phase

15.7.2  The Analysis Phase           “As-is” Process Model Analysis           Business Service Identification           Business Service Scoping           Business Service Gap Analysis           Business Service Realization Analysis

15.8     The Service Design Phase

15.8.1  Service Design Concerns           Managing Service and Component Granularity           Designing for Service Reusability           Designing for Service Composability    

15.8.2  Specifying Services           Structural and Behavioral Service Specification           Service Programming Style

15.8.3  Specifying Business Processes           Describing the Business Process Structure           Describing Business Roles

15.8.4  Specifying Service Policies

15.8.5  Services Integration Model

15.9     The Service Construction Phase

15.9.1  Constructing a Service: The Provider Perspective

15.9.2  Constructing Services: The Client Perspective

15.10   The Service Test Phase

15.11   The Service Provisioning Phase

15.11.1            Service Governance

15.11.2            Service Certification

15.11.3            Service Metering and Rating

15.12   The Service Deployment Phase

15.13   The Service Execution Phase

15.14   The Service Monitoring Phase

15.15   Summary

            Review Questions and Exercises


Chapter 16      Web Services Management

16.1     Managing Distributed Systems

16.1.1  Purpose of Distributed Systems Management

16.1.2  Distributed Management for Web Services

16.2     EnterpriseManagement Frameworks

16.3     Conceptual Management Architecture

16.3.1  Management Capabilities and Functions

16.4     Standard Distributed Management Frameworks

16.4.1  Simple Network Management Protocol

16.4.2  Web-based Enterprise Management/Common Information Model

16.4.3  Java Management Extensions

16.5     Web Services Management

16.5.1  Features of Web Services Management

16.5.2  Functional Characteristics of Web Services Management

16.5.3  Service Management Architectural Approaches

16.5.4  Management Infrastructure Services

16.5.5  Connecting Service Management and Application Channels      

16.6     The Web Services Distributed Management Initiative

16.6.1  Management Using Web Services (MUWS)

16.6.2  Management of Web Services (MOWS)

16.7     Summary

            Review Questions and Exercises


Chapter 17      Recent Trends and Developments

17.1     Grid Computing

17.1.1  A Brief Overview of Grid Computing

17.1.2  Features and Requirements of Grid Systems

17.1.3  Grid Application Considerations

17.1.4  Grid Services

17.2     Mobile Computing

17.2.1  Elements of MobileInfrastructure

17.2.2  Wireless Protocols

17.2.3  Mobile Web Services           Mobility Considerations           Field Web services

17.2.4  Mobile Web Services Standard Initiatives           The Open MobileAllianceInitiative           Mobile Web Services Framework

17.3     Summary

            Review Questions