EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture

Slides:



Advertisements
Similar presentations
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Advertisements

COB.NET R2 Program - 02 June 2014 Guidance Automation Toolkit VISUG 09/08/2006 Jelle Druyts
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
1 Copyright 1998 by Dragos Manolescu and Joseph W. Yoder Building Frameworks With Patterns “An Active Object-Model For A Dynamic Web-Based Application”
FIRST LOOK AT “ORCAS” Scott Guthrie General Manager.NET Developer Platform.
Visual Studio Team System (VSTS). Richard Hundhausen Author of software development books Microsoft Regional Director Microsoft MVP (VSTS) MCT, MCSD,
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Mark Rees Microsoft Consulting Services OFC409 Windows Workflow Foundation (WF) Primer Creating WF programs in Visual Studio Creating workflow templates.
Tom Hollander Solution Architect Solutions Development Centre Microsoft Australia ARC308.
DEV365 Visual Studio Team Edition for Software Architects: Overview Alex Torone Lead Program Manager Enterprise Tools Microsoft Corporation.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Reuse Activities Selecting Design Patterns and Components
Course Instructor: Aisha Azeem
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Tools for Architects and Future Directions in Modeling Beat Schwegler Architect, Enterprise Team Microsoft EMEA D&PE blogs.msdn.com/beatsch Arvindra Sehmi.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
An Introduction to Software Architecture
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Workflow Development Overview Architecture Requirements Types of workflows Stages of workflow.
Interfacing Registry Systems December 2000.
Domain-Specific Development Stuart Kent, Senior Program Manager, DSL Tools, Visual Studio Team System, Microsoft.
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
Systems Analysis and Design in a Changing World, 3rd Edition
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Visual Studio 2005 Team Edition for Software Architects: Developing Service-Oriented Systems Bill Gibson Senior Program Manager Enterprise Tools Microsoft.
Office Business Applications Workshop Defining Business Process and Workflows.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Name Microsoft Student Partner Overview of the Visual Studio 2005 Express Products.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Software Factories : Assembling Applications with Patterns, Models, Frameworks and Tools Steve Cook Architect Visual Studio.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft.
Visual Studio Team System overview Pierre Greborio Software Architect – PEWay Microsoft MVP – Solutions Architect.
Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
Packaging Design and Architecture Guidance for Visual Studio Tom Hollander Wojtek Kozaczynski Harry Pierson Microsoft.
A Web Service Software Factory Introduction Don Smith Product Manager patterns & practices.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
Software Factories Steve Cook Architect Enterprise Tools, Visual Studio Microsoft Corporation.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Introduction ITEC 420.
Building Enterprise Applications Using Visual Studio®
Introducing the Microsoft® .NET Framework
Enterprise Library Overview
Visual Studio 2005 “Personalized productivity”
Jochen Seemann Program Manager Enterprise Tools Microsoft Corporation
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture A Software Factory to Build Factories

What if you could take the model and let it become source code?

UIP: Sample Process

... you could right-click in Visual Studio and "Add UIP Form..."?

IDEs are Extensible VSIP / Visual Studio Extensibility AddIn Supports all these requirements But extensibility model doesn’t directly support domains to communicate experience And: Complex! (We have first hand experience here with WSCF)

Roles and Artifacts Visual Studio 2005 Guidance & Experience Runtime Guidance & Experience Toolkit Guidance Package SourceCode Application Guidance & Experience Author (Architect) Guidance & Experience Consumer (Developer) End User builds generates compiles to

Roles & Artifacts "Architect" selects guidance and creates two artifacts: A framework Codified guidance (domain-specific language, wizard,...) A developer uses a model and the codified guidance to implement a solution

How Guidance EvolvesGuidelines Patterns Templates Frameworks Designers Provide tool to help framework users Ship stable features in compiled form Automate pattern application Formalize based on experience

What’s A Factory? A highly customized instance of Visual Studio Supplies key life cycle artifacts Supplies partial or prototypical components containing key mechanisms and design elements To accelerate frequently encountered tasks Specific to a certain type of solution or product

Value vs. Scope Scope Value Increasing value decreases scope. The value of an abstraction is proportional to its specificity. Michael Jackson

