제 2과: HRApplicationServices 워크플로 서비스 배포

목표: Visual Studio에서 워크플로 서비스 프로젝트에 대한 배포 설정을 지정하는 방법과 배포 패키지(*.zip 파일)를 만드는 방법을 알아봅니다. 그런 다음 IIS(인터넷 정보 서비스) 관리 도구를 사용하여 IIS에서 배포 패키지를 배포합니다.

목적: WCF 및/또는 WF 서비스가 포함된 응용 프로그램을 배포합니다.

사전 요구 사항

이 단원을 시작하기 전에 다음 사전 요구 사항을 참고하십시오.

  • AppFabric을 설치하고 구성해야 합니다. 자세한 내용은 제 1과: 시작을 참조하십시오.

  • 자습서 파일을 설치해야 합니다. 자세한 내용은 제 1과: 시작을 참조하십시오.

배포 패키지 만들기

Visual Studio에서 배포 값을 설정하려면

  1. Visual Studio 2010을 열고 관리자로 실행합니다. 시작 메뉴에서 모든 프로그램을 클릭하고 Visual Studio 2010 폴더를 연 다음 마우스 오른쪽 단추로 Microsoft Visual Studio 2010을 클릭하고 관리자 권한으로 실행을 클릭합니다.

  2. 솔루션을 빌드합니다. 빌드 메뉴에서 솔루션 빌드를 클릭하거나 F6을 누릅니다.

  3. HRApplicationServices 노드를 확장합니다. 이 노드에는 배포할 워크플로 서비스가 들어 있습니다.

  4. Web.config 노드를 확장합니다. 이 노드 내에 Web.Debug.configWeb.Release.config라는 하위 노드 두 개가 있는지 확인합니다.

  5. Web.Release.config 파일을 열고 파일의 내용을 확인합니다. 기본 파일에는 <xml>, <configuration>, <system.web> 및 **<compiliation>**이라는 4가지 요소만 있습니다. 그러나 완료된 구성 파일에는 다음 코드가 포함되어 있습니다.

    <configuration xmlns:xdt=
           "https://schemas.microsoft.com/XML-Document-Transform">
      <!--Modify the BaseURI key -->
      <appSettings>
        <add key="BaseURI"
             value="https://localhost/HRApplicationServices"
             xdt:Transform="SetAttributes(value)"
             xdt:Locator="Match(key)"/>    
      </appSettings>
      <system.serviceModel>
        <client>
          <!--Modify the endpoint addresses for production -->
          <endpoint
            address="https://localhost/HRApplicationServices/SubmitApplication.xamlx"
            binding="basicHttpBinding"
            bindingConfiguration="BasicHttpBinding_IApplicationService"
            contract="IApplicationService"
            name="BasicHttpBinding_IApplicationService"
            xdt:Transform="SetAttributes(address)" xdt:Locator="Match(name)"/>
        </client>
      </system.serviceModel>
      <system.web>
        <compilation xdt:Transform="RemoveAttributes(debug)" />
      </system.web>  
    </configuration>
    

    <appSettings> 요소를 확인합니다.

    <appSettings>
        <add key="BaseURI"
             value="https://localhost/HRApplicationServices"
             xdt:Transform="SetAttributes(value)"
             xdt:Locator="Match(key)"/>    
      </appSettings>
    

    MSDeploy를 사용하여 배포할 경우 변환 시 MSBuild 프로세스에서 <appSettings> XML 요소의 BaseURI 노드를 찾아 다음에 정의된 특성 값으로 해당 특성 값을 바꾸도록 합니다. https://localhost/HRApplicationServices

    프로젝트를 빌드하고 구성 파일을 만들면 변환된 web.config에 다음 행이 나타납니다.

    <appSettings>
        <add key="BaseURI" value="https://localhost/HRApplicationServices" />
      </appSettings>
    
  6. 또한 구성에는 서비스에 연결하는 데 필요한 WCF(Windows Communication Foundation) 값을 정의하는 <system.ServiceModel> 요소가 포함되어 있습니다. 간단히 말하면 이 섹션에서는 서비스에 필요한 주소, 바인딩 및 계약 정보를 제공합니다. 자세한 내용은 구성 파일을 사용하여 서비스 구성을 참조하십시오.

  7. Visual Studio 도구 모음에서 구성을 디버그에서 릴리스로 전환합니다.

    Visual Studio: 릴리스로 전환

  8. 솔루션 탐색기에서 HRApplicationServices 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 패키지/게시 설정을 클릭합니다. 그러면 프로젝트 속성 페이지의 패키지/웹 게시 섹션이 열립니다.

  9. **배포할 항목(모든 배포 방법에 적용)**에서 이 응용 프로그램을 실행하는 데 필요한 파일만이 선택되어 있는지 확인합니다.

  10. 웹 배포 패키지 설정에서 배포 패키지를 ZIP 파일로 만들기가 선택되어 있는지 확인합니다.

  11. 패키지를 만들 위치를 클립보드에 복사합니다. 기본적으로 이 위치는

    **Obj\Release\Package\<solution name.zip>**입니다.

  12. 대상 서버에서 사용할 IIS 웹 사이트/응용 프로그램 이름을 설정합니다.

  13. 솔루션에 모든 파일을 저장합니다.

