smileNewfreedom

블로그 이미지
freedom 모든 자유와 시간을 위해.....
by 다크포스
12-08 02:30
  • 680,220Total hit
  • 0Today hit
  • 4Yesterday hit

CALENDAR

«   2021/12   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

'버전 제어'에 해당되는 글 1건

  1. 2007.12.27
    Team Foundation Server -2 (1)

Team Foundation의 형태

Team Foundation은 클라이언트 계층, 응용 프로그램 계층 및 데이터 계층이라는 세 개의 계층으로 이루어진 아키텍처입니다. 클라이언트는 웹 서비스를 통해 응용 프로그램 계층과 상호 작용하고 응용 프로그램 계층은 데이터베이스 연결을 통해 데이터 계층의 영구 데이터 저장소에 연결됩니다. 아키텍처에 대한 개요는 그림 1에 나와 있습니다.

그림 1. Team Foundation Server의 아키텍처

Team Foundation Server의 사용자 인터페이스의 대부분은 Microsoft Visual Studio IDE를 통해 제공됩니다. 이러한 UI는 고객 및 파트너가 사용하는 것과 동일한 VSIP 인터페이스를 사용하여 구현됩니다. 또한 Office 응용 프로그램, 특히 Microsoft Word와 Microsoft Project를 통해 클라이언트에 기능이 제공됩니다. 여기에는 팀 프로젝트 포털과 보고서 서버를 비롯한 몇 가지 웹 요소도 있습니다.

Visual Studio IDE를 복잡하고 어려운 환경으로 느낄 수 있는 프로젝트 관리자 및 기타 비개발자를 위해 이러한 간소화된 UI를 개발했습니다. TFC(Team Foundation Client)는 프로젝트 구성원이 기술 담당자의 도움 없이 언어 도구, 디버거 및 개발자 유틸리티를 사용하지 않고도 기능에 액세스할 수 있도록 해 줍니다. 이러한 기능에는 프로젝트 프로세스 만들기 및 모니터링, 정책 관리, 작업 항목 추적 등이 포함됩니다. 언어 도구와 Team Foundation에 대한 액세스가 모두 필요한 개발자와 테스터는 전체 기능의 IDE를 손쉽게 TFC 기능으로 강화할 수 있습니다.

클라이언트 응용 프로그램은 Visual Studio IDE에서 실행되도록 작성되었든 또는 독립 실행형 Windows 응용 프로그램으로 실행되도록 작성되었든 관계없이 웹 서비스와 통신하기 위해 개체 모델과 다양한 프록시 역할을 하는 API 집합을 사용합니다. 이러한 메커니즘으로 인해 원시 웹 서비스 계층에 대한 프로그래밍이 매우 간단해졌으며 지능형 캐싱을 통해 서버 왕복 작업을 최소화할 수 있게 되었습니다. 실제로 유효성 검사, 캐싱, 도구 간 상호 작용과 같은 다양한 기능이 클라이언트 API에 포함되었으므로 도구 개발자 및 확장 공급자는 웹 서비스 API에 대한 직접 코딩보다는 제공되는 기능을 활용하는 것이 좋습니다. 게다가 완전한 WSDL(Web Service Description Language)이 제공되는 직접 웹 서비스 API를 포함하여 모든 API는 공용입니다.

Team Foundation Server의 서버 부분은 응용 프로그램 계층과 데이터 계층으로 구성되며 두 계층에 모두 Microsoft Windows 2003 Server 운영 체제가 필요합니다. 이러한 계층은 실제로는 확장성을 구현하기 위한 논리적 구분이며 간단한 설치를 위해서는 한 시스템에 응용 프로그램 계층과 데이터 계층의 기능을 나란히 배치하는 경우도 있습니다.

응용 프로그램 계층은 Team Foundation Server 작업의 대부분이 수행되는 곳이며 각 도구의 웹 서비스가 제공되는 곳이기도 합니다. Team Foundation 아키텍처에서는 클라이언트 응용 프로그램에서 데이터 계층에 저장된 데이터에 직접 액세스하는 것을 금지합니다. 데이터에 대한 모든 요청은 응용 프로그램 계층을 통해야 하며 응용 프로그램 계층에서 구성 요소 간의 통신은 모두 웹 서비스를 통해 수행됩니다.

응용 프로그램 계층은 각 도구의 웹 서비스뿐 아니라 프로젝트 포털을 위한 WWS(Windows SharePoint Services) 사이트도 호스팅합니다. 이 사이트는 프로젝트 문서가 저장되는 WSS 데이터 저장소를 연결합니다. 마지막으로 SQL Reporting Services 웹 사이트도 응용 프로그램 계층에서 호스팅됩니다.

