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 113f3628aed7e29143e321c6c5a966089a516d58 (modified) generated on 2024-04-22 09:34:59. 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