Team Foundation Server Architecture


Team Foundation Server Architecture

Team Foundation Server is a multitiered architecture, composed of an application tier and a data tier. It is similar to what many enterprises are building in-house for their own business applications. Team Foundation Server was constructed by using best-of-breed software, such as ASP.NET 2.0, WSS, and Microsoft SQL Server™ 2005.

Data Tier

Team Foundation Server's data tier is hosted on SQL Server 2005. Ideally, this should be a dedicated server that does nothing but support your team. Team Foundation Server needs to run on the default instance of SQL Server 2005, thus freeing up other instances. Team Foundation Server will use both the database engine and analysis services features of SQL Server 2005. You should follow the Team Foundation Server setup guide explicitly when preparing a SQL Server 2005 for Team System.

The following databases are installed in the data tier:

  • TFSIntegration

    Team Foundation Server core services (project metadata, notifications, security groups, and so on)

  • TFSWarehouse

    Team Foundation Data Warehouse

  • TFSWorkItemTracking

    Team Foundation Server work item tracking database

  • TFSWorkItemTrackingAttachments

    Team Foundation Server work item attachment database

  • TFSVersionControl

    Team Foundation Server version control database

  • TFSActivityLogging

    Team Foundation Server version control event log

  • TFSBuild

    Team Build data (results, code coverage, test results, and so on)

An advantage of Team Foundation Server being hosted on SQL Server 2005 is that it becomes a central place to maintain and back up the assets of your development projects: work items, report data, and most important—code! Just create a couple of simple maintenance plans to run periodically, and you're covered! You also can take advantage of any other availability features of SQL Server 2005, such as database mirroring and clustering. Look for Microsoft to issue guidance down the road to keep your development team's assets protected.

Reporting Services

Another benefit of hosting Team Foundation Server on SQL Server 2005 is that Team Foundation Server has built-in reporting capability. As you might know, Microsoft started shipping a server-based reporting solution, known as Reporting Services, with SQL Server 2000. It's available out of the box with SQL Server 2005 and is the cornerstone to Team System's informative, real-time reporting.

Microsoft will offer many prebuilt reports within Team System. These will include beneficial reports that pull from the data warehouse, such as project health, code churn (changes in code between check-ins), test pass, test effectiveness, active bugs, and efficiency reports. Reporting Services will also provide advanced BI and trending analysis tools for your Team Foundation Server data, enabling you to build and execute “what if” reports. Examples might include “When is our project expected to end based on current trending?” or “If I drop certain scenarios how does that effect timelines?”

More info
or a list of reports and some screen shots, read Chapter 10.

With just a little knowledge of the database or data warehouse structure and some experience with authoring Reporting Services reports, you'll be able to create any other custom reports you might need. In turn, these reports can be displayed through the project portal by using a Microsoft WSS reporting Web part.

More info
For information on customizing and extending the reporting capabilities of Team System, read Chapter 9.

With SQL Server 2005, Microsoft will provide us with Report Builder, a new component that allows business users to create their own reports using a user-friendly model of their data. Report Builder leverages the Reporting Services platform to bring ad hoc reporting to end users. Users create and edit reports with the Report Builder client, a ClickOnce application deployed via the browser. They start by selecting report layout templates containing predefined data sections such as tables, matrices, and charts. Users can then drag and drop report items from the model to the design surface and set constraints to filter the report data. The model contains all of the necessary information for the Report Builder to automatically generate the source query and retrieve the requested data.

Application Tier

The application tier is composed of ASP.NET (ASMX) Web services, which are called from the various client applications as well as WSS, which supports the team portal.

NOTE
Because both WSS and the Team Foundation Server Web services reside on the same Internet Information Services (IIS) 6.0 installation, they need to have different port numbers. The Beta 1 port numbers are as follows: the IIS 6.0 Default Web Site (port 80), WSS (port 16083), and the Team Foundation Server Web services (port 8080).

The following ASP.NET Web services are installed in the application tier:

  • <install path>\WebServices\Services

    Application Programming Interface (API) for the Team Foundation Server core services

  • <install path>\WebServices\VersionControl and <install path>\WebServices\VersionControlProxy

    API for the Team Foundation Server version control

  • <install path>\WebServices\Build

    API for Team Build

  • <install path>\WebServices\Warehouse

    API for Team Foundation Data Warehouse

  • <install path>\WebServices\WorkItemTracking

    API for Work Item Tracking (as shown in Figure 2-1)

TIP
Those of you who want to interact directly with Team System should use the Team Foundation client object model. The Web services are not intended for direct interaction. The software development kit (SDK) has documentation for doing this. That said, it's definitely possible to add a Web reference to the appropriate Web service and interact directly. You should be careful, however, because these Web service APIs are complex. Sticking with the client object model is probably your best bet.

Windows SharePoint Services (WSS)

WSS provides a clean and quick way to create a collaborative portal environment for teams of any size. If you haven't had any experience with WSS before, it's a great framework for building nice sites. It's not exclusively a Team System feature, but it integrates very well with the experience. Great features of WSS portals are that they look clean and all the upload, download, security, menus, check-in, check-out, and versioning capabilities are built in. You don't have to write any code. WSS is a natural fit for Visual Studio 2005 Team System. Figure 2-2 shows you a sample team portal.

figure 2-1 a web service that tracks work items

Figure 2-1 A Web service that tracks work items

figure 2-2 a wss team portal

Figure 2-2 A WSS team portal

Client Tier

The client tier of Team Foundation Server includes whatever client application you're running. These client applications will communicate with Team Foundation Server by means of the aforementioned Web services. Microsoft will supply several clients, and third parties will undoubtedly supply more. More importantly, you can create your own, interacting with the Microsoft client object model or accessing the Web services directly.

In the next chapter, we'll look closely at the various Team System client applications, which are listed here:

  • Visual Studio 2005—Popular development environment, which your development team probably already uses

  • Microsoft Office Excel®—Popular spreadsheet software

  • Microsoft Office Project—Powerful project management software

  • Microsoft Internet Explorer—A browser that allows all team members access to the team portal

  • Team Explorer—A Visual Studio add-in or standalone tool for creating and managing Team System projects



Working with Microsoft Visual Studio 2005 Team System
Working with Microsoft Visual Studio 2005 Team System (Pro-Developer)
ISBN: 0735621853
EAN: 2147483647
Year: 2006
Pages: 97

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net