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
1.4.1.1 Simple or Informational Services
1.4.1.2 Complex 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
1.6.1.1Web Services Provider
1.6.1.2Web Services Requestor
1.61.3 Web Services Registry
1.6.2 Operations in the Service Oriented Architecture
1.6.2.1The Publish Operation
1.6.2.2The Find Operation
1.6.2.3The 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
PART 2 ENABLING INFRASTRUCTURE
Chapter 2 Distributed Computing Infrastructure
2.1 Distributed Computing and Internet Protocols
2.1.1 Internet Protocols
2.1.1.1The Open Systems Interconnection Reference Model
2.1.1.2The 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
3.3.3.1 Element Declarations
3.3.3.2 Attribute 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
3.4.1.1 Complex Type Extensions
3.4.1.2 Complex Type Restrictions
3.4.1.3 Polymorphism
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
PART 3 CORE FUNCTIONALITY AND STANDARDS
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
4.3.2.1SOAP 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
6.3.1.1Service Provider Information
6.3.1.2Web Service Information
6.3.1.3Web Service Access Information
6.3.1.4The Publisher Assertion Structure
6.3.2 WSDL to UDDI Mapping Model
6.3.2.1Publishing Service Interfaces and Service Bindings
6.3.2.2Publishing Service Implementations
6.3.2.3Summary of WSDL to UDDI Mapping Model
6.3.3 The UDDI Application Programming Interface
6.3.3.1Enquiry API
6.3.3.2Publishing API
6.3.4 Querying the UDDI Model
6.3.5 UDDI Usage Model and Deployment Variants
6.4 Summary
Review Questions and Exercises
PART 4:EVENT NOTIFICATION AND SERVICE ORIENTED ARCHITECTURES
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
7.3.1.1WS-BaseNotification Interfaces
7.3.1.2Subscription 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
8.4.2.1Structure of WS-Reliable Messaging
8.4.2.2WS-Reliable 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
8.5.4.1Integration Brokers
8.5.4.2Application Servers
8.5.4.3Business Process Management
8.5.4.4Enterprise 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
PART 5:SERVICE COMPOSITION AND SERVICE TRANSACTIONS
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
9.7.1.1 Abstract and Executable Processes
9.7.1.2 Message Flow
9.7.1.3 Control Flow
9.7.1.4 Data Flow
9.7.1.5 Process Orchestration
9.7.1.6 Message Correlation
9.7.1.7 Fault Handling
9.7.1.8 Event 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
10.3.1.1 Two-phase Commit Protocol for Nested Transactions
10.3.1.2 Concurrency Control
10.3.2 Open Nested Transactions
10.3.2.1 Transactional Workflows
10.3.2.2 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
10.4.3.1 Atomic Actions
10.4.3.2 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
10.5.1.1 Coordination Context
10.5.1.2 Activation Service
10.5.1.3 Registration Service
10.5.1.4 Typical Message Exchange between two Applications
10.5.2 WS-Transaction
10.5.2.1 Atomic Transaction
10.5.2.2 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
PART 4:SERVICE SECURITY AND POLICIES
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
11.2.1.1 Firewall Architectures
11.2.2 Intrusion Detection Systems and Vulnerability Assessment
11.2.3 Securing Network Communications
11.2.3.1 Symmetric Encryption
11.2.3.2 Asymmetric Encryption
11.2.3.3 Digital Certificates and Signatures
11.3 Application Level Security Mechanisms
11.3.1 Authentication
11.3.1.1 Protection Domains
11.3.1.2 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
11.3.6.1 Secure Sockets Layer (SSL)
11.3.6.2 Internet Protocol Security (IPSec)
11.3.6.3 Kerberos
11.3.7 Security Infrastructures
11.3.7.1 Public Key Infrastructure
11.3.7.2 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)
11.5.3.1 XML Key Information Service Specification (X-KISS)
11.5.3.2 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
11.6.4.1 A Use Case for Web Services Security
11.6.4.2 Integrating Web Services Security in Service Oriented Architectures
11.6.4.3 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
12.4.1.1 Policy Expressions
12.4.1.2 Policy Assertion Usage Types
12.4.2 Combining and Comparing Policies
12.4.2.1 Merging Policies
12.4.2.2 Policy Intersection
12.4.3 Policy Attachments
12.4.3.1 WSDL Policy Attachment
12.4.3.2 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
PART 7:SERVICE SEMANTICS AND BUSINESS PROTOCOLS
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
14.3.2.1 The RosettaNet Business Architecture
14.3.2.2 RosettaNet and Web Services
14.3.3 The Electronic Business XML Initiative
14.3.3.1 ebXML Reference Architecture
14.3.3.2 ebXML Functional Phases
14.3.3.3 ebXML and Web Services
14.4 XML in Vertical Organizations
14.5 Summary
Review Questions and Exercises
PART 8:SERVICE DESIGN AND DEVELOPMENT
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
15.7.2.1“As-is” Process Model Analysis
15.7.2.2 Business Service Identification
15.7.2.3 Business Service Scoping
15.7.2.4 Business Service Gap Analysis
15.7.2.5 Business Service Realization Analysis
15.8 The Service Design Phase
15.8.1 Service Design Concerns
15.8.1.1 Managing Service and Component Granularity
15.8.1.2 Designing for Service Reusability
15.8.1.3 Designing for Service Composability
15.8.2 Specifying Services
15.8.2.1 Structural and Behavioral Service Specification
15.8.2.2 Service Programming Style
15.8.3 Specifying Business Processes
15.8.3.1 Describing the Business Process Structure
15.8.3.2 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
PART 9:SERVICE MANAGEMENT
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
PART 10:EMERGING TRENDS
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
17.2.3.1Mobility Considerations
17.2.3.2 Field Web services
17.2.4 Mobile Web Services Standard Initiatives
17.2.4.1 The Open MobileAllianceInitiative
17.2.4.2 Mobile Web Services Framework
17.3 Summary
Review Questions
References
Index