Design of Secure Multi-Tier Web

advertisement
A Survey of Adaptive Middleware
SeyedMasoud Sadjadi
www.cse.msu.edu/~sadjadis
Software Engineering and Networking Systems Laboratory
Department of Computer Science and Engineering
Michigan State University
www.cse.msu.edu/sens
PhD Qualifier Oral Exam. on Thursday, July 24, 2003
Agenda
Overview:
Motivation
Background
Key Paradigms
Motivation
Background
Taxonomy
Examples
Big Picture
Key Paradigms
Conclusion
Taxonomy
Examples
Big Picture
Conclusion
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
2
Motivation
Overview:
Motivation

Problem
– complexity of interprocess communication
– heterogeneity of platforms
– changing conditions
Background
Key Paradigms
Taxonomy
Examples

Big Picture

Conclusion

Functional
Environmental
Traditional Middleware
– addresses the first two problems to some extent
– is limited in supporting adaptation

Adaptive Middleware
– addresses all three problems
– still ongoing research
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
3
Background
Overview:
Motivation

– connectivity software
– below application and above operation system layer
– provides high-level programming abstractions
Background
Taxonomy
OO MW
Key Paradigms
Taxonomy
Traditional Middleware

Middleware Classification by Emmerich [1]
Examples
Traditional Middleware
Big Picture
Conclusion
Transactional
Middleware
Message-Oriented
Middleware
Procedural
Middleware
Object-Oriented
Middleware
Object-Oriented Middleware
CORBA
Java RMI
A Survey of Adaptive Middleware by S. M. Sadjadi
DCOM
PhD Qualifier Exam. on July 24, 2003
4
CORBA
Overview:
Motivation

– Common Object Request Broker Architecture.
– A distributed object framework by OMG.
– Supports distributed object-oriented computing across
heterogeneous hardware devices, operating systems,
network protocols, and programming languages.
Background
Taxonomy
OO MW
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
CORBA

Components








Object
Servant
Client
IDL Compiler
Stub
Skeleton
ORB Core
GIOP/IIOP
CORBA architecture [2].
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
5
Java RMI & DCOM
Overview:
Motivation

– Java Remote Method Invocation.
– A Java distributed object framework by JavaSoft.
– Supports distributed computing across heterogeneous
hardware devices and operating systems using the Java
Virtual Machine (JVM).
– Serialization.
Background
Taxonomy
OO MW
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
Java RMI

DCOM
– Distributed Component Object Model.
– A Windows distributed object framework by Microsoft.
– An extension to the COM that supports heterogeneous
programming languages and network protocols.
– Provides a binary standard like C++ vtable.
– “Object proxies” and “object stubs” in DCOM are referred
as “IDL stubs” and “IDL skeleton” in CORBA, respectively!
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
6
Agenda
Overview:
Motivation
Background
Key Paradigms
Motivation
Background
Taxonomy
Examples
Big Picture
Key Paradigms
Conclusion
Taxonomy
Examples
Big Picture
Conclusion
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
7
Computational Reflection
Overview:
Motivation

Background
Key Paradigms

Reflection
CBD
AOP
Patterns
Taxonomy
Examples
Big Picture
Conclusion

The ability of a program to reason about, and possibly
alter, its own behavior [3].
Enables a system to “open up” its implementation details
for such analysis without revealing the unnecessary
parts or compromising portability [4].
Terminology





Base-level
Meta-level
MOP
Casually
connected
Per-ORB,
per-class,
per-object,
and perinterface
reflection
Meta Level
Meta Object Protocols
Base Level
Relationship between meta-level and base-level objects.
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
8
Component-Based Design
Overview:
Motivation

– Software units that can be independently produced,
deployed, and composed by third parties [5].
– Self-contained
– Commodity-of-the-shelf (COTS)
Background
Key Paradigms
Reflection
CBD
AOP
Patterns
Software components

Component-based design (CBD)
– large scale reuse of software
– Composition
Taxonomy
Examples
Big Picture

Conclusion

late binding
Component-Based Middleware
– DCOM
– EJB
– CCM
Independent Components
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
9
Aspect-Oriented Programming
Overview:
Motivation

Background
Key Paradigms

Complex programs are composed of different
intervened cross-cutting concerns [6].
Cross-cutting concerns:
– Properties or areas of interest such as QoS, energy
consumption, fault tolerance, and security.
Reflection
CBD
AOP
Patterns
Taxonomy
Examples
Big Picture
Conclusion

Terminology





Aspect
Basic Functionality
Aspect Language
Aspect Weaver
 Static
 Dynamic
Woven Code
Basic
Functionality
Cross-Cutting
Aspects
Aspect Weaver
Woven Code
AOP in action.
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
10
Software Design Patterns
Overview:
Motivation
Background


