Download presentation
Presentation is loading. Please wait.
2
Visual Studio 2005 Team System: Tools for Architecture: Designing for Deployment Ajay Sudan Microsoft Corporation http://msdn.microsoft.com/teamsystem
3
Visual Studio 2005 “Personalized productivity” Novices Enthusiasts Students Hobbyists Consultants Solo Professionals Enterprise Devs Architects Testers Project Managers Part-Timers VB6 Devs Web Professionals
4
Visual Studio Team System Version ControlWork Item TrackingTeam ReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Process and Architecture Guidance Dynamic Code Analyzer Visual Studio Team Architect Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation Client (includes CAL)Visual Studio Professional EditionLoad/Web TestingManual TestingTest Case ManagementApplication DesignerLogical Datacenter DesignerDeployment Designer Visual Studio Team Developer Visual Studio Team Test Visual Studio Industry Partners Team BuildClass Designer
5
Agenda Distributed system challenges & DSI Distributed system challenges & DSI Distributed System Designers Distributed System Designers Team Architect as a platform Team Architect as a platform
6
Monitoring Server Router/ Firewall 100 Mbps Switch Web Server 4 Web Server 3 Web Server 2 Web Server 1 Order Processing Server (with message queue, payment component, and SMTP) Admin Server (with Domain Controller & DNS) Database Server 1 Disk Array Database Server 2 Active Directory Domain Controller (with DNS)
7
Monitoring Server Router/ Firewall 100 Mbps Switch Web Server 4 Web Server 3 Web Server 2 Web Server 1 Order Processing Server (with message queue, payment component, and SMTP) Admin Server (with Domain Controller & DNS) Database Server 1 Disk Array Database Server 2 Active Directory Domain Controller (with DNS) Challenges Span the IT Lifecycle
8
How do I build applications that will successfully deploy? Development IT Operations How do I set and enforce operational policies? How do I communicate application requirements to Operations? Distributed System Challenges How do I keep design documentation up to date with code?
9
Model based development tools to capture & edit system knowledge and facilitate collaboration across IT. Leverage knowledge in models to fully automate deployment, updating, configuration and monitoring Fully instrumented platform and technologies with rich support for automation and hardware virtualization Dynamic Systems Initiative Applications “Designed For Operations” “Operationally Aware Platform” “Model Based Management Tools” Instrumentation Automation Hardware Virtualization Architect, Dev and Testing Tools Application Management Packs Deploy/Update/Configure Monitoring and Reporting Microsoft-led, industry effort to dramatically simplify and automate how businesses design, deploy, and operate distributed IT systems. System Definition Model (SDM) Schematization of “services”
10
Dynamic Systems Initiative System Definition Model (SDM) Applications Application Hosting Logical Machines & Network Topology Hardware System Definition Model
11
Visual Studio Team Architect Distributed System Designers Application Designer Application Hosting Applications Deployment Designer System Designer System Definition Model Logical Datacenter Designer
12
Problem Space Customers have communication problems between Customers have communication problems between Architects and Developers Developers do not work within architectural guidelines Development and Operations Deployment problems caught too late Customers recognize value of modeling tools Customers recognize value of modeling tools Visualization of designs Higher level abstractions simply design and development Generation `of code and other artifacts can improve productivity Modeling tools have poor history of success Modeling tools have poor history of success Positive: good for documentation Negative: CASE baggage, round-tripping complexities, not used for software development
13
Visual Studio Team Architect Goals Reduce the complexity of distributed system design and development Reduce the complexity of distributed system design and development Enable communication between architects and developers Keep system design documents synchronized with code Increase predictability of deployment Increase predictability of deployment Enable communication of requirements between development and operations Enable validation of system design against model of target environment
14
SDM Models Models Web Services ASP.Net applications IIS Existing SQL Server or OLE DB Windows Application, … An XML schema for SDM An XML schema for SDM Definitions, Systems, Resources, EndPoints Communication, Hosting, Containment, Delegation Constraint language Constraint language Flow Language Flow Language SDM Compiler SDM Compiler VSTA, DSI, and SDM Distributed System Designers SDM Compiler Constraint validation errors “system” models models Application and Server configuration and specification “Deployable SDM” SDM” Deployment Reports Dynamic Load of SDM models
15
Designing connected systems Designing connected systems Code first or contract first Code first or contract first
16
Application Designer Service-Oriented Architecture model Port Details editor
17
Why do we need a logical datacenter? Because “we know” it works on your machine… Because “we know” it works on your machine… Because you can’t afford a data center for every developer Because you can’t afford a data center for every developer Because it’s expensive to troubleshoot production problems and re-architect applications Because it’s expensive to troubleshoot production problems and re-architect applications Because developers don’t understand why it will break in the deployment environment Because developers don’t understand why it will break in the deployment environment
18
The “right” information…
20
What is a logical datacenter? Describes the types of servers and what application types they can host Describes the types of servers and what application types they can host not how many Describes what services are on the machine Describes what services are on the machine not physical characteristics Describes what protocols are available Describes what protocols are available not what IP routing table is used Describes communication boundaries Describes communication boundaries not firewalls, vlans, switches & routers Describes application authentication requirements Describes application authentication requirements not wire level encryption Describes the configuration settings of the server Describes the configuration settings of the server not the raid configuration Describes constraints on application configuration Describes constraints on application configuration w/o having to page the developer Communicates the “right” information
21
Settings Settings are “configuration” elements on an application or a run-time hosting environment Settings are “configuration” elements on an application or a run-time hosting environment System.web Authentication Mode=Forms IIS Meta-base AccessFlags=Execute System.Data Authentication=mixed Settings can also be user defined Settings can also be user defined MySetting=Foo
22
Constraints Developers express their “requirements” of the datacenter Developers express their “requirements” of the datacenter Operators express their “requirements” of the applications Operators express their “requirements” of the applications Constraints are authored against configuration settings and relationships Constraints are authored against configuration settings and relationships Hosting constraints Can I bind or connect these “systems”? Pre-defined constraint dialogs Constrain logically-grouped settings, with custom dialogs for desired value entry. User-defined constraints Let a user constrain against any values on any setting Implicit constraints Defined by system, not the user—“laws of physics.”
23
Describing the Logical Datacenter Describing the Logical Datacenter Specifying & Importing Settings Specifying & Importing Settings Specifying constraints Specifying constraints Validation Validation Deployment Report Deployment Report
24
Logical Infrastructure Designer Services assigned to logical infrastructure Architecture validated against operational settings and constraints
25
Extensibility SDK – Beta 2 Support the ability to add new SDM resources as additional properties on any logical server or application Support the ability to add new SDM resources as additional properties on any logical server or application Associate with any existing types Fully Constrainable Generic Logical Servers and Applications Prototypes Support the ability to define new SDM types Support the ability to define new SDM types New System Definitions New Endpoints New relationships New Constraints
26
Extensibility SDK – Beta 2 Goal Goal Model and visualize “other aspects” of a distributed system What you do… What you do… Add new Application Definitions to the Application Designer Add new Host Definitions to the Logical Data Center Designer Model new endpoint types Create new communication, and hosting relationships Add custom constraints to new or existing Definitions Extend existing definitions with new meta-data What you get… What you get… Integration with existing drag-drop-connect metaphor Integration with exiting user experience for Settings and Constraints Integration with existing validation experience Integration with existing user experience for Deployment Validation
27
Extensibility – How Does it Work? 2) Customer uses SDK: Architect models product in SDM definition Dev codes constraints and managers Install package is created SDM SDM SDK Docs Visual Studio 1) Customer wants to: Create or extend SDM models Define new settings Define new constraints Use new types in Visual Studio 3) Customer uses VS Extensibility to: Install new types Create rich application models using new types Associate resources with existing definitions 4) Service is visible and available for modeling: Integrated modeling experience Integrated setting editing experience Integrated Validation experience New types persisted as SDM files
28
Future releases… Extensibility to allow partners to … Extensibility to allow partners to … Integrate new SDM types with the design type environment to control code and config Provide the benefit of design-time validation for 3 rd party systems Deployment & management Deployment & management Test & automated deployments Integration with System Center Support for Indigo service framework Support for Indigo service framework Contract designer Contract designer
29
Team Architect as a Platform Customers want their own custom graphical designers Customers want their own custom graphical designers To work with useful abstractions (models) integrated with their architecture and software development processes Reduces overall IT costs and increases business agility It’s too expensive to build these now It’s too expensive to build these now They give up the graphical aspect and use XML They put up with limited customization in UML tools They kludge together a combination of the above
30
Team Architect as a Platform The V1 mission is The V1 mission is Rapidly create custom graphical designers for new problem domains Enable integration of custom graphical designers with enterprise architecture and development processes Foster an ecosystem of partners, customers and community
31
How To: Create a New Designer
32
Result of Running Wizard
33
Example: Using the new DSL
34
A More Complex Example Class Designer and two-way code synch
35
Summary Distributed system challenges & DSI Distributed system challenges & DSI Distributed System Designers Distributed System Designers Team Architect as a platform Team Architect as a platform
36
Questions Ajay Sudan
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.