Middleware

Petr Tůma

This is a work in progress material created to support the Charles University Middleware lecture. It is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

This is version 8fb77b698f7c20a9e0977fdfca834ab81293f6d9 (modified) generated on 2024-04-29 09:49:19. For the latest version, check http://d3s.mff.cuni.cz/teaching/nswi080.


Table of Contents

1. Concepts
1.1. Architectures
1.2. Serialization
1.2.1. Textual
1.2.2. Binary
1.3. Protocols
1.3.1. Reliability
1.3.2. Atomicity
1.3.3. Multicast Membership
1.3.4. Multicast Reliability
1.3.5. Multicast Ordering
2. Systems
2.1. CORBA
2.1.1. Interface Definition Language
2.1.2. Language Mapping
2.1.3. Object Adapter
2.1.4. Network Protocol
2.1.5. Messaging
2.1.6. Components
2.1.7. References
2.2. Data Distribution Service (DDS)
2.3. Enterprise JavaBeans (EJB)
2.3.1. Session Objects
2.3.2. Message Driven Objects
2.3.3. Entity Objects
2.3.4. Transactions
2.3.5. References
2.4. etcd
2.4.1. References
2.5. Felix
2.6. FlatBuffers
2.6.1. Schema Language
2.6.2. C++ Generated Code Basics
2.6.3. References
2.7. gRPC
2.7.1. Interface Description Language
2.7.2. C++ Server Code Basics
2.7.3. Java Server Code Basics
2.7.4. Python Server Code Basics
2.7.5. C++ Client Code Basics
2.7.6. Java Client Code Basics
2.7.7. Python Client Code Basics
2.7.8. References
2.8. Hazelcast
2.9. JGroups
2.9.1. Channels
2.9.2. Building Blocks
2.9.3. Protocol Modules
2.9.4. References
2.10. Java Message Service (JMS)
2.10.1. Architecture
2.10.2. Destinations
2.10.3. Messages
2.10.4. Producers and Consumers
2.10.5. References
2.11. Apache Kafka
2.11.1. References
2.12. Memcached
2.12.1. References
2.13. Message Passing Interface (MPI)
2.13.1. Architecture
2.13.2. Point-To-Point Communication
2.13.3. Collective Communication
2.13.4. Virtual Process Topologies
2.13.5. Remote Memory Access
2.13.6. References
2.14. MessagePack (msgpack)
2.14.1. References
2.15. Open Services Gateway Initiative (OSGi)
2.15.1. Bundles
2.15.2. Services
2.16. Protocol Buffers (protobuf)
2.16.1. Message Description Language
2.16.2. C++ Generated Code Basics
2.16.3. Java Generated Code Basics
2.16.4. Python Generated Code Basics
2.16.5. Encoding
2.16.6. References
2.17. Redis
2.17.1. Data Model
2.17.2. Database
2.17.3. Publish Subscribe
2.17.4. Transactional Command Execution
2.17.5. Scripting
2.17.6. References
2.18. Java Remote Method Invocation (RMI)
2.18.1. Interface
2.18.2. Implementation
2.18.3. Threading
2.18.4. Lifecycle
2.18.5. Naming
2.18.6. References
2.19. Sun RPC
2.19.1. References
2.20. Apache Thrift
2.20.1. Interface Description Language
2.20.2. C++ Server Code Basics
2.20.3. C++ Client Code Basics
2.20.4. References
2.21. Web Services
2.21.1. SOAP
2.21.2. WSDL
2.21.3. BPEL
2.22. 0MQ
2.22.1. Sockets
2.22.2. Patterns
2.22.3. References
2.23. Apache ZooKeeper
2.23.1. Architecture
2.23.2. Interface
2.23.3. Recipes
2.23.4. References