Wiki


Wiki Table of Contents

Tags

Page Details

First published by:
Last revision by:
1 person found this article useful.

100% of people found this useful
Part I- Chapter 2 --Team Development with Visual Studio Team Foundation Server

Bạn có thể vào đây để download tài liệu này: Chapter 2-Part 1

Chapter 2 - Kiến trúc Team Foundation Server

Objectives

  • Mô tả cấu trúc Microsoft® Visual Studio® Team System (VSTS) và Team Foundation Server (TFS) .
  • Xác định những thành phần cấu thành nên client, application và data tiers (các tầng dữ liệu).
  • Làm rõ sự khác nhau giữa việc triển khai một single-server và multi-server .

Overview

Chương này giới thiệu với bạn kiến trúc TFS và  sự triển khai cấu trúc liên kết cơ bản. TFS có một kiến trúc 3 tầng một cách logic mà bao gồm có một tầng client, một tầng application, và một tầng data. TFS clients tương tác với tầng application qua các Web services khác nhau, và tầng  application sử dụng các database  Microsoft SQL ServerTM khác nhau trong tầng data.  

Bạn có thể chọn để cài đặt tầng application và tầng data trên cùng một physical server hay trên những server riêng biệt. Sự chọn lựa của bạn phần lớn phụ thuộc vào kích cỡ nhóm của bạn. Một  single-server được triển khai làm việc tốt nhất với những nhóm có số thành viên ít hơn 50 người, nhưng với một máy chủ đủ mạnh mẽ có thể hỗ trợ tối đa 400 người dùng. Một dual-server triển khai quy mô có thể lên đến khoảng 2000 người sử dụng.

How to Use This Chapter : Sử dụng chương này như thế nào

Chương này dùng để nghiên cứu về những thành phần cốt lõi của TFS  và chúng tương tác với cái khác như thế nào. Đọc chương này, bạn cũng sẽ học về mục đích của mỗi thành phần và cách mà chúng được triển khai một cách thông thường nhất.

Nếu bạn chưa biết gì về TFS, bạn nên đọc trước "Chapter 1 - Introducing the Team Environment",  để biết được bằng cách nào mà những nhóm phát triển và kiểm thử tương tác với TFS  và sử dụng nó để nâng cao sự hợp tác và cải thiện tổng năng suất của những nỗ lực phát triển phần mềm của họ.

Team Foundation Server Architecture : Kiến trúc của TFS

TFS sử dụng kiến trúc 3 tầng một cách logic, bao gồm tầng client, application, và tầng data. TFS clients tương tác với tầng application(tầng ứng dụng) thông qua những Web services khác nhau; nói cách khác, tầng application  được hỗ trợ bởi những  database khác nhau trong tầng data .

 Hình 2.1 hiển thị những thành phần của mỗi tầng của TFS cũng như là sự tương tác giữa chúng.

 

Hình 2.1 Thành phần và các tầng của TFS

Tầng Client

Tầng client chứa những  thành phần quan trọng sau :

  • Team Foundation Server object model. Đây là public API được sử dụng để tương tác với TFS. Bạn có thể sử dụng object model( mô hình đối tượng) để tạo những ứng dụng client-side cho riêng bạn mà tương tác với TFS.
  • Visual Studio Industry Partners (VSIP) components. Đây là những công cụ của bên thứ ba(third-party tools), add-ins và những ngôn ngữ được sử dụng trong Visual Studio.
  • Microsoft Office integration. Phần này bao gồm một bộ các add-ins dành cho Microsoft Office Excel® và Microsoft Office Project cho phép bạn truy vấn và cập nhập các work item trong cơ sở dữ liệu TFS Work Item Tracking. Điều này đặc biệt hữu ích cho các nhà quản lý dự án đã sử dụng rộng rãi các công cụ này.
  • Command-line tools. Đây là những công cụ cho phép bạn tương tác với TFS từ những dòng lệnh (command line). Phần lớn các công cụ này cung cấp các chức năng kiểm soát mã nguồn và chúng hữu ích trong việc tự động hóa các tác vụ lặp và các tác vụ cố định.
  • Check-in policy framework. Thành phần này hỗ trợ check-in policy feature, là một cơ chế mở rộng cho phép bạn xác nhận tính hợp lệ của code trong suốt check-in process.

Tầng Application

