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