공통 Windows Server AppFabric 샘플 응용 프로그램

이 샘플 응용 프로그램은 판매 클라이언트 응용 프로그램과 판매 서비스 응용 프로그램으로 구성되어 있습니다. 이 샘플 응용 프로그램은 샘플에 나오는 AppFabric 기능을 쉽게 설명하기 위해 다른 Windows Server AppFabric 샘플과 함께 일반적인 응용 프로그램으로 사용하기 위한 것입니다.

판매 서비스 응용 프로그램은 AppFabric에서 제공되는 추적 지원 및 기본 제공 지속성을 활용할 수 있는 주문 처리용 단순 워크플로를 모델링합니다. 서비스 응용 프로그램은 클라이언트 응용 프로그램에 품목 카탈로그를 제공한 후 각 클라이언트에서 발주된 주문 처리를 시뮬레이션합니다.

참고

샘플은 교육용으로만 제공됩니다. 프로덕션 환경에서 사용하도록 작성된 것은 아니며 프로덕션 환경에서 테스트되지 않았습니다. Microsoft는 이러한 샘플에 대한 기술 지원을 제공하지 않습니다.

AppFabric에 대한 샘플 패키지(샘플 응용 프로그램이 포함되어 있음)는 https://go.microsoft.com/fwlink/?LinkId=169336(영문)에서 다운로드할 수 있습니다.

사전 요구 사항

이 샘플 응용 프로그램은 다음과 같은 경험 또는 지식 수준을 보유한 독자를 대상으로 합니다.

  • IIS(인터넷 정보 서비스)에 대한 기본 지식

  • WCF(Windows Communication Foundation) 및 WF(Windows Workflow Foundation) 응용 프로그램에 대한 기본 지식

  • Windows PowerShell에 대한 기본 지식

  • Microsoft SQL Server에 대한 기본 지식

샘플 응용 프로그램 위치 및 파일

파일 이름 설명

OrderApplication.sln

두 프로젝트에 대한 솔루션 파일

SaleClient

판매 클라이언트 프로젝트 파일을 포함하는 폴더

App.config, OrderManager.cs, Program.cs, SaleClient.csproj, SaleClientForm.cs, SaleClientForm.Designer.cs, SaleClientForm.resx, AssemblyInfo.cs, Resources.Designer.cs, Resources.resx, Settings.Designer.cs, Settings.settings

판매 클라이언트 프로젝트 파일

OrderApplication

판매 서비스 프로젝트 파일을 포함하는 폴더

CancelOrder.cs, CatalogInitializer.cs, CatalogTypes.cs, ProcessNewOrder.cs, SaleService.csproj, SaleService.xamlx, SaleServiceTracking.tp, ShippingProcessor.cs, web.config, AssemblyInfo.cs

판매 서비스 프로젝트 파일

이 샘플 응용 프로그램 설정

  1. 관리자 권한으로 Visual Studio 2010을 시작하고 <samples>\SampleApplication\OrderApplication\OrderApplication.sln을 엽니다. 여기서 <samples>는 AppFabric 샘플을 설치한 경로입니다. 가상 디렉터리를 만들 것인지 묻는 메시지가 표시되면 를 클릭합니다.

    참고

    이 단계에서는 Visual Studio 2010을 사용하여 주문 응용 프로그램을 배포 및 빌드하고, 판매 서비스와 함께 사용하기 위해 기본 응용 프로그램 풀을 구성하는 방법을 보여 줍니다.

  2. 빌드 메뉴, 솔루션 빌드를 차례로 클릭합니다. 출력 창에서 두 프로젝트 빌드에 오류가 없는지 확인합니다.

  3. 시작, 모든 프로그램, Windows Server AppFabric, IIS(인터넷 정보 서비스) 관리자를 차례로 클릭하여 IIS(인터넷 정보 서비스) 관리자를 시작합니다.

  4. 왼쪽의 트리 보기에서 서버 노드를 확장하고 응용 프로그램 풀을 클릭합니다.

  5. 응용 프로그램 풀 목록에서 DefaultAppPool을 마우스 오른쪽 단추로 클릭한 후 고급 설정을 클릭합니다.

  6. 드롭다운 선택을 사용하여 .NET Framework 버전v4.0으로 설정하고 확인을 클릭합니다.