Tầng application trình bày những  Web services  ASP.NET  sau đây được truy cập bởi tầng client . Những Web services này không có mục đích để chống lại  bên thứ ba(third-party), nhưng được mô tả ở đây cho hoàn chỉnh. Những  Web services  được nhóm vào các tập sau:

  •  Team Foundation Data Services
  •  Team Foundation Integration Services

Team Foundation Data Services

Tập các Web services này chủ yếu liên quan đến các thao tác dữ liệu trong tầng data. Những  service này gồm có:

  • Version Control Web service. Tầng client sử dụng Web service này để thực thi các chức năng kiểm soát mã nguồn(source control features) TFS khác nhau và để tương tác với source control database.
  • Work Item Tracking Web service. Tầng client sử dụng Web service này để tạo, cập nhật và truy vấn(create, update and query) các work item trong Work Item Tracking database.
  • Team Foundation Build Web service. Tầng client và MSBuild framework sử dụng Web service này để thực thi các quy trình thiết kế.

Team Foundation Integration Services

Tập các  Web services này cung cấp các chức năng tự động và thống nhất. Những service này không tương tác với tầng data. Những dịch vụ Team Foundation Integration service gồm có:

  • Registration Web service. Service này được sử dụng để đăng kí các dịch vụ TFS khác. Nó gìn giữ thông tin trong một cơ sở dữ liệu đăng kí. Những service sử dụng những thông tin này để khám phá và xác định xem bằng cách nào để tương tác với cái khác.
  • Security Web service. Service này bao gồm Group Security Service và  Authorization Service. Group Security Service được dùng để quản lý tất cả các user và  group của TFS. Authorization Service cung cấp một hệ thống kiểm soát truy cập cho TFS.
  • Linking Web service. Service này cho phép các công cụ thiết lập một mối quan hệ được liên kết lỏng lẻo (hay "links") giữa các phần tử dữ liệu mà chúng đang chứa. Thí dụ, mối quan hệ giữa một work item sai sót và source code được thay đổi để sữa chữa sự sai sót được tổ chức bởi TFS sử dụng một link (liên kết) .
  • Eventing Web service. Service này cho phép một công cụ hay một dịch vụ đăng ký các loại sự kiện. Người sử dụng có thể đồng ý để những sự kiện này và nhận được thông báo qua e-mail hay bởi sự dẫn ra của một Web service. Thí dụ, bạn có thể sử dụng một check-in event để kích hoạt một continuous integration build.
  • Classification Web service. Service này làm việc với Linking Web service để kích hoạt những TFS artifacts để phân loại tùy theo những nguyên tắc phân loại đã được định nghĩa trước. Dịch vụ này giúp hỗ trợ cross-tool reporting ngay cả đối với những artifacts mà không chia sẻ một nguyên tắc phân loại thông thường để tổ chức dữ liệu của họ. Thí dụ, nếu các work item được tổ chức bình thường bởi nhóm của bạn, trong khi test được tổ chức bởi các thành phần component, bạn cũng có thể tổ chức test bởi nhóm của bạn để các test đó có thể được báo cáo cùng với các work item.

Tầng Data

TFS không hỗ trợ truy cập trực tiếp đến dữ liệu được lưu trữ trên tầng data từ những ứng dụng client. Thay vào đó, tất cả các yêu cầu về dữ liệu phải được thực hiện thông qua các Web services trên tầng  application. Tầng data của TFS bao gồm các dữ liệu sau được lưu trữ tương ứng với các data services trên tầng application.

  • Work item tracking. Phần này lưu trữ tất cả các dữ liệu có liên quan đến work items
  • Version control. Phần này lưu trữ tất cả các dữ liệu có liên quan đến source control.
  • Team Foundation Build. Phần này lưu trữ tất cả các thông tin liên quan đến các chức năng của TFS Team Build .
  • Reporting warehouse. Phần này lưu trữ tất cả các thông tin liên quan đến  tất cả các công cụ và chức năng của  TFS. Reporting warehouse giúp việc tạo ra các báo cáo đơn giản hơn bằng cách kết hợp dữ liệu từ nhiều công cụ khác nhau.

Deployment Topology

Bạn có thể triển khai TFS bằng cách sử dụng một sự khác nhau của vùng topology khác nhau từ  việc cài đặt single-server đến topology phức tạp hơn là multiple-server. Bất kể bao nhiêu topology (cấu trúc liên kết) bạn sử dụng , bạn cần phải nhận biết được một số yêu cầu chính.

Key Requirements: Những yêu cầu chính

