서비스 지향 컴퓨팅(Service-Oriented Computing, SOC)에서 서비스 제공자가 서비스를 개발하고인터페이스 명세만 서비스 저장소에 배포되기 때문에, 서비스는 서비스 소비자에게 대부분 블랙 박스 형태로 인식된다. 그러므로, 서비스의 내부 상세 정보와 서비스 컴포넌트에 대한 구현 상세 정보에 대한 제한된 가시성을 제공한다. 또한, 새로운 서비스가 서비스 저장소에 등록되고, 기존에 등록된 서비스의 로직이나 인터페이스가 변경될 수도 있으며, 심지어 이미 등록된 서비스가 삭제될 수 있는 등 SOC 의 서비스는 동적으로 실시간에 쉽게 진화될 수 있다. 서비스의 이런 특징으로, 동적으로 서비스의 다양한 측면을 효과적, 효율적으로 모니터링하는 것을 필요로 하게 된다. 그리고 이런 서비스를 모니터링할 때, 이미 배포된 여러 서비스로부터 데이터를 수집하기 위해 여러 번 서비스를 호출해야 하기 때문에, 시스템에 대한 잠재적인 오버헤드를 유발시킬 수 있는 기술적인 어려움이 존재할 수 있다. 그러므로, 서비스를 모티너링하기 위한 매유 효율적인 아키텍처가 정의되어야 한다. 이를 위하여, 본 논문에서는 Pulling 모델 뿐 아니라 이벤트 주도의 Pushing 모델을 사용하여 아키텍처를 제안한다. 이벤트 주도 프로그래밍은 더이상 새로운 개념이 아니지만, 효과적으로 서비스를 모니터링하기 위해 이벤트 주도 프로그래밍 기법을 적용하거나 특화시킨 연구는 많이 진행되지 않았다.본 논문에서는 먼저, 이벤트 주도 서비스 모니터링에 대한 기본 지식을 설명하고, Pulling 모델과 Pushing 모델을 비교한다. 그리고, 서비스 모니터의 호율성을 시험하기 위한 시뮬레이터에 대한 설계 모델을 제안하며, 모니터의 효율성을 평가하기 위한 메트릭을 정의한다. 마지막으로, 서비스 모니터를 이용하여 사례 연구를 실행하고, 서비스 모니터를 시뮬레이션하고 평가한 결과를 분석한다. 서비스 모니터를 실험함으로써 얻은 분석 결과는 효과적인 서비스 모니터를 설계하는 것 뿐만 아니라 개발된 서비스 모니터의 품질을 평가하는데 사용될 수 있다.
Services in Service-Oriented Computing (SOC) are often black-box since they are typically developed by 3rd party developers and deployed only with their interface specifications. Therefore, internal details of services and implementation details of service components are not readily available. Also, services in SOC are highly evolvable since new services can be registered into repositories, and existing services may be modified for their logic and interfaces, or they may suddenly disappear. These characteristics of services demand an effective and efficient monitoring of various aspects on services dynamically. And one major technical problem for monitoring such services is the potential overhead to the underlying system, mainly due to the excessive method invocations for gathering data from a large number of services deployed and the amount of the monitored data. Hence, there is a strong demand for highly efficient architecture for monitoring services. In order to do so, I incorporate Event-Driven Pushing model in addition to the Pulling model. The idea of Event-Driven Programming is no longer new, but there is not much mature work known for adopting and tailoring the paradigm for monitoring services efficiently. In this paper, I present a design of event-driven service monitor. I firstly explain the foundation about event driven service monitoring, compare both pulling and pushing models, present the design of the simulator for testing the monitor`s efficiency, define the metrics to evaluate the efficiency and finally conduct a experiment and analysis to simulate and validate the design of monitor. Our findings from the experiment can be utilized not only for designing efficient service monitors but also for assessing the quality of the developed service monitors.