Uploaded by big boixx

Middleware Overview

advertisement
Middleware
Week 4
1
Outline
⚫ Why Middleware
⚫ Types of Middleware
⚫ Concept
Building a distributed System
How to integrate
many
distributed
components
into one
system?
3/19
Coordination/Communication
Write your own
communication/coordination
layer?
⚫ Use middleware?
⚫
■
Which middleware?
Feature?
■ Paradigm?
■
4
Write your Own
communication/coordination layer
5
⚫
Easy to develop
prototype
⚫
Difficult to scale
⚫
Difficult to maintain
⚫
Performance issues
Middleware
1.
2.
Remote Procedure Calls
⚫ RPC
Distributed Objects
⚫
3.
Resource-Orientation
⚫
4.
E.g. ROA
Service-Orientation
⚫
6
E.g. CORBA
E.g. SOA
Types of Middleware
⚫ Transaction Oriented
⚫ Message Oriented
⚫ Remote Procedure Calls
⚫ Object-Oriented
⚫ Service / Resource Oriented
⚫ …..
Transaction Oriented
⚫ IBM’s CICS, BEA’s Tuxedo, etc…
⚫ Focus on transactions (ala database)
⚫ Transaction (ACID)
⚫ Atomic
⚫ Consistent
⚫ Isolated
⚫ Durable
⚫ Used in combination with DBMS
⚫ 2-Phase Commit
Message Oriented
⚫ IBM’s MQSeries, Sun’s ToolTalk, etc…
⚫ Used when
⚫ Reliable & asynchronous communication is
dominant form of interaction
⚫ Supports naturally asynchronous
communication
⚫ Supports multicast
⚫ Object-Oriented Middleware is starting
to integrate message oriented
approaches
Transparencies of Middleware
⚫ Different types of transparency
⚫ Access
⚫ Remote and local are treated the same way
⚫ Location
⚫ Caller doesn’t need to know location of
service/object
⚫ Migration
⚫ Components/Objects/Service can relocate without
problems
⚫ Replication
⚫ Copies/Clones/Replication are managed by the
system
⚫ Concurrency
⚫ Concurrency aspects e.g. locking, synchronization
are hidden
Transparency
⚫ Scalability
⚫ Middleware is designed to help in building
scalable systems e.g. its components can be
distributed.
⚫ Performance
⚫ Techniques to enhance performance are
used by the system e.g. caching of requests,
optimized serialization etc..
⚫ Failure
⚫ Mechanisms for handling failures are in
place.
Transparencies
Remote Procedure calls
⚫ RPC
⚫ Procedure call across machine/process
boundaries
⚫ RPC can be viewed as the parent of
object-oriented middleware
⚫ gRPC
RPC
⚫ RPCprograms = server-parts
⚫ RPCprograms have interfaces
definitions
⚫ Defines procedures
⚫ Defines data types
⚫ Marshalling/Unmarshalling
⚫ Static marshalling
⚫ Routine chosen at compile-time
⚫ Dynamic marshalling
⚫ Routine chosen at run-time
Object-Oriented Middleware
⚫ Next step after RPC
⚫ Best known example
⚫ CORBA
⚫ Common
⚫ Object
⚫ Request
⚫ Broker
⚫ Architecture
CORBA
CORBA
CORBA
Download