Middleware

Petr Tůma

This material is a work in progress that is provided on a fair use condition to support the Charles University Middleware lecture. It should not be used for any other purpose than to support the lecture. It should not be copied to prevent existence of outdated copies. It comes without warranty of any kind.

This is version 179M generated on 2016-03-09 14:06:37.

For the latest version, check http://d3s.mff.cuni.cz/~ceres.


Table of Contents

1. Introduction
1.1. Middleware Definition (Klingenstein)
1.2. Middleware Definition (Bray)
1.3. Middleware Definition (Coulson)
1.4. Tiered Architectures
1.4.1. Tiered Architecture Example
1.5. Service-Oriented Architectures
1.5.1. Service-Oriented Architecture Example
2. Communication
2.1. Reliability In Unicast
2.1.1. Packet Damage
2.2. Timing Guarantees
2.2.1. Example: Real Time Protocol
2.3. Ordering Guarantees
2.3.1. Causal Relation
2.3.2. Lamport Clock
2.3.3. Vector Clock
2.4. Remote Procedure Call
2.4.1. Client Side Stub Sketch
2.4.2. Server Side Stub Sketch
3. Systems
3.1. GM
3.1.1. gm_send_with_callback Function
3.1.2. gm_receive And gm_unknown Functions
3.1.3. gm_provide_receive_buffer_with_tag Function
3.2. IBM MQ
3.2.1. Queues And Messages
3.2.2. Message Encoding
3.3. Web Services
3.3.1. SOAP
3.3.2. WSDL
3.3.3. Service Composition
3.4. DCE
3.4.1. Remote Procedure Call
3.5. EJB
3.5.1. Stateful Session Beans
3.5.2. Stateless Session Beans
3.5.3. Message Driven Beans
3.5.4. Entities
3.5.5. Transactions
3.6. JMS
3.6.1. Connections and Sessions and Contexts
3.6.2. Destinations
3.6.3. Messages
3.6.4. Producers and Consumers
3.7. MPI
3.7.1. Peer To Peer Communication
3.7.2. Group Communication
3.7.3. Remote Memory Access
3.8. .NET Remoting
3.8.1. Interface
3.8.2. Implementation
3.9. Java RMI
3.9.1. Interface
3.9.2. Implementation
3.9.3. Lifecycle
3.9.4. Naming
3.9.5. Rehearsal
3.10. Sun RPC
3.10.1. Interface Definition Example
3.10.2. Portmapper Services Example
3.11. DCOM
3.11.1. Interface Definition Language
3.11.2. Components
3.11.3. Lifecycle
3.12. JAXB
3.12.1. Mapping Example XML Schema Input
3.12.2. Mapping Example Java Output
3.13. OSGi
3.13.1. Bundles
3.13.2. Services
3.14. Chord
3.14.1. Application Interface
3.15. CORBA
3.15.1. Interface Definition Language
3.15.2. Language Mapping
3.15.3. Object Adapter
3.15.4. Messaging
3.15.5. Components
3.16. JAX-RS
3.16.1. Service Example
3.17. JAX-WS
3.17.1. Mapping Example Java Input
3.17.2. Mapping Example WSDL Output (Document Style)
3.17.3. Mapping Example WSDL Output (RPC Style)
3.18. Django
3.18.1. Models
3.18.2. Views
3.18.3. Templates
3.18.4. Forms
3.19. Hadoop
3.19.1. Architecture
3.19.2. Map Reduce Word Count Example
3.20. Pastry
3.20.1. Application Interface
3.21. Chimera
3.21.1. Application Interface
3.22. JGroups
3.22.1. Protocol Modules
3.22.2. Channels
3.23. Bigtable
3.23.1. Table Model
3.23.2. Operations
3.23.3. Scalability
3.24. Memcached
3.24.1. Architecture
3.24.2. Usage Example
3.25. JavaSpaces
3.25.1. Space Interface
3.25.2. Entry Class Example
3.25.3. Usage Example