Part I Conventional Middleware |
|
|
1 Distributed Information Systems |
|
|
3 | (26) |
|
1.1 Design of an Information System |
|
|
4 | (5) |
|
1.1.1 Layers of an Information System |
|
|
4 | (2) |
|
1.1.2 Top-down Design of an Information System |
|
|
6 | (1) |
|
1.1.3 Bottom-up Design of an Information System |
|
|
7 | (2) |
|
1.2 Architecture of an Information System |
|
|
9 | (13) |
|
1.2.1 One-tier Architectures |
|
|
10 | (2) |
|
1.2.2 Two-tier Architectures |
|
|
12 | (4) |
|
1.2.3 Three-tier Architectures |
|
|
16 | (3) |
|
1.2.4 N-tier Architectures |
|
|
19 | (2) |
|
1.2.5 Distributing Layers and Tiers |
|
|
21 | (1) |
|
1.3 Communication in an Information System |
|
|
22 | (4) |
|
1.3.1 Blocking and Non Blocking Interactions |
|
|
22 | (1) |
|
1.3.2 Synchronous or Blocking Calls |
|
|
23 | (1) |
|
1.3.3 Asynchronous or Non Blocking Calls |
|
|
24 | (2) |
|
|
26 | (3) |
|
|
29 | (38) |
|
2.1 Understanding Middleware |
|
|
30 | (5) |
|
2.1.1 Middleware as a Programming Abstraction |
|
|
30 | (2) |
|
2.1.2 Middleware as Infrastructure |
|
|
32 | (1) |
|
2.1.3 Types of Middleware |
|
|
33 | (1) |
|
2.1.4 Middleware Convergence |
|
|
34 | (1) |
|
2.2 RPC and Related Middleware |
|
|
35 | (10) |
|
2.2.1 Historical Background |
|
|
35 | (1) |
|
|
36 | (3) |
|
|
39 | (2) |
|
2.2.4 RPC and Heterogeneity |
|
|
41 | (1) |
|
|
42 | (1) |
|
|
43 | (2) |
|
|
45 | (8) |
|
2.3.1 Historical Background |
|
|
45 | (1) |
|
2.3.2 Transactional RPC and TP Monitors |
|
|
46 | (4) |
|
2.3.3 Functionality of a TP Monitor |
|
|
50 | (1) |
|
2.3.4 Architecture of a TP Monitor |
|
|
51 | (2) |
|
|
53 | (6) |
|
2.4.1 Historical Background |
|
|
53 | (1) |
|
2.4.2 CORBA: System Architecture |
|
|
54 | (1) |
|
|
54 | (1) |
|
2.4.4 CORBA: Dynamic Service Selection and Invocation |
|
|
55 | (2) |
|
2.4.5 CORDA: Encapsulation |
|
|
57 | (1) |
|
2.4.6 TP Monitors + Object Brokers = Object Monitors |
|
|
58 | (1) |
|
2.5 Message-Oriented Middleware |
|
|
59 | (6) |
|
2.5.1 Historical Background |
|
|
59 | (1) |
|
2.5.2 Message-Based Interoperability |
|
|
60 | (2) |
|
|
62 | (1) |
|
2.5.4 Interacting with a Message Queuing System |
|
|
63 | (1) |
|
2.5.5 Transactional Queues |
|
|
64 | (1) |
|
|
65 | (2) |
|
3 Enterprise Application Integration |
|
|
67 | (26) |
|
3.1 From Middleware to Application Integration |
|
|
68 | (3) |
|
3.1.1 From a Mainframe to a Set of Servers |
|
|
68 | (1) |
|
3.1.2 From a Bet of Servers to a Multitude of Services |
|
|
68 | (1) |
|
3.1.3 An Example of Application Integration |
|
|
69 | (2) |
|
3.2 EAT Middleware: Message Brokers |
|
|
71 | (11) |
|
3.2.1 Historical Background |
|
|
71 | (1) |
|
3.2.2 The Need for Message Brokers |
|
|
72 | (1) |
|
3.2.3 Extending Basic MOM |
|
|
73 | (2) |
|
3.2.4 The Publish/Subscribe Interaction Model |
|
|
75 | (2) |
|
3.2.5 Distributed Administration of a Message Broker |
|
|
77 | (1) |
|
3.2.6 EAI with a Message Broker |
|
|
77 | (4) |
|
3.2.7 A Critical View of Message Brokers as EAT Platform |
|
|
81 | (1) |
|
3.3 Workflow Management Systems |
|
|
82 | (9) |
|
3.3.1 Historical Background |
|
|
82 | (2) |
|
3.3.2 Workflow Definition |
|
|
84 | (2) |
|
|
86 | (1) |
|
3.3.4 Workflows as Programming in the Large |
|
|
87 | (2) |
|
3.3.5 Integration of WfMSs with Other Middleware Technologies |
|
|
89 | (1) |
|
3.3.6 Benefits and Limitations of WfMS |
|
|
90 | (1) |
|
|
91 | (2) |
|
|
93 | (30) |
|
4.1 Exchanging Information over the Internet |
|
|
94 | (3) |
|
|
94 | (1) |
|
|
94 | (2) |
|
4.1.3 Limitations of HTTP |
|
|
96 | (1) |
|
4.2 Web Technologies for Supporting Remote Clients |
|
|
97 | (5) |
|
4.2.1 Need for Supporting Remote Clients |
|
|
97 | (2) |
|
|
99 | (1) |
|
4.2.3 Common Gateway Interface |
|
|
100 | (2) |
|
|
102 | (1) |
|
|
102 | (9) |
|
4.3.1 Middleware for Web Applications |
|
|
103 | (1) |
|
4.3.2 J2EE as the Core of an Application Server |
|
|
103 | (2) |
|
4.3.3 Application Server Support for the Application Layer |
|
|
105 | (3) |
|
4.3.4 Application Server Support for the Presentation Layer |
|
|
108 | (3) |
|
4.4 Web Technologies for Application Integration |
|
|
111 | (8) |
|
4.4.1 Architectures for Wide Area Integration |
|
|
111 | (1) |
|
4.4.2 Middleware Extensions |
|
|
112 | (2) |
|
4.4.3 Firewalls and Tunneling through HTTP |
|
|
114 | (1) |
|
4.4.4 Common Data Representation: EDIFACT |
|
|
115 | (3) |
|
|
118 | (1) |
|
|
119 | (4) |
Part II Web Services |
|
|
|
123 | (28) |
|
5.1 Web Services and their Approach to Distributed Computing |
|
|
124 | (12) |
|
5.1.1 Defining Web Services |
|
|
124 | (1) |
|
5.1.2 Motivating the Need for B2B Integration |
|
|
125 | (2) |
|
5.1.3 Limitations of Conventional Middleware in B2B Integration |
|
|
127 | (3) |
|
5.1.4 B2B Integration before Web Services |
|
|
130 | (1) |
|
5.1.5 B2B Integration with Web Services |
|
|
131 | (3) |
|
5.1.6 Web services and EAT |
|
|
134 | (2) |
|
5.2 Web Services Technologies |
|
|
136 | (5) |
|
5.2.1 Service Description |
|
|
136 | (2) |
|
|
138 | (1) |
|
5.2.3 Service Interactions |
|
|
139 | (2) |
|
5.2.4 Combining Web Services: Composition |
|
|
141 | (1) |
|
5.3 Web Services Architecture |
|
|
141 | (7) |
|
5.3.1 The Two Facets of Web Services Architectures |
|
|
141 | (2) |
|
5.3.2 Internal Architecture of a Web Service |
|
|
143 | (1) |
|
5.3.3 External Architecture of a Web Service |
|
|
144 | (4) |
|
|
148 | (3) |
|
6 Basic Web Services Technology |
|
|
151 | (46) |
|
6.1 A Minimalist Infrastructure for Web Services |
|
|
152 | (3) |
|
6.2 SOAP: Simple Object Access Protocol |
|
|
155 | (10) |
|
|
155 | (2) |
|
6.2.2 Structure and Content of a SOAP Message |
|
|
157 | (3) |
|
6.2.3 Processing a SOAP Message |
|
|
160 | (1) |
|
6.2.4 Binding SOAP to a Transport Protocol |
|
|
161 | (2) |
|
|
163 | (1) |
|
|
164 | (1) |
|
6.2.7 Binary Data and SOAP |
|
|
165 | (1) |
|
6.3 Implementation WSDL: Web Services Description Language |
|
|
165 | (9) |
|
|
166 | (1) |
|
6.3.2 Structure of a WBDL Interface |
|
|
167 | (3) |
|
6.3.3 Implications of the WSDL Model |
|
|
170 | (2) |
|
|
172 | (1) |
|
6.3.5 WBDL and Other Standards |
|
|
173 | (1) |
|
6.4 UDDI: Universal Description Discovery and Integration |
|
|
174 | (11) |
|
|
174 | (1) |
|
6.4.2 Information in a UDDI Registry |
|
|
175 | (1) |
|
6.4.3 UDDI Data Structures |
|
|
175 | (1) |
|
6.4.4 Understanding tModels |
|
|
176 | (3) |
|
|
179 | (2) |
|
6.4.6 Searching the UDDI Registry |
|
|
181 | (1) |
|
6.4.7 Storing WSDL Interfaces in a UDDI Registry |
|
|
182 | (2) |
|
6.4.8 Public and Private Registries |
|
|
184 | (1) |
|
|
185 | (2) |
|
6.6 Interactions Between the Specifications |
|
|
187 | (4) |
|
6.6.1 Proliferation of Standards |
|
|
187 | (1) |
|
6.6.2 Advanced SOAP: Effects on Service Description and Discovery |
|
|
188 | (1) |
|
6.6.3 UDDI and Dynamic Binding |
|
|
189 | (2) |
|
|
191 | (4) |
|
|
191 | (1) |
|
|
192 | (1) |
|
|
192 | (1) |
|
|
193 | (1) |
|
6.7.5 Web Services Invocation Framework (WSIF) |
|
|
194 | (1) |
|
|
195 | (2) |
|
7 Service coordination protocols |
|
|
197 | (48) |
|
7.1 An Introduction to Coordination Protocols |
|
|
198 | (11) |
|
7.1.1 The Need for Coordination |
|
|
198 | (1) |
|
7.1.2 Modeling Conversations between a Client and a Web Service |
|
|
199 | (1) |
|
7.1.3 Modeling Conversations among Multiple Web Services |
|
|
200 | (5) |
|
7.1.4 Service Interfaces and Coordination Protocols |
|
|
205 | (2) |
|
7.1.5 Classifying Web Services Protocols |
|
|
207 | (2) |
|
7.2 Infrastructure for Coordination Protocols |
|
|
209 | (6) |
|
7.2.1 Conversation Controllers |
|
|
209 | (3) |
|
7.2.2 Generic Protocol Handlers |
|
|
212 | (2) |
|
7.2.3 Standardization Requirements for Coordination Protocols |
|
|
214 | (1) |
|
|
215 | (10) |
|
7.3.1 Goals of WS-Coordination |
|
|
215 | (1) |
|
7.3.2 Components of WS-Coordination |
|
|
216 | (3) |
|
7.3.3 Central Coordination |
|
|
219 | (3) |
|
7.3.4 Distributed Coordination |
|
|
222 | (2) |
|
7.3.5 Summary of WS-Coordination |
|
|
224 | (1) |
|
|
225 | (9) |
|
7.4.1 Transactions in Web Services |
|
|
226 | (1) |
|
7.4.2 Relationship with WS-Coordination |
|
|
227 | (1) |
|
7.4.3 Atomic Transactions |
|
|
228 | (2) |
|
7.4.4 Business Activities |
|
|
230 | (4) |
|
|
234 | (5) |
|
7.5.1 Goals and Scope of RosettaNet |
|
|
234 | (1) |
|
7.5.2 Partner Interface Process (PIP) Specifications |
|
|
235 | (3) |
|
7.5.3 RosettaNet Implementation Framework (RNIF) |
|
|
238 | (1) |
|
7.6 Other Standards Related to Coordination Protocols |
|
|
239 | (4) |
|
7.6.1 XML Common Business Library (xCBL) |
|
|
239 | (1) |
|
7.6.2 Electronic Business Using eXtensible Markup Language (ebXML) |
|
|
240 | (2) |
|
7.6.3 Web Service Choreography Interface (WSCI) |
|
|
242 | (1) |
|
|
243 | (2) |
|
|
245 | (50) |
|
8.1 Basics of Service Composition |
|
|
246 | (6) |
|
8.1.1 Composition as a Way to Master Complexity |
|
|
246 | (2) |
|
8.1.2 The Need for Service Composition Middleware |
|
|
248 | (1) |
|
8.1.3 Main Element of Web Services Composition Middleware |
|
|
249 | (1) |
|
8.1.4 Composition Versus Coordination Middleware |
|
|
250 | (2) |
|
8.2 A New Chance of Success for Composition? |
|
|
252 | (4) |
|
8.2.1 Limitations of Conventional Composition Middleware |
|
|
253 | (1) |
|
8.2.2 Opportunities for Web Service Composition Middleware |
|
|
254 | (2) |
|
8.3 Service Composition Models |
|
|
256 | (20) |
|
8.3.1 Dimensions of a Web Service Composition Model |
|
|
256 | (1) |
|
|
256 | (1) |
|
8.3.3 Orchestration Model |
|
|
257 | (7) |
|
8.3.4 Data and Data Transfer Mode |
|
|
264 | (3) |
|
|
267 | (3) |
|
|
270 | (3) |
|
|
273 | (3) |
|
8.4 Dependencies between Coordination and Composition |
|
|
276 | (7) |
|
8.4.1 Coordination Protocols and Composition Schemas |
|
|
276 | (6) |
|
8.4.2 Conversation Controllers and Composition Engines |
|
|
282 | (1) |
|
8.5 BPEL: Business Process Execution Language for Web Services |
|
|
283 | (10) |
|
|
284 | (1) |
|
|
285 | (1) |
|
8.5.3 Orchestration Model |
|
|
286 | (1) |
|
8.5.4 Data Types and Data Transfer |
|
|
287 | (2) |
|
|
289 | (1) |
|
8.5.6 Exceptions and Transactions |
|
|
290 | (2) |
|
|
292 | (1) |
|
|
293 | (2) |
|
|
295 | (26) |
|
9.1 State of the Art in Web Services |
|
|
296 | (4) |
|
9.1.1 Available Technology |
|
|
296 | (1) |
|
9.1.2 Current Architecture of Web Services |
|
|
296 | (3) |
|
9.1.3 EAT as a Natural Fit for Today's Web Services |
|
|
299 | (1) |
|
|
300 | (1) |
|
9.2 Applicability of Web Services |
|
|
300 | (8) |
|
|
300 | (1) |
|
9.2.2 The Complexity of B2B Interactions |
|
|
301 | (2) |
|
9.2.3 Bypassing Complexity in Closed Communities |
|
|
303 | (1) |
|
9.2.4 Toward Open Communities |
|
|
304 | (2) |
|
|
306 | (2) |
|
9.2.6 How Far Are We from the Holy Grail? |
|
|
308 | (1) |
|
9.3 Web Services as a Problem and a Solution: an Example |
|
|
308 | (12) |
|
9.3.1 Management in Conventional Middleware |
|
|
309 | (1) |
|
9.3.2 Management in Web Services |
|
|
309 | (3) |
|
9.3.3 Cross-Enterprise Management |
|
|
312 | (4) |
|
9.3.4 Management through Web Services |
|
|
316 | (1) |
|
9.3.5 Web Services Management Standards |
|
|
317 | (3) |
|
|
320 | (1) |
Bibliography |
|
321 | (12) |
Index |
|
333 | |