DEV463 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 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 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 Project Management Reporting Version Control Build Automation Team Foundation Tour Work Item Tracking Project Management Reporting Version Control Build Automation Project Portal Work Item Tracking and Office Integration 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 Source Control and Work Item Tracking Team Foundation Tour Work Item Tracking Project Management Reporting Version Control Build Automation Topics Team Foundation Tour Technical Architecture Conceptual Architecture Extending Team Foundation Technical Architecture Win 2003 Server ASP.Net / IIS 6.0 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 Win XP (>=SP2) Win 2003 Server (>=SP1) .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 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 VSTF Adjuncts Report Client Custom reporting tools Team Foundation App Tier SQL Reporting Services Windows SharePoint Services Work Item Tracking Service Build Machine Version Control Service Team Build Service Core Services Adapters MS Excel Team Foundation App Tier SQL Reporting Services Windows SharePoint Services Work Items Team Foundation Data Tier Version Control Team Build Data Core Data Warehouse 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? 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 Meta Data Repositories Work Items Tests Build Configs Third Party Tool Source Code TFS “Virtual Repository” * * Project Structure Iteration Structure * Build * * Work Item * * TFS Enablement Work Items Work Item * Latest Item Version TFS Enablement Version Control LabelLatest 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 Structure 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 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 MyHICPortal - Microsoft Internet Explorer http://humongous/myprojectportal/default.aspx Discussions Documents Policy Portal Search Home I need to... -- select from list -- 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 Create New Project Documents Status Reports Presentations Modify My Page Projects Overview Projects Status Project X Specs Requirements Reports Standard Reports Envisioning Create a new report Communications Status reports 2/2 1 /1 Due Date Signoff 6/5/03 Yes 2 of 2 4 of 12 8 of 8 21 of 55 3 of 3 12 of 15 8/1/03 No 3 of 4 5 of 7 9 of 10 6 of 7 9/1/03 No 8 of 9 17 of 20 8 of 10 10/1/03 No 0 of 0 0 of 0 0 of 0 11/1/03 No 1 of 9 6 of 7 3 of 3 7 of 8 7/15/03 No 3 of 3 1 of 10 7/25/03 No 2 of 4 9 of 9 Weekly Executive Summary Given our active bug count and incoming rates, it's become apparent that we are not ready to start our final test pass today (6/16). Therefore, our new M2 exit path is as follows: M2 Fork: TBD (see below) Final test pass start: 6/30 (see below) Sign off: 7/11 Recently updated Documents Name 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Project Management Console Defect Tracking Tool MSWord Requirements Template Humongous Project Guidelines Contacts Jacqueline Ackerman - Project Manager Endicott Smith - VP Sales, Project Sponsor Anna Jones - Business Analyst Bert Lewis - Development Manager Barbara Baker - Test Manager Add New Link Standard Forms Modified By Vision Document Vision Document Fiona Business Requirements Business Requirements Betty MyHIC Functional Requirements Paula Feature Specifications Customer Interviews Betty Status Reporting Add New Document Defects Open Test Cases Run Defects/TC in Log Add New Link Over the past few weeks, teams have done extraordinary work getting bugs resolved, triaging hard, and consistently getting closer and closer to meeting our milestone exit criteria. Ask mode has helped in keeping the builds working, and we're ready to start group checkins, after the mass integration last week (Lab21, Lab22 and Lab25 RI'ed in one day!). However, this is about a week and a half behind the original schedule. Type er e dler ASP ey Cor Han FX Tick nsfer FX Mon Tra Links FX Hander Transfer ASP Stabilizing Deploying Alias Members 4/4 Risks FX Ticker Developing Roles Manager Team Subscription 0 Issues Planning Public Reports Workflow Project Schedule Defects Defect Trends 450 400 350 300 250 200 150 100 50 0 Project Portal web site provides role-based views of the development project. In addition to providing useful information directly (such as the plan of record, defect trends, and other reports), it also serves as a launching point for various other tools. SQL Server Reporting Services Quick Launch Project Portal Home Functional Requirements Create a new Form Project Counsel Home 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, 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 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, 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 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 Warehouse Adapter Warehouse Adapter Warehouse Adapter Registration Service Linking Service Eventing Service Security Service Data Tier TF Facts TF Data TF Facts Your Facts Reporting Warehouse Classification Service Your Data Example Partner Integration Do you use Automated Build Studio? AutomatedQA’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 Control Team Foundation Work Item Tracking Mechanism for integration: Web services Command line scripting AutomatedQA’s Test Complete product integrates with Team Test tools, too Visit AutomatedQA at booth 1044. 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 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 Warehouse Adapter Warehouse Adapter Warehouse Adapter Registration Service Linking Service Eventing Service TF Facts TF Data TF Facts Your Facts Reporting Warehouse Security Service Collectibles YourDB Data Classification Service Data Tier A more realistic sample Work item spawning Task Take Order: Write Spec Task Scenario Take Order 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, 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 WorkItemChanged event for Completed Task. Use work item object model to update parent Scenario Task Take Order: Write Spec Task Scenario Take Order Take Order: UI Design Task Take Order: Test Plan • • • Listen for WorkItemChanged 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 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 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 WorkItemChanged Event Event Types • subscribe • unsubscribe Subs 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 • fireAsyncEvent Events matched to subscriptions Note: Server-side sinks only in V1. Demo “WorkItemSpawn” WS invoked. • callback method specified in subscribe call Work Item Spawn Demo TFS Event Engine Event Types Subs Subs Rules Processor Events matched to subscriptions TFS Work Item Tracking raises a WorkItemChanged Event Notifications delivered through e-mail 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 Artifacts and Links Artifacts Artifact Identifiers (URIs): vstfs:///<toolType>/<artifactType>/<toolSpecificID> Example: vstfs:///WorkItemTracking/WorkItem/16723 The target of a link can be ignorant of any sources that point to it For intimate collaboration, tight coupling is supported Each ArtifactType and (outbound) LinkType managed by a tool are registered to the Registration service Linking API You supply: Artifacts[] yourService.GetArtifacts (string[] artifactUris) Artifacts[] yourService.GetReferencingArtifacts (string[] artifactUris) void ExecuteDefaultAction (string artifactUri, string contextinfo) We supply: Artifacts[] ILinking.GetArtifacts (string[] artifactUris) Artifacts[] ILinking.GetReferencingArtifacts (string[] artifactUris) Helper methods: EncodeUri, DecodeUri, ExtractLinks, GetArtifactUrl, GetArtifactUri 1. Call GetArtifacts with Uri for WorkItem 107462 Test Pass 20031014.8054 <artifactData> <links> <artifactData> <links> 3. Call GetReferencingArtifacts with Uri for WorkItem 107462 Work Item 170472 <artifactData> <links> Attached Document WhatHappened.doc? Work Item 107462 <artifactData> checkin Change Changeset Set 142562: Lollipop Fix <artifactData> <links> 2. Call GetArtifacts with Uris for: • ChangeSet 142562 • Doc “WhatHappened.Doc” • Build 20031012.352 Build 20031012.352 <artifactData> <links> 1. Call GetArtifacts with Uri for WorkItem 107462 Test Pass 20031014.8054 Attached Document WhatHappened.doc? <artifactData> <links> <artifactData> <links> 2. Call GetArtifacts with Uris 3. Call for: Work Item Work Item 107462 is involved in these relationships: GetReferencingArtifacts • ChangeSet 142562 107462 Relationship Item type Item Modified• Doc “WhatHappened.Doc” By with Uri for WorkItem involves 107462 attachment WhatHappened.doc 10/13/2003 10:00am pm1 • Build 20031012.352 <artifactData> found in build Work Itemchangeset checkin tested170472 by test pass related to Work Item <artifactData> <links> 20031012.352 142562: Lollipop fix 20031014.8054 170472 10/12/2003 9:52pm 10/15/2003 6:42pm checkin 10/14/2003 2:15am 10/5/2003 Change Changeset Set 142562: Lollipop Fix <artifactData> <links> 3:13pm qa1 dev1 qa1Build 20031012.352 gematthew <artifactData> <links> 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 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://msdn.microsoft.com/teamsystem More into on AutomatedQA’s products: http://www.automatedqa.com/ Your Feedback is Important! Please Fill Out a Survey for This Session on CommNet © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
© Copyright 2026 Paperzz