DEV334 Creating Application Starting Points & Sharing Best Practices with Enterprise Templates Marc Gusmano Director of Emerging Technologies The Information.

Slides:



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

Designing InfoPath Forms: The Dos and Donts Deploying InfoPath Forms: Making the right choice Adding custom business logicin case the built-in stuff isnt.
Thomas Palmié Architect Microsoft Schweiz Implementierung eines mehrsprachigen Intranets basierend auf SharePoint 2010.
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.
The Microsoft View: Module 1: Getting Started. Copyright Course 2559B, Introduction to Visual Basic®.NET Programming with Microsoft®.NET. Lecture 1 Microsoft.
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
Tom Hollander Solution Architect Solutions Development Centre Microsoft Australia ARC308.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Chapter 14: Advanced Topics: DBMS, SQL, and ASP.NET
OFC324 Microsoft Project Server: Putting Enterprise Project Management (EPM) To Work Sam Brooks
Future Directions for Leveraging Advanced XML Tools and Building Custom XML Solutions Denise Draper DAT321 Microsoft Corporation.
A Deep Look at Building Custom Tools on the Microsoft Visual Studio Shell Quan To Program Manager, VS Ecosystem Microsoft Corporation.
04 | Customize Team Foundation Server for Team Use Anthony Borton | ALM Consultant, Enhance ALM Steven Borg | Co-founder & Strategist, Northwest Cadence.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
WEB329 ASP.NET: A Lap Around the New Enhancements for Web Developers in Microsoft Visual Studio 2005 Omar Khan Lead Program Manager Web Platform and Tools.
OFC302 Building Smart Document Solutions in Word & Excel Martin Sawicki Lead Program Manager.
DBA230 Introducing SQL Server 2000 Reporting Services Jason Carlson Product Unit Manager SQL Server Microsoft Corporation.
DEV317 Integrating Extensible Business Graphics into Enterprise Applications using Visio 2003 Mai-lan Tomsen Bukovec Program Manager.
OFC 322 Building Office Research Web Services: Exposing Corporate Data Through Office Brian Jones Program Manager Authoring Services Martin Sawicki Lead.
DEV343.NET Application and Library Versioning Juval Löwy
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
OFC304 Excel 2003 Overview: XML Support Joseph Chirilov Program Manager.
EBZ318 Deploying A Content Management Server 2002 Solution Case Study Daniel Kogan Program Manager Microsoft CMS / E-Biz server Group.
OFC 200 Microsoft Solution Accelerator for Intranets Scott Fynn Microsoft Consulting Services National Practices.
Microsoft ®.NET and Microsoft ® Office 2003 Suthep Sangvirotjanaphat [MVP]
Nilotpal Bhattacharya Partner Technical Consultant| Microsoft.
DEV290 Building Office Solutions with Visual Studio Eric Carter Lead Developer Developer Platform & Evangelism Microsoft Corporation.
Developing Reporting Solutions with SQL Server
SEC303 Assessing and Managing Privacy in the Enterprise JC Cannon Privacy Strategist.
2. Introduction to the Visual Studio.NET IDE. Chapter Outline Overview of the Visual Studio.NET IDE Overview of the Visual Studio.NET IDE Menu Bar and.
DAT305 Boost Your Data-Driven Application Development Using SQL Server Centric.NET Code Generator Pascal Belaud Microsoft France.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
OFC290 Information Rights Management in Microsoft Office 2003 Lauren Antonoff Group Program Manager.
DEV339 Best Practices for Debugging Visual Studio.NET Applications Keith Pleas Architect, Guided Design
OFC 308 Advanced Word XML: The WordML Schema and Bringing Everything Together Brian Jones Program Manager Authoring Services.
DEV234 Project Management For.NET Developers Marc Gusmano Director of Emerging Technologies The Information Management Group.
OFC 307 Office 2003 Solution Case Studies Ray Stephenson Smart Client Technical Evangelist
Slide 1.NET Development for Project 2003 Samples from the Project 2003 SDK Jim Corbin Programmer Writer Office Developer Documentation Microsoft Corporation.
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
Visual Studio 2005 Team Edition for Software Architects: Developing Service-Oriented Systems Bill Gibson Senior Program Manager Enterprise Tools Microsoft.
DEV333 Instrumenting Applications for Manageability with the Enterprise Instrumentation Framework David Keogh Program Manager Visual Studio Enterprise.
Windows Role-Based Access Control Longhorn Update
EBZ 321 Extending CMS 2002 Publishing Processes Scott Fynn Microsoft Consulting Services National Practices.
OFC291 Microsoft® Office Word XML (part 1 of 3): Introduction Martin Sawicki Lead Program Manager.
DEV303 ASP.NET: Leveraging Visual Studio.NET For Web Projects Tony Goodhew Product Manager Microsoft Corp.
DEV330 Visual Studio.NET IDE Tips and Tricks Billy Hollis Author / consultant.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Search Overview Search Features: WSS and Office Search Architecture Content Sources and.
Separating the Interface from the Engine: Creating Custom Add-in Tasks for SAS Enterprise Guide ® Peter Eberhardt Fernwood Consulting Group Inc.
MBL490 Deploying Applications to Smartphone and Microsoft® Powered Pocket PC Marcus Perryman Consultant.
Taking Control of Visual Studio through Extensions and Extensibility Anthony Cangialosi Senior Program Manager Lead Microsoft Corporation DEV311.
SVR330 Introduction to The Microsoft Office Project 2003 Software Development Kit (SDK) Bob Walker IW Product Technical Specialist - EPM EPG Microsoft.
MSG331 Exchange Server 2000/2003 Software Development Kit Susan Hill Lead Programmer Writer Microsoft Corporation.
Microsoft Office Project 2003: A tour of the EPM Solution.
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation.
EBIZ302 Jupiter Business Process Automation and Web Services David Fong Program Manager.
Object-Oriented Application Development Using VB.NET 1 Chapter 2 The Visual Studio.NET Development Environment.
DEV332 Programming for the Middle Tier in Visual Basic.NET Billy Hollis Author / Consultant.
DEV394.NET Framework: Migrating To Managed Code Adam Nathan QA Lead Richard Lander Program Manager Microsoft Corporation.
OFC311 Developing Microsoft Office InfoPath 2003 Solutions: Technical Drilldown Part 1 Tudor Toma Group Program Manager Office Microsoft Corporation.
EBIZ312 Connecting Host Systems to Microsoft Technologies Paul Larsen Aaron Grady Microsoft Corporation.
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
OFC320 Building EPM Solutions with Microsoft Project Server Ted Dinklocker Program Manager Microsoft Corp.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
Building Enterprise Applications Using Visual Studio®
Visual Studio Tools for Office 2005
Microsoft Dynamics.
Visual Studio 2010 SharePoint Development Tools Overview
Contexualized Data In Document Authoring
Microsoft Virtual Academy
Presentation transcript:

