Architectural pattern: Interceptor Source: POSA II pp 109 – 140POSA II Environment: developing frameworks that can be extended transparently Recurring.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
COM vs. CORBA.
Chapter 13 Review Questions
ECEN 5053, Paradigms & Patterns, Wk 81 Paradigms & Patterns - 3 ECEN 5053 SW Eng of Distributed Systems University of Colorado, Boulder.
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
Enterprise development reference architecture (EDRA) -Deepti Seelamsetti.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Prototype Pattern Creational Pattern Specify the kinds of objects to create using a prototypical instance, and create new objects by copy this prototype.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Enterprise Resource Planning
UNIT-V The MVC architecture and Struts Framework.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
MVC pattern and implementation in java
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
26 Sep 2003 Transparent Adaptive Resource Management for Distributed Systems Department of Electrical Engineering and Computer Science Vanderbilt University,
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Pattern Oriented Software Architecture for Networked Objects Based on the book By Douglas Schmidt Michael Stal Hans Roehnert Frank Buschmann.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Abstract Factory Design Pattern making abstract things.
R R R 1 Frameworks III Practical Issues. R R R 2 How to use Application Frameworks Application developed with Framework has 3 parts: –framework –concrete.
Component frameworks Roy Kensmil. Historical trens in software development. ABSTRACT INTERACTIONS COMPONENT BUS COMPONENT GLUE THIRD-PARTY BINDING.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Explore Patterns in Context-Aware Applications --Using Reactor Pattern to Develop In/Out Board Fall 2002 Yu Du.
Frameworks & Patterns Use of Organized Classes. Frameworks vs Toolkits Framework Framework  Start with classes and interfaces that define a rudimentary.
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
Define an interface for creating an object, but let subclasses decide which class to instantiate Factory Method Pattern.
Define an interface for creating an object, but let subclasses decide which class to instantiate.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Dynamic and Selective Combination of Extension in Component-based Applications Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo N. Jørgensen.
CS 590L – Distributed Component Architecture 02/20/2003Uttara Paingankar1 Design Patterns: Factory Method The factory method defines an interface for creating.
Architectural pattern: Reactor Source: POSA II pp 179 – 214POSA II Environment: an application that receives multiple requests simultaneously but may process.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Interceptor CS562 Spring 2002 Jan Anand Krishnan Morgan Deters Venkita Subramonian.
Secure middleware patterns E.B.Fernandez. Middleware security Architectures have been studied and several patterns exist Security aspects have not been.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Venkita Subramonian, Christopher Gill, Ying Huang, Marc Sentany Department of Computer Science.
Implementing Distribution and Persistence Aspects with AspectJ WAS CLASS.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Interceptor Pattern A&D Eva P.O.S.A 2 By bbum.. Agenda Service Access and Configuration Service Access and Configuration Issues Issues Example Example.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
MODEL VIEW CONTROLLER PATTERN. Model View Controller MVC is a time tested method of separating the user interface of an application from its Domain Logic.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Computer System Structures
J2EE Platform Overview (Application Architecture)
Design Patterns-1 7 Hours.
The Role of Reflection in Next Generation Middleware
Design Patterns: MORE Examples
Observer Design Pattern
Processes The most important processes used in Web-based systems and their internal organization.
Programming Models for Distributed Application
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Interpreter Style Examples
Patterns.
Inventory of Distributed Computing Concepts
Component--based development
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Presentation transcript:

Architectural pattern: Interceptor Source: POSA II pp 109 – 140POSA II Environment: developing frameworks that can be extended transparently Recurring problem: –Frameworks cannot anticipate all of the services they will need –The benefit of a framework is lost if new services have to be implemented by applications

Requirements for extensibility Add a service without requiring modifications to the framework’s core architecture Adding application-specific services should not break existing components or applications Applications using a framework may need to monitor and control its behavior

Examples of framework services that might use such an extension mechanism Security Event logging Load balancing Transaction management

(Core of a) solution - interceptors Interceptor interfaces provide hooks that can call service code when certain events occur –Event example: arrival of a client request Dispatchers manage the concrete interceptors registered for framework events Context objects provide access to event information and the framework’s internal state and behavior

Dynamics 1.Application instantiates a concrete interceptor and registers it with the appropriate dispatcher 2.Framework receives an event 3.Framework passes a context object to the dispatcher for that type of event 4.Dispatcher calls registered interceptors in the appropriate order, passing the context object 5.Interceptors do their thing, using the context object for event data and methods to control certain aspects of the framework’s behavior

Implementation 1.Model framework’s internal behavior 2.Identify and model interception points 3.Specify context objects 4.Specify the interceptors 5.Specify the dispatchers Registration interface Callback interface 6.Implement callback mechanisms 7.Implement concrete interceptors

Known uses Component-based application servers –EJB, CORBA components, COM+ CORBA ORBs Web browsers –Plug-ins are concrete interceptors Non-software: paper mail forwarding

Consequences Benefits –Extensibility and flexibility –Separation of concerns –Support for monitoring and control –Layer symmetry –Reuse of interceptors across applications Liabilities –Complex design issues –Malicious or erroneous interceptors –Risk of interception cascades