Team Foundation Server 및 Project Server 통합의 동기화 프로세스 개요

업데이트: 2011년 4월

동기화 엔진에서 두 서버 제품 간의 데이터 흐름을 어떻게 관리하는지 이해하고 있으면 Visual Studio Team Foundation Server 2010과 Project Server 2007 SP2(서비스 팩 2) 또는 Project Server 2010의 통합을 더욱 효과적으로 관리할 수 있습니다. 동기화 엔진에서는 Project Professional에서 작업하는 프로젝트 관리자 및 Team Foundation에서 작업하는 팀장 및 팀 멤버의 독립적인 워크플로를 지원합니다. 결과물과 작업은 각 영역에서 독립적으로 개선될 수 있습니다.

항목 내용

  • 세 가지 동기화 형식

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

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

  • 미러 필드 및 "이중 장부"

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

  • 오류 알림, 이벤트 기록 및 추적 가능성

세 가지 동기화 형식

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

다음 그림과 같이 데이터 동기화는 7가지 주요 단계로 구성되어 있습니다.

Team Foundation Server 및 Project Server 통합의 동기화 프로세스

PS-TFS 동기화 프로세스

동기화 엔진은 각 작업 항목이 업데이트될 때가 아닌 정기적인 일정에 따라 실행되는 단일 작업 서비스로 구성되어 있습니다. 동기화 작업은 다음과 같은 세 가지 프로세스를 아래에 표시된 순서대로 수행합니다.

게시 동기화:

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

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

3단계 동기화 엔진이 Project Server에서 데이터를 가져와서 동기화를 위해 구성된 데이터를 기반으로 업데이트할 데이터를 결정합니다. 동기화를 위해 구성된 개체, 작업(task) 및 작업 항목만 업데이트됩니다.

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

상태 동기화:

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

승인 동기화:

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

업데이트가 승인된 후 프로젝트 관리자가 프로젝트 계획을 게시해야 업데이트가 Project Server에 표시됩니다.

중요중요
동기화 엔진에서 여러 수준의 작업 항목을 Project Server로 전송하는 경우 첫 번째 수준을 승인하고 Project Server로 게시해야 다음 수준을 전송할 수 있습니다.예를 들어 세 수준의 자식 항목을 포함하는 새 작업 항목 일괄 처리를 전송할 수 있습니다.이 경우 프로젝트 관리자는 모든 작업 항목이 Project Server와 동기화되도록 프로젝트 계획을 4회 게시해야 합니다.

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의 프로젝트 관리자와 사용자는 동기화되는 특정 작업(task) 및 작업 항목을 제어합니다.

맨 위로 이동

동기화에 참여하도록 구성되는 개체

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

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

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

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

  • Project Server 필드에 매핑되는 작업 항목 필드: 기본적으로 동기화 엔진은 Team Foundation의 제목, 담당자, 완료된 작업, 남은 작업, 원래 예상 값, 시작 날짜 및 종료 날짜 필드를 동기화합니다. 필드를 추가하고, 필드의 동기화 방법을 결정하는 매개 변수를 설정할 수 있습니다. 예를 들어 작업 항목 폼에 표시할 필드를 결정하거나, 특정 필드에 별도의 값을 사용할 수 있는지 여부를 결정할 수 있습니다.

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

동기화를 위해 구성되는 개별 작업(task) 및 작업 항목

프로젝트 관리자는 Enterprise 프로젝트 계획에서 Team Foundation Server에 게시할 작업을 결정합니다. 팀 멤버는 팀 프로젝트에서 Project Server에 전송할 작업 항목을 결정합니다. 프로젝트 관리자는 결과물과 작업에 대한 자세한 분석 정보를 Team Foundation Server에 게시하거나 요약 작업 요소만 게시하고 관리할 수 있습니다. 이 항목의 뒷부분에 나오는 업데이트 및 전송 시 수행되는 데이터 유효성 검사에서 설명한 대로 하위 작업(task) 또는 부모 자식 작업 항목을 게시할 때 몇 가지 제한 사항이 적용됩니다.

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

참고

하나의 팀 프로젝트에 여러 개의 Enterprise 프로젝트 계획을 매핑할 수 있지만 Team Foundation에 있는 하나의 작업 항목에는 프로젝트 계획의 작업(task)을 하나만 매핑하거나 연결할 수 있습니다. Enterprise 프로젝트 계획의 각 작업은 Project Server에서 고유합니다. Project Server에 전송되는 작업(task)은 Team Foundation에 있는 하나의 작업 항목만 업데이트합니다. 그리고 Team Foundation에서 만들어져 Project Server에 전송되는 작업 항목도 하나의 Enterprise 프로젝트 계획만 업데이트합니다.

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

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

