제 2과: HRApplicationServices 워크플로 서비스 배포
목표: Visual Studio에서 워크플로 서비스 프로젝트에 대한 배포 설정을 지정하는 방법과 배포 패키지(*.zip 파일)를 만드는 방법을 알아봅니다. 그런 다음 IIS(인터넷 정보 서비스) 관리 도구를 사용하여 IIS에서 배포 패키지를 배포합니다.
목적: WCF 및/또는 WF 서비스가 포함된 응용 프로그램을 배포합니다.
사전 요구 사항
이 단원을 시작하기 전에 다음 사전 요구 사항을 참고하십시오.
배포 패키지 만들기
Visual Studio에서 배포 값을 설정하려면
Visual Studio 2010을 열고 관리자로 실행합니다. 시작 메뉴에서 모든 프로그램을 클릭하고 Visual Studio 2010 폴더를 연 다음 마우스 오른쪽 단추로 Microsoft Visual Studio 2010을 클릭하고 관리자 권한으로 실행을 클릭합니다.
솔루션을 빌드합니다. 빌드 메뉴에서 솔루션 빌드를 클릭하거나 F6을 누릅니다.
HRApplicationServices 노드를 확장합니다. 이 노드에는 배포할 워크플로 서비스가 들어 있습니다.
Web.config 노드를 확장합니다. 이 노드 내에 Web.Debug.config 및 Web.Release.config라는 하위 노드 두 개가 있는지 확인합니다.
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>
또한 구성에는 서비스에 연결하는 데 필요한 WCF(Windows Communication Foundation) 값을 정의하는 <system.ServiceModel> 요소가 포함되어 있습니다. 간단히 말하면 이 섹션에서는 서비스에 필요한 주소, 바인딩 및 계약 정보를 제공합니다. 자세한 내용은 구성 파일을 사용하여 서비스 구성을 참조하십시오.
Visual Studio 도구 모음에서 구성을 디버그에서 릴리스로 전환합니다.
솔루션 탐색기에서 HRApplicationServices 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 패키지/게시 설정을 클릭합니다. 그러면 프로젝트 속성 페이지의 패키지/웹 게시 섹션이 열립니다.
**배포할 항목(모든 배포 방법에 적용)**에서 이 응용 프로그램을 실행하는 데 필요한 파일만이 선택되어 있는지 확인합니다.
웹 배포 패키지 설정에서 배포 패키지를 ZIP 파일로 만들기가 선택되어 있는지 확인합니다.
패키지를 만들 위치를 클립보드에 복사합니다. 기본적으로 이 위치는
**Obj\Release\Package\<solution name.zip>**입니다.
대상 서버에서 사용할 IIS 웹 사이트/응용 프로그램 이름을 설정합니다.
솔루션에 모든 파일을 저장합니다.
배포 패키지를 만들려면
- HRApplicationServices를 마우스 오른쪽 단추로 클릭한 다음 배포 패키지 빌드를 클릭합니다. 작업이 완료되면 왼쪽 아래에 **게시했습니다.**로 상태가 표시되어야 합니다.
IIS로 응용 프로그램 가져오기
이 섹션에서는 AppFabric에서 통신에 net.pipe 프로토콜을 사용하도록 응용 프로그램을 배포하고 바인딩 설정을 편집합니다.
HRApplicationServices 응용 프로그램을 가져오려면
시작 > 실행을 클릭한 다음 inetmgr을 입력하여 IIS 관리자를 엽니다.
서버 노드와 사이트 노드를 차례대로 확장한 다음 기본 웹 사이트를 마우스 오른쪽 단추로 클릭합니다. 그런 다음 배포/가져오기를 클릭하고 응용 프로그램 가져오기를 클릭합니다.
대화 상자에 응용 프로그램의 .zip 파일 경로를 붙여 넣습니다.
응용 프로그램 패키지 설치 대화 상자에 응용 프로그램 및 데이터베이스가 표시됩니다. 기본값을 적용합니다.
다음을 세 번 클릭하여 응용 프로그램 패키지 가져오기 마법사 페이지의 나머지 부분에서 기본값을 적용합니다. 기본 .NET 4 응용 프로그램 풀에서 이 응용 프로그램을 실행할지 묻는 메시지가 표시되면 예를 클릭합니다.
요약 페이지에서는 패키지에서 설치된 일부 항목에 대해 개괄적으로 설명합니다. 자세히 탭에서는 정확히 추가된 항목에 대해 자세하게 설명합니다.
net.pipe 프로토콜 사용
AppFabric은 안정성 및 인스턴스 제어 기능을 제공하기 위해 워크플로 지속성 저장소와 함께 작동하는 WMS(Workflow Management Service)를 설치합니다. WMS는 net.pipe 프로토콜을 사용하여 워크플로 서비스와 통신합니다. 따라서 응용 프로그램에 이 프로토콜이 사용 가능하도록 설정되어 있어야 합니다.
net.pipe 바인딩을 사용하려면
IIS 관리자에서 기본 웹 사이트를 마우스 오른쪽 단추로 클릭한 다음 **바인딩 편집…**을 클릭합니다.
바인딩 정보를 확인하려면 목록에서 별표(*)가 표시된 net.pipe를 찾습니다. 해당하는 항목이 없으면
추가 단추를 클릭합니다.
사이트 바인딩 추가 대화 상자에서 net.pipe를 선택합니다.
바인딩 정보 상자에 별표(*)를 입력합니다.
학습한 내용
이 단원에서는 Visual Studio에서 배포 설정을 지정한 다음 배포 패키지를 만들었습니다. 또한 IIS 관리자로 배포 패키지를 가져와 응용 프로그램을 배포했습니다. 마지막으로 net.pipe 프로토콜을 사용하여 응용 프로그램과 통신하도록 AppFabric을 설정했습니다.
다음 단계
제 3과: HRApplicationServices 응용 프로그램 구성으로 이동하여 모니터링 및 지속성을 구현하도록 AppFabric을 구성합니다.
참고 항목
개념
제 1과: 시작
제 3과: HRApplicationServices 응용 프로그램 구성
제 4과: HRApplicationServices 응용 프로그램 상태 모니터링
제 5과: AppFabric을 사용하여 일시 중단된 워크플로 다시 시작
다른 리소스
제6과: 예외에 대한 Order Service 모니터링
2012-03-05