Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Modelování ve Visual Studiu (i jinde) Michael Juřek Software Architect Microsoft s.r.o.

Podobné prezentace


Prezentace na téma: "Modelování ve Visual Studiu (i jinde) Michael Juřek Software Architect Microsoft s.r.o."— Transkript prezentace:

1

2 Modelování ve Visual Studiu (i jinde) Michael Juřek Software Architect Microsoft s.r.o.

3 Microsoft a modelování Modelování pro vizualizaci vs. modelování pro generování kódu MS se soustředí na modelování některých aspektů (viewpoints) řešení pro generování kódu (ne UML) Chcete-li UML, použijte nástroje 3.stran nebo Visio, negenerujte kód VSTS Modeling Strategy & FAQ: us/library/ms379623(VS.80).aspx us/library/ms379623(VS.80).aspx

4 Agenda Service Modeling Language Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories Guidance Automation Extensions Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

5 ITIL-based Process and Knowledge Embedded Dynamic Systems Initiative Capture knowledge in models WS- Management Multi-level: Operating systems System resources Applications

6 Administrátoři nerozumí aplikacím, jejich nárokům a požadavkům Vývojáři Administrátoři Vývojáři nerozumí provoznímu prostředí, jeho nastavení apod. Distribuované aplikace znamenají problémy

7 Merc.StageShuttleJob Cache HTTP SQL Feed Store Feed Store DSS FTP Vize - System Definition Model „Živá“ předloha pro fungování aplikace Potřebné zdroje Politiky pro běh aplikace Operační možnosti Vytvoření definice nového systému nebo jeho úprava Fungování systému podle jeho definice Automatická alokace zdrojů a konfigurace podle definice STORAGESERVERSNETWORKING SDM dokument

8 Applications Application Hosts Network Topology & OS Hardware Service Modeling Language (SML) Předchozí název System Definition Model (SDM) Formální popis celého systému Obsahuje informace pro instalaci a nasazení Automaticky čitelný, zachycuje záměry vývojářů i správců Topologie systémů Požadavky vývojářů IT politiky Pokyny pro instalaci Model „zdraví“ aplikace Pravidla pro monitorování Service Level Agreement Reporty ? ? Service Modeling Language

9 Agenda Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories Guidance Automation Extensions Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

10 Snižují složitost návrhu a vývoje distribuovaných systémů Lepší komunikace mezi architekty a vývojáři Návrh distribuovaného systému je automaticky synchronizován se skutečným stavem (kódem) Zvyšuje šanci na úspěšné nasazení do provozu Umožňuje vzájemné porozumění požadavkům vývojářů a správců Nabízí možnost ověření návrhu systému oproti prostředí, ve kterém má být aplikace nasazena Zlepšují komunikaci uvnitř vývojových týmů Distributed System Designers

11 Application Designer Hostování aplikací Aplikace Deployment Designer System Designer System Definition Model Logical Datacenter Designer Distributed System Designers

12 Aplikace Nedělitelná jednotka pro nasazení Typ (WinForms, ASP.NET, web služba,...) Verzována Lze definovat rozhraní služby Nabízí a/nebo používá služby ostatních aplikací (endpoint) Definuje požadovanou konfiguraci Může definovat omezení na hostující prostředí (OS, IIS,...) Uložena jako SDM dokument

13 Systém Jednotka nasazení složená z aplikací VerzovánaKompoziceZapouzdření Nabízí a/nebo používá služby ostatních aplikací/systémů Může přepsat konfiguraci a omezení v ní vložených aplikací Uložena jako SDM dokument

14 Application Diagram: Návrh architektury Nastavení a omezení Implementace a synchronizace

15 Správná informace…

16 Zjednodušená abstrakce části datového centra Popisuje typy serverů nikoliv počty Popisuje nastavení a konfiguraci serverů nikoliv jejich fyzické charakteristiky Popisuje povolené a dostupné protokoly nikoliv IP konfiguraci, routovací tabulky apod. Popisuje komunikační hranice nikoliv firewally, VLAN, switche, routery,... Popisuje požadavky na autentizaci nikoliv kryptografii na úrovni síťových paketů Popisuje požadavky na konfiguraci aplikací bez nutnosti složité dokumentace a komunikace Co je logické datové centrum?

