DEV 463 Microsoft Visual Studio 2005 Team System

  • Slides: 49
Download presentation

DEV 463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server

DEV 463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team System Microsoft Corporation

Topics Team Foundation Tour Technical Architecture Conceptual Architecture Extending Team Foundation

Topics Team Foundation Tour Technical Architecture Conceptual Architecture Extending Team Foundation

Visual Studio Team Edition Software Architects Software Developers Software Testers Application Designer Dynamic Code

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 Change Management Reporting Integration Services Team Build Work Item Tracking Project Portal Project Management Visual Studio Industry Partners Process and Architecture Guidance Visual Studio Team Foundation

Team Foundation Tour Integrated Platform for Collaborating on Software Development Projects. Work Item Tracking

Team Foundation Tour Integrated Platform for Collaborating on Software Development Projects. Work Item Tracking Project Management Reporting Version Control Build Automation

Team Foundation Tour Work Item Tracking Project Management Reporting Version Control Build Automation

Team Foundation Tour Work Item Tracking Project Management Reporting Version Control Build Automation

Project Portal

Project Portal

Work Item Tracking and Office Integration

Work Item Tracking and Office Integration

Dramatis Personae Darren – A Developer a keen mind but slightly confused Darryl –

Dramatis Personae Darren – A Developer a keen mind but slightly confused Darryl – A Business Analyst shrewd but well-meaning Darius – A Development Manager gruff but lovable

Team Foundation Tour Work Item Tracking Project Management Reporting Version Control Build Automation

Team Foundation Tour Work Item Tracking Project Management Reporting Version Control Build Automation

Source Control and Work Item Tracking

Source Control and Work Item Tracking

Team Foundation Tour Work Item Tracking Project Management Reporting Version Control Build Automation

Team Foundation Tour Work Item Tracking Project Management Reporting Version Control Build Automation

Topics Team Foundation Tour Technical Architecture Conceptual Architecture Extending Team Foundation

Topics Team Foundation Tour Technical Architecture Conceptual Architecture Extending Team Foundation

