Submit Search
Upload
Communication middleware
•
10 likes
•
5,477 views
Peter R. Egli
Follow
Overview of communication middleware and web services for distributed applications
Read less
Read more
Technology
Report
Share
Report
Share
1 of 17
Download now
Download to read offline
Recommended
Internet of Things (IoT) and Big Data
Internet of Things (IoT) and Big Data
Guido Schmutz
IoT Connectivity
IoT Connectivity
Hitesh Mohapatra
IoT Cloud architecture
IoT Cloud architecture
MachinePulse
Google App Engine
Google App Engine
Software Park Thailand
Probabilistic Reasoning
Probabilistic Reasoning
Junya Tanaka
web communication protocols in IoT
web communication protocols in IoT
FabMinds
Introduction to Virtualization
Introduction to Virtualization
Rahul Hada
Symbian Operating system
Symbian Operating system
Pravin Shinde
Recommended
Internet of Things (IoT) and Big Data
Internet of Things (IoT) and Big Data
Guido Schmutz
IoT Connectivity
IoT Connectivity
Hitesh Mohapatra
IoT Cloud architecture
IoT Cloud architecture
MachinePulse
Google App Engine
Google App Engine
Software Park Thailand
Probabilistic Reasoning
Probabilistic Reasoning
Junya Tanaka
web communication protocols in IoT
web communication protocols in IoT
FabMinds
Introduction to Virtualization
Introduction to Virtualization
Rahul Hada
Symbian Operating system
Symbian Operating system
Pravin Shinde
15CS81 Module1 IoT
15CS81 Module1 IoT
Ganesh Awati
Mobile computing
Mobile computing
Jyothishmathi Institute of Technology and Science Karimnagar
Physical Design of IoT.pdf
Physical Design of IoT.pdf
JoshuaKimmich1
Distributed system architecture
Distributed system architecture
Yisal Khan
Fuzzy logic and application in AI
Fuzzy logic and application in AI
Ildar Nurgaliev
Xmpp
Xmpp
mahdi ataeyan
Wireless application protocol ppt
Wireless application protocol ppt
OECLIB Odisha Electronics Control Library
IEEE 802.11 Architecture and Services
IEEE 802.11 Architecture and Services
Sayed Chhattan Shah
Wot
Wot
PRAVEENSRC2113003011
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)
Sri Prasanna
6lowpan
6lowpan
Dwarakanath Tulasi
Software Architecture for Robotics
Software Architecture for Robotics
Lorran Pegoretti
M2M Communication
M2M Communication
FabMinds
Computer science seminar topics
Computer science seminar topics
123seminarsonly
UNIT-5 IoT Reference Architecture.pdf
UNIT-5 IoT Reference Architecture.pdf
MansiMehta96928
web connectivity in IoT
web connectivity in IoT
FabMinds
What Is Sliding Window Protocol?
What Is Sliding Window Protocol?
Simplilearn
Market oriented Cloud Computing
Market oriented Cloud Computing
Jithin Parakka
Wireless Sensor Network
Wireless Sensor Network
Ganesh Khadsan
Wi-Fi based indoor positioning
Wi-Fi based indoor positioning
Sherwin Rodrigues
Middleware
Middleware
Dr. Uday Saikia
Distributed computing 2
Distributed computing 2
Vlad Demensky
More Related Content
What's hot
15CS81 Module1 IoT
15CS81 Module1 IoT
Ganesh Awati
Mobile computing
Mobile computing
Jyothishmathi Institute of Technology and Science Karimnagar
Physical Design of IoT.pdf
Physical Design of IoT.pdf
JoshuaKimmich1
Distributed system architecture
Distributed system architecture
Yisal Khan
Fuzzy logic and application in AI
Fuzzy logic and application in AI
Ildar Nurgaliev
Xmpp
Xmpp
mahdi ataeyan
Wireless application protocol ppt
Wireless application protocol ppt
OECLIB Odisha Electronics Control Library
IEEE 802.11 Architecture and Services
IEEE 802.11 Architecture and Services
Sayed Chhattan Shah
Wot
Wot
PRAVEENSRC2113003011
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)
Sri Prasanna
6lowpan
6lowpan
Dwarakanath Tulasi
Software Architecture for Robotics
Software Architecture for Robotics
Lorran Pegoretti
M2M Communication
M2M Communication
FabMinds
Computer science seminar topics
Computer science seminar topics
123seminarsonly
UNIT-5 IoT Reference Architecture.pdf
UNIT-5 IoT Reference Architecture.pdf
MansiMehta96928
web connectivity in IoT
web connectivity in IoT
FabMinds
What Is Sliding Window Protocol?
What Is Sliding Window Protocol?
Simplilearn
Market oriented Cloud Computing
Market oriented Cloud Computing
Jithin Parakka
Wireless Sensor Network
Wireless Sensor Network
Ganesh Khadsan
Wi-Fi based indoor positioning
Wi-Fi based indoor positioning
Sherwin Rodrigues
What's hot
(20)
15CS81 Module1 IoT
15CS81 Module1 IoT
Mobile computing
Mobile computing
Physical Design of IoT.pdf
Physical Design of IoT.pdf
Distributed system architecture
Distributed system architecture
Fuzzy logic and application in AI
Fuzzy logic and application in AI
Xmpp
Xmpp
Wireless application protocol ppt
Wireless application protocol ppt
IEEE 802.11 Architecture and Services
IEEE 802.11 Architecture and Services
Wot
Wot
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)
6lowpan
6lowpan
Software Architecture for Robotics
Software Architecture for Robotics
M2M Communication
M2M Communication
Computer science seminar topics
Computer science seminar topics
UNIT-5 IoT Reference Architecture.pdf
UNIT-5 IoT Reference Architecture.pdf
web connectivity in IoT
web connectivity in IoT
What Is Sliding Window Protocol?
What Is Sliding Window Protocol?
Market oriented Cloud Computing
Market oriented Cloud Computing
Wireless Sensor Network
Wireless Sensor Network
Wi-Fi based indoor positioning
Wi-Fi based indoor positioning
Viewers also liked
Middleware
Middleware
Dr. Uday Saikia
Distributed computing 2
Distributed computing 2
Vlad Demensky
Q1 2009 Earning Report of Sun Microsystems Inc.
Q1 2009 Earning Report of Sun Microsystems Inc.
earningreport earningreport
Sun microsystems Q2 2009 earnings releases
Sun microsystems Q2 2009 earnings releases
earningsreport
Sun One In Photos
Sun One In Photos
SUN ONE AGENCY
Peer to peer
Peer to peer
Raviteja Chowdary Adusumalli
Advanced Metering Infrastructure Standards and protocol
Advanced Metering Infrastructure Standards and protocol
Eklavya Sharma
Application of DDS on modular Hardware-in-the-loop test benches at Audi
Application of DDS on modular Hardware-in-the-loop test benches at Audi
Real-Time Innovations (RTI)
Artigo sd
Artigo sd
mfomoura santos sant
Middleware Reflexivo
Middleware Reflexivo
elliando dias
Middleware
Middleware
Juliana Maria Lopes
PSR-7, middlewares e o futuro dos frameworks
PSR-7, middlewares e o futuro dos frameworks
Elton Minetto
O que é Middleware? E o que isso tem a ver com SOA?
O que é Middleware? E o que isso tem a ver com SOA?
paxtecnologia
Sistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPC
limabezerra
Middleware
Middleware
Jorge Ardinez Periñan
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00
Arthur Emanuel
ACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidos
UFPB
D2D - Device to Device Communication
D2D - Device to Device Communication
Francisco Bento da Silva Neto
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
Thiago Marinho
Mobile wireless-networks
Mobile wireless-networks
Peter R. Egli
Viewers also liked
(20)
Middleware
Middleware
Distributed computing 2
Distributed computing 2
Q1 2009 Earning Report of Sun Microsystems Inc.
Q1 2009 Earning Report of Sun Microsystems Inc.
Sun microsystems Q2 2009 earnings releases
Sun microsystems Q2 2009 earnings releases
Sun One In Photos
Sun One In Photos
Peer to peer
Peer to peer
Advanced Metering Infrastructure Standards and protocol
Advanced Metering Infrastructure Standards and protocol
Application of DDS on modular Hardware-in-the-loop test benches at Audi
Application of DDS on modular Hardware-in-the-loop test benches at Audi
Artigo sd
Artigo sd
Middleware Reflexivo
Middleware Reflexivo
Middleware
Middleware
PSR-7, middlewares e o futuro dos frameworks
PSR-7, middlewares e o futuro dos frameworks
O que é Middleware? E o que isso tem a ver com SOA?
O que é Middleware? E o que isso tem a ver com SOA?
Sistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPC
Middleware
Middleware
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00
ACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidos
D2D - Device to Device Communication
D2D - Device to Device Communication
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
Mobile wireless-networks
Mobile wireless-networks
Similar to Communication middleware
IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriya
IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriya
VijiPriya Jeyamani
Slides for protocol layering and network applications
Slides for protocol layering and network applications
jajinekkanti
CN unit 1 part 2 2023.ppt
CN unit 1 part 2 2023.ppt
mohanravi1986
Introduction to Computer Networking
Introduction to Computer Networking
shankars73
Collaboration and Grid Technologies
Collaboration and Grid Technologies
Videoguy
OSI model.pptx
OSI model.pptx
SmtArunaAsafAliGovtP
The Considerations for Internet of Things @ 2017
The Considerations for Internet of Things @ 2017
Jian-Hong Pan
Presentation (1)
Presentation (1)
Janani Ramasamy
Protecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropper
Shakas Technologies
Protecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropper
Shakas Technologies
934 Ch1 Networks
934 Ch1 Networks
techbed
computer network NCC l4dc assingment
computer network NCC l4dc assingment
David Parker
The Internet and World Wide Web
The Internet and World Wide Web
webhostingguy
Socket programming
Socket programming
Padmavathione
Business Data Communications and Networking 12th Edition FitzGerald Solutions...
Business Data Communications and Networking 12th Edition FitzGerald Solutions...
TylerYuli
IOT.pdf
IOT.pdf
HarshNagda5
Iot lecture notes_hyd
Iot lecture notes_hyd
Kishore5511
A Deep Dive in the World of IT Networking (Part 2)
A Deep Dive in the World of IT Networking (Part 2)
Tuan Yang
Module1 Mobile Computing Architecture
Module1 Mobile Computing Architecture
raksharao
Cisco Certified Network Associate
Cisco Certified Network Associate
Sumit K Das
Similar to Communication middleware
(20)
IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriya
IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriya
Slides for protocol layering and network applications
Slides for protocol layering and network applications
CN unit 1 part 2 2023.ppt
CN unit 1 part 2 2023.ppt
Introduction to Computer Networking
Introduction to Computer Networking
Collaboration and Grid Technologies
Collaboration and Grid Technologies
OSI model.pptx
OSI model.pptx
The Considerations for Internet of Things @ 2017
The Considerations for Internet of Things @ 2017
Presentation (1)
Presentation (1)
Protecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropper
934 Ch1 Networks
934 Ch1 Networks
computer network NCC l4dc assingment
computer network NCC l4dc assingment
The Internet and World Wide Web
The Internet and World Wide Web
Socket programming
Socket programming
Business Data Communications and Networking 12th Edition FitzGerald Solutions...
Business Data Communications and Networking 12th Edition FitzGerald Solutions...
IOT.pdf
IOT.pdf
Iot lecture notes_hyd
Iot lecture notes_hyd
A Deep Dive in the World of IT Networking (Part 2)
A Deep Dive in the World of IT Networking (Part 2)
Module1 Mobile Computing Architecture
Module1 Mobile Computing Architecture
Cisco Certified Network Associate
Cisco Certified Network Associate
More from Peter R. Egli
LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
Peter R. Egli
Data Networking Concepts
Data Networking Concepts
Peter R. Egli
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)
Peter R. Egli
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)
Peter R. Egli
Microsoft .NET Platform
Microsoft .NET Platform
Peter R. Egli
Overview of Cloud Computing
Overview of Cloud Computing
Peter R. Egli
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message Queueing
Peter R. Egli
Enterprise Application Integration Technologies
Enterprise Application Integration Technologies
Peter R. Egli
Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technology
Peter R. Egli
Android Native Development Kit
Android Native Development Kit
Peter R. Egli
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
Peter R. Egli
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
Peter R. Egli
Web services
Web services
Peter R. Egli
Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)
Peter R. Egli
MSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message Queueing
Peter R. Egli
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
Peter R. Egli
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)
Peter R. Egli
JMS - Java Messaging Service
JMS - Java Messaging Service
Peter R. Egli
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
Peter R. Egli
REST - Representational State Transfer
REST - Representational State Transfer
Peter R. Egli
More from Peter R. Egli
(20)
LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
Data Networking Concepts
Data Networking Concepts
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)
Microsoft .NET Platform
Microsoft .NET Platform
Overview of Cloud Computing
Overview of Cloud Computing
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message Queueing
Enterprise Application Integration Technologies
Enterprise Application Integration Technologies
Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technology
Android Native Development Kit
Android Native Development Kit
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
Web services
Web services
Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)
MSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message Queueing
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)
JMS - Java Messaging Service
JMS - Java Messaging Service
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
REST - Representational State Transfer
REST - Representational State Transfer
Recently uploaded
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
apidays
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
The Digital Insurer
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
The Digital Insurer
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
Zilliz
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Zilliz
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
MadyBayot
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
apidays
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Nanddeep Nachan
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Recently uploaded
(20)
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Communication middleware
1.
© Peter R.
Egli 2015 1/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Peter R. Egli INDIGOO.COM INTRODUCTION TO COMMUNICATION MIDDLEWARE AND WEB SERVICE CONCEPTS MIDDLEWARE COMMUNICATION
2.
© Peter R.
Egli 2015 2/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Contents 1. What is Middleware? 2. Basic (common) concepts of (distributed) middleware 3. Classification of middleware 4. Comparison of middleware technologies 5. Fallacies of distributed computing
3.
© Peter R.
Egli 2015 3/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com What is middleware? Wikipedia: „Middleware is computer software that connects software components or applications.” Middleware (MW) is the software between platform / network and the application. The term „middleware“ is very fuzzy, so almost everything is middleware. In this presentation, the focus is on distributed communication. Platform / OS Application Middleware Platform / OS Application Middleware Network (TCP/IP) API API API API
4.
© Peter R.
Egli 2015 4/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Basic (common) concepts of (distributed) middleware (1/6) Middleware can be characterized according to the following criteria: 1. Serialization / marshalling 2. Data presentation 3. Distributed garbage collection 4. Location and discovery 5. Interaction model 6. Wire protocol / encapsulation (transport protocol) 7. Service description 8. Target domain 9. Platform independence
5.
© Peter R.
Egli 2015 5/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Basic (common) concepts of (distributed) middleware (2/6) 1. Serialization / marshalling: Serialization / marshalling converts data (objects, procedures, parameters) into a byte stream for transmission over the network. Often serialization and marshalling are used synonymously, but there is a (subtle) difference: a. Serialization: Convert objects into a byte stream for transport over network or persistent storage. b. Marshalling: Bundle up parameters for a remote method call (serialization of parameters). x x x x x x xx xobject : Class + open (...) : int - close (...) + attr1 : String # attr0 : boolean Send over network or persist in persistent storage Local object UnmarshalMarshal loc_obj.func(arg0, arg1) arg0 arg1 Remote object x x x x xx xx x Object ID + class ID Object ID + class ID attr0 attr1 rem_obj.func(arg0, arg1)
6.
© Peter R.
Egli 2015 6/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Basic (common) concepts of (distributed) middleware (3/6) 2. Data presentation: Different middleware technologies present data in different ways to the application: Sockets Plain byte stream (TCP) or byte packet (UDP, SCTP) RPC Parameters of a procedure / method DAM SQL statements, tables, keys Dist. tuples Objects DOT Objects MOM Messages with „opaque“ body (message = data container) Web service XML fragment, JSON 3. Distributed garbage collection (GC): Local objects are garbage collected by the local GC (or the appl. if there is no GC as in C++). Remote objects may have multiple client objects that access them. Thus remote objects may only be garbage collected if there are no more references to these objects. Usually remote garbage collectors use some kind of a reference counter for the remote objects. Local object A Local object B Remote object C GC Object ID = x Ref. count = 2 Object ID = C Ref. count = 1 Object ID = y Ref. count = 1
7.
© Peter R.
Egli 2015 7/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Basic (common) concepts of (distributed) middleware (4/6) 4. Localization & discovery: Localization & discovery is the process of finding a suitable (concrete) instance of a remote service , server or object. Usually this is done through some kind of registry or directory service. 5. Interaction model (request/reply, publish/subscribe): The interaction model defines the way how the local and remote parties interact. There are 2 main models: a. Synchronous request / reply b. Asynchronous messaging Local client Registry Remote object 2. Query for object / service x 1. Register 3. Access remote object / service Object A Object B Remote call Return Object A blocked Sender Message queue Receiver The receiver receives messages independently from the sender.
8.
© Peter R.
Egli 2015 8/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Basic (common) concepts of (distributed) middleware (5/6) 6. Wire protocol / encapsulation (transport protocol): The wire protocol defines the encapsulation of the data for the transport over the network. Serialization / marshalling converts the data into a format conforming to the wire protocol. Example wire protocols: CORBA IIOP Web services SOAP / XML over HTTP RPC XDR 7. Service description: Remote services can be described formally with a description language. Often such a service or interface description is used to create code (local and remote objects). Example service descriptions: CORBA IDL (Interface Description Language) Web service WSDL (Web Service Description Language) RPC XDR (External Data Representation) IDL Compiler Code
9.
© Peter R.
Egli 2015 9/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Basic (common) concepts of (distributed) middleware (6/6) 8. Target domain: Even though middlewares typically use TCP/IP as network protocol(s), not all are suited for use over the Internet due to different reasons: Some middlewares are very „chatty“ (a lot of messages going back and forth). Middlewares use different port ranges, thus there are potential problems with firewalls. Target domains for middleware: a. Internet (WAN) b. Intranet (local network, LAN) c. Host d. Inter-process communication (IPC) between applications e. Embedded devices (small footprint required, usually in C++) 9. Platform dependence: Some middleware(s) are only available on a specific platform like Java, other middleware(s) were designed to be platform independent. Example platform dependent MW: JMS, RMI (both use the Java platform) Example platform independent MW: CORBA, web services (.Net and Java web service client and server interoperate)
10.
© Peter R.
Egli 2015 10/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Classification of middleware (1/5) The following is a simple classification scheme for middleware technologies. 1. Plain old sockets: Sockets are the basis of all other middleware technologies. 2. RPC – Remote Procedure Call: RPC technologies provide a simple means of distributing application logic on different hosts. IP Socket TCP App IP Socket TCP App Network Client Client stub Network Server Server stub
11.
© Peter R.
Egli 2015 11/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Classification of middleware (2/5) 3. TPM - Transaction Processing Monitors: TPMs are a specialty MW targeted at distributed transactions. 4. DAM - Database Access Middleware: Databases can be used to share and communicate data between distributed applications. Client Client Client Client DBService DBService DBService NetworkNetwork Transaction Processing Monitor Application Driver manager JDBC driverNetwork Data source DB Application Driver manager ODBC driver Data source DB
12.
© Peter R.
Egli 2015 12/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Classification of middleware (3/5) 5. Distributed Tuple: Distributed tuple spaces are implementations of a distributed shared memory space. 6. DOT (Distributed Object Technology) / OOM (Object Oriented Middleware): DOT extends the object-oriented paradigm to distributed applications. Client Client Javaspaces service Javaspaces service write(object) read(object) Transaction take(object) write(object) notify(object) Client object Object broker Server object Object bus Object services
13.
© Peter R.
Egli 2015 13/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Classification of middleware (4/5) 7. MOM (Message Oriented Middleware): In message oriented middleware, messages are exchanged asynchronously between distributed applications (senders and receivers). 8. Web services: Web services expose services (functionality) on a defined interface, typically accessible through the web protocol HTTP. Sender Receiver Message queue receive() send() Web service Web service Middleware Internal service Internal service Service client Middleware Internal service Internal service
14.
© Peter R.
Egli 2015 14/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Classification of middleware (5/5) 9. Peer-to-peer middleware: In peer-to-peer middleware, there is no notion of clients and servers. Communication partners are peers with equal roles in the communication pattern. 10. Grid middleware: Grid middleware provide computation power services (registration, allocation, de-allocation) to consumers. Relay peer Peer Peer Rendez- vous peer Peer Peer The network Computation provider Computation consumer Computation consumer Computation provider Computation consumer
15.
© Peter R.
Egli 2015 15/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Comparison of middleware technologies (1/2) Comparison of some concepts of middleware technologies Criteria Sockets Sun-RPC XML-RPC RMI DCOM .Net remoting CORBA EJB JMS MSMQ Web serv. REST Serialization / marshalling N/a Yes N/a Yes Yes Yes Yes Yes N/a N/a Yes Yes Data presentation N/a XDR XML Java interface Remote object .Net interface Remote object Remote object Byte chunk Byte chunk SOAP / XML XML Distributed garbage collection N/a N/a N/a Yes Yes Yes Yes Yes N/a N/a N/a N/a Location and discovery N/a RPCBIND N/a JNDI Windows registry N/A ORB JNDI JNDI Active Directory UDDI N/a Interaction model Sync. N/a Sync. Sync. Sync. Sync. Sync. Sync. Async. Async. Sync. Sync. Wire protocol (encapsulation) TCP, UDP or SCTP XDR XML + HTTP IIOP MSRPC (=DCE/RPC) TCP SOAP+HT TP XML (channel) IIOP IIOP JMS specific Proprietary SOAP + HTTP XML + HTTP Service description N/a XDR N/a Java interface MS IDL .Net interface (C#, VB) IDL Java interface N/a N/a WSDL WSDL WADL Target domain Host, IPC, LAN, WAN Host, LAN Host, IPC, LAN, WAN Host, LAN, IPC Host, LAN, IPC Host, IPC Host, LAN, IPC Host, LAN, IPC Host, IPC, LAN, WAN Host, IPC, LAN, WAN Host, IPC, LAN, WAN Host, IPC, LAN, WAN Platform dependence All platforms Unix, Linux All platforms Java Windows .Net All platforms Java (JEE) Java Windows All platforms All platforms Middleware class Socket RPC RPC DOT DOT DOT DOT DOT MOM MOM WS WS
16.
© Peter R.
Egli 2015 16/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Comparison of middleware technologies (2/2) Description of common middleware services (features): Service Description Persistence service (ORM) Support for persistent storage of data Transaction service Support for atomic (ACID – Atomicity, Consistency, Isolation, Durability) sequences of actions (method calls) that can be rolled back in case of a failure Concurrency control / synchronization Services allowing to lock resources (transaction locks) Naming and directory services Registration / location / discovery of objects in the network based on a name (location based on an explicit name or ID) Trading service Similar to naming and directory service, but location based on operation names, parameters and result types (location based on properties) Deployment infrastructure Services for the deployment of objects into a run-time environment (e.g. bean container for EJB beans) RPC support Support for remote method call (call of methods on remote objects) Life-cycle service Creation / activation, copying, moving, deleting of objects (client- and / or server-activated objects) Relationship definitions Support for defining explicit relationships between objects Query service Mapping of objects to relational DBs (see ORM) Licensing service Controlled access to objects, definition of access control lists for different groups of clients „Web service“ service Access to objects via some kind of web service (e.g. access through HTTP) Support for async callbacks / server push Possibility to let server send callbacks to client (asynchronous, duplex interfaces) Event / message service Send / receive events (= messages) asynchronously Externalization support Possibility to store (=externalize) objects e.g. into the file system and load (=internalize) the object in the same or a different process Security services Support for identification, authentication, authorization, confidentiality (encryption), data integrity, propagation of credentials Object pooling Set of initialized (remote) objects kept ready for clients (improve performance, „recycle“ existing objects for new client requests) Reflection / introspection Possibility to query the available methods on an existing object Load balancing Distribution of client accesses over a defined number of server components or objects to evenly share the load
17.
© Peter R.
Egli 2015 17/17 Rev. 1.80 Introduction to Middleware and Web Services indigoo.com Fallacies of distributed computing Common misconceptions or fallacies that architects / system designers should take into account when designing distributed applications: 1. The network is reliable. 2. Latency is zero. 3. Bandwidth is infinite. 4. The network is secure. 5. Topology doesn't change. 6. There is one administrator. 7. Transport cost is zero. 8. The network is homogeneous. 9. System clocks are identical. (This list came about at Sun Microsystems by Peter Deutsch et.al.) Distributing application logic over multiple hosts and servers incurs a non-negligible performance penalty that has to be taken into account.
Download now