17 Popisuje možnosti datového centra pro provozování aplikací Verzováno Definuje logické aplikační servery: Konfigurace, možná spojení Požadavky na aplikace Umístěny v zónách zastupujících komunikační hranice Uložena jako SDM dokument Logické DC

18 Popis nasazení konkrétního systému v konkrétním logickém DC Mapuje jednotlivé aplikace na logické servery v DC Slouží k ověření slučitelnosti požadavků vývojářů (na úrovni aplikace) s požadavky správců (na úrovni DC) Definice nasazení

19 Logical Datacenter Diagram: Návrh datového centra Nastavení a omezení Deployment Diagram: Validace

20 Agenda Service Modeling Language Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories Guidance Automation Extensions Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

21 Service Modeling OpsMgr 2007 MPs contain SDM models Formal definition of: Types of object (classes) Properties of classes Types of relationship between objects Supported by: Discovery rules Health models 21

22 Modeling Example - Buildings 22

23 Defining Types of Buildings Building Office Building Residential Building Apartment Block Single Family Home An office building IS A building A residential building IS A building An apartment block IS A residential building An apartment block IS A building A single family home IS A residential building A single family home IS A building Specialization 23

24 Building Office Building Residential Building Apartment Block Single Family Home Address Construction Date Number of Floors Square Feet Number of Families Is Detached Employee Capacity 24

25 Building Office Building Residential Building Apartment Block Single Family Home Address Construction Date Number of Floors Square Feet Number of Families Address Construction Date Number of Floors Square Feet Employee Capacity 25

26 Relationships A person uses a building A group contains buildings A building hosts rooms 26

27 Rooms A building can have many rooms A room belongs to only one building The lifetime of the room is dependent on the lifetime of the building The identity of the room is within the context of the building 27

28 Groups A group contains buildings A building can belong to any number of groups The lifetime of the building and group are not related The identity of the building and group are not related 28

29 People A person uses a building A person can use many buildings A building can have many people using it The lifetime of the person and building are not related The identity of the person and building are not related 29

30 Types of Relationships Building Office Building Residential Building Apartment Block Single Family Home Person Uses Building Building Hosts Room Group Contains Buildings 30

31 Types of Relationships A building hosts a room (Hosting) A group contains a building (Containment) A person uses a building (Reference) 31

32 OpsMgr Example Entity Logical Entity Computer Role Windows Computer Role SQL Server Specialization IIS 32

33 OpsMgr Example Entity Logical Entity Windows Computer Role SQL Server IIS Hosts Windows Computer Computer Role 33

34 Object Discoveries Objects and relationships are discovered: RegistryWMIScriptOLEDBLDAP Custom code (Managed) 34

35 Discovered Objects 35

36 Discovered Relationships stwilson15d\Instance1 master model OperationsManager tempdb test1 test2 stwilson15d.smx.net 36

37 Health Modeling Every class has a health model Collection of monitors Arranged in a tree structure As deep or as shallow as required Represents the current state of the object Use the health explorer to view 37

38 38

39 Monitors A monitor is a state machine A monitor is in one state at any time Monitors some aspect of an application Has a finite number of operational states (maximum of 3 in this release) Each operational state maps to a health state Defines alerting conditions (optional) 39

40 Monitors (State monitoring) Object SecurityHealthConfigurationHealth OverallHealth AvailabilityHealthPerformanceHealth ServiceCheck ProcessUtilization SQL 2005 DB Engine Unit Monitors Aggregate Monitors 40

41 Health Model Entity Logical Entity Local Application Windows Computer Role SQL Server 41

42 Health Model – Roll up SQL Server 42

43 Monitor Types – Data Sources EventPerformanceWMI Log file SNMP Trap WS-ManScriptOLEDBLDAPSyslogCrimson And more… 43

44 Dependency Monitors SQL 2005 DB Engine SQL 2005 DB Hosting Dependency Monitor 44

45 Dependency Monitors SQL 2005 DB Engine SQL 2005 DB Hosting 45

46 Dependency Monitors Stwilson15d\Instance1 master model OperationsManager tempdb test1 test2

47 Operations Manager 2007

48 Agenda Service Modeling Language Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories Guidance Automation Extensions Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