Technical Architecture Win 2000 (>=SP 4) Win XP (>=SP 2) Win 2003 Server (>=SP

Technical Architecture Win 2000 (>=SP 4) Win XP (>=SP 2) Win 2003 Server (>=SP 1). Net FX 2. 0 Microsoft Office 11 – SP 1 MDAC 9. 0 Internet Explorer 6. 0 – SP 1 Visual Studio 2005 Team Explorer Win 2003 Server ASP. Net / IIS 6. 0 Win XP (>=SP 2) Win 2003 Server (>=SP 1). Net FX 2. 0 Win 2003 Server ASP. Net / IIS 6. 0 MDAC Win 2003 Server SQL Server 2005 Maximally factored configuration

Technical Architecture Team Foundation Client Tier MS Project Plug-In Visual Studio Packages WSS Proxies

Technical Architecture Team Foundation Client Tier MS Project Plug-In Visual Studio Packages WSS Proxies Version Control Proxy Service MS Excel Plug-In Internet Explorer SQL RS Proxies Version Control Proxy Team Foundation Object Model Build Process VSTF Clients of VSTF Adjuncts Report Client Custom reporting tools Team Foundation App Tier SQL Reporting Services Windows Share. Point Services Work Item Tracking Service Version Control Service Work Items Version Control Team Foundation App Tier SQL Reporting Services Windows Share. Point Services Team Foundation Data Tier Build Machine Team Build Service Team Build Data Core Services Core Data Adapters MS Excel Warehouse

Basic Configurations 1 user 1 machine Demo/Evaluation • Client • Build • App Tier

Basic Configurations 1 user 1 machine Demo/Evaluation • Client • Build • App Tier • Data Tier 2 - 50 users Single Server Small Team 50 - 500 users Dual Server Large Team Client • Client • Build (opt) Build Machine • App Tier • Data Tier • Build (opt) Supports: • Workgroup • Active Directory (2003 or 2000) App Tier Version Control Proxy Data Tier Requires Active Directory (2003 or 2000)

Administrative Features Compatibility verification Databases match? Web services match databases? Clients match Web services?

Administrative Features Compatibility verification Databases match? Web services match databases? Clients match Web services? All SQL server SQL backup/restore DB Mirroring Failover clustering App tier standby server Convenience utilities

Topics Team Foundation Tour Technical Architecture Conceptual Architecture Extending Team Foundation

Topics Team Foundation Tour Technical Architecture Conceptual Architecture Extending Team Foundation

Meta Data Repositories Work Items Tests Build Configs E L I G A R

Meta Data Repositories Work Items Tests Build Configs E L I G A R F Source Code Third Party Tool

TFS “Virtual Repository” * * Project Structure Build * Iteration Structure * * Work

TFS “Virtual Repository” * * Project Structure Build * Iteration Structure * * Work Item * * TFS Enablement Work Items Work Item * Latest Item Version TFS Enablement Version Control Label. Latest Item Versioned Changeset Label Version Item * * * Test Result * * Changeset TFS Enablement Versioned Team Build Item Build Test Results TFS Enablement Core Data Project Iteration Structure

How It Happens: Team foundation core services Visual Studio IDE External tool (Partner or

How It Happens: Team foundation core services Visual Studio IDE External tool (Partner or MS) Team Foundation Object Model Team Build Integration Interface Version Control Integration Interface Work Items Integration Interface Team Foundation Server Team Foundation Core Services

How It Happens: Team foundation core services Visual Studio IDE External tool (Partner or

How It Happens: Team foundation core services Visual Studio IDE External tool (Partner or MS) Team Foundation Object Model Registration Service Notification Service Linking Service Integration Interface Team Build Integration Interface Version Control Integration Interface Team Foundation Server Work Items User Groups Service Team Foundation Core Services Common Structure Service

Reporting Warehouse SQL Server Reporting Services Excel Reporting Warehouse Object Model Test/Build Adapter Build

Reporting Warehouse SQL Server Reporting Services Excel Reporting Warehouse Object Model Test/Build Adapter Build Database Work Item Adapter Work Item Tracking Source Code Adapter Source Code Control Custom Reporting Add-on Adapter Partner Tool A

Topics Team Foundation Tour Technical Architecture Conceptual Architecture Extending Team Foundation

Topics Team Foundation Tour Technical Architecture Conceptual Architecture Extending Team Foundation

Customization vs. Extension Customization: What? Tailor Team Foundation to your environment Who? End users,

Customization vs. Extension Customization: What? Tailor Team Foundation to your environment Who? End users, project managers Why? Adjust basic Team Foundation capabilities to your needs How? Config through UI, author XML, maybe some automation Extension/Integration What? Add new functionality to Team Foundation Who? Partners, internal IT orgs Why? Deeply integrate complementary features into the Team Foundation platform How? WS development, database development, VSIP integration, etc.

Example Customizations Process Template Modify / clone ours Build your own Work Item Types

Example Customizations Process Template Modify / clone ours Build your own Work Item Types Modify ours Build your own Automate using WIOM Source Code Control Select policies to enforce Reporting Modify our SQL RS reports Add your own SQL RS reports Use a different reporting tool (Excel, OWC, …) Project Portal Customize the template Add your own libraries

Example Extensions Core services Add a new tool with new artifact types, link types,

Example Extensions Core services Add a new tool with new artifact types, link types, database, WS’s Link to other tools’ artifacts Raise, subscribe to events Integrate into Team Explorer Add pages to Project Creation Wizard Work Item Tracking Write against OM Respond to events Link to Work Items Integrate with WI Picker Source Control Write against OM Add new file type support (keyword expansion, diff/merge) Participate in integrated check-in Define new policie Respond to events Reporting Extend warehouse Portal Build new web parts Build Add new Build tasks

Team Foundation Extensibility Visual Studio Your VSIP Package Your. NET App Your PCW plug

Team Foundation Extensibility Visual Studio Your VSIP Package Your. NET App Your PCW plug in Your TE Node Team Foundation OM Work Item OM Version Control OM Registration Svc Proxy Linking Service Proxy Policy Framework Eventing Service Proxy Security Service Proxy Common Controls Classification Svc Proxy Client Application Tier Changeset / Source File Work Item Build Your Artifacts Version Control Service Work Item Tracking Svc Team Build Service Your Service Warehouse Adapter Registration Service Linking Service TF Data Eventing Service TF Facts Your Facts Reporting Warehouse Security Service Your Data Classification Service Data Tier

Example Partner Integration Do you use Automated Build Studio? Automated. QA’s Automated Build Studio

Example Partner Integration Do you use Automated Build Studio? Automated. QA’s Automated Build Studio is a powerful build and release management system. It provides an easy way to automate and simplify the whole cycle of build, test, delivery and deployment. On the client, ABS is integrated with Visual Studio. Net. ABS will integrate with Visual Studio 2005 Team System.

Example Integration Automated QA’s Automated Build System (ABS) ABS integrates with: Team Foundation Version

Example Integration Automated QA’s Automated Build System (ABS) ABS integrates with: Team Foundation Version Control Team Foundation Work Item Tracking Mechanism for integration: Web services Command line scripting Automated. QA’s Test Complete product integrates with Team Test tools, too Visit Automated. QA at booth 1044.

The Extensibility Kit Sample Registration Service Example “tool” – Collectibles Linking One collector can

The Extensibility Kit Sample Registration Service Example “tool” – Collectibles Linking One collector can point to other artifacts Service via a holds relationship a points to relationship Workvia Item APicker user can subscribe to receive e-mails when a collector changes Eventing Collectors are organized by team project Service Registration Service Classification Service Project Picker

The Extensibility Kit Sample Visual Studio Your VSIP Package Collectibles Your Client. NET App

The Extensibility Kit Sample Visual Studio Your VSIP Package Collectibles Your Client. NET App Your PCW plug in Your TE Node Team Foundation OM Work Item OM Version Control OM Registration Svc Proxy Linking Service Proxy Policy Framework Eventing Service Proxy Security Service Proxy Common Controls Classification Svc Proxy Client Application Tier Changeset / Source File Work Item Build Your Artifacts Collector Artifact Version Control Service Work Item Tracking Svc Team Build Service Your Service Collectibles Web Svc Warehouse Adapter Registration Service Linking Service TF Data Eventing Service TF Facts Your Facts Reporting Warehouse Security Service Collectibles Your. DBData Classification Service Data Tier

A more realistic sample Work item spawning Task Take Order: Write Spec Task Scenario

A more realistic sample Work item spawning Task Take Order: Write Spec Task Scenario Take Order: UI Design Task Take Order: Test Plan Task Take Order: Dev Schedule

Example Extensions Core services Add a new tool with new artifact types, link types,

Example Extensions Core services Add a new tool with new artifact types, link types, database, WS’s Link to other tools’ artifacts Raise, subscribe to events Integrate into Team Explorer Add pages to Project Creation Wizard Work Item Tracking Write against OM Respond to events Link to Work Items Integrate with WI Picker Source Control Write against OM Add new file type support (keyword expansion, diff/merge) Participate in integrated check-in Define new policies Respond to events Reporting Extend warehouse Portal Build new web parts Build Add new Build tasks

A more realistic sample Work item spawning • • Listen for Work. Item. Changed

A more realistic sample Work item spawning • • Listen for Work. Item. Changed event for Completed Task. Use work item object model to update parent Scenario Task Take Order: Write Spec Task Scenario Take Order: UI Design Task Take Order: Test Plan • • • Listen for Work. Item. Changed event for new Scenario. Use work item object model to create new Tasks Use work item object model to link new Tasks to original Scenario Task Take Order: Dev Schedule

Async Communication TFS eventing service Web services-based pub/sub Tools register event types Send SOAP

Async Communication TFS eventing service Web services-based pub/sub Tools register event types Send SOAP messages to interested subscriber services Send e-mail messages to interested people

Registering and Subscribing TFS Work Item Tracking Registration API Another tool may subscribe to

Registering and Subscribing TFS Work Item Tracking Registration API Another tool may subscribe to receive events of that type when they are raised. We’ll use a utility that is delivered with Team Foundation. Work Item Spawn Demo At setup time, a tool registers the types of events it will raise. TFS Work Item Tracking raises a Work. Item. Changed Event Types • subscribe • unsubscribe Subscription API Through UI (purpose-built or general) a person can subscribe to receive e-mail notifications. Not used in this demo

Raising an Event TFS Work Item Tracking TFS Event Client • fire. Async. Events

Raising an Event TFS Work Item Tracking TFS Event Client • fire. Async. Events matched to subscriptions Note: Server-side sinks only in V 1. Demo “Work. Item. Spawn” WS invoked. • callback method specified in subscribe call Work Item Spawn Demo TFS Event Engine Event Types Subs Rules Processor Events matched to subscriptions TFS Work Item Tracking raises a Work. Item. Changed Event Notifications delivered through e -mail

Dramatis Personae Darren – A Developer a keen mind but slightly confused Darryl –

Dramatis Personae Darren – A Developer a keen mind but slightly confused Darryl – A Business Analyst shrewd but well-meaning Darius – A Development Manager gruff but lovable Denis – Process Expert / Programmer Extraordinaire

Work Item Spawning

Work Item Spawning

Artifacts and Links Artifact Identifiers (URIs): vstfs: ///<tool. Type>/<artifact. Type>/<tool. Specific. ID> Example: vstfs:

Artifacts and Links Artifact Identifiers (URIs): vstfs: ///<tool. Type>/<artifact. Type>/<tool. Specific. ID> Example: vstfs: ///Work. Item. Tracking/Work. Item/16723 The target of a link can be ignorant of any sources that point to it For intimate collaboration, tight coupling is supported Each Artifact. Type and (outbound) Link. Type managed by a tool are registered to the Registration service

Linking API You supply: Artifacts[] your. Service. Get. Artifacts (string[] artifact. Uris) Artifacts[] your.

Linking API You supply: Artifacts[] your. Service. Get. Artifacts (string[] artifact. Uris) Artifacts[] your. Service. Get. Referencing. Artifacts (string[] artifact. Uris) void Execute. Default. Action (string artifact. Uri, string contextinfo) We supply: Artifacts[] ILinking. Get. Artifacts (string[] artifact. Uris) Artifacts[] ILinking. Get. Referencing. Artifacts (string[] artifact. Uris) Helper methods: Encode. Uri, Decode. Uri, Extract. Links, Get. Artifact. Url, Get. Artifact. Uri

<artifact. Data> <links> d 3. Call Get. Referencing. Artifacts with Uri for Work. Item

<artifact. Data> <links> d 3. Call Get. Referencing. Artifacts with Uri for Work. Item 107462 to d e at rel Work Item 170472 <artifact. Data> <links> Attached Document What. Happened. doc? d) te yp e te s nt Test Pass 20031014. 8054 Call Get. Artifacts with Uri for Work. Item 107462 by (u 1. Work Item 107462 <artifact. Data> checkin Changeset Set 142562: Lollipop Fix <artifact. Data> <links> 2. Call Get. Artifacts with Uris for: • Change. Set 142562 • Doc “What. Happened. Doc” • Build 20031012. 352 fo un d in Build 20031012. 352 <artifact. Data> <links>

<artifact. Data> <links> te d yp e te s d) Attached Document What. Happened.

<artifact. Data> <links> te d yp e te s d) Attached Document What. Happened. doc? <artifact. Data> <links> nt Test Pass 20031014. 8054 Call Get. Artifacts with Uri for Work. Item 107462 by (u 1. 2. Call Get. Artifacts with Uris 3. Call for: Work Item 107462 is involved in these relationships: Get. Referencing. Artifacts • Change. Set 142562 107462 Relationship Item type Item Modified • Doc “What. Happened. Doc By with Uri for ” Work. Item involves 107462 attachment What. Happened. doc 10/13/2003 10: 00 am pm 1 • Build 20031012. 352 o < artifact. Data > t f ou ted 20031012. 352 n 9: 52 pm a found in build 10/12/2003 qa 1 l d re in Work Itemchangeset checkin 142562: Lollipop fix 10/15/2003 6: 42 pm dev 1 checkin tested 170472 by test pass 20031014. 8054 10/14/2003 2: 15 am qa 1 Build related to Work Item <artifact. Data> <links> 170472 10/5/2003 Changeset Set 142562: Lollipop Fix <artifact. Data> <links> 3: 13 pm 20031012. 352 gematthew <artifact. Data> <links>

Permissions in TFS Group Services Lightweight user groups / roles for security and policy

Permissions in TFS Group Services Lightweight user groups / roles for security and policy Default groups for common roles Group resolution includes AD groups, local SAM groups and TFS groups TFS-Enabled tools include these user groups when they perform authorization Authorization services Tool-specific object classes and permissions Register objects, ACEs at run time Inheritable permissions

Summary Rich feature set Work item tracking Version control Team build Warehouse and reporting

Summary Rich feature set Work item tracking Version control Team build Warehouse and reporting Extensibility and integration from the ground up Object models Web services Core integration services You can use what we use

Resources Team System Extensibility Kit: http: //www. vsipdev. com/downloads/ General Team System Info: http:

Resources Team System Extensibility Kit: http: //www. vsipdev. com/downloads/ General Team System Info: http: //msdn. microsoft. com/teamsystem More into on Automated. QA’s products: http: //www. automatedqa. com/

Your Feedback is Important! Please Fill Out a Survey for This Session on Comm.

Your Feedback is Important! Please Fill Out a Survey for This Session on Comm. Net

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.