프로젝트 관리자가 Enterprise 프로젝트 계획을 게시하는 경우

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

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

    중요

    Text30은 작업(task)과 작업 항목을 동기화하는 데 사용되는 작업 항목 형식 열과 연결된 기본 프로젝트 필드입니다. 팀 리본 메뉴의 팀 프로젝트 선택 옵션을 사용하여 프로젝트 계획을 Team Foundation Server에 연결한 경우 작업 항목 형식이라는 추가 프로젝트 필드를 사용할 수 있습니다. 이 필드는 기본 프로젝트 필드인 Text24와 함께 Team Foundation에 바인딩되는 프로젝트 계획의 매핑을 지원하지만 계획 동기화는 지원하지 않습니다. Text24 기반 필드에는 팀 프로젝트에 대한 작업 항목 형식의 전체 목록이 포함되어 있습니다. 필드를 가리키고 Text30이 표시되는지 확인하여 올바른 필드가 있는지 확인할 수 있습니다.

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

  • 작업(task)을 게시한 후에는 팀 프로젝트에 게시작업 항목 형식에 설정된 값을 변경할 수 없습니다. 계속해서 동기화하지 않으려는 작업은 삭제해야 합니다.

  • 작업과 해당 작업의 하위 작업 중 하나를 동기화하도록 표시하면 이 두 작업 간의 모든 작업도 동기화하도록 표시해야 합니다.

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

  • 동일한 작업에 여러 리소스가 할당되어 있는 경우에는 하나의 리소스 할당만 활성으로 선택해야 합니다. 자세한 내용은 Agile 팀 진행률을 Program Management Office에 표시를 참조하십시오.

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

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

개발자가 Team Foundation의 새 작업 항목 또는 업데이트된 작업 항목을 전송하는 경우

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

  • 담당자 필드 값은 프로젝트 계획의 프로젝트 리소스 및 Enterprise 리소스 풀에 추가된 팀 멤버와 일치해야 합니다. 자세한 내용은 Project Server와 Team Foundation Server의 통합을 지원하기 위한 권한 할당을 참조하십시오.

  • 하나의 팀 프로젝트에 하나의 Enterprise 프로젝트 계획만 매핑하면 새로 만든 작업 항목에 대한 Project Server 탭의 Enterprise 프로젝트 필드에 대해 해당 프로젝트 계획의 이름이 자동으로 나타납니다.

  • 팀 프로젝트에 두 개 이상의 Enterprise 프로젝트를 매핑하면 새로 만들어 Project Server에 전송 값을 로 설정한 작업 항목의 Enterprise 프로젝트 필드 값을 지정해야 합니다.

  • 작업 항목이 Project 작업(task)에 연결된 후에는 작업 항목의 계층 구조를 변경할 수 없습니다.

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

맨 위로 이동

미러 필드 및 "이중 장부"

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

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

  • 항상 Team Foundation Server의 필드를 Project Server의 값(PSWins)으로 업데이트합니다.

  • Team Foundation Server의 필드 값이 Project Server에서 할당된 값과 다를 수 있도록 허용합니다. 이 전략을 "이중 장부"라고 합니다.

    이중 장부를 유지 관리하는 경우 쿼리를 만들어 두 값이 서로 다른 작업 항목을 찾을 수 있습니다. 자세한 내용은 Team Foundation의 작업과 Project Server의 작업이 다른 작업 항목 찾기를 참조하십시오.

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

맨 위로 이동

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

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

  • Project Server 2007의 경우 TfsJobAgent가 실행되는 서비스 계정에 공유 서비스 공급자에 대한 액세스 권한을 부여해야 합니다. 자세한 내용은 SQL Server 2007용 공유 서비스 공급자에 Team Foundation Server 서비스 계정 추가를 참조하십시오.

    Project Server 2010의 경우 Project Server 서비스 응용 프로그램에 액세스할 수 있도록 TfsJobAgent 실행에 사용되는 서비스 계정에 모든 권한을 부여해야 합니다. 자세한 내용은 SQL Server 2010용 Project Server 서비스 응용 프로그램에 Team Foundation Server 서비스 계정 추가를 참조하십시오.

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

  • Project Professional의 작업(task)에 할당된 사용자나 Team Foundation의 작업 항목에 할당된 사용자는 팀 프로젝트의 참가자로 인식되어야 합니다. 해당 사용자는 Enterprise 프로젝트 계획의 리소스로 인식되고 동기화 프로세스에 참여하는 PWA 인스턴스에 로그온할 수 있는 권한을 부여받아야 합니다.

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

맨 위로 이동

오류 알림, 이벤트 기록 및 추적 가능성

동기화 엔진은 Project Server에 게시된 프로젝트 업데이트, 상태 업데이트, 승인 업데이트 순서로 처리합니다. 게시하는 경우 Enterprise 프로젝트 계획에 작업 및 작업 세부 정보를 추가하여 Project Server를 업데이트합니다. 게시 동기화는 Project Server의 데이터를 Team Foundation Server로 끌어옵니다. 상태 동기화는 Team Foundation의 데이터를 끌어와서 프로젝트 관리자의 승인 큐를 업데이트하고, 승인 동기화는 남은 작업, 완료된 작업 등의 필드에 대한 업데이트를 Project Server에 게시합니다. 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 백그라운드 작업 에이전트를 참조하십시오.

맨 위로 이동

참고 항목

기타 리소스

Submitting Work Items that are Mapped to Enterprise Projects in Project Server

Team Foundation Server 및 Project Server의 통합 관리

변경 기록

날짜

변경 내용

이유

2011년 4월

미러 필드와 이중 장부를 설명하는 단원의 이름이 바뀌고 설명이 추가되었습니다. 오류 알림, 이벤트 로깅 및 추적 가능성에 대한 단원의 소개 단락이 수정되었습니다.

콘텐츠 버그 수정