What is Team Foundation Server?
With
Visual Studio Team System (VSTS), Microsoft has made accessible an
integrated set of tools, used by associate of the development team. Each
associate play one or multiple roles. One can vary easily imagine roles
of Business Analyst, Project Manager, Technology Solution Architect,
Developer, tester and Release Manger. These roles use different tools
which go with them. For example Developers over the years have used
Visual Studio to create code and Project Managers use MS Project for
creating, monitoring and controlling a project. All the tools utilize by
diverse roles work on the same data which makes them integrated. These
tools also need to access some services for managing the data. The data
gathering and the general services are provided by a server component of
VSTS which is called Team Foundation Server.
Team Foundation Server (TFS)
TFS
is the spirit of VSTS. It drives the required data and provides
required services to the diverse client applications. It let all the
associate members to collaborate with each other. It is a server which
includes some of the most excellent software technologies created by
Microsoft like ASP.NET 2.0, Windows SharePoint Services, SQL Server 2005
etc.
Logical Architecture
TFS 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 number of customers is less than 20.
Data
layer is implemented in SQL Server 2005. When TFS is installed it
generates quantity of database and tables for maintaining the data of
the users, work items, source control and other resources. Being
implemented on SQL Server 2005, data layer provides outstanding
scalability and performance.
Application
layer is implemented through set of services which are existing over
the network. Most of them are configured as webservices which makes them
possible to be right to use even over the Internet.
Physical Architecture
It
is possible to generate single tier architecture for installations
which do not require high scalability. It is suggested that for any
non-trivial installation the data layer and the application layer should
be on different servers to gather the scalability and reliability
requirements. For meeting the requirements of teams which are
geographically spread and coupled through internet, TFS provides the
capability to use proxy to accomplish the requirements of remote users.
Although proxy will be caching the source code, main source control
where changes are allowed to be stored is where the main installation of
TFS is. It is also recommended to have a separate build server since
the build activity is very highly CPU rigorous. Keeping the main TFS and
build server on same machine with frequent builds may hinder the act of
TFS badly.
The main set of services offered by TFS is to improve group effort between multiple users.
Source Code Control (SCC)
SCC
is the major contributor to Software Configuration Management. SCC in
TFS includes normal version control, Branching, Merging, Shelving and
Unshelving etc. TFS preserve the source control in SQL Server 2005. By
default it allows multiple check-outs. We can set 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 accomplish
certain actions when they are checking in some source code.
SCC
also works as a point of junction between the team project and the
technological solution. Team project allows for architecture,
association, watch and control of the project. The technological
solution does not involve itself with project management or versioning
etc. Every unit of source code to be generated is tagged with a work
item. Work item store the management data about the technological unit.
Storage and management of work items is done through SCC.
Project Portal
For
every panel project TFS make a SharePoint portal site. This site
contains sections for Process guidance, Reports and documents. It
provides appropriate authorization to provider, person who reads and
visitors. Through the process guidance we can learn about the process
template that is selected for the project. Various reports provide the
physical condition and growth of the project. Clients can have a come
across at the reports even across the Internet for status monitoring.
Work Item Tracking
Work
items are tagged collected data on behalf of some abstract entities
like task, bug, Quality of Service Requirement etc. We need to monitor
status of each of these 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 then either 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 Automation
Each
developer executes the application in his / her workspace on the local
machine. After execution the code is checked in the source code control.
The checked in code has 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 once in a while to ensure truthfulness of
all the checked in code. TFS allows creation of build at pre-determined
time using a component called Team Build. Team build schedules the
build script created using MS-Build to be executed at the predetermined
time.
Reporting
TFS
uses a separate data store to generate reports. There are number of
predefined reports as per the process template which is fashioned by
default. TFS uses SQL SERVER 2005 Reporting Service to create these
reports. Each report indicates either of status of the project, quality
of the software which progress of the project. These reports are based
upon work items, source code, test results and builds. The status and
progress of each is originally stored in the normalized tables in the
database. TFS creates the non-normalized way in in the data warehouse
for the use of creating reports. Reports Data Warehouse object model let
developers to create custom reports in the form of .rdl files using
report designer. These reports can also be made accessible through the
reports site.
No comments :
Post a Comment