Soumettre la recherche
Mettre en ligne
Communication middleware
•
10 j'aime
•
5,460 vues
Peter R. Egli
Suivre
Overview of communication middleware and web services for distributed applications
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 17
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
IT6601 MOBILE COMPUTING UNIT1
IT6601 MOBILE COMPUTING UNIT1
RMK ENGINEERING COLLEGE, CHENNAI
Unit 4
Unit 4
Mayura shelke
Iot
Iot
Ankit Anand
Middleware
Middleware
Dr. Uday Saikia
Distributed information system
Distributed information system
District Administration
Sensor node hardware and network architecture
Sensor node hardware and network architecture
Vidhi603146
Ad-Hoc Networks
Ad-Hoc Networks
Mshari Alabdulkarim
proactive and reactive routing comparisons
proactive and reactive routing comparisons
ITM Universe - Vadodara
Recommandé
IT6601 MOBILE COMPUTING UNIT1
IT6601 MOBILE COMPUTING UNIT1
RMK ENGINEERING COLLEGE, CHENNAI
Unit 4
Unit 4
Mayura shelke
Iot
Iot
Ankit Anand
Middleware
Middleware
Dr. Uday Saikia
Distributed information system
Distributed information system
District Administration
Sensor node hardware and network architecture
Sensor node hardware and network architecture
Vidhi603146
Ad-Hoc Networks
Ad-Hoc Networks
Mshari Alabdulkarim
proactive and reactive routing comparisons
proactive and reactive routing comparisons
ITM Universe - Vadodara
Mobile Computing I-Unit Notes
Mobile Computing I-Unit Notes
gouse_1210
IOT PROTOCOLS.pptx
IOT PROTOCOLS.pptx
DRREC
M2M and IoT Design Methodologies
M2M and IoT Design Methodologies
Selvaraj Seerangan
Mac protocols
Mac protocols
juno susi
Gsm system and radio frequency
Gsm system and radio frequency
Maulik Patel
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
ABHISHEK KUMAR
Unit 1 - mobile computing introduction
Unit 1 - mobile computing introduction
Vintesh Patel
IT6601 Mobile Computing Unit I
IT6601 Mobile Computing Unit I
pkaviya
M2M - Machine to Machine Technology
M2M - Machine to Machine Technology
Samip jain
Mobile transportlayer
Mobile transportlayer
Rahul Hada
NGN Next Generation Networks
NGN Next Generation Networks
abdulquyyum
Application Layer
Application Layer
Dr Shashikant Athawale
Mobile cloud Computing
Mobile cloud Computing
Pooja Sharma
Distributed Coordination-Based Systems
Distributed Coordination-Based Systems
Ahmed Magdy Ezzeldin, MSc.
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
ArunChokkalingam
Module1 Mobile Computing Architecture
Module1 Mobile Computing Architecture
raksharao
Network Layer by-adeel
Network Layer by-adeel
Goodthingbetter
Sensor networks
Sensor networks
Marc Pous
Geographic Routing in WSN
Geographic Routing in WSN
Mahbubur Rahman
Implementation levels of virtualization
Implementation levels of virtualization
Gokulnath S
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
Contenu connexe
Tendances
Mobile Computing I-Unit Notes
Mobile Computing I-Unit Notes
gouse_1210
IOT PROTOCOLS.pptx
IOT PROTOCOLS.pptx
DRREC
M2M and IoT Design Methodologies
M2M and IoT Design Methodologies
Selvaraj Seerangan
Mac protocols
Mac protocols
juno susi
Gsm system and radio frequency
Gsm system and radio frequency
Maulik Patel
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
ABHISHEK KUMAR
Unit 1 - mobile computing introduction
Unit 1 - mobile computing introduction
Vintesh Patel
IT6601 Mobile Computing Unit I
IT6601 Mobile Computing Unit I
pkaviya
M2M - Machine to Machine Technology
M2M - Machine to Machine Technology
Samip jain
Mobile transportlayer
Mobile transportlayer
Rahul Hada
NGN Next Generation Networks
NGN Next Generation Networks
abdulquyyum
Application Layer
Application Layer
Dr Shashikant Athawale
Mobile cloud Computing
Mobile cloud Computing
Pooja Sharma
Distributed Coordination-Based Systems
Distributed Coordination-Based Systems
Ahmed Magdy Ezzeldin, MSc.
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
ArunChokkalingam
Module1 Mobile Computing Architecture
Module1 Mobile Computing Architecture
raksharao
Network Layer by-adeel
Network Layer by-adeel
Goodthingbetter
Sensor networks
Sensor networks
Marc Pous
Geographic Routing in WSN
Geographic Routing in WSN
Mahbubur Rahman
Implementation levels of virtualization
Implementation levels of virtualization
Gokulnath S
Tendances
(20)
Mobile Computing I-Unit Notes
Mobile Computing I-Unit Notes
IOT PROTOCOLS.pptx
IOT PROTOCOLS.pptx
M2M and IoT Design Methodologies
M2M and IoT Design Methodologies
Mac protocols
Mac protocols
Gsm system and radio frequency
Gsm system and radio frequency
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
Unit 1 - mobile computing introduction
Unit 1 - mobile computing introduction
IT6601 Mobile Computing Unit I
IT6601 Mobile Computing Unit I
M2M - Machine to Machine Technology
M2M - Machine to Machine Technology
Mobile transportlayer
Mobile transportlayer
NGN Next Generation Networks
NGN Next Generation Networks
Application Layer
Application Layer
Mobile cloud Computing
Mobile cloud Computing
Distributed Coordination-Based Systems
Distributed Coordination-Based Systems
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
Module1 Mobile Computing Architecture
Module1 Mobile Computing Architecture
Network Layer by-adeel
Network Layer by-adeel
Sensor networks
Sensor networks
Geographic Routing in WSN
Geographic Routing in WSN
Implementation levels of virtualization
Implementation levels of virtualization
En vedette
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
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
robsons75
En vedette
(20)
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
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
Similaire à 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
Cisco Certified Network Associate
Cisco Certified Network Associate
Sumit K Das
Week2 lec2-bscs1
Week2 lec2-bscs1
syedhaiderraza
Similaire à 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)
Cisco Certified Network Associate
Cisco Certified Network Associate
Week2 lec2-bscs1
Week2 lec2-bscs1
Plus de 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
Plus de 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
Dernier
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
MounikaPolabathina
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
LoriGlavin3
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
panagenda
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Pim van der Noll
2024 April Patch Tuesday
2024 April Patch Tuesday
Ivanti
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
Rick Flair
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Inflectra
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
HarshalMandlekar2
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
Farhan Tariq
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
LoriGlavin3
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
Skynet Technologies
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
LoriGlavin3
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
Knoldus Inc.
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Alan Dix
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
LoriGlavin3
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
LoriGlavin3
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Nicole Novielli
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Dernier
(20)
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
2024 April Patch Tuesday
2024 April Patch Tuesday
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
How to write a Business Continuity Plan
How to write a Business Continuity Plan
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
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.
Télécharger maintenant