– common vocabulary for communicating insight and
experience about recurring problems
Key Paradigms
Reflection
CBD
AOP
Patterns
Taxonomy
Examples
Big Picture
Conclusion
Enables reuse of best software design practices [7].
Benefits

Patterns commonly used in adaptive middleware






Façade
Wrapper
Interceptor
Strategy
Service Configurator
Virtual Component
Class diagram.
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
11
Agenda
Overview:
Motivation
Background
Key Paradigms
Motivation
Background
Taxonomy
Examples
Big Picture
Key Paradigms
Conclusion
Taxonomy
Examples
Big Picture
Conclusion
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
12
Middleware Layers
Overview:
Background
Key Paradigms
Taxonomy

Schmidt [8] decomposed middleware into four
layers:
– Domain-Services

MW Layers
Adaptation Type
App. Domain
Examples
Tailored to a specific
class of distributed
applications
– Common-Services

Big Picture
Conclusion
Functionality such as
fault tolerance, security,
load balancing and
transactions
– Distribution

Programming-language
abstraction
– Host-Infrastructure

Application
Platform-abstraction
Note: an adaptive middleware project
may fall in more than one layer.
A Survey of Adaptive Middleware by S. M. Sadjadi
Domain-Services
Middleware Layers
Motivation
Common-Services
Distribution
Host-Infrastructure
Kernel
kernel boundary
process boundary
layer boundary
Middleware layers [8]
PhD Qualifier Exam. on July 24, 2003
13
Adaptation Type
Overview:
Adaptive Middleware
Motivation
Static Middleware
Background
Key Paradigms
Taxonomy
Development Time
Customizable
Configurable
Compile Time
Startup Time
Dynamic Middleware
Tunable
Mutable
Run Time
Adaptation Type
Application Lifetime
MW Layers
Adaptation Type

Static Middleware
– Customizable Middleware
App. Domain

Examples
Big Picture
Enables developers to compile (and link) customized versions of
applications.
– Configurable Middleware
Conclusion


Enables administrators to configure the middleware after compile
time.
Dynamic Middleware
– Tunable Middleware

Enables administrators to fine-tune applications during run time.
– Mutable Middleware
Enables administrators to dynamically adapt applications at run
time.
Note: an adaptive middleware project may provide more that one adaptation.

A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
14
Application Domain
Overview:
Adaptive Middleware
Motivation
Background
QoS-Oriented Middleware
Dependable Middleware
Embedded Middleware
Key Paradigms
Taxonomy

MW Layers
– supports real-time and multimedia applications
– Example:
Adaptation Type
App. domain
Examples
QoS-Oriented Middleware


Big Picture
avionics systems, video conferencing and Internet telephony
Dependable Middleware
– supports critical distributed applications that are required
to be correctly operational
– Example:
Conclusion


military command and control and medical applications
Embedded Middleware
– supports small footprints
– Examples:

smart phones, hand-held devices, and industrial controllers
Note: there is a lot of overlap among these groups.
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
15
Agenda
Overview:
Motivation
Background
Key Paradigms
Motivation
Background
Taxonomy
Examples
Big Picture
Key Paradigms
Conclusion
Taxonomy
Examples
Big Picture
Conclusion
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
16
QoS-Oriented Middleware
Overview:
QoS-Oriented Middleware
Motivation
Background
Key Paradigms
Real-Time
Middleware
Stream-Oriented
Middleware
Reflection-Oriented
Middleware
Aspect-Oriented
Middleware
Taxonomy
Examples

QoS-Oriented
– Required to meet the deadlines defined by real-time
applications
– Hard and soft real-time middleware
Dependable
Embedded
Big Picture
Conclusion
Real-Time Middleware

Stream-Oriented Middleware
– Provides a continuous data streaming abstraction

Reflection-Oriented Middleware
– Computational reflection is the primary focus

Aspect-Oriented Middleware
– AOP is the primary focus
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
17
Real-Time Middleware
Overview:
Motivation

– Schmidt et al.
– CORBA compliant ORB
Background
Key Paradigms
Taxonomy
TAO

Classification
– Distribution layer
– Configurable and
Tunable MW
– Real-time MW
Examples
QoS-Oriented
Dependable
Embedded
TAO Architecture [9].
Big Picture
Conclusion

DynamicTAO
– UIUC
– A reflective TAO

Servant1Configurator
Classification
– Distribution layer
– Tunable MW
– Real-time MW
Servant2Configurator
ConcurrencyStrategy
SchedulingStrategy
TAOConfigurator
SecurityStrategy
MonitoringStrategy
DomainConfigurator
Reified DynamicTAO [10].
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
18
Stream-Oriented Middleware
Overview:

Open-ORB