49 Microsoft Confidential Configuration Item (CI) CIs are units of configuration that can be detected, applied, and removed from ConfigMgr managed machines. Application CI Operating System CI General CI Software Updates CI Configuration Baseline A configuration baseline is a complex type of CI composed of other CIs which are classified as required, optional or prohibited within the baseline. This is the primary unit of administrative work and can be assigned to collections for compliance monitoring.

50 Microsoft Confidential DCM CIs / Baselines Baselines ConfigMgrAdminConsoleConfigMgrAdminConsole ConfigMgr Server WindowsServer2003CIWindowsServer2003CI 401KApplicationCI401KApplicationCI AntivirusSoftwareCIAntivirusSoftwareCI ConfigMgr Database 401(k) Application ServerBaseline ServerBaseline Configuration Manager Client ManagedClient WMIWMI XMLXML RegistryRegistry IISIIS MSIMSI 1 Configuration Items created by importing valid CI documents 2NewConfiguration Items authored 3 Configuration Baseline defined usingCIs Configuration baseline assigned to collection 4 DCM discovers CIs and validates data against rules 5Compliance state sent to ConfigMgr Database for reporting 6ScriptScript SQLSQL SoftwareUpdatesSoftwareUpdates FileFile ActiveDirectoryActiveDirectory ComplianceStateTablesComplianceStateTables

51 Building knowledge – Parent/Child CIs Microsoft SQL Server 2005 Parent CI Imported from Microsoft Imported from Microsoft Defines core settings/objects Defines core settings/objects and “laws of physics” and “laws of physics” Woodgrove Bank’s Configuration for SQL Server 2005 Best Practices for Microsoft SQL Server 2005 Child CI Inherit definition from parent Inherit definition from parent Add rules to parent settings Add rules to parent settings and objects Add new settings/objects Add new settings/objects for this child CI only SQL Server for HR IT SQL Server for Sales IT Additional layers of inheritance as required. SQL Server for Sales Reporting Application Duplicate CI No link maintained to original.No link maintained to original. Full editing capabilities.Full editing capabilities. Copy of Microsoft SQL Server 2005 Duplicate CI No link to original.No link to original. Inheritance from same parent as original.Inheritance from same parent as original.

52 Microsoft Confidential Built on Service Modeling Language (SML): a modeling language built on XML standards that provides a rich set of constructs for modeling complex IT systems, including: Structure of the system: objects and relationships Desired configuration Administrative policies Management information such as events and performance counters, rules for determining the operational health of the system, etc ConfigMgr 2007 will consume the structure and desired configuration portions of SML models as they relate to a single computer system. SML runtime requires.Net framework 2.x

53 Agenda Service Modeling Language Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories Guidance Automation Extensions Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

