Behind the Scenes of Visual Studio 2005 Team Foundation Server

Behind the Scenes of Visual Studio
2005 Team Foundation Server
Doug Neumann
TLN301
Program Manager
Microsoft Corporation
Agenda
What is Team Foundation Server?
Architectural Overview
Dimensions of Extensibility
Extensibility Example
2
Agenda
What is Team Foundation Server?
Architectural Overview
Dimensions of Extensibility
Extensibility Example
3
Visual Studio Team Edition
Visual Studio Team Edition
Visual Studio Team Edition
Software Architects
Software Developers
Software Testers
Application Designer
Dynamic Code Analyzer
Load Testing
System Designer
Static Code Analyzer
Manual Testing
Logical Datacenter Designer
Code Profiler
Test Case Management
Deployment Designer
Unit Testing
Code Coverage
Class Designer (in Visual Studio Standard Edition and higher)
Visio for Enterprise Architects
(in MSDN Premium Subscription)
Team Explorer (includes Team Foundation Server CAL)
Visual Studio Professional Edition
Visual Studio
Team Foundation Server
Version Control
Reporting
Integration Services
Build Automation
Work Item Tracking
Project Portal
Project Management
Visual Studio Industry Partners
Process and Architecture Guidance
Visual Studio Team Foundation Server
4
A Tour of Team
Foundation Server
5
Agenda
What is Team Foundation Server?
Architectural Overview
Dimensions of Extensibility
Extensibility Example
6
Technical Architecture
Team Foundation Client Tier
Win 2000 (>=SP4)
Win XP (>=SP2)
Win 2003 Server (>=SP1)
.Net FX 2.0
Microsoft Office 11 – SP1
MDAC 9.0
Internet Explorer 6.0 – SP1
Visual Studio 2005 Team Explorer
Version Control
Proxy
Build Machine
Win XP (>=SP2)
Win 2003 Server (>=SP1)
.Net FX 2.0
Report Client
Win 2003 Server
• ASP.Net / IIS 6.0
App Tier
Standby
Server
Team Foundation App Tier
Win 2003 Server
• SQL Server 2005
Database
Mirror
Team Foundation Data Tier
7
Checking-In To Team Foundation Server
Workspace
2
Validate
Policies
1
Custom Policy
Checkin Tests
Static Analysis
V59
12
12
Commit
Changes
Checkin Policy
Engine
Work Items
4
12
3
Update
Work Items
Changeset 12
Artifact
Link
WorkItem 158
4
Checkin Mail
Checkin Event
8
CreateWorkspace
WorkspaceMapping.xml
• Compiles a list of all
GetSource
Consumed
by vcbuild
VCOverrides.vsprops
Command
line overrides
for msbuild
TFSBuild.rsp
MSBuild
Generated by Team Foundation Build Wizard
Anatomy Of A Team Foundation Build Script
LabelSource
TestToolsTask
GenCheckinNotes
UpdateWorkItems
Yours.targets
MS.TF.Build.targets
• Label name matches
Executes
build number
•• Creates
a automated
bug when
tests
on
the
• Deletes
server-state
for
the build failsbuild
outputs
the
build workspace
CreateNewWorkItem
• Leaves
Publishes
results
to
built
sources
TFS
on
build machine
DeleteWorkspace
• Leverages VSTS test
tools for distributed
tests capabilities
TFSBuild.proj
Includes
• Creates
version
checkins a
new
in this build
control workspace for
• the
Compiles
build a list of all work
items associated
with
• Populates
workspace
those
checkins
• Uses
settings
with the
latest from
copy of
workspacemapping.xml
• source
Updates work items with
• Tags
of built
“build revisions
available” ID
files with a label
9
Version Control File Storage
File Store (SQL Server)
“The Deltafier”
9
11
9
11
12
15
17
17
15 12
Upload
Handler
bar.vb
Download
Handler
foo.bmp
Commit
Get foo.bmp;12
File Cache (App Tier Disk)
Compression + Delta Storage ≈ 70% Space Savings!
10
Agenda
What is Team Foundation Server?
Architectural Overview
Dimensions of Extensibility
Extensibility Example
11
Customization Versus
Extension
Customization
What? Tailor Team Foundation to your environment
Who? End users, project managers
Why? Adjust basic capabilities to your needs
How? Config through UI, XML, maybe automation
Extension/Integration
What? Add new functionality to Team Foundation
Who? Partners, internal IT orgs
Why? Deeply integrate complementary features
How? WS development, VSIP integration, etc.
12
Extensibility Points
Team Foundation Client Tier
Version Control
Proxy
Build Machine
• Integrate services into Team
Explorer
• Automate common activities
• Expose TFS functionality in
your app
• Write a custom checkin policy
• Write a client for another
platform
• Hook Team Foundation
events
• Raise additional events
• Manage authorization with
TFS groups and permissions
Team Foundation App Tier
Report Client
• Expose data in data
warehouse
• Link to TFS “artifacts”
• Surface additional
artifacts
Team Foundation Data Tier
13
Agenda
What is Team Foundation Server?
Architectural Overview
Dimensions of Extensibility
Extensibility Example
14
HP APPRISE
Mandar Bhagwat
Hewlett Packard
15
Project Management Solution
Non-MS Delivery Unit
MS Delivery Unit
Project Management
Office
Management
APPRISE
16
Portal: Tools and
Dashboard
Visual Studio IDE
Team Services Client
Project Instances
Reviews
Audits
Tasks
Defects
VSTS Work Item Templates
Data Tier
Email Notification
Metrics
Other
Methodol
gy
Artifacts
VSTS Methodolgy Templates
Event Based Integration
Data
Abstraction
Layer
Microsoft Data
Access Block
Phases
and
Activities
VSTS Eventing
VSTS Reporting
Datawarehouses
Service Agents
VSTS Notifications
SQL Server
2005
APPRISE
Database
Logging, Exceptions and Auditing
Project Creation and
Management
Timesheet
Org Hierarchy
Management
Reports
Admin Subsystem
Business Tier
Service Access Layer
Operational Management
User Interface Process
Components
Security (Windows Authentication, Custom ACLs)
UI Tier
APPRISE: Logical Architecture
External Systems
Team Foundation Server
Resource
Management
Legends
3-D Box
SAP
VSTS
components
2-D Box
Apprise
Component
17
Leveraging The TFS Eventing
APPRISE Web Client
Access Team Console: Create Subscriptions, Update Tasks, Timesheets
Send Email
<Register Custom Events>
<Register subscribers: Applications and Humans>
<Process Subscriptions>
Use SMTP to send email Alerts
APPRISE App Tier – WSS and TFS OM
APPRISE SMTP server
Monitors WI repository
Windows Service
Read Configuration data
APPRISE Data Tier – WSS and TFS OM
18
HP APPRISE
19
Implementing a Continuous
Integration Build System
20
Call To Action
Get ready for Team Foundation!
Download and install beta 3
Tell your friends, co-workers
Begin the evaluation process now
Explore Team Foundation Extensibility
Build a custom checkin policy
Write a tool to make your job easier
21
Learning More
At PDC
For more information, go see
Labs: TLNHOL19
Ask The Experts table: Visual Studio Team System
Track lounge: I’ll be there throughout the week
Pavilion: Booth 26
V.Next Focus Groups: Sign up at the track lounge
After PDC
MSDN dev center:
http://msdn.microsoft.com/TeamSystem
MSDN Forums
Blogs: http://blogs.msdn.com/buckh
22
© 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.