Classification
– Distribution layer
– Mutable MW
– Lancaster University
– ORB-wide reflection
Motivation
Background
Key Paradigms
Taxonomy
Video
Source
MPEG
encoder
RTP
sender
UDP/IP Binding
RTP
receiver
MPEG
decoder
Video
Render
Examples
Data
QoS-Oriented
H.263
encoder
Dependable
Embedded
RTP: Real-time
transport protocol.
Delay
buffer
Open-ORB explicit binding [11].
Big Picture
Conclusion

Squirrel over Infopipes

– University of Kaiserslautern
Classification
– Distribution layer
– Customizable and Tunable MW
Squirrel over Infopipes [12].
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
19
Aspect-Oriented Middleware
Overview:

Motivation
Background
Key Paradigms
QuO
– BBN Technologies

Taxonomy
Examples
QoS-Oriented
Dependable
Classification
– Common-services
layer
– Customizable MW
– Aspect-oriented MW

Embedded
Static AOP
QuO [13].
Big Picture
Conclusion

AspectIX
– University of ErlangenNürnberg

get_aspects()
set of aspects
Classification
– Distribution layer
– Tunable MW
– Aspect-oriented MW

Dynamic AOP
specific configuration object
set_aspects()
Dynamic weaving of aspects in AspectIX [14].
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
20
Dependable Middleware
Overview:
Dependable Middleware
Motivation
Background
Key Paradigms
Reliable-Communication
Middleware
Fault-Tolerant
Middleware
Load-Balancer
Middleware
Taxonomy
Examples

– provides reliable communication services
– residing at the host-infrastructure layer
QoS-Oriented
Dependable
Embedded
Big Picture
Reliable Communication Middleware

Fault-Tolerant Middleware
– continue operating in the presence of faults
Conclusion

Load-Balancer Middleware
– continue operation even in the presence of high load
Fault-Tolerant Approaches in Middleware
Integration
Service
OS-Interception ORB-Interception
A Survey of Adaptive Middleware by S. M. Sadjadi
Reflection
PhD Qualifier Exam. on July 24, 2003
21
Reliable Middleware
Overview:

Key Paradigms
Taxonomy
Examples

– University of Wisconsin
Motivation
Background
Rocks

Classification
Racks
– University of Wisconsin

– Host-infra. layer
– Configurable MW
– Reliable-commu. MW
Classification
– Common-services layer
– Configurable MW
– Reliable-commu. MW
QoS-Oriented
Dependable
Embedded
Big Picture
Conclusion
Rocks architecture [15].
A Survey of Adaptive Middleware by S. M. Sadjadi
Racks architecture [15].
PhD Qualifier Exam. on July 24, 2003
22
Fault-Tolerance Middleware
Overview:

Motivation

Classification
– Common-services
layer
– Configurable MW
– Fault-Tolerant MW
Taxonomy
Examples
QoS-Oriented
Dependable
Proxy
Client Request PI
Client and Proxy ORB
IRL architecture [16].
Application Object
Embedded
Big Picture
Client
– Baldoni et al.
Background
Key Paradigms
IRL

Eternal
– UCSB and Eternal
Systems
Conclusion

Classification
– Host-infra. layer
– Configurable MW
– Fault-Tolerant MW
Unmodified CORBA ORB or
Java Virtual Machine
I IOP Interface
Eternal
Eternal
Replication
Interceptor
Mechanisms
TCP/IP
Totem
Platform
A Survey of Adaptive Middleware by S. M. Sadjadi
Eternal architecture [17].
PhD Qualifier Exam. on July 24, 2003
23
Embedded Middleware
Overview:
Embedded Middleware
Motivation
Background
Minimum Middleware
Key Paradigms
Swappable Middleware
Taxonomy
Examples

Minimum Middleware
– Enables minimum footprint applications
– For a specific application-domain
QoS-Oriented
Dependable
Embedded

Big Picture
Fixed minimum core
– For one specific application
Conclusion


No fixed core
Swappable Middleware
– Enables optional portions of middleware to swap in
and out dynamically
– Fixed minimum core
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
24
Swappable Middleware
Overview:
Motivation

– Sun Microsystems
Background
Key Paradigms
EmbeddedJava

Classification
– Host-infra. layer
– Customizable MW
– Minimum MW
Taxonomy
Examples
QoS-Oriented
Dependable
Embedded
EmbeddedJava architecture [18].
Big Picture
Conclusion

ZEN
– Schmidt et al.

Classification
– Distribution layer
– Configurable and
Tunable MW
– Swappable MW
ZEN architecture [19].
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
25
Agenda
Overview:
Motivation
Background
Key Paradigms
Motivation
Background
Taxonomy
Examples
Big Picture
Key Paradigms
Conclusion
Taxonomy
Examples
Big Picture
Conclusion
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
26
Application Domain & MW Layers
Overview:
Motivation

– All-in-one vs. Layered
– Common-Services
Background
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
Embedded Middleware

