SlideShare une entreprise Scribd logo
1  sur  23
Interceptor
Interceptor

•
           .

•
       .
MiddleORB
.


•
    .
Context


•   (transparently)
Problem

• Intergration.
• No affect.
• Monitor and Control.
Solution
Structure -
Concrete framework
Interceptor

• Concrete Framework
                     .

• Hook method
• Concrete Interceptor
Interceptor
                         register
                         remove
Interceptor                         Dispatcher
              callback




                                     Concrete
                                    Framework
Interceptor
              Context
              Object
                           Concrete
Interceptor
               accessor   Framework
               mutator
Dispatcher


• Concrete Interceptor   ,     .

•                        (Dispatch)
Context Object


• Concrete Framework       .

• Concrete Framework   .
Solution
Implementation
Interceptor points


•
    .(logging, changing parameters)
Example -
Load balancing
Variants -
Interceptor Proxy
Known Uses -
Component-based application servers
Benefits

•                   .

• Separation of concerns.
•                                 .

•              (Layer symmetry)

•           .
Liabilities

•                       .

• Malicious or erroneous interceptors.
• Potential interception cascades.

Contenu connexe

Similaire à Interceptor

prdc10-tdd-patterns
prdc10-tdd-patternsprdc10-tdd-patterns
prdc10-tdd-patterns
Amir Barylko
 
Xebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Xebia Knowledge Exchange (feb 2011) - Large Scale Web DevelopmentXebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Xebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Michaël Figuière
 
HyperStudy 10 Training Manual
HyperStudy 10 Training ManualHyperStudy 10 Training Manual
HyperStudy 10 Training Manual
AltairKorea
 
Hyper study 10.0
Hyper study 10.0Hyper study 10.0
Hyper study 10.0
AltairKorea
 
Global Positioning System ++_Improved GPS using sensor data fusion
Global Positioning System ++_Improved GPS using sensor data fusionGlobal Positioning System ++_Improved GPS using sensor data fusion
Global Positioning System ++_Improved GPS using sensor data fusion
anusheel nahar
 
Global Positioning System ++ : Improved GPS using sensor data fusion
Global Positioning System ++ : Improved GPS using sensor data fusionGlobal Positioning System ++ : Improved GPS using sensor data fusion
Global Positioning System ++ : Improved GPS using sensor data fusion
controltrix
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updates
Vinay H G
 
Real world Scala hAkking NLJUG JFall 2011
Real world Scala hAkking NLJUG JFall 2011Real world Scala hAkking NLJUG JFall 2011
Real world Scala hAkking NLJUG JFall 2011
Raymond Roestenburg
 

Similaire à Interceptor (20)

Spring framework
Spring frameworkSpring framework
Spring framework
 
Reactive Programmin
Reactive ProgramminReactive Programmin
Reactive Programmin
 
prdc10-tdd-patterns
prdc10-tdd-patternsprdc10-tdd-patterns
prdc10-tdd-patterns
 
Using triz to make systems more reliable
Using triz to make systems more reliable Using triz to make systems more reliable
Using triz to make systems more reliable
 
Enforcing Behavioral Constraints in Evolving Aspect-Oriented Programs
 Enforcing Behavioral Constraints in Evolving Aspect-Oriented Programs Enforcing Behavioral Constraints in Evolving Aspect-Oriented Programs
Enforcing Behavioral Constraints in Evolving Aspect-Oriented Programs
 
C Languagel Classroom Training
C Languagel Classroom TrainingC Languagel Classroom Training
C Languagel Classroom Training
 
QUESTNET2010 Talk on iLabs
QUESTNET2010 Talk on iLabsQUESTNET2010 Talk on iLabs
QUESTNET2010 Talk on iLabs
 
Implement Checkpointing for Android
Implement Checkpointing for AndroidImplement Checkpointing for Android
Implement Checkpointing for Android
 
Istio presentation jhug
Istio presentation jhugIstio presentation jhug
Istio presentation jhug
 
Xebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Xebia Knowledge Exchange (feb 2011) - Large Scale Web DevelopmentXebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Xebia Knowledge Exchange (feb 2011) - Large Scale Web Development
 
6장 Thread Synchronization
6장 Thread Synchronization6장 Thread Synchronization
6장 Thread Synchronization
 
Design patterns - Singleton&Command
Design patterns - Singleton&CommandDesign patterns - Singleton&Command
Design patterns - Singleton&Command
 
HyperStudy 10 Training Manual
HyperStudy 10 Training ManualHyperStudy 10 Training Manual
HyperStudy 10 Training Manual
 
Hyper study 10.0
Hyper study 10.0Hyper study 10.0
Hyper study 10.0
 
Global Positioning System ++_Improved GPS using sensor data fusion
Global Positioning System ++_Improved GPS using sensor data fusionGlobal Positioning System ++_Improved GPS using sensor data fusion
Global Positioning System ++_Improved GPS using sensor data fusion
 
Global Positioning System ++ : Improved GPS using sensor data fusion
Global Positioning System ++ : Improved GPS using sensor data fusionGlobal Positioning System ++ : Improved GPS using sensor data fusion
Global Positioning System ++ : Improved GPS using sensor data fusion
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updates
 
Real world Scala hAkking NLJUG JFall 2011
Real world Scala hAkking NLJUG JFall 2011Real world Scala hAkking NLJUG JFall 2011
Real world Scala hAkking NLJUG JFall 2011
 

