TFS와 Project Server 통합을 위한 동기화 개요

동기화 엔진이 Visual Studio Team Foundation Server 2013 및 Microsoft Project Server 서버 제품 간의 데이터 흐름을 관리하는 방법을 이해하면 이 두 제품의 통합을 보다 효율적으로 관리할 수 있습니다. 동기화 엔진은 Project Professional에서 작업하는 프로젝트 관리자와 Team Foundation에서 작업하는 팀 멤버 및 팀 리더의 독립적인 워크플로를 지원합니다. 각 영역에서 결과물과 작업을 독립적으로 개발할 수 있습니다.

항목 내용

  • 3가지 동기화 유형

  • 동기화가 적용되는 데이터

  • 업데이트 중/전송 시에 수행되는 데이터 유효성 검사

  • 미러 필드 및 "두 값 집합"

  • 동기화를 지원하는 데 필요한 사용 권한

  • 오류 알림, 이벤트 로깅 및 추적 가능성

3가지 동기화 유형

동기화 엔진은 3가지 유형의 동기화를 수행합니다. 이 프로세스에서는 프로젝트 계획의 프로젝트 관리자 데이터 소유권을 유지하면서 TFS 및 Project Server의 작업 및 자원 관련 데이터를 캡처하고 업데이트합니다. 프로젝트 관리자는 Microsoft Project Professional을 사용하여 변경을 수행하고 PWA(Project Web Access 또는 Project Web App)를 통해 업데이트를 승인합니다. 개발 팀 멤버는 Team Foundation 클라이언트를 사용하여 Project Server로 업데이트를 전송합니다.

다음 그림에 나와 있는 것처럼 데이터 동기화는 7가지 주요 단계로 구성됩니다.

Team Foundation Server 및 Project Server 통합을 위한 동기화 프로세스

PS-TFS 동기화 프로세스

동기화 엔진은 정기 일정으로 실행되며 각 작업 항목을 업데이트할 때는 실행되지 않는 단일 작업 서비스로 구성됩니다. 동기화 작업에서는 다음의 3개 프로세스를 아래 순서로 수행합니다.

게시 동기화:

1단계 프로젝트 관리자가 작업이나 결과물을 정의 또는 업데이트하고, 동기화할 각 작업에 대해 팀 프로젝트에 게시 값을 로 설정합니다.

2단계프로젝트 관리자가 Microsoft Project Professional을 사용하여 Enterprise 프로젝트 계획을 게시합니다. 변경 내용은 Project Server용 데이터베이스에 자동으로 저장됩니다.

3단계동기화 엔진이 Project Server에서 데이터를 끌어온 다음 동기화용으로 구성된 데이터를 기준으로 업데이트할 데이터를 결정합니다. 동기화용으로 구성된 개체, 작업 및 작업 항목만 업데이트됩니다.

4단계 동기화 엔진이 Team Foundation에서 작업 항목을 만들거나 업데이트하고 Project의 작업을 Team Foundation의 작업 항목에 바인딩하는 링크를 정의합니다.

상태 동기화:

5단계팀 리더나 팀 멤버가 Enterprise 프로젝트의 작업에 연결된 Team Foundation의 작업 항목을 수정하거나, 작업 항목을 만들고 Project Server에 전송 값을 로 설정합니다. 동기화 엔진이 매핑된 팀 프로젝트에 대해 수행된 변경을 쿼리하고 PWA(Project Web Access 또는 Project Web App)에서 하나 이상의 승인 큐로 요청을 보냅니다.

승인 동기화:

6단계 각 프로젝트 관리자가 승인 큐를 검토하고 각 상태 업데이트 요청을 승인하거나 거부합니다.

업데이트가 승인되면 프로젝트 관리자는 프로젝트 계획을 게시해야 하며 그러면 업데이트가 Project Server에 표시됩니다.

중요

동기화 엔진이 Project Server에 여러 작업 항목 수준을 전송할 때는 첫 번째 수준이 승인되어 Project Server에 게시되어야 다음 수준을 전송할 수 있습니다.3개 자식 항목 수준을 포함하는 새 작업 항목 일괄 처리를 전송하는 경우를 예로 들어 보겠습니다.이 경우 프로젝트 관리자가 프로젝트 계획을 4번 게시해야 모든 작업 항목이 Project Server와 동기화됩니다.

7단계 Project Server의 승인용 이벤트 처리기가 승인 결정 사항을 동기화 엔진으로 전송하며, 그러면 동기화 엔진이 승인 상태에 따라 Team Foundation Server의 작업 항목을 업데이트합니다.

