Please enable JavaScript.
Coggle requires JavaScript to display documents.
Middleware - Coggle Diagram
Middleware
Middleware solutions
Procedure-oriented: Remote Procedure Call
inter-process communication
execute an operation by hiding the details of the networking mechanisms
example
Network File System protocol
(NFS)
provide a transparent distributed file system.
Based on the synchronous request-reply pattern
block the client until
the server replies to RPC call
Object-oriented: Object Request Broker
based on the object oriented paradigm
allows the communication with remote objects
Hiding networking mechanisms
The
ORB is in charge of remote construction, location, invocation and destruction of objects.
Synchronous Communications
Performance can be
affected by the broker usage.
Client side
proxy allows accessing the object methods
implementing the
required networking-oriented operations
marshalling and un-marshalling (serialisation/deserialisation).
ORBs implementations
Distributed Component Object Model
COM/DCOM and .NET
Remoting (Microsoft platforms)
Remote Method Invocation or RMI (Java platforms)
[RMI],
Common Object Request Broker Architecture or CORBA (multiple platforms and programming
languages)
Message-Oriented Middleware
asynchronous communication
point-to-point messaging
publish-subscribe
messages
network routing information
payload
request
,
response
transactions
queues
assuring asynchronous communication
communicate by exchanging messages
synchronously
obtain immediate responses of the
communication partner
require an “always-available” server.
follows
a request/reply pattern
the client implements busy "waits" after each request in order to be ready to
receive the response from the server side.
asynchronously
communicating partners are decoupled
request/reply pattern is not applied
Partner creates a message to the destination
mediator
intermediate entity
No immediate response
server or remote partner not expected to be “always available”.
main goal
simplify the use of networking layer
Hiding distribution
not need to be aware of the local or remote location of the system components.
Hiding heterogeneity
Standard language/platform-specific of
the components for inter-operation.
Providing uniform-standard interfaces:
easily integration of components
Providing reusable components/services:
reuse the generic components or services by other system
SOA