DEV334 Creating Application Starting Points & Sharing Best Practices with Enterprise Templates Marc Gusmano Director of Emerging Technologies The Information Management Group

A Microsoft Solution Provider and Authorized Technical Education Center Consulting, knowledge transfer and online learning solutions based on Microsoft technologies Founded 1987, based in Chicago, IL USA Corporate information:

Agenda Enterprise Templates Overview Enterprise Template Features What’s new today Futures Q & A

IT Development Problems IT development projects are getting more complex, larger, and more critical A poor application architecture can make any platform perform poorly A good architecture only works if people follow the rules when implementing it Good help is hard to find (and expensive!) “Best Practices” are useless if no one reads them

Enterprise Templates Implementation - Package reusable code in easy to use ways Policy - Define active design time rules to help avoid common problems Guidance - Provide “Just-In-Time” help Help architects capture and share best practices as Application Construction Toolkits

Reusable Implementation Common, standard code everyone should use Active – Interactive Wizards Static – Standard ETP prototypes When components are not enough Custom code or optimization required Too many variations for “one size fits all” Default Implementation – Created on File | New | Project Optional Implementation – Added only when needed

An Enterprise Template Example demo demo

Steps to building an Enterprise Template with VS.NET 1. Create a VS.NET Class Library project 2. Add a reference to envDTE 3. Define a new Template Class a) Create a class that implements the EnvDTE.IDTWizard Interface b) Add the ‘Guid’ and ‘ProgID’ Attributes to the class 4. Implement the ‘Execute’ method 5. Register the assembly to COM 6. Create the.vsdir and.vsz files 7. Register the Template with Visual Studio.NET

Step 1: Create a VS.NET Class Library project

Step 2: Add a reference to envDTE

Step 3: Define a new Template Class Imports System.Runtime.InteropServices <Guid(" A9F3-BB589069D914"), _ ProgId("AppArchWiz.Wizard2003")> _ Public Class MyCustomWizard Implements EnvDTE.IDTWizard End Class

