Packaging Design and Architecture Guidance for Visual Studio Tom Hollander Wojtek Kozaczynski Harry Pierson Microsoft.

Slides:



Advertisements
Similar presentations
COB.NET R2 Program - 02 June 2014 Guidance Automation Toolkit VISUG 09/08/2006 Jelle Druyts
Advertisements

Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Enterprise development reference architecture (EDRA) -Deepti Seelamsetti.
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.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
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.
Enabling Better Software through Better Testing Jason Anderson, Microsoft
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.
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Microsoft ® Application Virtualization 4.6 Infrastructure Planning and Design Published: September 2008 Updated: February 2010.
Annual SERC Research Review - Student Presentation, October 5-6, Extending Model Based System Engineering to Utilize 3D Virtual Environments Peter.
OFC302 Building Smart Document Solutions in Word & Excel Martin Sawicki Lead Program Manager.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
UML - Development Process 1 Software Development Process Using UML (2)
DEV334 Creating Application Starting Points & Sharing Best Practices with Enterprise Templates Marc Gusmano Director of Emerging Technologies The Information.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Rational Unified Process Fundamentals Module 4: Disciplines II.
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
Introducing Reporting Services for SQL Server 2005.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
© 2008 IBM Corporation ® IBM Cognos Business Viewpoint Miguel Garcia - Solutions Architect.
AUTOMATION OF WEB-FORM CREATION - KINNERA ANGADI – MS FINAL DEFENSE GUIDANCE BY – DR. DANIEL ANDRESEN.
DEV-05: Ratcheting up your OpenEdge™ Development Productivity Sunil S Belgaonkar Principal Software Engineer.
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.
Paul Butterworth Management Technology Architect
Visual Studio 2005 Team Edition for Software Architects: Developing Service-Oriented Systems Bill Gibson Senior Program Manager Enterprise Tools Microsoft.
I Copyright © 2007, Oracle. All rights reserved. Module i: Siebel 8.0 Essentials Training Siebel 8.0 Essentials.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
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
IBM Software Group ® Managing Reusable Assets Using Rational Suite Shimon Nir.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
Visual Studio Team System overview Pierre Greborio Software Architect – PEWay Microsoft MVP – Solutions Architect.
Visual Studio 2005 Team System: Enabling Better Software Through Testing Tejasvi Kumar Technology Specialist - VSTS Microsoft Corporation
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
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
1 Introduction Bindia Hallauer & Ajay Sudan Product Management, Visual Studio Team System Microsoft Corporation.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
Windows NT ® Security Management: Extending Windows NT 5.0 Security Management Tools, Part 2 Praerit Garg Program Manager Windows NT Security Microsoft.
Tools to support the Software Development Process Simon Davies Microsoft Ltd
Architecting Real-World Enterprise Application. Agenda CPR - Background Challenges in the Architecture Architecture Details Q & A Summary.
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
A Web Service Software Factory Introduction Don Smith Product Manager patterns & practices.
Declarative Configuration Management with Azure Automation DSC and ARM Nathan Lasnoski Vice President of blog.concurrency.com Concurrency.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
Building Enterprise Applications Using Visual Studio®
Enterprise Library Overview
Visual Studio 2005 “Personalized productivity”
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
DAT381 Team Development with SQL Server 2005
Visual Studio 2010 SharePoint Development Tools Overview
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Packaging Design and Architecture Guidance for Visual Studio Tom Hollander Wojtek Kozaczynski Harry Pierson Microsoft

Agenda Background Introducing the Guidance Automation Toolkit GAT Concepts Demos More Important Stuff

patterns & practices Architecture Guidance for the Enterprise Reference Architectures Application Blocks Guides Guidance for broad horizontal topics such as security, performance, deployment and operations Patterns DADI A D I DADI A D I Atomic solutions to recurring problems Sub-system-level guidance for common services System-level guidance for common customer scenarios DADI A D I Available online : Books available: Proven Based on field experience Authoritative Offer the best advice available Accurate Technically validated and tested Actionable Provide the steps to success Relevant Address real-world problems based on customer scenarios

Background Evolution of Guidance patterns & practices produces guidance in various forms GuidesPatterns Application Blocks Frameworks and Baseline Architectures p&p addresses progressively more complex architectural challenges Complexity of assets increases More complex assets harder to evaluate, comprehend and use

Background Example: Data Access Application Block private DataSet GetProducts(int categoryId) { Database db = DatabaseFactory.CreateDatabase("Sales"); Database db = DatabaseFactory.CreateDatabase("Sales"); return db.ExecuteDataset("getProductsByCategory", categoryId); return db.ExecuteDataset("getProductsByCategory", categoryId);}

Background Example: UI Process Application Block <view name="Form1“ type="Demo.Form1, Demo" controller="MyController“ layoutManager=“VerticalLayoutManager” stayOpen="true"/> <view name="Form2" type="Demo.Form2, Demo" controller="MyController" /> …

Background Example: EDRA Application Framework Application framework supporting Separation of service interface and implementation Separation of business logic and cross-cutting concerns Separation of business logic and underlying transports Different deployment patterns

