Contents


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

1.4         Summary


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 Technologies 

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 Integration  

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 Discovery             

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 Service  

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 CoordinationProtocols 

            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.3.7     Exception Handling 

            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    

Web Services: Concepts, Architecture and Applications. Gustavo Alonso, Fabio Casati, Harumi Kuno, Vijay Machiraju. Springer Verlag, 2004. ISBN 3-540-44008. Copyright by Springer Verlag Berlin Heidelberg 2004