Middleware Petr Tůma
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 [http://creativecommons.org/licenses/by-nc-sa/4.0]. This is version 7de3bb4bd4c95d77068e609dfb23c0c8fecc889b (modified) generated on 2020-05-15 08:46:04. For the latest version, check http://d3s.mff.cuni.cz/teaching/middleware.
Table of Contents 1. Concepts .................................................................................................................. 1 1.1. Architectures .................................................................................................. 1 1.1.1. Client-Server ........................................................................................ 1 1.1.2. Distributed Objects ............................................................................... 1 1.1.3. Messaging ........................................................................................... 1 1.1.4. Message Bus ........................................................................................ 2 1.2. Protocols ....................................................................................................... 2 1.2.1. Reliability ............................................................................................ 2 1.2.2. Atomicity ............................................................................................ 2 1.2.3. Multicast Membership ........................................................................... 3 1.2.4. Multicast Reliability .............................................................................. 4 1.2.5. Multicast Ordering ................................................................................ 5 2. Systems ................................................................................................................... 7 2.1. CORBA ......................................................................................................... 7 2.1.1. Interface Definition Language ................................................................. 7 2.1.2. Language Mapping .............................................................................. 10 2.1.3. Object Adapter ................................................................................... 20 2.1.4. Messaging ......................................................................................... 23 2.1.5. Components ....................................................................................... 24 2.2. EJB ............................................................................................................. 27 2.2.1. EJB Architecture ................................................................................. 27 2.2.2. Stateful Session Beans ......................................................................... 27 2.2.3. Stateless Session Beans ........................................................................ 29 2.2.4. Message Driven Beans ......................................................................... 29 2.2.5. Entities .............................................................................................. 30 2.2.6. Transactions ....................................................................................... 32 2.3. Felix ............................................................................................................ 33 2.3.1. iPOJO Service Requirement .................................................................. 33 2.3.2. iPOJO Service Provision ...................................................................... 33 2.3.3. iPOJO Lifecycle Management ............................................................... 34 2.4. Google RPC ................................................................................................. 34 2.4.1. Interface Description Language ............................................................. 34 2.4.2. C++ Server Code Basics ...................................................................... 35 2.4.3. Java Server Code Basics ...................................................................... 36 2.4.4. Python Server Code Basics ................................................................... 36 2.4.5. C++ Client Code Basics ....................................................................... 37 2.4.6. Java Client Code Basics ....................................................................... 37 2.4.7. Python Client Code Basics ................................................................... 38 2.5. Hazelcast ..................................................................................................... 38 2.5.1. Distributed Collections ......................................................................... 38 2.5.2. Distributed Communication .................................................................. 38 2.5.3. Distributed Coordination ...................................................................... 38 2.6. JGroups ....................................................................................................... 39 2.6.1. Channels ............................................................................................ 39 2.6.2. Protocol Modules ................................................................................ 40 2.7. JMS ............................................................................................................ 41 2.7.1. Connections and Sessions and Contexts .................................................. 41 2.7.2. Destinations ....................................................................................... 42 2.7.3. Messages ........................................................................................... 42 2.7.4. Producers and Consumers ..................................................................... 43 2.8. Apache Kafka ............................................................................................... 45 2.8.1. Kafka Architecture .............................................................................. 45 2.8.2. Kafka Producer Interface ...................................................................... 46 2.8.3. Kafka Consumer Interface .................................................................... 47 2.8.4. Kafka KStream Interface ...................................................................... 48 iii
Recommend
More recommend