Download presentation
Presentation is loading. Please wait.
Published byMerilyn Preston Modified over 9 years ago
1
EMEA Beat Schwegler Architect Microsoft EMEA HQ http://blogs.msdn.com/beatsch/ Ingo Rammer Principal Consultant thinktecture http://www.thinktecture.com/ A Software Factory to Build Factories
2
This Session Is About Patterns & practices Automated guidance Domain specific languages
3
Factory Ingredients Patterns Provide general solutions to common problems Frameworks Provide supporting and reusable assets Concrete e.g..NET Fx Abstract e.g. Zachman Framework Models Provide a formal way to describe a specific problem Are able to execute or produce formal artifacts Methodologies Define a codified set of recommended practices Tools Support creating, maintaining and debugging
4
Factory Ingredients Patterns Frameworks Models Methodologies Tools Software Factory Template
5
CRUD Data Application Customer Store Factory Composability Smart Client GAT4WS UIP Data Service GAT4WS DAL Database
6
http://msdn.microsoft.com/practices Guides E.g. Application Interoperability: Microsoft.NET and J2EE Reference and baseline implementations E.g. Applied Integration Baseline Reference Implementation Application blocks E.g. Enterprise Library PAG
7
Guides Consist of written guidance 25+ guides cover… Patterns Application architecture Integration Performance Security …
8
E.g.
9
E.g. Application Architecture User Interface Components User Process Components Service Interfaces Business Workflows Business Components Business Entities Data Access Logic Components Service Agents Data Source Service Security Operational Management Communication
10
Reference and Baseline Implementations Are executable samples and baselines Applied Integration Baseline Reference Implementation WS-I Basic Security Profile Reference Implementation More baselines to come… Smart client baseline …
11
Global Bank Integration demo demo
12
Application Blocks Reusable source code components that provide proven solutions 14+ blocks cover… Data access Logging User interface process Composite user interfaces …
13
Enterprise Library A consistent set of application blocks Caching Application Block Configuration Application Block Data Access Application Block Cryptography Application Block Exception Handling Application Block Logging and Instrumentation Application Block Security Application Block
14
Assets of a SF Template Guidelines Patterns Templates Wizards Libraries Frameworks Tests Languages Designers Configurations Resources Schemas Help …
15
Assets of a SF Template Guidelines Patterns Templates Wizards Libraries Frameworks Tests Languages Designers Configurations Resources Schemas Help …
16
VSTS Support for Building SFs DSL Toolkit Product line development tools Schema designer, templates Life cycle development tool suite integration Methodology templates, dynamic help Visual Studio SDK (VS SDK) Guidance Automation Toolkit (GAT)
17
Integration with MSF Agile and Formal Distributes process fragments across software factory schema Customizes guidance for target application type Product development tools Modeling platform, configuration editor Guidance Automation Extension (GAX) VSTS Support for Using SFs
18
GAX Install GAT Install Guidance Package Add, Remove Test Guidance Author (Architect) Guidance Consumer (Developer) GAT/GAX
19
Recipes & Actions Actions Atomic operation on a VS solution item Recipes execute one or a sequence of actions define how to collect arguments for actions define how the user can “trigger” recipe execution recurring or non-recurring bound or unbound
24
The Power of Models demo demo
25
Visual Languages Important Shapes Links, ends, style Labels Nesting Layout, routing property Corona label Shape GroupBase members waiting running pausebegin stop playing +v 0v 0.7CR R C 0.1R C R
26
Language Types Natural languages Difficult to process by machines E.g. English, music, art, … Formal languages Designed for machine processing E.g. C#, SQL, XML, …
27
Concrete Syntax Serialization Syntax Anatomy of Formal Languages Abstract Syntax Semantics
28
Possible Representation of Concrete Syntax Toolbox PropertyBrowser Explorer Validation Drawing surface with domain specific notation
29
Assets of a SF Template Guidelines Patterns Templates Wizards Libraries Frameworks Tests Languages Designers Configurations Resources Schemas Help …
30
SDK To Build Visual Modeling Tools Visual Studio 2005 Microsoft Modeling Platform In Visual Studio DistributedSystemsDesignersClassDesigner DSL Tools for Visual Studio Your new Designer
31
Microsoft Modeling Platform In Visual Studio Modeling Platform Domain Model Framework Design Surface Framework Template Engine Shell Frame- work Validation Frame- work In-Memory graph database with rich services (e.g., transactions, serialization…) and queries Extensible drawing surface with support for routing and auto- layout Artifact generation Constraint checking and guides user to resolve issues Visual Studio UI Integration for components like Toolbox, Menus
32
Creating a Language for simple Use Case Diagrams DSL DSL
34
Actors
35
Use Cases
36
System
37
Comment
38
Relationships
39
Concrete Syntax Serialization Syntax Anatomy of Formal Languages Abstract Syntax Semantics
40
Defining the Domain Model
41
Base Concepts
42
Inheriting Concepts
43
Defining Relationships
44
Defining Properties
45
Concrete Syntax Serialization Syntax Anatomy of Formal Languages Abstract Syntax Semantics
46
Define Shape
48
Concrete Syntax Serialization Syntax Anatomy of Formal Languages Abstract Syntax Semantics
49
Semantic Representation: Generated Artifact
50
A Language for simple Use Case Diagrams demo demo
51
Summary Automated guidance is a key pillar of Software Factories The VS 2005 modeling platform and the DSL Toolkit enable the use and creation of formal languages Software Factory templates glue the ingredients together
52
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.