What’s In A Factory? A structured installable collection of customizable, integrated tool, process and content assets (software factory template) A description of the software factory (software factory schema)

Factory for Factories GAT/GAX (Guidance Automation Toolkit, Guidance Automation Extension) DSL Tools

DSL Domain Specific Languages Highly focused custom languages designed for specific problems, platforms or tasks Many proven examples SQL, GUI builders, HTML, regular expressions Visual Studio Team System Distributed System Designers Make solution easier to understand and maintain

Guidance Automation Expert guidance can accelerate development Need to capture and deliver it Guidance produced in various forms, e.g. Microsoft patterns & practices More complex challenges  more complex guidance Solution is to build guidance into the tools Guides and enforces at the same time

Guidance Lifecycle Visual Studio 2005 Guidance Automation eXtensions Guidance Automation Toolkit GuidancePackage SourceCode Application Guidance Author (Architect) Guidance Consumer (Developer) End User builds generates compiles to

What is In Your Factory? Documentation Baseline solution template Solution component templates and recipies UIP designer Code snippets Reusable blocks and libraries Development use case automation Development use case: Create solution Add subsystem Define UIP wizard Connect wizard with business logic Add service agent

Governance and Process Similar to components and services No new model is needed, it can fit existing processes Governance Enterprise global (product families) Project specific Team specific

The next steps … Patterns & practices Automated guidance Domain specific languages

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

Factory Ingredients Patterns Frameworks Models Methodologies Tools Software Factory Template

CRUD Data Application Customer Store Factory Composability Smart Client GAT4WS UIP Data Service GAT4WS DAL Database

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

Guides Consist of written guidance 25+ guides cover… Patterns Application architecture Integration Performance Security …

E.g.

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

Application Blocks Reusable source code components that provide proven solutions 14+ blocks cover… Data access Logging User interface process Composite user interfaces …

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

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

Global Bank Integration demo demo

“BATs” are a new guidance form-factor designed to make it easy to build customized baseline architectures within a specific application scenario Integrated into Visual Studio (built using the Guidance Automation Toolkit), using wizards, templates, code generation etc. Combines existing guidance assets such as blocks and patterns into an end-to-end architecture Designed to be flexible and customizable Baseline Architecture Toolkits

Patterns, Blocks Feature Guidance Packages Solution Guidance Packages Baseline Arch Toolkits Docs, Ref Impls Etc. Docs, Ref Impls Etc. Scenario 1 BAT Scenario 2 BAT Assembly of BATs

Assets of a SF Template Guidelines Patterns Templates Wizards Libraries Frameworks Tests Languages Designers Configurations Resources Schemas Help …

Assets of a SF Template Guidelines Patterns Templates Wizards Libraries Frameworks Tests Languages Designers Configurations Resources Schemas Help …

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)

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

GAX Install GAT Install Guidance Package Add, Remove Test Guidance Author (Architect) Guidance Consumer (Developer) GAT/GAX

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

The Power of Models demo demo

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

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, …

Concrete Syntax Serialization Syntax Anatomy of Formal Languages Abstract Syntax Semantics

Possible Representation of Concrete Syntax Toolbox PropertyBrowser Explorer Validation Drawing surface with domain specific notation

Assets of a SF Template Guidelines Patterns Templates Wizards Libraries Frameworks Tests Languages Designers Configurations Resources Schemas Help …

SDK To Build Visual Modeling Tools Visual Studio 2005 Microsoft Modeling Platform In Visual Studio DistributedSystemsDesignersClassDesigner DSL Tools for Visual Studio Your new Designer

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

Creating a Language for simple Use Case Diagrams DSL DSL

Actors

Use Cases

System

Comment

Relationships

Concrete Syntax Serialization Syntax Anatomy of Formal Languages Abstract Syntax Semantics

Defining the Domain Model

Base Concepts

Inheriting Concepts

Defining Relationships

Defining Properties

Concrete Syntax Serialization Syntax Anatomy of Formal Languages Abstract Syntax Semantics

Define Shape

Concrete Syntax Serialization Syntax Anatomy of Formal Languages Abstract Syntax Semantics

Semantic Representation: Generated Artifact

Use Case DSL demo demo

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

© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.