Bất kể là bạn chọn triển khai  topology nào thì :

  • Bạn phải install tầng application và tầng data trong cùng một domain, mặc dù chúng có thể được đặt trên cùng node server hay là trên một node server riêng lẻ.
  • Bạn phải install những máy tính có TFS với Microsoft Windows ServerTM 2003 phiên bản Service Pack 1 (SP1) hoặc mới hơn.
  • Bạn phải install tất cả các tầng ứng dụng của TFS Web services trên cùng một server.
  • Bạn phải install những thể hiện TFS đơn trên một máy tính đơn.
  • Bạn không thể install nhiều hơn một thể hiện(instance) của TFS trên một server.
  • Bạn không thể phân tán những database của TFS qua nhiều server dữ liệu. Tất cả các dự án phải tập trung vào một nhóm Team Foundation server, và không thể triển khai trên nhiều nhóm server.
  • Bạn không thể sử dụng một Microsoft SharePoint® Portal Server infrastructure đã tồn tại để lưu trữ cho cổng dự án của nhóm bạn. Hãy cân nhắc việc sử dụng một server dành riêng cho các cổng TFS SharePoint .
  • Bạn không nên install TFS trên một server được cấu hình như một domain controller bởi vì điều này không được hỗ trợ.
  • Đối với việc triển khai dual-server , bạn cần phải chuẩn bị một vài account domain để sử dụng khi chạy TFS services. Thí dụ, bạn cần tạo các account như là DOMAIN\TFSSERVICE and DOMAIN\TFSREPORTS.

Single-Server Deployment

Một  sự triển khai single-server là một cấu trúc liên kết (topology) đơn giản nhất và dành cho một đội phát triển hay những dự án thí điểm xấp xỉ tối đa 400 user. Với phương pháp tiếp cận này, bạn cài đặt tất cả các thành phần của tầng application và tầng data trên một single server và truy cập chúng trên cùng  một domain .

Nếu bạn cần cài đặt những thành phần trang bị cho việc kiểm thử, bạn có thể install chúng trên một node serverhay là trên một hay nhiều client.

Hình 2.2 hiển thị cấu trúc liên kết single-server.

Hình  2.2 Cấu trúc liên kết  Single Server

Dual-Server Deployment

Triển khai cấu trúc liên kết dual-server rất có lợi cho các nhóm phát triển lớn cỡ khoảng 2000 users. Trong việc triển khai cấu trúc này, bạn cài đặt tầng application trên một server node riêng biệt từ tầng data. Bạn có thể cài đặt Team Foundation Build Services trên tầng application, nhưng bạn được khuyến khích để thiết lập một hay nhiều build server dành riêng cho các nhóm lớn. Nếu dự án của bạn cần thực hiện kiểm thử, bạn có thể triển khai các thiết bị kiểm thử(controller và agent) đến các sever node bổ sung . Hình 2.3 hiển thị cấu trúc liên kết dual-server .

Hình 2.3 Dual Server Topology: Cấu trúc liên kết Dual Server

Kết luận

Kiến trúc của Team Foundation Server bao gồm có 3 tầng : một tầng client, một tầng application và một tầng data.

  • Tầng client chứa các thành phần client như là Team Explorer trong Visual Studio 2005, Microsoft Office integration, và những công cụ dòng lệnh(command-line tools).
  • Tầng application chứa các thành phần như là Team Foundation version control services, work item tracking services, và build services.
  • Tầng data chứa các database để lưu trữ data cần thiết cho work item tracking, version control, team build, và reporting warehouse.

TFS  có hỗ trợ  triển khai cấu trúc liên kết single-server và dual-server. Trong triển khai một  single-server thì tầng application và tầng data được cài đặt trên cùng một máy. Sự triển khai single-server thích hợp với những nhóm nhỏ hoặc  khi chỉ đạo những dự án thí điểm. Trong  triển khai  dual-server , tầng  application và tầng data phải được cài đặt trên những  server riêng biệt. Triển khai dual-server  thích hợp với  nhứng nhóm phát triển lớn với số lượng user lớn.

Resources bổ sung:

  • Để có cài nhìn tổng quát về Team Foundation, xem tài liệu hướng dẫn sản phẩm Team Foundation trên trang Microsoft MSDN® Web tại

                http://msdn2.microsoft.com/en-us/library/ms181232(vs.80).aspx   

 

 

Recent Comments

Leave the first comment for this page.