영구 데이터는 모두 데이터 계층에 저장됩니다. 이러한 데이터에는 버전 제어 저장소, 작업 항목 데이터베이스, 개발자 및 테스터 도구에서 유지 관리하는 테스트 결과 데이터베이스 및 팀 빌드 데이터베이스를 포함하여 모든 Microsoft Visual Studio Team System 도구에서 사용 중인 저장소가 포함됩니다. 데이터 계층은 이러한 작업 중인 프로덕션 저장소 이외에도 프로젝트 분석과 보고에 사용되는 혼합 관계형 및 OLAP 데이터 웨어하우스도 호스팅합니다. 데이터 계층에 있는 데이터의 대부분은 SQL Server 데이터베이스에 저장됩니다. Team Foundation Server에는 Microsoft SQL Server 2005 이상이 필요합니다.

세 계층으로 이루어진 아키텍처에 직접 구성 요소를 추가하는 것 이외에 팀 빌드를 통해 전용 빌드 시스템을 도입할 수 있습니다. 빌드는 클라이언트에서 시작되고 빌드 시스템에서 실행되며 결과는 응용 프로그램 계층의 팀 빌드 웹 서비스를 통해 데이터 계층의 결과 저장소로 전송됩니다.

Team Foundation Server의 요소

이 문서의 처음에서 언급했듯이 Team Foundation Server에는 여러 가지 주요 기능이 포함되어 있습니다. 이제 이러한 기능에 대해 자세히 살펴보겠습니다.

프로젝트 관리

보고 웨어하우스의 분석 및 저장된 정보와 함께 작업 항목 추적과 Microsoft Office 제품군을 사용하면 사용자는 프로젝트 진행 및 상태를 모니터링할 수 있는 도구를 갖추게 됩니다. 또한 Team Foundation의 프로세스 템플릿 메커니즘을 사용하면 프로젝트 프로세스를 환경에 맞게 조정할 수도 있습니다. 프로세스 템플릿은 작업 항목 유형, 프로젝트 역할 및 사용 권한, 프로젝트 로드맵으로 사용할 미리 채워진 작업, 문서 템플릿 및 보고서 정의와 같은 항목을 포함하여 새로운 프로젝트를 설정하기 위해 필요한 지침을 모두 정의합니다. Microsoft Solutions Framework의 효율적인 정식 프로세스를 위한 기본 프로세스 템플릿이 Team Foundation Server와 함께 설치됩니다. 고객은 필요에 맞게 개발 프로세스를 맞춤 구성하기 위해 이러한 템플릿을 수정 및 확장하거나 새로운 템플릿을 만들 수 있습니다.

그러나 "팀 프로젝트"라는 개념은 Visual Studio 언어 프로젝트와는 매우 다릅니다. 팀 프로젝트에는 작업 항목, 소스 분기, 보고서 및 문서와 같은 서버 기반의 공유된 모음이 포함되는 반면 Visual Studio 언어 프로젝트는 일반적으로 실행 파일이나 .dll을 만드는 데 필요한 데이터의 모음입니다. 팀 프로젝트의 내용은 팀 탐색기를 통해 볼 수 있습니다.

버전 제어

Team Foundation Server에는 엔터프라이즈 소스 제어 요구 사항을 겨냥한 업계 최강의 버전 제어 시스템이 포함되어 있습니다. SQL Server의 지원을 받는 이 기능은 버전이 있는 데이터에 대해 신뢰할 수 있는 고속의 보안 액세스를 제공할 수 있도록 개발되었습니다. Team Foundation에는 체크인, 체크아웃, 버전 관리 및 차별화/병합을 위한 표준 버전 제어 메커니즘이 있으며 쉘빙(전체 유효성 검사 체크인을 수행하지 않고 부분 변경 내용을 저장하는 기능) 및 동적 체크인 정책과 같은 대규모 배포의 세부적인 문제를 해결하는 혁신적인 기능도 포함되어 있습니다.

작업 항목 추적

Team Foundation Server의 작업 항목 추적 시스템은 버그, 요구 사항, 시나리오, 작업 및 기타 모니터링하기를 원하는 작업 항목을 저장 및 평가하는 데 사용됩니다. 작업 항목 유형은 XML로 저장되므로 추가 필드 유형과 규칙을 사용하여 기본 제공 작업 항목 유형을 손쉽게 확장 및 수정할 수 있습니다. 또한 프로젝트별로 완전히 새로운 작업 항목 유형을 만드는 것도 가능합니다.

사용자는 Visual Studio IDE에서 직접 작업 항목을 보고 수정할 수 있으며 친근한 Office 제품을 사용하여 작업 항목을 보고 편집할 수 있도록 Microsoft Excel 및 Microsoft Project에도 작업 항목 추적 시스템이 통합되어 있습니다.