54 Diagramy se stávají nedílnou součástí celého životního cyklu Diagram je pouze pohled na kód Praktičnost, snadnost použití Přirozená práce s koncepty CLR Terminologie specifická pro jazyk použitý vývojářem (VB.NET, C#) Komfortní uživatelské rozhraní hladce integrované do Visual Studia Object Test Bench pro jednoduché testování funkce objektů Proč návrh tříd?

55 Diagram tříd - vlastnosti Podobnost s UML Class diagramem Možnosti použití: Prvotní návrh tříd Porozumění, dokumentace a vizualizace tříd Revize a refactoring kódu Neobsahuje žádný aspekt kódu: Pouze automaticky synchronizovaný pohled na kód Uložen v projektu Více tříd v jednom diagramu Vztahy – dědičnost, asociace Konstrukce – class, enum, struct, interface,...

56 Diagram tříd: Návrh tříd „Synchronizace“ s kódem Analýza tříd Object Test Bench

57 Agenda Service Modeling Language Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories Guidance Automation Extensions Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

58 Microsoft Confidential

59 Help you build a specific kind of application (smart client, service, etc) Incorporate a variety of guidance content types and form factors Architecture and design guidance, patterns, and how-to’s (readable/printable) Reference implementations (executable) Application blocks (reusable) Guidance packages (actionable) Enable an implicit process

60 Software Factories Today First-generation platform and factories Emphasis is on: Project and item templates Wizard-based user input Code generation Separate written guidance and reference implementations Some rough spots, but very high customer uptake and satisfaction

61 patterns & practices Factories Four p&p factories available today: Web Client Software Factory Smart Client Software Factory Mobile Client Software Factory Web Service Software Factory Applications built by each factory all adhere to a service- based model and can be combined into larger systems

62 Agenda Service Modeling Language Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories Guidance Automation Extensions Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

63 Guidance Automation Extensions Guidance Package Management Dynamic loading/unloading of guidance packages Recipe Framework Execution of Visual Studio scripts called recipes Wizard Framework Extensions Provides a declarative model for Visual Studio wizards Integration with Solution and Project templates Text Templating Engine ASP-style templates for generating text files

64 Guidance Automation Toolkit Provides a simple environment for authoring and customizing GAX-based Software Factories Implemented as a GAX Guidance Package Includes templates, recipes and sample code for common guidance package development activities

65

66

67 Web Services Software Factory

68 Agenda Service Modeling Language Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories GAT Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

69 Vizuální jazyky property Corona label Shape GroupBase members waiting running pausebegin stop playing +v 0v 0.7CR R C 0.1R C R

70 DSL DSL = Domain Specific Languages Specializovaný jazyk zaměřený na řešení nebo popis specifického problému nebo úlohy Mnoho příkladů SQL, designéry GUI, HTML, regulární výrazy VS Distributed System Designers, Class Designer Díky nim je řešení snadno pochopitelné a dlouhodobě dobře udržovatelné

71 DSL Tools pro Visual Studio Volně k dispozici Visual Studio 2005 Microsoft Modeling Platform In Visual Studio DistributedSystemsDesignersClassDesigner DSL Tools for Visual Studio Váš nový designér

72 Microsoft Modeling Platform In Visual Studio DSL nástroje pro Visual Studio Domain Model Framework Design Surface Framework Template Engine Shell Frame- work Validation Frame- work Paměťová databáze objektového grafu + služby (transakce, serializace, dotazy,...) Rozšiřitelné a programovatelná kreslící plocha (autolayout apod.) Generování artefaktů řešení Provádí kontrolu sémantické správnosti, případně vede vývojáře při nápravě chyb Integrace do prostředí VS (panel nástrojů, nabídky,...)

73 Příklad: Definice modelu

74 Příklad: Použití modelu

75 Next-Generation Software Factory Platform Planning underway to deliver improved Software Factory platform in Visual Studio Team System “Rosario” (late 2008) Plans are still evolving and are subject to change! Key themes: Logical product architecture Guided Activities Integration of DSL designers Authoring and Customization

76 Logical Product Architecture Factory author will be able to describe the architecture for the factory’s product at a logical level Using a hierarchy of view types each containing work product types Developer will be able to build a factory product by Creating a hierarchy of views Creating work products in the views Generating and defining the implementations of the work products

77 Guided Activities Developing software requires the right stuff at the right time Factory author will be able to define the key activities needed to build a product, and specify when they should be done Associate activities with views or view types Define activity pre and post- conditions Track activity execution using Team Foundation Server work items Associate guidance assets with an activity

78 Integration of DSL Designers Each view contains a number of work products which are abstractions over significant elements of the product implementation View types may define designers to help architects and developers see and edit the work products DSL-based designers will frequently be used DSL designers will be a first-class citizen

79 Authoring & Customization Authoring and customizing factories is a critical customer scenario Encode an organization’s architecture and technical requirements into the factory Application types that are specific to an organization We plan to deliver a much enhanced factory authoring and customization environment A factory for building factories! Leveraging everything we’ve discussed: models, designers, activities, process integration, etc.

80 Logical view of the product being developed, constrained by the factory schema “Software Factory” window, allowing users to select from all of the products being worked on. Detail pane shows the activities associated with the selected view

81 Each activity has a number of associated assets The factory guides the user through the sequence of activities required to build the product

82 Each view has an editing experience optimized for the problem domain, such as a Domain Specific Language designer …and a standard way of viewing the work products belonging to each view.

83 Vlastní DSL designér

84 Agenda Service Modeling Language Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories GAT Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

85 Proč modelovat procesy? Produktivita vývojáře Model je pohodlná abstrakce pro popis problémů reálného světa Řešení technologických problémů: Procesy běží často dlouho a musí si uchovávat stav Procesy vyžadují flexibilní kontrolu toku Procesy by měly být transparentní Definice procesu by měla být snadno rozšiřitelná

86 Co je to workflow? Soubor aktivit koordinujících lidské nebo softwarové účastníky InformujNadrizeneho Například: ZkontrolujDostupnost... jako vývojový diagram … v nějaké formě určující tok provádění... jako stavový diagram

87 Workflow Foundation Základní koncepce: Host Process Workflow Foundation Runtime Engine Workflow Activity Runtime Services Base Activity Library Custom Activity Library Visual Designer Visual Designer: Vytváření workflow grafickým modelováním a/nebo v kódu Workflow je soubor aktivit Workflow běží uvnitř nějakého hostitele (aplikace nebo služby) Vývojáři mohou vytvářet vlastní knihovny aktivit Komponenty: Base Activity Library: Základní aktivity, základ pro tvorbu vlastních Runtime Engine: Provádění workflow Runtime Services: Hostování, infrastruktura, komunikace

88 Workflow může být zapsáno v C# / VB.NET a/nebo jako XML (formát XAML) using System.Workflow.Activities; public class MyWorkflow : SequentialWorkflow { …} xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow"> Co je to workflow?

89 Způsoby vytváření workflow Kompilátor C#/VB Pouze deklarativně XML definuje strukturu logiky workflow a tok dat XAML Pouze kód Workflow vytváří svou strukturu (strom aktivit) v konstruktoru C#/VB Deklarativně + kód XML definuje workflow, kód (Code-beside) určuje dodatečnou logiku XAMLC#/VB Generování v aplikaci XAML C#/VB Vytvoření stromu aktivit a serializace Kompilátor workflow wfc.exe Standardní.NET assembly Workflow Runtime Workflow Loader

90 Co je to aktivita? Aktivita je jeden krok v provádění workflow Má vlastnosti a události, ke kterým můžete přistupovat z kódu Má metody (např. Execute), které volá workflow runtime (vy byste je volat neměli) Analogie s Form / Control ve WinForms Activity / Control Workflow / Form Workflow dědí z Activity / Form dědí z Control Dvě základní kategorie Basic – „dělají skutečnou práci“ Composite – spravují sadu jiných aktivit

91 Modelování ve Workflow Foundation

92 Agenda Service Modeling Language Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories GAT Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

93 The LINQ Project Objects XML.NET Language Integrated Query C# 3.0 VB 9.0 Others… Relational LINQ to Objects LINQ to SQL LINQ to XML LINQ to Entities LINQ to DataSets

94 LINQ to SQL Accessing data today SqlConnection c = new SqlConnection(…); c.Open(); SqlCommand cmd = new c.Name, c.Name, c.Phone FROM Customers c FROM Customers c WHERE c.City WHERE c.City "London“); DataReader dr = c.Execute(cmd); while (dr.Read()) { string name = dr.GetString(0); string name = dr.GetString(0); string phone = dr.GetString(1); string phone = dr.GetString(1); DateTime date = dr.GetDateTime(2); DateTime date = dr.GetDateTime(2);}dr.Close(); Queries in quotes Loosely bound arguments Loosely typed result sets No compile time checks

95 public class Customer { … } public class Northwind : DataContext { public Table Customers; public Table Customers; …} Northwind db = new Northwind(…); var contacts = from c in db.Customers from c in db.Customers where c.City == "London" where c.City == "London" select new { c.Name, c.Phone }; select new { c.Name, c.Phone }; LINQ to SQL Accessing data with LINQ Classes describe data Strongly typed connections Integrated query syntax Strongly typed results Tables are like collections

96 LINQ to SQL Mapping Database Table View Column Relationship Stored Procedure DataContext Class Class Field / Property Method

97 LINQ to SQL Architecture Application SQL Server LINQ to SQL from c in db.Customers where c.City == "London" select c.CompanyName LINQ Query SQL Query SELECT CompanyName FROM Cust WHERE City = 'London' Rows ObjectsSubmitChanges() DML or SProcs db.Customers.Add(c1); c2.City = “Seattle"; db.Customers.Remove(c3); INSERT INTO Cust … UPDATE Cust … DELETE FROM Cust …

98 Key Features Mapping through attributes or externally Manually authored or tool generated Persistence Automatic change tracking Language Integrated Query Compile-time type checking, IntelliSense SQL-like query syntax With support for hierarchy, relationships and joins Intelligent object loading Deferred or immediate Auto-generated updates Using optimistic concurrency Transactions Integrates with System.Transactions

99 Agenda Service Modeling Language Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories GAT Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

100 Relační tabulky

101 EntitySet

102 Mapování

103

104

105 Simple Simple to start a database application Simple database interaction Queries formulated directly in the programming language using LINQ Updates handled by the system, no need to write insert, update and delete statements UI controls just work against query results Full data-binding support also allows updates to work

106 Explicit The “no magic” principle That is, we don’t do stuff if you don’t ask us to Relationship traversal Delay loading Explicit configuration for eager loading (“span”) Access to the base queries for relationships Control over object tracking Track and identity-resolve objects by default Turn object tracking on/off Server-version-wins versus client-version-wins

107 Flexible Powerful mapping when you need it 1:1 with the database by default Entity Data Model Entities, relationships, inheritance Rename tables or fields, build inheritance hierarchies out of flat tables or multiple tables, eliminate link-tables, etc. LINQ or Entity SQL Dynamic SQL or stored-procedures Access to store-provider layer “just in case”

108 Extensible Entity types generated as.NET partial classes Allows addition of custom methods and properties Custom types support If the ADO.NET-generated types don’t work, build your own by hand Heterogeneous transactions With System.Transactions Databases can be plugged-in with providers Several vendors working on their providers now Vendors can introduce their own functions

109 Forward Looking Domain models described in EDM terms More and more services will work over EDM The Microsoft Data Plataform will grow as set of EDM-based services For example, reporting, replication, web- friendly interfaces The same EDM schemas can be shared between applications and services

110 The Fine Print Design tools We’ll have wizards and generate-from-database support in Orcas, but no visual designer We’re working on an out-of-band visual designer We’ll ship with SQL Server support in the box SQL Server CE will work as well Other databases will need 3 rd party providers SQL Server „Katmai“ will support „server- side“ ADO.NET entities Some public info:

111 Agenda Service Modeling Language Visual Studio Team Architect Operations Manager 2007 Configurations Manager 2007 Návrh tříd Software Factories GAT Domain Specific Languages Workflow Foundation Připravované technologie: LINQ for SQL ADO.NET Entities Acropolis

112 What is Acropolis? Rich Extensible Run-Time Framework Design-Time Tools to support visual composition of components Leverages WPF, WF, WCF technologies

113 The Acropolis Stack Composit e Fx Component Model Common Application Applications UI – Composite Othe r UI – Application Tools.NET LOBLOBOfficeOfficeISVISVReachReachMobileMobile Commands Navigation DeploymentDeploymentHostingHosting Configuration Diagnostics App Support Services Data Model Sync PipelinePipeline Dependency Injection Meta-Data Model CompositionComposition Base Services ControlsControlsThemingTheming Part UI AdaptersAdapters UI Design Tools Component Tools Test Tools App Tools Custom Tools OtherOther LayoutLayout ShellsShells Parts & Forms Connection Points ServicesServices Navigation Models Core component model - Flexible, extensible component model for statically and dynamically composed applications - Base services for type resolution and loading Application frameworks (UI agnostic) - Commanding and navigation models Core application services – deployment, administration, diagnostics - Synchronization services for local data Support for component concurrency Parts model for composite LOB applications Parts model for composite LOB applications - Higher level prescriptive abstractions for modular LOB applications WPF-based shell and UI framework WPF-based shell and UI framework - Components for customizable WPF- based shells - Rich layout and theming - Interoperability with other UI platforms such as Windows Forms Development tools - Integration with Cider and Expression Blend - Easy application development experience - Component design and testing tools

114 Tools Flexible Tooling App-Centric Enables Domain Specific Tools Key Design Experiences App Designer Component Designer Workflow

115 Závěrem Modelování by mělo přinášet prokazatelnou hodnotu při vývoji software, mělo by být prostředkem, ne cílem. MS se zaměřuje na modelování vybraných aspektů aplikace: SML – modelování distribuovaných systémů Modelování tříd Software Factories Workflow Foundation Další se připravují

116


Stáhnout ppt "Modelování ve Visual Studiu (i jinde) Michael Juřek Software Architect Microsoft s.r.o."

Podobné prezentace


Reklamy Google