Domain-Services
– Many standards may be proprietary?
– Need more attention
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
27
Adaptation Type & MW Layers
Overview:
Motivation
Background


Key Paradigms
– Customizable, Tunable, Mutable
Taxonomy
Examples
Big Picture
Conclusion
Hybrid Adaptation
Common-Services Layer

Mutable Middleware
– Very powerful
– Safe adaptation
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
28
Key Paradigms and Standards
Overview:
Motivation
Background


Key Paradigms
Taxonomy

Examples
Big Picture
Conclusion

Computational
Reflection
ComponentBased Design
AspectOriented
Programming
SoftwareDesign Patterns

ReliableCommunication
Middleware

CORBA
Java RMI
DCOM


A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
29
Conclusion and Future Work
Overview:
Motivation

–
–
–
–
Background
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
Conclusion

A classification for traditional middleware
Supporting paradigms for adaptation
A taxonomy of adaptive middleware
Classifying adaptive middleware projects
Future Work
–
–
–
–
–
Domain-services middleware
Common-services middleware
Embedded middleware
Feature interaction
Mutable middleware

Safe adaptation
– Higher-level paradigms
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
30
References
Overview:
Motivation
Background
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
[1] Wolfgang Emmerich. Software engineering and middleware: a roadmap. In Proceedings of the Conference on The
future of Software engineering, pages 117-129, 2000.
[2] http://www.cs.wustl.edu/~schmidt/corba-overview.html.
[3] Pattie Maes. Concepts and experiments in computational reflection. In Proceedings of the ACM Conference on
Object-Oriented Languages (OOPSLA), December 1987.
[4] G. Kiczales, J. d. Rivieres, and D. G. Bobrow. The Art of Metaobject Protocols. MIT Press, 1991.
[5] Clemens Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, 1999.
[6] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements od Reusable ObjectOriented Software. Addison-Wesley Professional Computing Series. Addison-Wesley Publishing Company, New
York, NY, 1995.
[7] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Videira Lopes, J. M. Loingtier, and J. Irwin. Aspect-oriented
programming. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP). SpringerVerlag LNCS 1241, June 1997.
[8] Douglas C. Schmidt. Middleware for real-time and embedded systems. Communications of the ACM, 45(6), June
2002.
[9] D. C. Schmidt, D. L. Levine, and S. Mungee. The design of the TAO real-time object request broker. Computer
Communications, 21(4):294-324, April 1998.
[10] Fabio Kon, Manuel Román, Ping Liu, Jina Mao, Tomonori Yamane, Luiz Claudio Magalhaes, and Roy H. Campbell.
Monitoring, security, and dynamic configuration with the dynamicTAO reflective ORB. In Proceedings of the
IFIP/ACM International Conference on Distributed Systems Platforms (Middleware 2000), New York, April 2000.
[11] T. Fitzpatrick, G. Blair, G. Coulson, N. Davies, and P. Robin. Supporting adaptive multimedia applications through
open bindings. In Proceedings of International Conference on Congurable Distributed Systems (ICCDS'98), May
1998.
[12] R. Koster. A Middleware Platform for Information Flows. PhD thesis, Department of Computer Science, University of
Kaiserslautern, Germany, July 2002.
[13] John A. Zinky, David E. Bakken, and Richard E. Schantz. Architectural support for quality of service for CORBA
objects. Theory and Practice of Object Systems, 3(1), 1997.
[14] Martin Geier, Martin Steckermeier, Ulrich Becker, Franz J. Hauck, Erich Meier, and Uwe Rastofer. Support for
mobility and replication in the AspectIX architecture. Technical Report TR-I4-98-05, Univ. of Erlangen-Nuernberg,
IMMD IV, 1998.
[15] Victor C. Zandy and Barton P. Miller. Reliable network connections. In ACM MobiCom 2002, Atlanta, September
2002.
[16] C. Marchetti, L. Verde, and R. Baldoni. CORBA request portable interceptors: A performance analysis. In the 3nd
International Symposium on Distributed Objects and Applications (DOA 2001), Rome, Italy, Sept. 2001.
[17] L. Moser, P. Melliar-Smith, P. Narasimhan, L. Tewksbury, and V. Kalogeraki. The eternal system: an architecture for
enterprise applications. In the 3rd International Enterprise Distributed Object Computing Conference (EDOC'99),
July 1999.
[18] Sun Microsystems. EmbeddedJava Application Environment. http://java.sun.com/products/embeddedjava/.
[19] Raymond Klefstad, Douglas C. Schmidt, and Carlos O'Ryan. Towards highly configurable real-time object request
brokers. In Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, April - May
2002.
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
31
Overview:
Motivation
Background
Key Paradigms
Taxonomy
Examples
Big Picture
Questions?
Conclusion
Thank you!
A Survey of Adaptive Middleware by S. M. Sadjadi
PhD Qualifier Exam. on July 24, 2003
32
Download