서비스 관리 서비스
Windows Server AppFabric에서는 WCF 및 WF 서비스를 실행하고 관리하는 데 필요한 환경을 제공합니다. 서비스 관리 서비스는 원격으로 서비스를 시작할 수 있는 기능을 클라이언트에게 제공하여 AppFabric 관리 기능을 향상시킵니다. 서비스 관리 서비스는 serviceManagement 특성을 사용하도록 설정된 모든 응용 프로그램에 AppFabric을 자동으로 추가하는 WCF 서비스입니다.
서비스 관리 서비스에서 지원하는 시나리오
서비스 관리 서비스는 다음과 같은 주요 시나리오를 지원합니다.
워크플로 서비스 인스턴스 활성화
WMS(워크플로 관리 서비스)는 SMS(서비스 관리 서비스)를 호출하여 대기 중인 작업을 가진 워크플로 서비스 인스턴스를 활성화합니다. SMS는 인스턴스 저장소(예: SQL 워크플로 인스턴스 저장소)를 만들고 인스턴스 저장소에서 메모리로 워크플로 서비스 인스턴스를 로드하기 위해 저장소에서 메서드를 호출하는 워크플로 서비스 호스트를 활성화합니다. 인스턴스 활성화에 관한 자세한 내용은 Workflow Management Service를 참조하십시오.
중요
워크플로 관리 서비스는 서비스를 포함하는 응용 프로그램에 대해 사용할 수 있는 net.pipe 프로토콜과 서비스를 포함하는 사이트에 대해 사용할 수 있는 net.pipe 바인딩이 있어야 합니다.
예약된 서비스 시작
이 시나리오에서 사용자 지정 스케줄러는 사용자가 만든 일정에 따라 응용 프로그램에서 서비스를 시작합니다. 예를 들어, 서비스가 일련의 작업 항목을 일 단위로 처리해야 할 수도 있습니다. 서비스 관리 서비스 기능은 이 시나리오를 가능하게 하지만 사용자 지정 스케줄러를 제공하지는 않습니다.
구성
AppFabric 설치는 serviceManagement 특성을 사용할 수 있는 각 응용 프로그램에 대해 서비스 관리 서비스를 활성화할 때 사용되는 루트 Web.config에 다음 서비스 활성화 매개 변수를 추가합니다.
<system.serviceModel>
<serviceHostingEnvironment>
<serviceActivations>
<add relativeAddress="~/ServiceManagement.svc" service="Microsoft.ApplicationServer.Hosting.Management.ServiceManagement" factory="Microsoft.ApplicationServer.Hosting.Management.ServiceManagementFactory, Microsoft.ApplicationServer.Hosting, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</serviceActivations>
</serviceHostingEnvironment>
</system.serviceModel>
서비스 관리 서비스는 바인딩을 위한 net.pipe 프로토콜만 지원합니다. 응용 프로그램에 추가된 서비스 관리 서비스의 주소는 다음 주소 패턴을 따릅니다. {scheme}://hostname:port/<application>/ServiceManagement.svc. 예: net.pipe://localhost/VirtualApplicationB/ServiceManagement.svc.
경고
Windows Server AppFabric 설치에서는 루트 Web.config에서 .svc 확장명이 WCF HTTP 처리기에 매핑되어 있다고 가정합니다. WCF HTTP 처리기가 아닌 처리기에 .svc 확장명이 매핑되어 있으면 SMS(Service Management Service)가 초기화되지 않습니다. WCF HTTP 처리기에 다른 확장명이 매핑된 경우 루트 Web.config에서 SMS의 확장명을 .svc에서 해당 확장명으로 업데이트합니다. .svc 처리기 매핑이 응용 프로그램 수준에서 무시되는 경우에는 이 해결 방법이 적용되지 않습니다.
서비스 관리 서비스 기능은 기본적으로 사용하도록 설정되어 있습니다. AppFabric 설치는 serviceManagement 요소를 루트 Web.config에 추가하고 요소의 enabled 특성을 true로 설정하여 이 기능을 사용할 수 있도록 합니다. 이러한 설정은 응용 프로그램, 가상 디렉터리 및 서비스 수준에서 상속됩니다. 따라서 serviceManagement 특성은 AppFabric이 설치된 시스템의 모든 응용 프로그램에 대해 사용할 수 있습니다.
<microsoft.applicationServer>
<hosting>
<serviceManagement enabled=”true” endpointConfiguration=”” authorizedWindowsGroup=”AS_Administrators” />
</hosting >
</microsoft.applicationServer>
다음 표에서는 serviceManagement 요소의 특성에 대해 설명합니다.
특성 | 설명 |
---|---|
사용 |
AppFabric 설치 프로그램은 루트 Web.config에서 기본적으로 이 특성을 true로 설정합니다. |
authorizedWindowsGroup |
서비스 관리 서비스가 공개하는 끝점에 액세스할 수 있는 Windows 그룹입니다. AppFabric 설치 프로그램은 권한 있는 Windows 그룹으로 AS_Administrators를 설정합니다. 응용 프로그램을 실행하는 ID도 끝점에 액세스할 수 있습니다. |
endpointConfiguration |
루트 Web.config의 standardEndpoints 섹션에 정의된 표준 서비스 관리 끝점을 참조합니다. 이 특성의 기본 값은 ServiceManagementNetPipeEndpoint입니다.
|
다음 구성을 응용 프로그램 Web.config에 추가하여 응용 프로그램에 대해 서비스 관리를 사용하지 못하게 할 수 있습니다.
<serviceManagement enabled=”false” />
다음 구성을 응용 프로그램 Web.config에 추가하여 서비스 관리 서비스를 완전히 제거할 수 있습니다.
<serviceActivations>
<remove relativeVirtualPath=”~/ServiceManagement.svc” />
</serviceActivations>
참고
서비스 관리 서비스는 ServiceHostingEnvironment.EnsureServiceAvailable 메서드를 내부적으로 사용합니다. 이 메서드는 서비스를 활성화하기 위해 ASP.NET 라우팅 경로 사용을 지원하지 않습니다. 따라서 서비스 관리 서비스는 이 활성화 시나리오를 지원하지 않습니다.
참고 항목
개념
2011-12-05