DEV365 Visual Studio Team Edition for Software Architects: Overview Alex Torone Lead Program Manager Enterprise Tools Microsoft Corporation
Visual Studio Team System Change ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Server Integration ServicesProject Management Process and Architecture Guidance Dynamic Code Analyzer Visual Studio Team Edition Software Architects Static Code AnalyzerCode ProfilerUnit TestingCode CoverageTeam Explorer (includes Team Foundation Server CAL)Visual Studio Professional EditionLoad TestingManual TestingTest Case Management Visual Studio Team Edition Software Developers Visual Studio Team Edition Software Testers Visual Studio Industry Partners Team BuildClass Designer (in Visual Studio Standard Edition and higher) Visio for Enterprise Architects (in MSDN Premium Subscription) Distributed System Designers Application DesignerSystem DesignerLogical Datacenter DesignerDeployment Designer
Topics Challenges in enabling the application development lifecycle Model-driven development with VSTESA Extensibility Looking Forward
How do I build applications that will successfully deploy? How do I set and enforce operational policies? How do I communicate application requirements to Operations? How do I keep better informed of application requirements? How do I communicate a critical business process to IT?
Dynamic Systems Initiative
Best Practices & Guidance
Applications Application Hosts Network Topology & OS Hardware System Definition Model (SDM): A formal model of a complete system All information pertinent to deployment and operations Machine-readable, capturing intent of developers and IT Professionals System topology Developer constraints IT policy Installation directives Health model Monitoring rules Service Level Agreements Reports ? ?
Distributed System Designers Application Designer System Designer Logical Datacenter Designer Deployment Designer Deployment Reports Design Configurations of Applications and Systems Configuration targeted per deployment environment Validate and Correct Errors Describe Deployment of a System to a Datacenter Design and Develop Applications Capture configuration meta-data Capture application dependencies HTML Report, XML Report for Deployment Tools Describe Datacenter Application Hosting Model Capture configuration meta-data Capture host dependencies Tools to create and understand models for transferring knowledge across all roles in the application development lifecycle.
Humongous Insurance Architects, developers and IT Professionals sharing knowledge to extend Humongous Insurance Existing call center application services internal clients for Life Policy administration Existing call center application services internal clients for Life Policy administration Goal Goal Extend the system to provide Auto Policy administration Extend the system to provide Auto Policy administration Offer customer self service portal for both auto and life Offer customer self service portal for both auto and life
System Designer Logical Datacenter Designer Deployment Designer Deployment Reports Distributed System Designers Application Designer Choose approach – agile or formal Design first, code first, contract first, existing applications first Visualize your application architecture Synchronize design with code in projects Leverage the architect’s knowledge Create architecture & hand off to developers Specify configuration & deployment requirements
Architect uses Application Designer to Extend Humongous Insurance System Add Customer Self Service Web Client Add Customer Self Service Web Client Create Web service that wraps Auto System Create Web service that wraps Auto System Integrate Life and Auto systems Integrate Life and Auto systems
Architect uses Application Designer to Extend Humongous Insurance System Visualize Solution structure Whiteboard design Contract-first Code first Synchronization Code Generation & Configuration
Distributed System Designers Logical Datacenter Designer Application Designer System Designer Deployment Designer Deployment Reports Application Servers not machines Logical infrastructure architecture Specify resources and import settings from the target environment Leverage the ITPro’s knowledge Yes… but It works on my machine too! Increase the predictability of application deployment Specification of configuration Specification of IT policy for application developers Improve communication with development and IT Professionals
ITPro uses Logical Datacenter Designer to Describe Target Deployment Environment Define an internet perimeter Zone for Customer Self Service Define an internet perimeter Zone for Customer Self Service Configure application services Configure application services Specify datacenter policy to restrict web services in Perimeter Specify datacenter policy to restrict web services in Perimeter
Logical datacenter design Importing and specifying settings Specifying Constraints on Applications Save reusable configurations in toolbox ITPro uses Logical Datacenter Designer to Describe Target Deployment Environment
Distributed System Designers System Designer Logical Datacenter Designer Application Designer Deployment Designer Deployment Reports Deploy what you need Allows distinct debug, pre-production, and production configuration Encapsulation Selectively expose entry points to system Composition
Architect Configures new System Configures CustomerSelfService Configures CustomerSelfService
Architect Configures new System Nested Systems Debug and deployment configuration separate Isolation Multiple uses
Distributed System Designers System Designer Logical Datacenter Designer Application Designer Deployment Designer Deployment Reports Determine compatibility of Application against target environment Bind applications to logical servers Validators highlight incompatibilities Improve communication with development and IT Professionals Deployment Report
Architect Determines Application Compatibility with Datacenter Policies Bind applications to environment Validate application & datacenter policy Resolve conflicts Generate deployment report for Communication & scripting
Policy Constraint validation Communication pathway resolution Integrated Error resolution Scriptable and human readable Deployment reports Architect Determines Application Compatibility with Datacenter Policies
Humongous Insurance Architects, developers and IT Professionals sharing knowledge to extend Humongous Insurance Existing call center application services internal clients for Life Policy administration Existing call center application services internal clients for Life Policy administration Goal Goal Extend the system to provide Auto Policy administration Extend the system to provide Auto Policy administration Offer customer self service portal for both auto and life Offer customer self service portal for both auto and life
Extensibility User defined settings Examples (security, performance, health, etc) Associate them with *any* existing type Constrainable User defined Applications and Logical Servers Fully document your system Add new hosting relationships to existing models Extend communication capabilities Codify best practices with “Validators” Security best practices Service Level Agreement Application Health Extend the experience by adding models through the SDM SDK
Extensibility Defining and using new types Defining and using new types
Codify best practices and guidance Best Practices in “Patterns & Practices” documents but … Massive amount of documentation Not very clear what is expected Inflexible for different architectures Difficult to track changes Codify best practices with Validators “Executable contract” design time feedback Versioned and standardized Grouped in relevant resources
Codify best practices and guidance Security best practices Security best practices
Visual Studio Team Edition for Software Architects Model structure of complex systems Visualization and validation Knowledge transfer and collaboration Between architects and developers Between development and operations Improve value of design Design, code and configuration are synchronized Improve predictability of deployment Design validation, unified deployment manifest Integrate best practices and guidance
Looking Forward… VS Integration with Deployment & Management Test deployments More on Analysis “Design for… Performance, Management, Security, Operations, SLA Rich support for distributed system design Indigo Contract design Deep Extensibility Support Broader lifecycle coverage/integration
Resources Visual Studio Team Edition for Software Architects architect/default.aspx Visual Studio Team Edition for Software Architects: architect/default.aspx architect/default.aspx architect/default.aspx System Definition Model (SDM) SDK default.aspx System Definition Model (SDM) SDK : default.aspx default.aspx default.aspx Dynamic Systems Initiative (DSI) Dynamic Systems Initiative (DSI): default.mspx default.mspx dsltools/ dsltools/ Domain Specific Language tools : dsltools/ dsltools/
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.