Background The Challenge As our assets get more involved: We need to write more documentation Customers need to read more documentation to use assets correctly “guidance” value of asset diminishes if if takes a lot of reading to use it effectively We need a way to make more complex guidance easily consumable without relying entirely on documentation!

Background We are not alone… When we started looking at this problem, we realized that it is common Consumability of components, frameworks and application architectures built by our customers Consumability of assets derived from patterns & practices deliverables

Introducing the Guidance Automation Toolkit Light-weight extensibility mechanism to Visual Studio 2005 Allows to build user experience guiding the developer through how to use code assets in Visual Studio First preview version will be available soon – check at for details

Introducing GAT Goals Simplify authoring reusable, parameterizable software assets Artifact templates Actions modifying solution artifacts Wizards guiding the use of templates and actions Familiar user experience for developing with reusable assets Wizard for gathering information from developer Expanding templates with gathered information Executing “recipes” with gathered information, where recipe is a sequence of parameterized actions that transform solution artifacts to automate a developer use-case

Introducing GAT Software Asset Lifecycle Reuse Packaging & Cataloging Search & Retrieval Creation apply feedback Inform harvest inform fit SDLC Simplify ways of creating, packaging and storing reusable, software assets Accelerate solution development with reusable assets by putting them in VS tools Simplify locating, reviewing and obtaining reusable assets

Introducing GAT Scope Reuse Packaging & Cataloging Search & Retrieval Creation apply feedback Inform harvest inform fit SDLC

Introducing GAT GAT and GAX in the guidance lifecycle Visual Studio 2005 Guidance Automation eXtensions Guidance Automation Toolkit Guidance Package Source Code Application Guidance Author (Architect) Guidance Consumer (Developer) End User builds generates compiles to

GAT Concepts Recipe Visual Studio Template Text Template Guidance Package

GAT Concepts Recipe A Recipe supports a developer use-case, through a structured, parameterized set of actions that transform solution artifacts A Recipe consists of: Launch Point(s) IDE UI element(s) allowing the user to run the recipe Argument List List of arguments passed to templates and actions Argument Value Gathering Strategy Argument value providers UI (wizards) to gather arguments from the user Actions List of artifact transformations that create, modify or delete VS artifacts

GAT Concepts Visual Studio Template Predefined artifacts that can be added to your solutions Three types: Item Template Project Template Solution Template When a template “unfolds”, it can trigger the executing of recipes Can launch wizards and modify created artifacts

GAT Concepts Text Template A text file with script markup that modifies template output Useful for generating code or configuration on-the-fly Can receive parameters from recipes Think ASP for any type of file using System; namespace namespace { class class { static void Main(string[] args) static void Main(string[] args) { Console.WriteLine(" "); Console.WriteLine(" "); Console.ReadLine(); Console.ReadLine(); } }}

GAT Concepts Guidance Package A collection of related templates and recipes A unit of packaging and distributing code-based guidance Can be individually Installed Enabled and disabled Uninstalled

GAT Concepts Hypothetical Guidance Packages Automating common use cases with p&p software assets Creating and configuring solutions built using reference architectures (EDRA or Smart Clients) Generating code that uses an Application Block (data layers using the DAAB, connecting smart client to services using OAB) Creating and configuring extensions to blocks and frameworks Enforcing best practices for ‘raw’.NET platform Creating solutions/projects that adhere to the.NET Application Architecture Implementing design patterns Analyzing and fixing code for security, performance, coding standards Guidance packages for building guidance packages

GAT Concepts Bringing it all together…

Demonstration #1 Guidance Automation eXtensions and Guidance Packages – Developer Experience

Demonstration #2 Guidance Automation Toolkit: Authoring Experience

More Important Stuff Alignment with other VS2005 features GAT is compatible with new VS2005 features Domain Specific Languages DSLs are concerned with rich editing of project artifacts Recipes are concerned with automating specific actions over artifacts Both are likely to be useful in complex domains Visual Studio Team System VSTS provides powerful tools for team development and process management GAT works with VSTS, but does not prescribe any team process or tools

More Important Stuff Support GAT is an “emerging technology” provided “as- is” No formal support policy Only applicable to development machines, so not relevant for production server environments The best source of support is the community Microsoft provides community infrastructure Microsoft participates in the community

More Important Stuff Futures Initial release of GAT is tested against Visual Studio 2005 Beta 2 A minor refresh is expected for the final release of Visual Studio 2005 Future plans to integrate GAT more closely with related authoring tools (eg. DSL, VSIP)

Session Summary In this session we have talked about: The challenges that architects and developers face with increasingly complex guidance assets How the patterns & practices team is addressing this problem with Guidance Automation Toolkit The key concepts underlying the Guidance Automation Toolkit Support and future plans for GAT

Call to Action We want your help to improve GAT and the patterns & practices assets that will use it You can help by: Downloading GAT as soon as it is available and trying it out Participating in the community Asking and answering questions Submitting bugs and providing feedback Sharing any interesting guidance packages you have built Check back at

Questions and Answers Submit questions using the text box