Design of Secure Multi-Tier Web

advertisement
Reflective- Adaptive Middleware
Leila Jalali
Distributed Systems Middleware – ICS 237
Prof. Venkatasubramanian
Fall 2008
Outline
Overview:
Motivation
Background
Key Paradigms
Motivation
Background
Taxonomy
Examples
Conclusion
Key Paradigms
Taxonomy
Examples
Conclusion
2
Motivation
Overview:
Motivation

Problem
– complexity of interprocess communication
– heterogeneity of platforms
– changing conditions
Background
Key Paradigms
Taxonomy
Examples

Conclusion


Functional
Environmental
Traditional Middleware
– addresses the first two problems to some extent
– is limited in supporting adaptation

Reflective and Adaptive Middleware
– addresses all three problems
– still ongoing research
3
Background
Overview:
Motivation
Background


Traditional Middleware
Middleware Classification by Emmerich [1]
Key Paradigms
Taxonomy
Traditional Middleware
Examples
Conclusion
Transactional
Middleware
Message-Oriented
Middleware
Procedural
Middleware
Object-Oriented
Middleware
Object-Oriented Middleware
CORBA
Java RMI
DCOM
4
Computational Reflection
Overview:
Motivation

Background
Key Paradigms

Reflection
Taxonomy
Examples
Conclusion

The ability of a program to reason about, and possibly
alter, its own behavior
Enables a system to “open up” its implementation details
for such analysis without revealing the unnecessary
parts or compromising portability.
Terminology




Base-level
Meta-level
Reification
MOP
Meta Level
Meta Object Protocols
Base Level
Relationship between meta-level and base-level objects
5
Why Reflective Middleware?
Overview:
Motivation
Background
Key Paradigms
Reflection
Taxonomy
Examples
Conclusion

Wireless communication, mobile computing
and real-time applications demand
– High adaptability
 dynamic customization of systems, services and
communication protocols
– Safe flexibility
 constrain composition of services and protocols in
order to prevent functional interference that could
lead to an inconsistent state of the system
 required to protect the system from security
threats and failure
– Cost-effective QoS guarantees
6
Reflection
Overview:
Motivation

Background
Key Paradigms

Reflection
Taxonomy
Examples

Conclusion

Provides a plug-and-play environment for
enabling run-time modification of policies
An efficient technique to build composable
middleware
Features
– Separation of concerns
– Flexibility, Adaptability
– Composition
Implies concurrent execution of multiple
resource management policies
7
Reflection & Reification
Overview:
Motivation

– Behavioral reflection
– Structural reflection
Background
Key Paradigms
Reflection
Taxonomy
Examples
Reflection

Metaobject protocol
– reflection + object-oriented programming
Conclusion
Meta-level
Reification
Reflection
Base-level
Reification
Overview:
Motivation
Background
Key Paradigms
Reflection
Taxonomy
Examples
Conclusion

What can you reify?
– Structural reflection: the models of your
program (MDA), the structure of structured files
(e.g. XML DTDs), the classes of a program, the
code of a program (AST), the object structures
(rarely), the bytecode of a class.

at design-time, compile-time, at load-time, or at
runtime.
– Behavioral reflection: the object behavior (e.g.
when they change states), the interaction
between the objects (e.g. when a client invokes
a remote object, when an invocation arrives on
an object).

at runtime, (design-time, compile time – partial
reification).
Outline
Overview:
Motivation
Background
Key Paradigms
Motivation
Background
Taxonomy
Examples
Big Picture
Key Paradigms
Conclusion
Taxonomy
Examples
Conclusion
10
Middleware Layers
Overview:
Background
Key Paradigms
Taxonomy

Schmidt decomposed middleware into four
layers:
– Domain-Services

MW Layers
Adaptation Type
App. Domain
Examples
Tailored to a specific
class of distributed
applications
– Common-Services

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.
Domain-Services
Middleware Layers
Motivation
Common-Services
Distribution
Host-Infrastructure
Kernel
kernel boundary
process boundary
layer boundary
Middleware layers [8]
11
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
Conclusion
Enables developers to compile (and link) customized versions of
applications.
– Configurable Middleware


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.

12
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


Conclusion
video conferencing and Internet telephony
Dependable Middleware
– supports critical distributed applications that are required
to be correctly operational
– Example:


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.
13
Outline
Overview:
Motivation
Background
Key Paradigms
Motivation
Background
Taxonomy
Examples
Conclusion
Key Paradigms
Taxonomy
Examples
Conclusion
QoS-Oriented Middleware
Overview:
Motivation
QoS-Oriented Middleware
Background
Key Paradigms
Taxonomy
Examples
Real-Time
Middleware
Stream-Oriented
Middleware
Reflection-Oriented
Middleware
Aspect-Oriented
Middleware
QoS-Oriented
TLAM
Conclusion

Reflection-Oriented Middleware
– Computational reflection is the primary focus
TLAM
Overview:
Motivation
System (Meta) Level

Background
Key Paradigms
Two Level Meta
Architecture
(TLAM)
Replication
Access
Control
DGC
Taxonomy
Migration
Examples
Checkpointing
QoS-Oriented
TLAM
Remote
Creation
Conclusion
Distributed
Snapshot
Directory
Services
Application (Base) Level

Core services allow to isolate complex
interactions
-- useful for managing composition of services
Reflective middleware framework – CompOSE|Q
Motivation
Background
Key Paradigms
QoS
Broker
Taxonomy
Request
Mgmt
Examples
Data
Mgmt
QoS-Oriented
TLAM
Conclusion
Application
Objects
Message
Scheduling
Clock Sync
Interaction
with
Core Services
Remote
Creation
Request
Scheduling
Data Placement De-replication
Replication
Distributed
Snapshot
Migration
Core
Services
Directory
Services
Conclusion and Future Work
Overview:
Motivation

– A classification for traditional middleware
– Supporting paradigms for reflection
– A taxonomy of adaptive middleware
Background
Key Paradigms
Taxonomy
Examples
Conclusion
Conclusion

Future Work
–
–
–
–
Domain-services middleware
Common-services middleware
Embedded middleware
Mutable middleware

Safe adaptation
– Higher-level paradigms
References
Overview:
Motivation
Background
Key Paradigms
Taxonomy
Examples
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] Nalini Venkatasubramanian, CompOSE|Q – A QoS enabaled Customizable Middleware Framework for Distributed
Computing., Distributed Middleware Workshop, Proceedings of the IEEE Intl. Conference on Distributed
Computing Systems (ICDCS '99), June 1999.
Overview:
Motivation
Background
Key Paradigms
Taxonomy
Examples
Conclusion
Thank you!
Download