맨 위로 이동

승인 및 거부 관리

Project Server에 연결된 작업 항목에 대한 모든 변경 내용은 팀 프로젝트에 매핑된 Enterprise 프로젝트 계획의 프로젝트 관리자에게 승인을 위해 전송해야 합니다. Team Foundation의 모든 업데이트가 자동으로 승인되도록 자동 승인을 설정할 수 있습니다. 자세한 내용은 작업 업데이트 승인 또는 거부를 참조하세요.

승인된 작업 항목은 보통 Enterprise 프로젝트 계획으로 롤백됩니다. 거부된 작업 항목의 경우 문제를 해결하고 다시 전송해야 합니다.

거부된 업데이트에 대해서는 작업 항목의 기록 필드에 메시지가 표시됩니다. 이 메시지는 거부된 값과 거부한 사람을 나타냅니다. Project Server 2010에서 호스팅되는 프로젝트 계획에 매핑된 팀 프로젝트의 경우 메시지에는 항목이 거부된 이유에 대해 프로젝트 관리자가 제공한 설명도 포함됩니다. 팀 멤버는 작업 항목을 조정하여 다시 전송하거나 Enterprise 프로젝트로 전송되지 않도록 제거해야 합니다. 또한 Project Server 마지막 전송 상태를 기준으로 모든 거부된 항목을 찾는 작업 항목 쿼리를 만들 수도 있습니다. 자세한 내용은 작업 항목 전송 모니터링 및 거부 해결을 참조하십시오.

동기화 및 다시 시도 간격

데이터 동기화는 일정에 따라 수행되며 각 작업 항목을 업데이트할 때는 수행되지 않습니다. 동기화 작업 서비스는 30초마다 실행됩니다. 이 시간 동안 서비스는 Project Server 또는 Team Foundation Server에서 수정되었거나 프로젝트 관리자가 승인한 관련 작업 항목과 필드를 쿼리합니다.

동기화 엔진은 1시간마다 이전에 업데이트하지 못한 작업 항목을 다시 전송합니다. 자세한 내용은 동기화 다시 시도 또는 다시 전송 간격 변경을 참조하십시오.

맨 위로 이동

동기화가 적용되는 데이터

두 구성 수준에 따라 동기화에 참여할 수 있는 개체 및 동기화되는 데이터가 결정됩니다. Team Foundation 관리자는 여러 수준의 매핑을 수행하여 동기화에 포함할 수 있는 개체를 구성합니다. 두 번째 수준에서는 프로젝트 관리자와 Team Foundation 사용자가 동기화되는 특정 작업 및 작업 항목을 제어합니다.

맨 위로 이동

동기화에 포함되도록 구성되는 개체

다음 구성에 따라 동기화 프로세스에 포함되는 개체가 결정됩니다. 일반적으로는 Team Foundation 관리자가 이러한 구성을 수행합니다. 그러나 프로젝트 관리자도 Enterprise 프로젝트 계획을 팀 프로젝트에 매핑할 수 있습니다.

  • 팀 프로젝트 컬렉션에 매핑되는 PWA 인스턴스: 이 매핑은 동기화를 지원하도록 팀 프로젝트 컬렉션을 구성하고 컬렉션과 동기화할 수 있는 PWA 인스턴스를 결정합니다.

  • 팀 프로젝트에 매핑되는 Enterprise 프로젝트 계획: 이 매핑은 Enterprise 프로젝트 계획과 팀 프로젝트가 모두 동기화에 포함되도록 구성합니다. 또한 팀 프로젝트와 동기화할 수 있는 Enterprise 프로젝트도 결정합니다.

  • 동기화를 위해 매핑되는 작업 항목 형식: Enterprise 프로젝트 계획을 팀 프로젝트에 매핑할 때는 동기화할 수 있는 작업 항목의 형식을 지정합니다. 이 매핑에서는 작업 항목 폼에 Project Server 탭을 추가하고 각 작업 항목 형식에 대한 유효성 검사 규칙을 Enterprise 프로젝트 계획에 추가합니다.

  • Project Server 필드에 매핑되는 작업 항목 필드: 기본적으로 동기화 엔진은 Team Foundation에서 직함, 배정 대상, 완료된 작업, 남은 작업 시간, 원래 예상 값, 시작 날짜 및 종료 날짜 필드를 동기화합니다. 필드를 추가하고 필드 동기화 방법을 결정하는 매개 변수를 설정할 수 있습니다. 예를 들어 작업 항목 폼에 표시되는 필드와 특정 필드에 대해 서로 다른 값을 허용할지 여부를 결정할 수 있습니다.