Plus de Kyungryul KIM

전문검색기술도전
전문검색기술도전전문검색기술도전
전문검색기술도전
Kyungryul KIM
 
Nib_NSWindowController
Nib_NSWindowControllerNib_NSWindowController
Nib_NSWindowController
Kyungryul KIM
 
서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2
Kyungryul KIM
 
Chaper24 languages high_and_low
Chaper24 languages high_and_lowChaper24 languages high_and_low
Chaper24 languages high_and_low
Kyungryul KIM
 
Ch22 운영체제
Ch22 운영체제Ch22 운영체제
Ch22 운영체제
Kyungryul KIM
 

Plus de Kyungryul KIM (20)

Ch4 pugixml
Ch4 pugixmlCh4 pugixml
Ch4 pugixml
 
Node ch12
Node ch12Node ch12
Node ch12
 
11.scripting
11.scripting11.scripting
11.scripting
 
32 osx app_release
32 osx app_release32 osx app_release
32 osx app_release
 
Meteor ddp
Meteor ddpMeteor ddp
Meteor ddp
 
Cocos2dx 7.1-7.2
Cocos2dx 7.1-7.2Cocos2dx 7.1-7.2
Cocos2dx 7.1-7.2
 
Cocos2 d x-7.3_4
Cocos2 d x-7.3_4Cocos2 d x-7.3_4
Cocos2 d x-7.3_4
 
Cocos2d x-ch5-1
Cocos2d x-ch5-1Cocos2d x-ch5-1
Cocos2d x-ch5-1
 
Coco2d x
Coco2d xCoco2d x
Coco2d x
 
23 drag drop
23 drag drop23 drag drop
23 drag drop
 
Hadoop ch5
Hadoop ch5Hadoop ch5
Hadoop ch5
 
전문검색기술도전
전문검색기술도전전문검색기술도전
전문검색기술도전
 
Nib_NSWindowController
Nib_NSWindowControllerNib_NSWindowController
Nib_NSWindowController
 
Dsas
DsasDsas
Dsas
 
서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2
 
Chaper24 languages high_and_low
Chaper24 languages high_and_lowChaper24 languages high_and_low
Chaper24 languages high_and_low
 
Ch22 운영체제
Ch22 운영체제Ch22 운영체제
Ch22 운영체제
 
Mibis ch20
Mibis ch20Mibis ch20
Mibis ch20
 
Mibis ch15
Mibis ch15Mibis ch15
Mibis ch15
 
Mibis ch8
Mibis ch8Mibis ch8
Mibis ch8
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Interceptor

Notes de l'éditeur

  1. \n
  2. \n
  3. 브로커패턴으로 object request broker(ORB)를 구현. \n분산 어플리케이션을 구현하는데 편의를 제공하는 서비스 개발.\n통신 서비스(연결 관리, 프로토콜)를 제공.\n이외 트랜젝션, 로깅, 비표준 통신(공유 메모리), 모니터링, 디버깅.\n
  4. \n
  5. \n
  6. 프레임워크는 코어 아키텍쳐의 수정 없이 서비스를 추가할 수 있어야 한다.\n프레임워크에 어플리케이션 레벨 서비스의 통합할 경우 기존 프레임워크 컴포넌트에 영향을 끼쳐서는 안된다.\n어플리케이션이 자신의 동작을 제어하고 모니터링할 수 있어야 한다.\n
  7. \n
  8. 이벤트 처리.\n
  9. concreate interceptor 는 interceptor 인터페이스를 구현한다(specialize)\n프레임워크에서 발생하는 이벤트를 처리하기 위한 hook method를 구현한다.\n
  10. \n
  11. context object : framework 접근과 제어에 사용. 이벤트관련 정보 포함.\naccessor methods : framework로 부터 정보 획득.\nmutator methods : framework의 행위 제어.\n
  12. \n
  13. \n
  14. interceptor 상속 받은 concrete interceptor 구현.\ninterceptor를 dispatcher에 등록. iterator pattern.\nconcrete framework는 컨텍스트 생성/dispatcher에게 알림.\n
  15. \n
  16. 상태 머신은 필요한 interceptor의 식별하게 하고, concrete framework 의 행위를 정위하는데 도움이 된다.\n
  17. \n
  18. \n
  19. \n
  20. Proxy에서 부가적인 작업을 수행한다.\n
  21. 특별한 concrete 프레임워크(컨테이너)를 통해 기반 서비스(트랜잭션, 시큐리티, persistence)를 구현하지 않는다.\n
  22. 확장성과 유연성-concrete framework를 수정없이 추가,수정,제거할 수 있다.\nSeparation of concerns - interceptor를 기존 어플에 영향을 주지않고 투명하게 추가할 수 있다. 개발자는 로직에만 전념할 수 있다.\n모니터링/제어 - 관리자툴, 디버거, 로드 밸런싱, fault tolerance.\n대치 레이어-클라이언트/서버 각각의 interceptor 구현.\nresuablility-interceptor를 재 사용할 수 있다.\n\n\n
  23. erroneous interceptors-timeout\ninterception cascades-concrete framework의 새로운 이벤트를 발생시키는 행위 변경하는것은 시스템 퍼포먼스 낮추고 데드락을 가능성을 만든다.\n