팀 빌드

팀 빌드는 공개 빌드를 구축할 수 있는 가장 간단한 방법이며 테스트 자동화, 코드 변동률 확인 및 작업 항목 업데이트와 같은 Team System별 작업으로 MSBuild 엔진을 보강합니다. 팀 빌드는 응용 프로그램 계층의 웹 서비스를 통해 클라이언트와 상호 작용하지만 빌드 및 테스트를 실행하는 별도의 "빌드 서버"도 지원합니다. 빌드 서버는 데이터 계층의 팀 빌드 저장소에 상태와 결과를 기록합니다. 이 데이터는 나중에 분석 및 보고를 위해 웨어하우스로 가져갈 수 있습니다.

데이터 수집 및 보고

Team Foundation Server 도구에서 유지하는 데이터는 데이터 계층의 SQL Server 데이터베이스에 저장됩니다. 각 도구에는 정규화된 작업 테이블에서 분석 및 보고에 사용되는 데이터 웨어하우스로 데이터를 가져오는 웨어하우스 어댑터가 있습니다. 이 데이터 웨어하우스는 별모양 스키마에 의해 팩트 테이블 및 차원 테이블로 구성되는 SQL Server 데이터베이스이며 집계와 기타 다양한 작업을 편리하기 수행할 수 있도록 이러한 테이블에 대한 SQL Server Analysis Services 큐브가 생성됩니다. SQL Server Reporting Services를 사용하여 작성한 웨어하우스에 대한 표준 보고서가 Team Foundation Server에 포함되어 있습니다. 이러한 보고서에는 버그 경향, 테스트 범위, 코드 변동률 등의 도구 및 프로젝트 전반의 다양한 보고서가 포함됩니다. 사용자는 또한 Microsoft Excel 및 타사 보고 패키지를 사용하여 사용자 지정 보고서를 생성할 수 있습니다.

프로젝트 포털

프로젝트 생성 마법사를 사용하여 팀 프로젝트를 생성하면 응용 프로그램 계층에 Windows SharePoint Services 사이트가 인스턴스화됩니다. 이 사이트는 팀 프로젝트의 포털 역할을 합니다. 기본적으로 이 사이트의 홈 페이지에는 프로젝트 상태 보고서 집합이 표시되며 문서 라이브러리는 사용자가 수정할 수 있는 문서 템플릿과 샘플 파일로 미리 채워집니다. 각 프로젝트에 맞게 사이트를 사용자 지정할 수 있으며 프로젝트 사이트 생성에 사용되는 템플릿은 조직에서 다시 디자인할 수 있습니다.

공유 서비스

Team Foundation Server 아키텍처는 간편한 확장을 지원할 수 있도록 설계된 공유 서비스 집합으로 구성되어 있으며 도구는 이러한 공유 서비스를 사용하여 통합 작업을 수행합니다. 고객 및 파트너 역시 Team Foundation 환경에 자신의 도구를 효과적으로 통합하는 데 이러한 공유 서비스를 사용할 수 있습니다. 이러한 서비스에 대해서는 다음 섹션에서 자세히 살펴보겠습니다.

확장을 고려한 아키텍처 설계

Team Foundation Server에서 제공되는 각 도구는 사용자 지정 기능과 자동화 기능면에서 매우 우수합니다. 사용자는 작업 항목 정의, 소스 제어 정책, 빌드 스크립트, 프로세스 템플릿 및 프로그램 가능 인터페이스 등을 사용하여 Team Foundation 설치를 필요에 맞게 맞춤 구성할 수 있습니다. 또한 Team Foundation Server의 핵심에는 외부 도구를 효과적으로 Team Foundation Server 환경으로 통합할 수 있도록 해주는 메커니즘 집합이 있습니다.

이러한 공유 Team Foundation Server 통합 서비스는 그림 2에 파란색 상자로 표시되어 있습니다. 녹색 상자는 Team Foundation Server 아키텍처 활용을 위해 도구 개발자가 제공할 수 있는 요소를 나타내며 주황색 상자는 Team Foundation Server에 포함되어 있는 도구를 보여 줍니다.

그림 2. Team Foundation Server와의 통합