자세한 내용은 Team Foundation 구성 요소에 Project Server 구성 요소 매핑동기화할 작업 항목 형식 지정를 참조하십시오.

동기화용으로 구성되는 개별 작업 및 작업 항목

프로젝트 관리자가 TFS에 게시할 Enterprise 프로젝트 계획의 작업을 결정합니다. 팀 멤버는 Project Server에 전송할 팀 프로젝트의 작업 항목을 결정합니다. 프로젝트 관리자는 자세하게 분석된 결과물과 작업을 TFS에 게시할 수도 있고 요약 작업 요소만 게시 및 관리할 수도 있습니다. 종속 작업 또는 부모-자식 작업 항목 게시의 경우에는 몇 가지 제한이 적용됩니다. 여기에 대해서는 이 항목 뒷부분의 업데이트 중/전송 시에 수행되는 데이터 유효성 검사에서 설명합니다.

자세한 내용은 팀 프로젝트에 매핑된 Enterprise 프로젝트 계획에서 프로젝트 세부 정보 관리팀 프로젝트에 매핑된 Enterprise 프로젝트 계획 내에서 비즈니스 요구 사항에 대한 하향식 계획를 참조하십시오.

참고

여러 Enterprise 프로젝트 계획을 팀 프로젝트 하나에 매핑할 수 있지만 Team Foundation의 작업 항목에는 프로젝트 계획의 작업을 하나만 매핑하거나 연결할 수 있습니다.Enterprise 프로젝트 계획의 각 작업은 Project Server에서 고유합니다.Project Server로 전송되는 작업은 Team Foundation의 작업 항목을 하나만 업데이트합니다.또한 Team Foundation에서 작성되어 Project Server로 전송된 작업 항목은 Enterprise 프로젝트 계획을 하나만 업데이트합니다.

업데이트 중/전송 시에 수행되는 데이터 유효성 검사

동기화 프로세스에서는 동기화하도록 태그가 지정된 작업 및 작업 항목을 Project Server에 게시하기 전에 유효성을 검사합니다. 데이터 유효성 검사는 Enterprise 프로젝트 계획 및 팀 프로젝트 모두에 적용됩니다.

프로젝트 관리자가 Enterprise 프로젝트 계획을 게시할 때

Project Professional에서 작업 중인 프로젝트 관리자가 팀 프로젝트에 매핑된 Enterprise 프로젝트 계획을 게시하면 특정 유효성 검사가 수행됩니다. Team Foundation 추가 기능이 Team Foundation에 게시되도록 설정된 작업(팀 프로젝트에 게시=예)에 대해 다음 유효성 검사를 수행합니다.

  • 작업 항목 형식 필드에 대해 설정된 값은 대상 팀 프로젝트에 대해 동기화에 참여하도록 구성된 작업 항목의 형식과 일치해야 합니다.

    중요

    작업을 작업 항목과 동기화하는 데 사용되는 작업 항목 형식 열과 연결된 기본 Project 필드는 텍스트30입니다.팀 리본 메뉴의 팀 프로젝트 선택 옵션을 사용하여 프로젝트 계획을 Team Foundation Server에 연결하는 경우에는 역시 작업 항목 형식 레이블이 지정된 추가 Project 필드를 사용할 수 있게 됩니다.이 필드(기본 Project 필드: 텍스트24)는 Team Foundation에 바인딩되지만 동기화 계획을 지원하지는 않는 프로젝트 계획의 매핑을 지원합니다.텍스트24 기반 필드에는 팀 프로젝트에 대한 작업 항목 형식의 전체 목록이 포함되어 있습니다.해당 필드를 가리킨 후 텍스트30이 표시되는지를 확인하여 필드가 올바른지를 확인할 수 있습니다.

  • 매핑된 Project 필드의 모든 값은 대상 작업 항목 형식에 대해 설정된 규칙을 위반하지 않는지 확인하는 특정 검사를 통과해야 합니다. Enterprise 프로젝트 계획을 팀 프로젝트에 매핑할 때 이러한 규칙이 Enterprise 프로젝트 계획에 추가됩니다.

  • 작업을 게시하고 나면 팀 프로젝트에 게시작업 항목 형식에 대해 설정된 값을 변경할 수 없습니다. 작업을 계속 동기화하지 않으려면 작업을 삭제해야 합니다.

  • 작업과 종속 작업 중 하나가 모두 동기화하도록 표시되어 있으면 두 작업 사이의 모든 작업도 동기화하도록 표시되어야 합니다.

  • 작업의 자원 이름 필드 값은 대상 팀 프로젝트의 유효한 참가자 이름과 일치해야 합니다.

  • 여러 자원을 같은 작업에 배정하는 경우에는 하나의 자원 배정만 활성으로 선택할 수 있습니다. 자세한 내용은 Agile 팀 진행률을 Program Management Office에 표시을 참조하십시오.

  • 모든 작업은 Project Server가 특정 필드 정의에 적용하는 규칙을 따라야 합니다. 예를 들어 조회 테이블과 연결되어 있지만 조회 테이블에는 없는 값을 매핑된 필드에 할당하면 오류가 발생할 수 있습니다.

