아키텍처 다이어그램

AppFabric은 WAS(Windows Process Activation Service)의 발전된 형태이며 Windows Server에서 WCF 및 WF 서비스를 호스트하고 관리하는 응용 프로그램 서버 역할입니다. AppFabric은 .NET Framework 4와 밀접하게 결합되고 WCF 및 WF 서비스의 지속성, 모니터링 및 호스팅과 같이 프레임워크 제공 주요 기능의 일부로 제공되는 여러 기능을 사용합니다. 또한 AppFabric은 IIS(인터넷 정보 서비스)와 통합되어 IIS 관리 콘솔 내에서 관리 및 모니터링 도구를 제공합니다.

다음 아키텍처 다이어그램에서는 AppFabric에서 사용되는 .NET Framework 4, IIS 구성 요소 및 AppFabric의 일부를 보여 줍니다.

아키텍처 개요 그림

이 항목에서는 아키텍처 다이어그램에서 설명되는 각 기술에 대한 자세한 정보를 제공하여 AppFabric 아키텍처를 살펴 봅니다.

Windows Process Activation Service 강화

아키텍처 다이어그램에는 AppFabric이 맨 아래에 빌드된 기본 기술이 표시되므로 IIS 및 WAS부터 시작합니다.

IIS 및 WAS

AppFabric은 IIS 및 WAS에서 제공된 강력한 호스팅 환경을 기반으로 빌드됩니다. WAS 내의 호스팅 응용 프로그램은 다음과 같이 SOA(서비스 지향 아키텍처)에 효과적인 여러 기능을 제공합니다.

  • 들어오는 메시지에 대한 응답으로 응용 프로그램을 동적으로 시작 및 중지할 수 있는 메시지 기반 응용 프로그램 활성화

  • 실행 중인 응용 프로그램의 상태를 유지 관리하기 위한 강력한 응용 프로그램 및 작업자 프로세스 재활용

  • 응용 프로그램 구성 및 관리

  • 처리 및 관리의 목적으로 응용 프로그램을 사이트에 구성. 런타임에 응용 프로그램은 런타임 프로세스 경계를 정의하는 응용 프로그램 풀과 연결됩니다.

그러나 제공된 모든 기능에 대해 WCF 및 WF 서비스의 배포, 관리 및 모니터링이 처리되는 것은 아니며, 응용 프로그램 개발자가 배포 수단, 관리 지침 및 사용자 지정 모니터링 솔루션을 제공해야 한다는 부담을 지게 됩니다. 또한 요청 시 활성화와 프로세스 재활용으로 인해 IIS 및 WAS 워크플로와 같은 장기 실행 프로세스를 호스트하기가 어려울 수 있습니다. 응용 프로그램에 필요한 경우 개발자가 상태 지속성 및 호스트 활성화를 명시적으로 구성해야 합니다. AppFabric은 응용 프로그램을 쉽게 배포 및 모니터링하고 호스팅 환경의 기능을 구성할 수 있게 하는 도구와 서비스를 제공하여 이러한 단점을 해결합니다.

런타임 서비스 및 구성 요소

AppFabric에서는 장기 실행 워크플로 상태를 지속성 저장소에 유지하고 콘텐츠를 기반으로 라우팅하며 구성에 따라 활성화하는 등의 서비스를 제공합니다.

ASP.NET

응용 프로그램 도메인, 수명 주기 관리, 상태 모니터링, 공용 구성 시스템 및 동적 컴파일과 같이 WAS 호스팅 환경을 유용하게 하는 대부분의 기본 기능은 ASP.NET에서 제공됩니다. ASP.NET은 또한 HTTP를 사용하여 메시지를 수신하는 WCF 및 WF 서비스에 대한 메시지 기반 활성화를 제공합니다.

WCF 및 WF

WCF 및 WF 서비스는 SOA 응용 프로그램을 만들기 위한 기본 구성 요소를 제공하고, AppFabric의 중심입니다. WCF는 다른 기술을 사용하여 빌드된 응용 프로그램에 대한 상호 운용성을 포함하여 웹을 통해 통신하는 SOA 응용 프로그램을 개발하기 위한 통합 프로그래밍 모델을 제공합니다. WF는 장기 실행 프로세스를 구현하는 데 사용할 수 있는 워크플로 엔진을 제공합니다.

WCF 및 WF에 대한 자세한 내용은 Windows Communication Foundation(영문)Windows Workflow Foundation(영문)을 참조하십시오.

런타임 데이터베이스

응용 프로그램을 실행하거나 모니터링 정보를 캡처하기 위해 상태 지속성을 구현할 경우 처음 고려해야 하는 사항 중 하나는 데이터 저장소 미디어입니다. SOA 응용 프로그램의 경우 특히 데이터 저장소는 강력하고 안전하고 확장 가능하며 가용성이 높아야 합니다. 응용 프로그램이 팜에 있는 여러 서버에서 실행되는 구성 요소로 구성될 수 있으므로 데이터 저장소도 여러 서버에서 동시에 쉽게 액세스할 수 있어야 합니다.

이러한 조건을 충족하기 위해 AppFabric은 모든 지속성 및 모니터링 정보를 하나의 데이터 저장소에 저장합니다.

참고

기본적으로 지속성 및 모니터링 데이터는 동일한 데이터베이스에 저장됩니다. 그러나 데이터를 개별 데이터베이스로 분할하거나 특정 응용 프로그램에 대해 추가적인 지속성 및 모니터링 데이터베이스를 만들 수도 있습니다.

AppFabric에서 사용하는 데이터베이스에 대한 자세한 내용은 데이터베이스 관리를 참조하십시오.

