Part I Conventional Middleware
1 Distributed
Information Systems
1.1
Design of an Information System
1.1.1
Layers of an Information System
1.1.2
Top-down Design of an Information System
1.1.3
Bottom-up Design of an Information System
1.2
Architecture of an Information System
1.2.1
One-tier Architectures
1.2.2
Two-tier Architectures
1.2.3
Three-tier Architectures
1.2.4
N-tier Architectures
1.2.5
Distributing Layers and Tiers
1.3
Communication in an
Information System
1.3.1
Blocking and Non Blocking Interactions
1.3.2
Synchronous or Blocking Calls
1.3.3
Asynchronous or Non Blocking Calls
2 Middleware
2.1
Understanding Middleware
2.1.1
Middleware as a Programming Abstraction
2.1.2
Middleware as Infrastructure
2.1.3
Types of Middleware
2.1.4
Middleware Convergence
2.2
RPC and Related Middleware
2.2.1
Historical Background
2.2.2
How RPC Works
2.2.3
Binding in RPC
2.2.4
RPC and Heterogeneity
2.2.5
Extensions to RPC
2.2.6
RPC Middleware Infrastructure: DCE
2.3
TP Monitors
2.3.1
Historical Background
2.3.2
Transactional RPC and TP Monitors
2.3.3
Functionality of a TP Monitor
2.3.4
Architecture of a TP Monitor
2.4
Object Brokers
2.4.1
Historical Background
2.4.2
CORBA: System Architecture
2.4.3
How CORBA Works
2.4.4
CORBA: Dynamic Service Selection and Invocation
2.4.5
CORBA: Encapsulation
2.4.6
TP Monitors+Object Brokers = Object Monitors
2.5
Message-Oriented Middleware
2.5.1
Historical Background
2.5.2
Message-Based Interoperability
2.5.3
Message Queues
2.5.4
Interacting with a Message Queuing System
2.5.5
Transactional Queues
2.6
Summary
3 Enterprise
Application Integration
3.1
From Middleware to Application Integration
3.1.1
From a Mainframe to a Set of Servers
3.1.2
From a Set of Servers to a Multitude of Services
3.1.3
An Example of Application Integration
3.2
EAI Middleware: Message Brokers
3.2.1
Historical Background
3.2.2
The Need for Message Brokers
3.2.3
Extending Basic MOM
3.2.4
The Publish/Subscribe Interaction Model
3.2.5
Distributed Administration of a Message Broker
3.2.6
EAI with a Message Broker
3.2.7
A Critical View of Message Brokers as EAI
Platforms
3.3
Workow Management Systems
3.3.1
Historical Background
3.3.2
Workow Definition
3.3.3
Workow Execution
3.3.4
Workows as Programming in the Large
3.3.5
Integration of WfMSs with Other Middleware
3.3.6
Benefits and Limitations of WfMS
3.4
Summary
4 Web Technologies
4.1
Exchanging Information over the
Internet
4.1.1
Before the Web
4.1.2
The Web
4.1.3
Limitations of HTTP
4.2
Web Technologies for Supporting Remote Clients
4.2.1
Need for Supporting Remote Clients
4.2.2
Applets
4.2.3
Common Gateway Interface
4.2.4
Servlets
4.3
Application Servers
4.3.1
Middleware for Web Applications
4.3.2
J2EE as the Core of an Application Server
4.3.3
Application Server Support for the Application
Layer
4.3.4
Application Server Support for the Presentation
Layer
4.4
Web Technologies for Application
Integration
4.4.1
Architectures for Wide Area Integration
4.4.2
Middleware Extensions
4.4.3
Firewalls and Tunneling through HTTP
4.4.4
Common Data Representation: EDIFACT
4.4.5
XML
4.5
Summary
Part II Web Services
5 Web Services
5.1 Web Services and their
Approach to Distributed
Computing
5.1.1
Defining Web Services
5.1.2
Motivating the Need for B2B Integration
5.1.3
Limitations of Conventional Middleware in B2B
5.1.4
B2B Integration before Web Services
5.1.5
B2B Integration with Web Services
5.1.6
Web services and EAI
5.2 Web Services
Technologies
5.2.1
Service Description
5.2.2
Service Discovery
5.2.3
Service Interactions
5.2.4
Combining Web Services: Composition
5.3 Web Services
Architecture
5.3.1
The Two Facets of Web Services
Architectures
5.3.2
Internal Architecture of a Web Service
5.3.3
External Architecture of a Web Service
5.4 Summary
6 Basic Web Services
Technology
6.1 A Minimalist Infrastructure
for Web Services
6.2 SOAP: Simple Object Access
Protocol
6.2.1
Goals of SOAP
6.2.2
Structure and Contents of a SOAP Message
6.2.3
Processing a SOAP Message
6.2.4
Binding SOAP to a Transport Protocol
6.2.5
A Simple Implementation of SOAP
6.2.6
Asynchronous SOAP
6.2.7
Binary Data and SOAP
6.3 WSDL: Web Services
Description Language
6.3.1
Goals of WSDL
6.3.3
Implications of the WSDL Model
6.3.4
Using WSDL
6.3.5
WSDL and Other Standards
6.4 UDDI: Universal Description
Discovery and
Integration
6.4.1
Goals of UDDI
6.4.2
Information in a UDDI Registry
6.4.3
UDDI Data Structures
6.4.4
Understanding tModels
6.4.5
UDDI Registry API
6.4.6
Searching the UDDI Registry
6.4.7
Storing WSDL Interfaces in a UDDI Registry
6.4.8
Public and Private Registries
6.5 Web Services at Work
6.6 Interactions Between the
Specifications
6.6.1
Proliferation of Standards
6.6.2
Advanced SOAP: Effects on Service Description and
6.6.3
UDDI and Dynamic Binding
6.7 Related Standards
6.7.1
WS-Addressing
6.7.2
WS-Routing
6.7.3
WS-Security
6.7.4
WS-Policy
6.7.5
Web Services Invocation Framework (WSIF)
6.8 Summary
7 Service coordination
protocols
7.1 An Introduction to
Coordination Protocols
7.1.1
The Need for Coordination
7.1.2
Modeling Conversations between a Client and a
Web
7.1.3
Modeling Conversations among Multiple Web
Services
7.1.4
Service Interfaces and Coordination Protocols
7.1.5
Classifying Web Services Protocols
7.2 Infrastructure for
Coordination Protocols
7.2.1
Conversation Controllers
7.2.2
Generic Protocol Handlers
7.2.3
Standardization Requirements for Coordination
7.3 WS-coordination
7.3.1
Goals of WS-Coordination
7.3.2
Components of WS-Coordination
7.3.3
Central Coordination
7.3.4
Distributed Coordination
7.3.5
Summary of WS-Coordination
7.4 WS-Transaction
7.4.1
Transactions in Web Services
7.4.2
Relationship with WS-Coordination
7.4.3
Atomic Transactions
7.4.4
Business Activities
7.5 RosettaNet
7.5.1
Goals and Scope of RosettaNet
7.5.2
Partner Interface Process (PIP) Specfications
7.5.3
RosettaNet Implementation Framework
(RNIF)
7.6 Other Standards Related to
Coordination Protocols
7.6.1
XML Common Business Library (xCBL)
7.6.2
Electronic Business Using eXtensible Markup Language
(ebXML)
7.6.3
Web Service Choreography Interface (WSCI)
7.7 Summary
8 Service Composition
8.1 Basics of Service Composition
8.1.1
Composition as a Way to Master
Complexity
8.1.2
The Need for Service Composition Middleware
8.1.3
Main Elements of Web Services Composition
Middleware
8.1.4
Composition Versus Coordination Middleware
8.2 A New Chance of Success for
Composition?
8.2
Limitations of Conventional Composition
Middleware
8.2.2
Opportunities for Web Service Composition
Middleware
8.3 Service Composition Models
8.3.1
Dimensions of a Web Service Composition Model
8.3.2
Component Model
8.3.3
Orchestration Model
8.3.4
Data and Data Transfer Model
8.3.5
Service Selection
8.3.6
Transactions
8.4 Dependencies between
Coordination and Composition
8.4.1
Coordination Protocols and Composition Schemas
8.4.2
Conversation Controllers and Composition
Engines
8.5 BPEL: Business Process
Execution Language for Web
Services
8.5.1
Overview
8.5.2
Component Model
8.5.3
Orchestration Model
8.5.4
Data Types and Data Transfer
8.5.5
Service Selection
8.5.6
Exceptions and Transactions
8.5.7
Instance Routing
8.6 Summary
9 Outlook
9.1 State of the Art in Web
Services
9.1.1
Available Technology
9.1.2
Current Architecture of Web Services
9.1.3
EAI as a Natural Fit for Today's Web Services
9.1.4
Emerging Trends
9.2 Applicability of Web
Services
9.2.1
The Holy Grail
9.2.2
The Complexity of B2B Interactions
9.2.3
Bypassing Complexity in Closed Communities
9.2.4
Toward Open Communities
9.2.5
The Semantic Web
9.2.6
How Far Are We from the Holy Grail?
9.3 Web Services as a Problem and
a Solution: an
Example
9.3.1
Management in Conventional Middleware
9.3.2
Management in Web Services
9.3.3
Cross-Enterprise Management
9.3.4
Management through Web Services
9.3.5
Web Services Management Standards
9.4 Summary
Bibliography
Index