하나 이상의 규칙을 위반할 때마다 유효성 검사 확인 대화 상자가 표시됩니다. 프로젝트 관리자는 변경 내용을 게시하기 전에 각 오류를 확인해야 합니다.

개발자가 Team Foundation에서 새 작업 항목 또는 업데이트된 작업 항목을 전송할 때

Team Foundation에서 작업 중인 개발자가 작업 항목을 만들거나 업데이트하고 변경 내용을 저장하면 Project Server로 게시하도록 설정된 작업 항목(Project Server에 전송=예)에 대해 다음 유효성 검사가 수행됩니다.

  • 배정 대상 필드의 값은 Enterprise 자원 그룹에도 추가된 팀 멤버 및 프로젝트 계획의 프로젝트 자원에 해당해야 합니다. 자세한 내용은 TFS와 Project Server 통합을 지원하기 위한 권한 할당을 참조하십시오.

  • 팀 프로젝트에 Enterprise 프로젝트 계획을 하나만 매핑하는 경우 새로 만드는 작업 항목에 대해 Project Server 탭의 Enterprise 프로젝트 필드에 해당 이름이 자동으로 표시됩니다.

  • 둘 이상의 Enterprise 프로젝트를 팀 프로젝트에 매핑하는 경우에는 Project Server에 전송 값이 로 설정된 새로 작성한 작업 항목에 대해 Enterprise 프로젝트 필드의 값을 지정해야 합니다.

  • 작업 항목을 Project 작업에 연결한 후에는 작업 항목의 계층 구조를 변경할 수 없습니다. 자세한 내용은 Summary Tasks, Task Hierarchy, and Submissions of Work Items that Are Nested at Multiple Levels을 참조하십시오.

  • 매핑된 작업 항목 형식에 규칙을 추가하면 프로젝트 계획을 게시할 때 유효성 검사 오류가 발생할 수 있습니다. 예를 들어 조건부 규칙은 사용자가 필드에 할당할 수 있는 값을 제한할 수 있습니다. 자세한 내용은 작업 항목 필드에 규칙 적용을 참조하십시오.

  • 조회 테이블 등 Project Server의 필드 정의에 해당하는 기본 규칙으로 인해 상태 동기화 중에 오류가 발생할 수 있습니다. 예를 들어 조회 테이블을 사용하여 Project의 필드에 대해 유효한 값을 정의하고, Team Foundation의 필드에 해당 필드를 매핑한 다음 Team Foundation의 필드를 조회 테이블에 없는 값으로 설정한 경우 오류가 발생할 수 있습니다.

Project Server에 게시한 작업 항목은 대상 Enterprise 프로젝트 계획의 작업에 바인딩됩니다. 이 바인딩을 링크라고도 합니다. 링크는 동기화 중에 잠깁니다. 링크를 제거하려면 Project에서 해당 작업을 삭제하거나 프로젝트 계획 또는 작업 항목 형식 매핑을 제거할 때 /force 옵션을 사용해야 합니다. 자세한 내용은 데이터 동기화에 참여하지 못하도록 구성 요소 제거을 참조하십시오.

맨 위로 이동

미러 필드 및 "두 값 집합"

동기화 엔진은 3가지 유형의 동기화를 수행하며 예약된 협상에서 두 데이터베이스와 통신하므로 데이터 병합은 수행되지 않습니다. 대신 데이터 동기화는 2단계 시퀀스로 수행되며 엔진은 두 제품 간의 발산을 허용합니다. Team Foundation에서 동기화되는 각 필드에 대해 Project Server에서 해당 매핑된 필드의 값을 저장하는 미러 필드를 정의합니다. 일반 동기화 작업 중에는 Team Foundation Server에서 값이 업데이트될 때부터 프로젝트 관리자가 업데이트를 승인하고 프로젝트 계획을 게시할 때까지 두 필드의 값이 다릅니다.

