Professional Documents
Culture Documents
What Is Middleware?: Infrastructure That Supports (Distributed) Component-Based Application Development
What Is Middleware?: Infrastructure That Supports (Distributed) Component-Based Application Development
Middleware Technologies
What is Middleware?
CSCI 477
interchange
upgrade
adaptation
aggregation
April 8, 2003
Middleware Technologies
Middleware Requirements
Network communication
Coordination
Scalability
Reliability
marshalling/unmarshalling
Heterogeneity
CSCI 477
Middleware Technologies
Middleware Categories
Transactional
Message-oriented (MOM)
Object-based
Procedural
Component-based
CSCI 477
April 8, 2003
Middleware Technologies
Elements of Middleware
Software components
properties
methods
events
Metadata
Containers
component interfaces
CSCI 477
April 8, 2003
Middleware Technologies
directory services
CSCI 477
transaction services
security services
April 8, 2003
Middleware Technologies
CORBA
CSCI 477
April 8, 2003
Middleware Technologies
Interaction intermediary
CSCI 477
deferred synchronous
~
~
asynchronous
April 8, 2003
Middleware Technologies
CSCI 477
April 8, 2003
Middleware Technologies
CORBA Architecture
Object
Implementation
Client
Static
Skeletons
Dynamic
Invocation
Interface
Repository
CSCI 477
Client IDL
Stubs
ORB
Interface
ORB Core
Dynamic
Skeleton
invocation
(Basic)
Object
Adapter
Implementation
Repository
April 8, 2003
10
Middleware Technologies
CSCI 477
April 8, 2003
11
Middleware Technologies
OMG IDL
Constructed types
short, long, long long, float, double, long double, char, wchar,
boolean, octet, enum, string, wstring
Any
struct, union, array, sequence
IDL is language-independent
CSCI 477
April 8, 2003
12
Middleware Technologies
CSCI 477
April 8, 2003
13
Middleware Technologies
CSCI 477
Client Application
Server Application
Object Reference
Object Implementation
Operation
promote
Method
Emp_promote
Operation
dismiss
Method
Emp_dismiss
April 8, 2003
Middleware Technologies
14
CSCI 477
April 8, 2003
15
Middleware Technologies
Interface Repository
CSCI 477
April 8, 2003
16
Middleware Technologies
CSCI 477
harder to program
less robust type checking
slower (factor of 40)
harder to understand/document
April 8, 2003
17
Middleware Technologies
CORBA Services
Naming
Life Cycle
Events
Transactions
Object Trader
flat, nested
involving heterogeneous ORBs and non-ORBs
Concurrency Control
CSCI 477
April 8, 2003
Middleware Technologies
18
Object Security
Persistence
Query
Time
Licensing
Relationships
Collections
license manager
Properties
CSCI 477
April 8, 2003
19
Middleware Technologies
Inter-ORB Protocols
CSCI 477
April 8, 2003
Middleware Technologies
20
COM/DCOM
Platform independent
Distribution transparency
CSCI 477
April 8, 2003
Middleware Technologies
21
CSCI 477
April 8, 2003
22
Middleware Technologies
Binary Standard
Server-i
Client
Server-j
CSCI 477
April 8, 2003
23
Middleware Technologies
COM Components
similar to CORBA
CSCI 477
24
Middleware Technologies
Interface class
Interface component
CSCI 477
25
Middleware Technologies
Interface IUnknown
QueryInterface
AddRef
Release
CSCI 477
Middleware Technologies
26
Distributed COM
CSCI 477
27
Middleware Technologies
Server
Proxy
Security
LPC
CSCI 477
RPC
Stub
Security
Server
RPC
LPC
April 8, 2003
28
Middleware Technologies
Proxy
Security
Stub
RPC
Security
Network Protocol
Stack
Server
RPC
Network Protocol
Stack
DCOM
Network
Protocol
CSCI 477
April 8, 2003
29
Middleware Technologies
Distribution in DCOM
Comp1
Comp2
CSCI 477
Comp2
Comp3
Comp4
April 8, 2003
30
Middleware Technologies
CSCI 477
April 8, 2003