윈도우에서 프로그램을 개발하다 보면, 응용 어플리케이션으로 만들었을 경우..
이런 저런 한계에 때문에 고민해 보신 분들이 있을 겁니다.

터미널 서버에서 프로그램을 구동시켜 놓았는데, 누군가 세션을 로그 오프 시켜버리면 꺼진다든지
아니면, 서버가 부팅되었는데 아무도 로그온을 시켜 놓지 않은 상태에서 (즉, 부팅만 된 상태)
돌아가야 한다던지.. 기타 등등 서버 계통에서는 많은 부분을 서비스 프로그램으로 개발하게 된다.

또한, 비스타 계열에서는 UAC 때문에 의외로 까탈스런 부분들이 많은데, 시스템을 건드리는 대부분을
서비스에 몰아놓고, 응응프로그램에서는 서비스와 통신하여 불필요한 경고창이 뜨지 않도록 할 수도 있다.

대충 아주 기본적인걸 살펴보면, 설치->시작->중지->제거 형태로 이루어지고 실제적인 수행은 일반 어플과
크게 다르지 않다. 몇몇 제약사항도 있고, 장점도 존재하므로 이런 것들은 나중에 살펴보도록 한다.

위의 과정을 나열하기 전에 알아두어야할 개념으로 SCM (Service Control Manager) 이라는 용어에 익숙해지자.
윈도우즈 시스템에서 서비스를 제어하는 관리자이며 필요한 대부분의 API를 제공해주는 키워드이다.



다음 장 부터, 서비스의 설치, 시작/중지, 서비스의 제거 형태로 먼저 진행을 한 후에..
기본적인 서비스의 틀을 가진 템플릿 형태의 프로그램을 제작하는 단계로 진행해 볼까 한다.

+ Recent posts