이 샘플 실행

  1. 클라이언트 응용 프로그램 <samples>\SampleApplication\ OrderApplication\SaleClient\bin\Debug\SaleClient.exe를 실행합니다.

  2. 양식 응용 프로그램은 판매 서비스에 현재의 일일 판매 카탈로그를 보내달라는 요청을 발급합니다. 서비스의 실행 상태에 따라 10초 정도 소요될 수 있습니다.

  3. 반환된 카탈로그의 만료 정보를 확인합니다. 주문이 발주되지 않을 경우 약 3분 후에 카탈로그가 만료된다는 내용이 표시됩니다. 24인치 모니터의 주문 수량을 2로 변경하고 TAB 키를 눌러 주문 양식을 업데이트합니다. 이제 청구 총액은 $531.98이 됩니다. 카탈로그가 만료되면 새 카탈로그 가져오기를 클릭하여 서비스에 새 판매 카탈로그를 요청합니다.

  4. 판매 카탈로그를 받고 3분 이내에(3분 후 카탈로그가 만료되므로) 주문 발주를 클릭하고 주문 상태가 주문 접수로 변경되는지 확인합니다. 워크플로의 StatusText 변수가 이 상태 변경을 포착합니다. 추적 프로필을 사용하여 응용 프로그램이 이 변수를 추적하도록 구성할 수 있습니다. 판매 클라이언트 응용 프로그램은 워크플로를 폴링하고 주문이 1분 이내에 입력되었음을 보여 줍니다. 여기서 1분이 더 지나면 주문이 출하됩니다. 주문이 출하되기 전에 주문 취소를 클릭하면 언제든지 주문을 취소할 수 있지만 이 주문은 취소하지 마십시오.

  5. 주문 ID 입력란에서 선택된 값을 마우스 오른쪽 단추로 클릭한 다음 복사를 클릭하여 주문 ID를 클립보드로 복사합니다.

  6. 판매 클라이언트 응용 프로그램을 닫습니다. 호스트되는 워크플로에서는 아무런 작업도 필요하지 않지만 확장성을 위해 워크플로를 지속할 수 있습니다. 이 샘플에서 방금 복사한 주문 ID는 지속되는 워크플로와 클라이언트 요청을 상호 연관시키는 데 사용됩니다.

  7. 클라이언트 응용 프로그램 <samples>\SampleApplication \OrderApplication\SaleClient\bin\Debug\SaleClient.exe의 새 인스턴스를 시작합니다.

  8. 주문 ID 입력란 안쪽을 마우스 오른쪽 단추로 클릭한 다음 붙여넣기를 클릭하여 클립보드로 복사된 주문 ID를 양식 하단의 주문 ID에 붙여넣습니다.

  9. PO 불러오기를 클릭합니다. 이렇게 하면 활성 주문을 회수하여 현재 상태를 표시합니다. 워크플로는 약간의 지연과 함께 주문의 백 엔드 처리를 시뮬레이션합니다. 약 2분 후 주문 상태주문 접수, 주문 입력주문 출하 상태를 순환합니다. 사용자 지정 추적 프로필을 사용하여 호스트가 사용자 지정 보고를 위해 주문의 상태 변경을 추적하도록 구성할 수 있습니다. 이 주문이 처리되는 동안 주문을 취소하는 판매 클라이언트 응용 프로그램의 새 인스턴스를 실행합니다.

  10. 발주된 주문이 포함된 판매 클라이언트 응용 프로그램을 화면 오른쪽으로 이동합니다.

  11. 클라이언트 응용 프로그램 <samples>\SampleApplication \OrderApplication\SaleClient\bin\Debug\SaleClient.exe의 새 인스턴스를 시작합니다.

  12. 판매 카탈로그 가져오기를 클릭하여 새 카탈로그를 받습니다. 서비스의 실행 상태에 따라 10초 정도 소요될 수 있습니다.

  13. 양식에 판매 카탈로그가 채워지면 "Quad Core 2.8 Ghz Processor"의 주문 수량을 20으로 변경합니다. TAB 키를 눌러 주문 양식을 업데이트합니다. 이제 청구 총액은 $6,119.80이 됩니다.

  14. 새 카탈로그가 만료되기 전에 주문 발주를 클릭하고 주문 상태가 주문 접수로 변경되는지 확인합니다.

  15. 주문이 출하되기 전에 재빨리 주문 취소를 클릭하고 주문 상태가 주문 취소로 변경되는지 확인합니다.

배포된 판매 서비스 웹 응용 프로그램 제거

  1. 시작, 모든 프로그램, Windows Server AppFabric, IIS(인터넷 정보 서비스) 관리자를 차례로 클릭하여 IIS(인터넷 정보 서비스) 관리자를 시작합니다.

  2. 왼쪽의 트리 보기에서 서버 노드를 확장합니다. 그런 다음 사이트, 기본 웹 사이트를 차례로 확장합니다.

  3. OrderApplication 노드를 클릭한 다음 제거를 누릅니다.

  4. 를 클릭하여 선택한 응용 프로그램 제거를 확인합니다.

설명

판매 서비스 응용 프로그램은 Microsoft Visual Studio 2010의 WCF 워크플로 서비스 응용 프로그램 템플릿을 사용하여 빌드되었습니다. 판매 서비스에 의해 제공되는 카탈로그는 신문이나 온라인 사이트에서 실행되는 판매와 유사하게 만들어진 것입니다. 해당 판매는 한시적으로만 유효합니다. 양식 기반 클라이언트 응용 프로그램이 판매 카탈로그를 요청한 후 사용자에게는 워크플로에 의해 카탈로그가 만료되기 전에 주문을 발주할 수 있는 3분이 주어집니다.

사용자가 주문을 발주하면 판매 서비스에 의해 주문 ID가 제공됩니다. 이 주문 ID는 지속되는 워크플로 인스턴스와 클라이언트 요청을 상호 연관시키는 데 사용됩니다. 클라이언트 요청은 상관 관계를 통해 워크플로를 다시 활성화시켜 주문의 상태를 확인하거나, 또는 출하되지 않은 주문을 취소할 수 있습니다. 판매 서비스를 사용하여 주문이 발주된 후 약 3분 후에 "주문 접수"에서 "주문 입력"으로 상태가 바뀝니다. 여기서 3분이 더 지나면 주문 상태가 "주문 출하"로 변경됩니다.

샘플 추적 프로필(SaleServiceTracking.tp)을 사용하여 워크플로의 "StatusText" 및 "PurchaseTotal" 변수에 대해 추적을 사용하도록 설정할 수 있습니다. 그러면 워크플로의 서로 다른 위치에 있는 이러한 변수와 관련된 정보를 추적하도록 서비스를 구성할 수 있습니다. 다음은 이 샘플에 제공된 추적 프로필을 사용하여 추적되는 정보입니다.

  • 만료된 카탈로그

  • 주문 취소

  • 주문 입력

  • 주문 출하

  • 출하된 주문과 연관된 구입 총액

추적 정보가 추적 데이터베이스에 기록되면 추적된 데이터에서 상태 보고서를 구성할 수 있습니다. 이 추적 정보는 다른 샘플에서도 사용할 수 있습니다.

  2011-12-05