Step 4: Implement the ‘Execute’ method Public Sub Execute(ByVal Application As Object, _ ByVal hwndOwner As Integer, _ ByRef ContextParams() As Object, _ ByRef CustomParams() As Object, _ ByRef retval As EnvDTE.wizardResult) _ Implements EnvDTE.IDTWizard.Execute Try SetWizardState(Application, contextParams, customParams) Dim frmAppArch As frmAppArch frmAppArch = New frmAppArch frmAppArch.clsWizard = Me frmAppArch.Text = "Application Architecture for.NET - " + ProjectName If frmAppArch.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return End If Dim soln As EnvDTE.Solution soln = CreateVSSolution(AppObject, LocalDirectory, InstallationDirectory, _ SolutionName, ProjectName, ExclusiveSolution) Catch e As Exception MsgBox("An error occured while creating the solution. The wizard is unable to continue." _ + vbCrLf + vbCrLf + e.Message + " (" + e.Source + ")", _ MsgBoxStyle.Critical, "Error") End Try End Sub

Step 5: Register the Assembly to COM Create a Strong Name Key Use sn.exe /k AppArchWiz.snk Set Assembly Version Attribute [assembly: AssemblyVersion(" ")] Assign strong name file to Assembly-level attribute [assembly: Register Assembly with COM Use ‘regasm.exe AppArchWiz.dll /codebase’

Step 6: Create the.vsz and.vsdir files.vsz VSWIZARD 7.0 Wizard=AppArchWiz.Wizard2003 (Modify Wizard to match ProgID attribute in code).vsdir AppArchfor.NET.vsz| |Application Architecture for.NET Wizard|1|This wizard generates an Application Architecture for.NET Solution.| |6777| |AppArch (Modify to match name of this template).ico – icon for VS.NET dialog

Step 7: Register the Template with Visual Studio.NET [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\NewProje Architecture for.NET Wizard" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\NewProje ctTemplates\TemplateDirs\{ a5e-A CAF8085FE}\/1] "TemplatesDir"="C:\\Program Files\\Microsoft Visual Studio.NET 2003\\EnterpriseFrameworks\\ProxyProjects\\Application Architecture for.NET\\" Architecture for.NET Wizard" Need to modify GUID (2 locations) – match GUID attribute in code Description – (2 locations) TemplatesDir – to location of.vsz and.vsdir files

Policy Design-time rules Defined in Template Description Language (TDL) XML schema “Active” guidance, not strict enforcement Benefits Help avoid common problems Provide context specific component property settings Simplify & filter inappropriate choices

Policy Examples demo demo

Policy Defining Development Policy For each design time framework component, define: Component identification Containment restrictions Reference restrictions Default property values and ranges Context and help topics

“Just-In-Time” Guidance User defined help topics Plain HTML or Compiled Help Local or centrally managed Custom context keywords & attributes Links appear in Dynamic Help Window Benefits IDE integrated, Framework specific help Subtle but timely reminders More up-to-date (Centralized management)

“Just-In-Time” Guidance Example demo demo

“Just-In-Time” Guidance Beyond HTML pages VS Help Integration Kit (VSHIK) Access to MS Help 2.1 SDK Integrate custom help into index and TOC Free download MSDN Download center (Search for VSHIK)

Client example of an Enterprise Template Web Services – based Application Architecture Several steps needed once a developer created a Win Form VS.NET project Enterprise Template generated needed code and component references WinForm ServiceAgentFactory ServiceAgent ServiceInterfaceAuthor.dllXMLWebServiceCall

Client example of an Enterprise Template demo demo

What’s New in VS.NET 2003 Policy Editor Simplifies policy definition process Free download Full source available  “Unsupported” tool  Still requires “policy dance” Download at:

Policy Editor demo demo

Futures More powerful policy Policy on solution & any projects Improved identify (uniqueness & web) Separate policy from definitions Minimum & maximum allowed ElementSet PolicyMode support Author defined reminder text and severity Migration support Updated Policy Editor

Resources VS Enterprise Tools Community Microsoft.public.vsnet.enterprise.tools Microsoft.public.vsnet.enterprise.tools Architect Community e/Patterns/templates.aspx e/Patterns/templates.aspx

Summary Enterprise Templates Overview Enterprise Template Features What’s new today Futures

Community Resources Most Valuable Professional (MVP) Newsgroups Converse online with Microsoft Newsgroups, including Worldwide User Groups Meet and learn with your peers

evaluations evaluations

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