배포 패키지를 만들려면

  • HRApplicationServices를 마우스 오른쪽 단추로 클릭한 다음 배포 패키지 빌드를 클릭합니다. 작업이 완료되면 왼쪽 아래에 **게시했습니다.**로 상태가 표시되어야 합니다.

IIS로 응용 프로그램 가져오기

이 섹션에서는 AppFabric에서 통신에 net.pipe 프로토콜을 사용하도록 응용 프로그램을 배포하고 바인딩 설정을 편집합니다.

HRApplicationServices 응용 프로그램을 가져오려면

  1. 시작 > 실행을 클릭한 다음 inetmgr을 입력하여 IIS 관리자를 엽니다.

  2. 서버 노드와 사이트 노드를 차례대로 확장한 다음 기본 웹 사이트를 마우스 오른쪽 단추로 클릭합니다. 그런 다음 배포/가져오기를 클릭하고 응용 프로그램 가져오기를 클릭합니다.

  3. 대화 상자에 응용 프로그램의 .zip 파일 경로를 붙여 넣습니다.

  4. 응용 프로그램 패키지 설치 대화 상자에 응용 프로그램 및 데이터베이스가 표시됩니다. 기본값을 적용합니다.

  5. 다음을 세 번 클릭하여 응용 프로그램 패키지 가져오기 마법사 페이지의 나머지 부분에서 기본값을 적용합니다. 기본 .NET 4 응용 프로그램 풀에서 이 응용 프로그램을 실행할지 묻는 메시지가 표시되면 를 클릭합니다.

  6. 요약 페이지에서는 패키지에서 설치된 일부 항목에 대해 개괄적으로 설명합니다. 자세히 탭에서는 정확히 추가된 항목에 대해 자세하게 설명합니다.

net.pipe 프로토콜 사용

AppFabric은 안정성 및 인스턴스 제어 기능을 제공하기 위해 워크플로 지속성 저장소와 함께 작동하는 WMS(Workflow Management Service)를 설치합니다. WMS는 net.pipe 프로토콜을 사용하여 워크플로 서비스와 통신합니다. 따라서 응용 프로그램에 이 프로토콜이 사용 가능하도록 설정되어 있어야 합니다.

net.pipe 바인딩을 사용하려면

  1. IIS 관리자에서 기본 웹 사이트를 마우스 오른쪽 단추로 클릭한 다음 **바인딩 편집…**을 클릭합니다.

  2. 바인딩 정보를 확인하려면 목록에서 별표(*)가 표시된 net.pipe를 찾습니다. 해당하는 항목이 없으면

    1. 추가 단추를 클릭합니다.

    2. 사이트 바인딩 추가 대화 상자에서 net.pipe를 선택합니다.

    3. 바인딩 정보 상자에 별표(*)를 입력합니다.

학습한 내용

이 단원에서는 Visual Studio에서 배포 설정을 지정한 다음 배포 패키지를 만들었습니다. 또한 IIS 관리자로 배포 패키지를 가져와 응용 프로그램을 배포했습니다. 마지막으로 net.pipe 프로토콜을 사용하여 응용 프로그램과 통신하도록 AppFabric을 설정했습니다.

다음 단계

제 3과: HRApplicationServices 응용 프로그램 구성으로 이동하여 모니터링 및 지속성을 구현하도록 AppFabric을 구성합니다.

참고 항목

개념

제 1과: 시작
제 3과: HRApplicationServices 응용 프로그램 구성
제 4과: HRApplicationServices 응용 프로그램 상태 모니터링
제 5과: AppFabric을 사용하여 일시 중단된 워크플로 다시 시작

다른 리소스

제6과: 예외에 대한 Order Service 모니터링

  2011-12-05