Windows 프로세스 활성화 서비스에서 호스팅
WAS(Windows Process Activation Service)는 WCF(Windows Communication Foundation) 서비스를 호스트하는 애플리케이션을 포함하는 작업자 프로세스의 활성화 및 수명을 관리합니다. WAS 프로세스 모델은 HTTP에 대한 종속성을 제거하여 HTTP 서버에 대한 IIS 6.0 프로세스 모델을 일반화합니다. 이를 통해 WCF 서비스는 메시지 기반 활성화를 지원하고 지정된 컴퓨터에서 많은 수의 애플리케이션을 호스트하는 기능을 제공하는 호스팅 환경에서 NET.TCP와 같은 HTTP 및 비 HTTP 프로토콜을 모두 사용할 수 있습니다.
WAS 호스팅 환경에서 실행되는 WCF 서비스를 빌드하는 방법에 대한 자세한 내용은 방법: WASWCF 서비스 호스트를 참조하세요.
WAS 프로세스 모델은 더 강력하고 관리하기 하며 리소스를 효율적으로 사용하는 방식으로 애플리케이션을 호스트할 수 있도록 하는 몇 가지 기능을 제공합니다.
HTTP 및 비 HTTP 네트워크 프로토콜을 사용하여 도착하는 들어오는 작업 항목에 대한 응답으로 애플리케이션 및 작업자 프로세스 애플리케이션의 메시지 기반 활성화가 동적으로 시작 및 중지됩니다.
실행 중인 애플리케이션의 상태를 유지하기 위한 강력한 애플리케이션 및 작업자 프로세스 재활용
중앙 집중식 애플리케이션 구성 및 관리.
애플리케이션은 전체 IIS 설치의 배포 공간을 요구하지 않고 IIS 프로세스 모델을 활용할 수 있습니다. Windows Server AppFabric IIS 7.0 및 WAS(Windows Process Activation Service)와 함께 작동하여 NET4 WCF 및 WF 서비스에 대한 풍부한 애플리케이션 호스팅 환경을 제공합니다. 이러한 이점에는 프로세스 수명 주기 관리, 프로세스 재활용, 공유 호스팅, 신속한 오류 보호, 프로세스 분리, 주문형 활성화 및 상태 모니터링이 포함됩니다. 자세한 내용은 AppFabric 호스팅 기능 AppFabric 호스팅 개념 참조하세요.
WAS 주소 지정 모델의 요소
애플리케이션에는 서버에서 수명 및 실행 환경을 관리하는 코드 단위인 URI(Uniform Resource Identifier) 주소가 있습니다. 단일 WAS 서버 인스턴스에는 다양한 애플리케이션이 있을 수 있습니다. 서버는 애플리케이션을 사이트라는 그룹으로 구성합니다. 사이트 내에서 애플리케이션은 외부 주소 역할을 하는 URI의 구조를 반영하는 계층적 방식으로 정렬됩니다.
애플리케이션 주소에는 기본 URI 접두사 및 함께 조인할 때 애플리케이션에 대한 외부 주소를 제공하는 애플리케이션별 상대 주소(경로)의 두 부분이 있습니다. 기본 URI 접두사는 사이트 바인딩에서 생성되며 사이트 아래의 모든 애플리케이션에 사용됩니다. 그런 다음 애플리케이션 주소는 애플리케이션별 경로 조각(예: "/applicationOne")을 가져와서 기본 URI 접두사(예: "net.tcp://localhost")에 추가하여 전체 애플리케이션 URI에 도착합니다.
다음 표에서는 HTTP 및 비 HTTP 사이트 바인딩을 모두 사용하는 WAS 사이트에 대한 몇 가지 가능한 해결 시나리오를 보여 줍니다.
시나리오 | 사이트 바인딩 | 애플리케이션 경로 | 기본 애플리케이션 URI |
---|---|---|---|
HTTP만 | http: *:80:* | /appTwo | http://localhost/appTwo/ |
HTTP 및 비 HTTP 모두 | http: *:80:* net.tcp: 808:* |
/appTwo | http://localhost/appTwo/ net.tcp://localhost/appTwo/ |
비 HTTP 전용 | net.pipe: * | /appThree | net.pipe://appThree/ |
애플리케이션 내의 서비스 및 리소스도 해결할 수 있습니다. 애플리케이션 내에서 애플리케이션 리소스는 기본 애플리케이션 경로를 기준으로 처리됩니다. 예를 들어 컴퓨터 이름 contoso.com 사이트에 HTTP 및 Net.TCP 프로토콜 모두에 대한 사이트 바인딩이 있다고 가정합니다. 또한 사이트에 GetOrders.svc에서 서비스를 노출하는 /Billing에 있는 하나의 애플리케이션이 포함되어 있다고 가정합니다. 그런 다음 GetOrders.svc 서비스가 SecureEndpoint의 상대 주소로 엔드포인트를 노출하는 경우 서비스 엔드포인트는 다음 두 URI에 노출됩니다.
http://contoso.com/Billing/GetOrders.svc/SecureEndpoint
net.tcp://contoso.com/Billing/GetOrders.svc/SecureEndpoint
WAS 런타임
애플리케이션은 주소 지정 및 관리를 위해 사이트로 구성됩니다. 런타임에 애플리케이션도 애플리케이션 풀로 그룹화됩니다. 애플리케이션 풀에는 다양한 사이트의 다양한 애플리케이션이 보관할 수 있습니다. 애플리케이션 풀 내의 모든 애플리케이션은 일반적인 런타임 특성 집합을 공유합니다. 예를 들어 모두 동일한 버전의 CLR(공용 언어 런타임)에서 실행되며 모두 공통 프로세스 ID를 공유합니다. 각 애플리케이션 풀은 작업자 프로세스(w3wp.exe)의 인스턴스에 해당합니다. 공유 애플리케이션 풀 내에서 실행되는 각 관리되는 애플리케이션은 CLR AppDomain을 통해 다른 애플리케이션과 격리됩니다.