Architectural pattern: Interceptor - PowerPoint PPT Presentation

About This Presentation
Title:

Architectural pattern: Interceptor

Description:

... Reuse of interceptors across applications Liabilities Complex design issues Malicious or erroneous interceptors Risk of interception cascades Architectural ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 9
Provided by: frank532
Learn more at: https://cs.franklin.edu
Category:

less

Transcript and Presenter's Notes

Title: Architectural pattern: Interceptor


1
Architectural pattern Interceptor
  • Source POSA II pp 109 140
  • 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

2
Requirements for extensibility
  • Add a service without requiring modifications to
    the frameworks 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

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

4
(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 frameworks internal state
    and behavior

5
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 frameworks behavior

6
Implementation
  • Model frameworks internal behavior
  • Identify and model interception points
  • Specify context objects
  • Specify the interceptors
  • Specify the dispatchers
  • Registration interface
  • Callback interface
  • Implement callback mechanisms
  • Implement concrete interceptors

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

8
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
Write a Comment
User Comments (0)
About PowerShow.com