매핑하는 각 필드에 대해 동기화 엔진이 Team Foundation에서 참조 필드를 업데이트할 방법과 관련하여 다음 선택 항목 중 하나를 지정합니다.

자세한 내용은 TFS와 Project Server 통합을 위한 필드 매핑 XML 요소 참조을 참조하십시오.

맨 위로 이동

동기화를 지원하는 데 필요한 사용 권한

Team Foundation Server와 Project Server 간에 데이터를 동기화하려면 다음 사용 권한을 부여해야 합니다.

  • Project Server 2010의 경우 Project Server Service Application에 액세스할 수 있도록 TfsJobAgent를 실행하는 서비스 계정에 모든 권한을 부여해야 합니다. 자세한 내용은 TFS와 Project Server 통합을 지원하기 위한 권한 할당을 참조하십시오.

  • TfsJobAgent를 실행하는 서비스 계정에 각각의 매핑된 PWA 인스턴스에 액세스하는 데 필요한 사용 권한을 부여해야 합니다.

  • Project Professional의 작업 또는 Team Foundation의 작업 항목에 배정된 사용자는 팀 프로젝트에서 참가자로 인식되어야 합니다. 또한 Enterprise 프로젝트 계획의 자원으로 인식되어야 하며 동기화 프로세스에 포함되는 PWA 인스턴스에 로그온하기 위한 사용 권한을 부여받아야 합니다.

자세한 내용은 TFS와 Project Server 통합을 지원하기 위한 권한 할당을 참조하십시오.

맨 위로 이동

오류 알림, 이벤트 로깅 및 추적 가능성

동기화 엔진은 Project Server에 게시되는 프로젝트 업데이트, 상태 업데이트, 승인 업데이트를 차례로 처리합니다. 업데이트를 게시하면 Project Server가 업데이트되며 Enterprise 프로젝트 계획에 작업 및 작업 세부 정보가 추가됩니다. 동기화를 게시하면 Project Server의 데이터를 Team Foundation Server로 끌어옵니다. 상태 동기화에서는 Team Foundation의 데이터를 끌어와 프로젝트 관리자의 승인 큐를 업데이트하며, 승인 동기화에서는 남은 작업 시간, 완료한 작업 등의 필드에 대한 업데이트를 Project Server에 게시합니다. 그러고 나면 새 동기화 주기가 시작됩니다.

각 동기화 유형에서는 Project Professional 또는 PWA 인스턴스에서 프로젝트 관리자에게 관련 상태 및 오류 메시지를 표시할 수 있습니다. 또한 동기화 엔진 및 해당 구성과 연결된 상태 및 오류 메시지를 Team Foundation Server 및 Project Server의 해당 관리 인터페이스에 쓸 수도 있습니다.

프로젝트 관리자, 팀 멤버 및 관리자는 모두 생성되는 동기화 관련 메시지를 확인 및 진단할 수 있습니다. 메시지는 다음 위치에 기록됩니다.

  • Project Professional에서는 Enterprise 프로젝트 계획의 상태 표시줄에 게시 진행률이 표시됩니다.

  • PWA 인스턴스에서는 승인 센터에 업데이트된 작업의 큐가 표시됩니다.

  • Team Foundation의 작업 항목 폼에서는 Project Server 탭에 가장 최근에 작업 항목을 동기화한 시간과 해당 상태가 표시됩니다.

  • Team Foundation의 작업 항목 폼에서는 기록 필드에 각 작업 항목 업데이트 후의 동기화 상태 및 오류 메시지가 기록됩니다. Project Server 2010과 통합하는 경우 프로젝트 관리자가 상태 업데이트를 승인하거나 거부할 때 작성한 설명도 기록 필드에 기록됩니다.

  • 데이터 동기화에 포함되는 응용 프로그램 계층 서버의 이벤트 로그에는 모든 동기화 이벤트 및 오류의 레코드가 보관됩니다.

관리자는 TfsAdmin ProjectServer /GetSyncMessages 명령을 사용하여 가장 최근의 이벤트 메시지를 검색할 수 있습니다. 자세한 내용은 동기화 엔진 오류 메시지 보기을 참조하십시오. 더 자세한 정보를 수집하려는 경우 서비스를 실행하는 Team Foundation 백그라운드 작업 에이전트에 대해 상세 추적을 사용하도록 설정할 수 있습니다. 자세한 내용은 Team Foundation 백그라운드 작업 에이전트을 참조하십시오.

맨 위로 이동

참고 항목

개념

Team Foundation Server 및 Project Server의 통합 관리

기타 리소스

TFS와 Project Server 통합을 사용하여 프로젝트 관리