지속성

응용 프로그램을 호스트하는 어려움 중 하나는 응용 프로그램이 시스템 오류나 다시 시작과 같은 이벤트를 견딜 수 있도록 하는 것입니다. AppFabric은 WF 서비스가 해당 상태를 지속성 데이터베이스에 저장하고 시스템 오류 또는 다시 시작 시 정상 시스템에 대해 실행을 다시 시작하도록 하는 지속성 공급자를 사용하여 이 작업을 수행합니다.

시스템 오류나 다시 시작에 대한 영속성을 제공할 뿐만 아니라 지속된 워크플로 인스턴스에서 처리해야 하는 메시지가 도착할 때 다른 응용 프로그램을 위해 리소스를 확보하고 작업을 다시 시작하기 위해 장기 실행 WF 서비스가 정상적인 실행 중에 일시 중단될 수 있습니다. 지속된 WF 인스턴스에 대한 “실행” 표시기를 모니터링하고 인스턴스를 다시 시작하는 지속적 타이머를 사용하여 특정 간격 후에 WF 서비스를 다시 시작하도록 트리거할 수도 있습니다.

지속성에 대한 자세한 내용은 지속성 개념을 참조하십시오.

호스팅

AppFabric은 ServiceHost(호스트 WCF) 및 WorkflowServiceHost(호스트 WF) 서비스 호스팅 환경을 IIS 및 WAS와 통합합니다. 예를 들어, 두 호스트는 정상적인 appDomain 종료 및 재활용과 응용 프로그램 자동 시작 프로세스에 참가합니다. IIS 및 WAS의 결합된 기능은 WCF 및 WF 응용 프로그램에 대한 강력한 호스팅 환경을 제공하지만 이러한 기능을 이용하는 것은 개발자의 입장에서 응용 프로그램을 배포 및 구성하는 데 상당한 노력이 필요합니다. AppFabric은 사용자 지정 배포 솔루션이나 수동 구성 절차를 사용할 필요 없이 응용 프로그램을 표준 방식으로 구성할 수 있는 종합적인 도구 집합을 제공합니다.

AppFabric이 IIS 및 WAS 기술을 이용하는 방식에 대한 자세한 내용은 호스팅 개념을 참조하십시오.

모니터링

WCF 및 WF 서비스를 사용하여 빌드되는 솔루션이 느슨하게 결합 및 분산되는 특성으로 인해 모니터링 및 문제 해결 시 응용 프로그램 내에서 진행되는 작업에 대한 전체적인 상황을 파악하기 위해 개별 서비스를 확인한 다음 관찰된 이벤트를 수동으로 상호 연결해야 하는 어려운 경우가 종종 발생합니다. AppFabric에서는 다양한 원본에서 이벤트를 수집하고 상호 연결하여 실행 중인 프로세스의 실행에 대한 전체적인 뷰를 제공합니다. 이 데이터는 데이터베이스에 저장되고, IIS 관리 콘솔에서 호스트되는 모니터링 도구 또는 Windows PowerShell용 응용 프로그램 서버 모듈 cmdlet을 사용하여 검색할 수 있습니다.

모니터링에 대한 자세한 내용은 모니터링 개념를 참조하십시오.

관리 API

광범위한 관리 시나리오를 지원하기 위해 AppFabric에서는 Windows PowerShell용 응용 프로그램 서버 모듈을 cmdlet으로 사용하여 모든 관리 기능에 대한 액세스를 제공합니다. 이 구현은 Windows PowerShell 명령줄 셸에서 대화식으로 cmdlet을 호출하거나, cmdlet을 호출하는 스크립트를 작성하거나, 사용자 지정 응용 프로그램 내에서 cmdlet을 호출하는 것과 같은 관리 기능을 사용하는 다양한 방법을 제공합니다.

자세한 내용은 관리 도구를 참조하십시오.

IIS 관리자

WF 및 WCF 서비스의 중앙 구성 및 관리를 제공하기 위해 AppFabric은 IIS 관리자 내에서 WCF 및 WF 서비스에 대한 다양한 관리 및 모니터링 도구 집합을 제공합니다. 또한 AppFabric에서는 MSDeploy를 사용하여 서비스를 WAS 호스팅 환경으로 배포합니다. MSDeploy를 사용하여 WCF 및 WF 서비스가 포함된 응용 프로그램을 배포할 수도 있습니다.

참고

IIS 관리 콘솔에 제공된 모든 기능은 Windows PowerShell용 응용 프로그램 서버 모듈을 기반으로 하고 Windows PowerShell cmdlet으로 구현됩니다. 따라서 AppFabric 사용자 인터페이스에서 수행되는 모든 작업은 스크립팅될 수 있습니다.

IIS 관리자로의 AppFabric 확장에 대한 자세한 내용은 관리 도구를 참조하십시오.

Visual Studio

Visual Studio 2010에서는 WCF 및 WF 서비스가 포함된 응용 프로그램을 만드는 데 사용할 수 있는 다양한 개발 환경을 제공합니다. 또한 Visual Studio 2010은 F5 키를 누를 때 AppFabric 내에서 서비스를 직접 테스트하는 기능을 지원하고, MSDeploy를 통해 AppFabric 환경으로 직접 가져올 수 있는 프로젝트 배포 패키지를 만드는 기능을 제공합니다.

Visual Studio 2010에 대한 자세한 내용은 Visual Studio 2010(영문)을 참조하십시오. AppFabric에서 Visual Studio 2010을 사용하는 방법에 대한 자세한 내용은 다음 항목을 참조하십시오.

참고 항목

개념

아키텍처 개요

  2011-12-05