component configurator

14
Pattern Oriented Software Architect 2 <Component Configurator > 네이버 아키텍트를 꿈꾸는 사람 발 표 : 김연기

Upload: scor7910

Post on 08-Jul-2015

714 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Component configurator

Pattern Oriented Software Architect 2

<Component Configurator>

네이버 아키텍트를 꿈꾸는 사람들

발 표 : 김연기

Page 2: Component configurator

Component Configurator

• 실행중 코드의 수정이나 응용프로그램이 re-link 작업 없이 , component 를 link , unlink 가능

• 프로세스의 재시작 이나 종료하지 않아도 , 다른 응용프로그램에서 사용하고 있는 component 를 재설정 할 수 있다.

Page 3: Component configurator

Context

• Component 의 초기화 , 지연 , resume, 종료 등이 필요한 응용프로그램이나 시스템이 유연하고 투명하게 동작해야 한다 .

Page 4: Component configurator

Problem

• Component 의 기능이나 구현이 많은 시스템이나 응용 프로그램에서 변경 된다 .

• 개발자들이 여러 프로세스들이 공동으로 사용하는 Component 들을 어떻게 효율적으로 사용하고 배포하는 방법을 모를 수 있다 .

• 시스템 코어 Component 에 대해서는 간단하고 Component 독립적으로 다루어 져야 한다 .

Page 5: Component configurator

Solution

• 응용 프로그램이 Component 의 구현부를 설정 할 때 , 구현부와 Component 의 interface 를 분리 한다 .

Page 6: Component configurator

Structure(1)

Page 7: Component configurator

Structure(2)

Page 8: Component configurator

Dynamics(1)

• 초기화 : Component Configurator 는 응용프로그램에 Component 를 링크 시키고 , Component를 Component Repository 에 추가한다 .

• 실행 : 응용 프로그램이 Component 의 설정이완료되면 Component 는 해당 작업을 수행한다 .

• 종료 : Component Configurator 는 Component 의 사용이 완료되면 Compoent 의 자원을 정리하고 종료하고 , Component Repository 에서 해당 Component 를 제거 한다.

Page 9: Component configurator

Dynamic(2)

Page 10: Component configurator

Dynamic(3)

Page 11: Component configurator

Implementation(1)

• Component 설정과 Control Interface 정의

• Component Repository 구현• Component Configuration 의 메커니즘을 구현 . 응용프로그램이 Component를 실행하기 전에 설정이 완료되어야 한다 .

• Component 설정을 제어하기 위한 언어를 정의 한다 .

Page 12: Component configurator

Implementation(2)

• Component 설정을 제어하기 위한 언어를 파싱하고 실행 하기 위한 메커니즘을 구현 .

• 동적으로 Component 를 설정할 수 있는 메커니즘을 구현 .

• Concrete Component 를 구현 .• Component 간 통신 메커니즘을 구현 .

Page 13: Component configurator

Known Uses

• Windows Service Control Manager• Device Drivers• Java Applets• Dynamic TAO reflective ORB• ACE

Page 14: Component configurator

Consequence

• 동일한 설정 규정과 제어 인터페이스를 제공 .

• 동일한 설정과 제어 메커니즘이 있기 때문에 Component 들을 관리하기 쉽다 .

• Component 설정제어를 실시간으로 분석하기 힘들다 .

• 보안에 약하다 .• Time Critical 한 Component 의 경우 오차를 발생 시킬수 있다 .