IIS와 구성 요소 서비스는 같이 작동하여 웹 응용 프로그램을 작성하기 위한 기본 아키텍처를 형성합니다. IIS는 구성 요소가 제공하는 기능을 사용하여 다음과 같은 작업을 합니다.
참고 IIS 버전 4.0에서는, Microsoft Transaction Server(MTS)가 트랜잭션 지원을 제공했습니다. IIS 5.1과 Windows XP에서는 구성 요소 서비스가 MTS의 모든 트랜잭션 지원을 제공하고 많은 다른 구성 요소 개발 및 배포 기능도 제공합니다.
IIS는 웹 응용 프로그램을 논리적 이름 공간으로 그룹화된 리소스 파일 모음으로 정의합니다. 리소스를 응용 프로그램에 그룹화함으로써 사용자는 이름 공간 전체에서 데이터를 공유하고 격리된 프로세스에서 응용 프로그램을 실행할 수 있게 됩니다.
내부적으로 IIS는 WAM(Web Application Manager)이라고 하는 개체를 통하여 격리된 응용 프로그램을 조정합니다. 이 개체에는 웹 응용 프로그램을 관리하기 위한 프로그램을 작성할 때 사용할 수 있는 공용 인터페이스(IWAMAdmin)가 포함되어 있습니다. 격리된 프로세스에서 웹 응용 프로그램을 실행하면 IIS는 구성 요소 서비스를 사용하여 리소스에 대한 동시 액세스를 조정하고 COM 구성 요소 간에 컨텍스트 정보를 전달합니다.
IIS는 구성 요소 서비스의 ObjectContext 개체를 사용하여 ASP 기본 제공 개체에 ASP 액세스에 의해 호출되는 COM 구성 요소를 전달합니다. 예를 들어 Visual Basic에서 HTML 파일로부터 제안 양식을 액세스해야 하는 COM 구성 요소를 작성할 경우 다음 코드를 사용합니다.
Dim objObjectContext As ObjectContext
Dim vntIn As Variant
Set objObjectContext = GetObjectContext ()
vntIn = objObjectContext.Item("Request").Form("Field1")
구성 요소 서비스는 ObjectContext를 사용하여 COM 구성 요소의 특정 인스턴스에 대한 정보를 유지합니다. IIS가 ASP 스크립트를 컴파일할 때 구성 요소 서비스를 호출하여 ASP 스크립트에 대한 정보를 추적하는 ObjectContext를 작성합니다. ObjectContext에는 ASP 스크립트의 인스턴스를 고유하게 식별하는 identity 속성이 있습니다. 예를 들어 ASP 스크립트가 구성 요소 서비스와 같이 등록된 COM 구성 요소의 인스턴스를 작성하면 각각의 개체는 ASP 스크립트의 ObjectContext와 연결됩니다. 유사하게 @Transaction 지시어로 트랜잭션 ASP 스크립트를 작성하면 구성 요소 서비스에게 이를 알리고 새로운 트랜잭션이 시작됩니다. 이 때부터 구성 요소 서비스는 자신의 제어 하에 있는 리소스의 업데이트를 조정합니다. 구성 요소 서비스는 지속된 리소스에 대한 변경 내용을 추적함으로써 트랜잭션의 무결성을 확인합니다.
참고 IIS 버전 4.0에서는 MTS(Microsoft Transaction Server)가 트랜잭션 지원을 제공합니다. IIS 5.1과 Windows XP에서는 구성 요소 서비스가 MTS의 모든 트랜잭션 지원을 제공할 뿐 아니라 그 외 다른 많은 기능도 제공합니다.
응용 프로그램 격리 및 관리에 대한 자세한 내용은 응용 프로그램 경계 정의를 참조하십시오.
트랜잭션 처리에 대한 자세한 내용은 트랜잭션 처리, 트랜잭션 이해 및 Platform SDK에 있는 구성 요소 서비스 설명서를 참조하십시오.