Team Foundation의 공유 서비스에는 다음과 같은 서비스가 있습니다.

  • 연결 서비스를 통해 도구에 포함된 데이터 요소 간의 느슨하게 연결된 관계("링크")를 만들 수 있습니다. 예를 들어 Team Foundation Server에서는 결함이 있는 작업 항목과 해당 결함을 수정하기 위해 변경된 소스 코드 간의 관계가 이러한 링크로 유지됩니다. 도구에서 이러한 관계에 참여하려면 데이터를 Team Foundation "아티팩트"로 공개하고 이에 대한 쿼리에 응답하는 메서드를 구현해야 합니다. 이 기능을 통해 처음에는 인식할 수 없던 관계에 도구를 참여시킬 수 있습니다.
  • 보안 서비스에서는 권한 할당을 위해 Windows ID를 수집하는 데 사용할 수 있는 Team Foundation Server별 보안 그룹을 지원합니다. 이러한 그룹은 Team Foundation Server에 로컬이므로 IT 부서의 도움 없이도 관리 가능합니다. 새로운 도구를 Team Foundation Server에 도입할 때는 그룹 보안 서비스 API를 사용하여 이러한 그룹을 보호해야 합니다. 보안 서비스에서는 인증 서비스도 제공합니다. 자체 인증 메커니즘을 제공하지 않는 도구의 경우 보안 서비스를 사용하여 개체의 보안을 유지하고 권한을 설정할 수 있습니다.
  • 이벤트 서비스는 웹 서비스 기반 게시/구독 메커니즘입니다. 예상할 수 있겠지만 도구는 이벤트 서비스에 이벤트를 발생시킬 수 있습니다. 구독자는 이벤트가 해당 구독 조건과 일치할 경우 알림을 받도록 등록할 수 있습니다. 이러한 알림은 웹 서비스 또는 전자 메일 주소를 통해 받을 수 있습니다. 웹 서비스를 통해 알림을 받는 경우 구독 정보에는 알림이 배달될 때 호출될 웹 서비스 URL이 포함됩니다. 전자 메일 주소로 알림을 받는 경우 SMTP 서버를 통해 전자 메일로 알림이 배달됩니다.
  • 분류 서비스는 미리 정의된 분류 기준에 따라 연결 서비스와 함께 Team Foundation Server 아티팩트를 분류합니다. 이를 통해 아티팩트가 공통 "자연" 분류 기준을 공유하지 않는 도구에서 공통 축을 사용한 도구 간 보고가 가능하도록 데이터를 구성할 수 있습니다. 예를 들어 작업 항목이 자연스럽게 팀별로 구성되어 있고 테스트가 자연스럽게 구성 요소별로 구성되어 있는 경우 추가적으로 테스트를 팀별로 구성하여 작업 항목과 함께 보고되도록 할 수 있습니다.
  • Team Foundation Server에 새로운 도구를 도입할 때는 도구의 아티팩트 유형, 링크 유형, 이벤트 스키마 및 서비스 인터페이스가 등록 서비스를 통해 등록됩니다. 새 도구의 클라이언트에서는 등록 서비스를 쿼리하여 도구의 위치를 찾을 수 있습니다.

고객 및 파트너는 이러한 공유 서비스뿐 아니라 다양한 추가 연결 지점을 활용하여 Team Foundation Server에 도구를 완벽하게 통합할 수 있습니다. 다음은 그림 2의 녹색 상자에 대한 설명입니다.

  • 일관성 있는 클라이언트 활용을 위해 VSIP를 사용하여 UI를 IDE에 통합합니다. 또는 지능형 프록시 계층을 사용하여 응용 프로그램 계층에 액세스하는 독립 실행형 Microsoft .NET 응용 프로그램을 구축할 수도 있습니다.
  • 팀 프로젝트 생성 마법사에 도구의 아티팩트 생성을 추가합니다(이를 주도할 프로세스 템플릿은 암시적으로 추가).
  • Visual Studio 팀 탐색기에 도구와 해당 데이터를 노드로 표시할 수 있도록 합니다.
  • 웨어하우스 동적 스키마 수정 기능을 사용하여 도구의 데이터로 웨어하우스를 확장합니다. 그런 다음 도구의 작업 데이터를 웨어하우스 구조로 가져올 웨어하우스 어댑터를 작성합니다.
TRACKBACK 0 AND COMMENT 1
  1. Favicon of http://hotwomens-2008.net/debt-xs BlogIcon debt xs 2008.03.13 02:51 address edit/delete reply

    너는 아름다운 웹사이트가 있는다!





ARTICLE CATEGORY

분류 전체보기 (534)
멋진 사진들 (8)
배경화면들 (3)
.NET (112)
연애이슈 (65)
게임관련 (15)
경제 이슈 (60)
모델 (0)
사진(취미) (14)
노래 (8)
호주워킹홀리데이 (11)
Javascript (2)
Ajax (4)
스포츠 (74)
우주/과학/생활 (95)
Windows 2008 (19)
Silverlight (2)
여행 (6)
MS 자격증 (2)
해외이슈 (4)
IT정보 (16)
Server (5)
애니매이션 (9)