Overview of Team Foundation Server

download Overview of Team Foundation Server

of 4

Transcript of Overview of Team Foundation Server

  • 8/9/2019 Overview of Team Foundation Server

    1/4

    Overview: Team Foundation Server

    With Visual Studio Team System (VSTS), Microsoft has made available an integratedset of tools which are used by members of the software development team. Each of

    these persons is going to play one or multiple roles. One can vary easily imagineroles of Business Analyst, Project Manager, Technology Solution Architect,

    Developer, tester and Release Manger. These roles use different tools which suit

    them. For example Developers over the years have used Visual Studio to create codeand Project Managers use MS Project for creating, monitoring and controlling a

    project. All the tools used by various roles work on the same data which makes them

    integrated. These tools also need to access some services for managing the data.The data storage and the common services are provided by a server component of

    VSTS which is called Team Foundation Server.In this article we will take an overview of Team Foundation Server and services

    offered by Team Foundation Server.Team Foundation Server (TFS)

    TFS is the heart of VSTS. It pumps the required data and provides required servicesto the various client applications. It allows all the team members to collaborate with

    each other. It is a server which incorporates some of the best software technologiescreated by Microsoft like ASP.NET 2.0, Windows SharePoint Services, SQL Server

    2005 etc.

    TFS Architecture

    Logical ArchitectureTFS is a multilayered server. It is divided in the layers of Data Layer and Application

    Layer.

    The data layer and the application layer can be on the same machine if the numberof clients is less than 20.

    Data layer is implemented in SQL Server 2005. When TFS is installed it createsnumber of database and tables for maintaining the data of the users, work items,

    source control and other resources. Being implemented on SQL Server 2005, datalayer provides excellent scalability and performance.

    Application layer is implemented through set of services which are available over thenetwork. Most of them are configured as webservices which makes them possible to

    be accessed even over the Internet.

    Physical Architecture

  • 8/9/2019 Overview of Team Foundation Server

    2/4

    It is possible to create a single tier architecture for installations which do not demandhigh scalability. It is suggested that for any non-trivial installation the data layer and

    the application layer should be on different servers to meet the scalability andreliability requirements. For meeting the requirements of teams which are

    geographically scattered and connected through internet, TFS provides the ability touse proxy to fulfill the requirements of distant users. Although proxy will be caching

    the source code, main source control where changes are allowed to be stored iswhere the main installation of TFS is. It is also suggested to have a separate buildserver since the build activity is very highly CPU intensive. Keeping the main TFS and

    build server on same machine with frequent builds may hamper the performance of

    TFS adversely. Fig 2 shows the suggested physical architecture of TFS for any nontrivial installation.

    Services Offered by TFSThe main set of services offered by TFS are to improve collaboration between

    multiple users. We can enumerate those as shown in Figure below

  • 8/9/2019 Overview of Team Foundation Server

    3/4

    Source Code Control (SCC)SCC is the major contributor to Software Configuration Management. SCC in TFSincludes normal version control, Branching, Merging, Shelving and Unshelving etc.

    TFS maintains the source control in SQL Server 2005. By default it allows multiplecheck-out. We can place locks in such a way that either the locked files cannot be

    checked out or if they are checked out they cannot be checked in. TFS also supports

    check-in policies which make it mandatory on the team members to execute certainactions when they are checking in some source code.

    SCC also works as a point of convergence between the team project and thetechnological solution. Team project allows for architecture, collaboration,

    monitoring and control of the project. It is very peripherally concerned with thetechnology. The technological solution does not involve itself with project

    management or versioning etc. Every unit of source code to be generated is taggedwith a work item. Work item store the management data about the technological

    entities. Storage and management of work items is done through SCC.Project Portal

    For every team project TFS creates a SharePoint portal site. This site containssections for Process guidance, Reports and documents. It provides appropriate

    permissions to contributors, readers and guests. Through the process guidance wecan learn about the process template that is selected for the project. Various reports

    provide the health and progress of the project. Clients can have a look at the reportseven across the Internet for status monitoring.

    Work Item TrackingWork items are tagged collection of data representing some abstract entities like

    task, bug, Quality of Service Requirement etc. We need to monitor status of each ofthese entities. At the same time each work item and entity pair will belong to a user

    at any given moment. The user will work upon the entity like task or bug and theneither set the status of the work item to close or re-assign it to some other user for

    further work on the entity. TFS keeps track of status of each work item and the user

    who owns that work item at that time.

    Build AutomationEach developer compiles the application in his / her workspace on the local machine.

    After compilation the code is checked in the source code control. The checked in codehas to be built to ensure its interoperability with code created at other time, maybe,

    by some other developers. This build process should be carried out periodically toensure integrity of all the checked in code. TFS allows creation of build at pre-

  • 8/9/2019 Overview of Team Foundation Server

    4/4

    determined time using a component called Team Build. Team build schedules thebuild script created using MS-Build to be executed at the predetermined time.

    ReportingTFS uses a separate data warehouse to generate reports. There are number of

    predefined reports as per the process template which are created by default. TFSuses SQL SERVER 2005 Reporting Service to create these reports. Each report

    indicates either of status of the project, quality of the software which is beingmaintained, progress of the project. These reports are based upon work items,source code, test results and builds. The status and progress of each is initially

    stored in the normalized tables in the database. TFS creates the non-normalized

    entries in the data warehouse for the use of creating reports. Reports DataWarehouse object model allows developers to create custom reports in the form of

    .rdl files using report designer. These reports can also be made available through thereports site.

    Conclusion:Team foundation server is the engine that powers Visual Studio Team System. It

    offers scalable multi tier architecture. It utilizes latest and best technologies likeASP.NET 2.0, Windows SharePoint Services, SQL Server 2005 etc. It offers services

    that allow collaboration of users and integration of all tools used by various roles

    configured in VSTS. Services it offers are Source Control, Team Build, Reporting,Work Item Tracking and Project Portal.I hope this article was useful and I thank you for viewing it. If you liked the article,

    please subscribe to my RSS feed over here.

    http://feeds.feedburner.com/netCurryRecentArticleshttp://feeds.feedburner.com/netCurryRecentArticles