DEV322 Visual Studio 2005 Tools for Microsoft Office: Building Smart Client Applications Tim Huckaby...

30
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    225
  • download

    0

Transcript of DEV322 Visual Studio 2005 Tools for Microsoft Office: Building Smart Client Applications Tim Huckaby...

DEV322DEV322Visual Studio 2005 Tools for Visual Studio 2005 Tools for Microsoft Office: Building Microsoft Office: Building Smart Client ApplicationsSmart Client Applications

DEV322DEV322Visual Studio 2005 Tools for Visual Studio 2005 Tools for Microsoft Office: Building Microsoft Office: Building Smart Client ApplicationsSmart Client Applications

Tim HuckabyTim HuckabyCEO – InterKnowlogy CEO – InterKnowlogy Microsoft Regional DirectorMicrosoft Regional DirectorMicrosoft MVP – .NETMicrosoft MVP – .NET

About…About…

InterKnowlogy (www.InterKnowlogy.com)InterKnowlogy (www.InterKnowlogy.com)Tim Huckaby, CEOTim Huckaby, CEO

Custom App Dev / Consulting / Software Engineering Firm Custom App Dev / Consulting / Software Engineering Firm headquartered in Carlsbad, CAheadquartered in Carlsbad, CA

Microsoft Gold Partner managed in Socal and RedmondMicrosoft Gold Partner managed in Socal and Redmond

Design, Architect, Build and Deploy enterprise class Design, Architect, Build and Deploy enterprise class applications applications

Industry Experts:Industry Experts:90% of the company is published90% of the company is published

Microsoft® .NET Application development for 5+ years!Microsoft® .NET Application development for 5+ years!

Microsoft® .NET Smart Client pioneers / industry leadersMicrosoft® .NET Smart Client pioneers / industry leaders

Information Worker SolutionsInformation Worker Solutions

Integration / Messaging, B2B / B2C, Wireless / Mobility Integration / Messaging, B2B / B2C, Wireless / Mobility

Microsoft BizTalk Web Services, Microsoft Active Directory, Security, Microsoft BizTalk Web Services, Microsoft Active Directory, Security, SSO, Authorization, AuthenticationSSO, Authorization, Authentication

Solutions on the emerging Microsoft serversSolutions on the emerging Microsoft servers

Largest Client: MicrosoftLargest Client: Microsoft

AgendaAgenda

Defining Smart Client ApplicationsDefining Smart Client Applications

Designing, Building and Deploying Smart Designing, Building and Deploying Smart Client Applications on Visual Studio 2005 Client Applications on Visual Studio 2005 Tools for Microsoft Office System (VSTO) Tools for Microsoft Office System (VSTO) 2.0 / Visual Studio .NET 20052.0 / Visual Studio .NET 2005

Deployment & Security Deployment & Security

DemosDemos

Web Services &Offline/Online

support

DeveloperProductivity

NetworkDependency

Poor UserExperience

ComplexTo Develop

Easy ChangeManagement

Ease ofDeployment

Tough toDeploy

HeavyFootprint

DLL Hell

Rich UserExperience

Responsive

Microsoft Smart ClientsMicrosoft Smart ClientsThe “Big Three” most compelling .NET Application The “Big Three” most compelling .NET Application Development OfferingsDevelopment Offerings

Microsoft .NET Windows FormsMicrosoft .NET Windows Forms

Microsoft .NET Compact FrameworkMicrosoft .NET Compact Framework

Microsoft Visual Studio Tools for the Office Microsoft Visual Studio Tools for the Office System (VSTO)System (VSTO)

Microsoft Office Word, Office Excel, Office Microsoft Office Word, Office Excel, Office Outlook, Outlook, Office InfoPathOffice InfoPath

Visual Studio Tools for the Visual Studio Tools for the Microsoft Office SystemMicrosoft Office System

Microsoft’s strategic tool for developing Microsoft’s strategic tool for developing Office solutionsOffice solutions

Currently supports building document-centric Currently supports building document-centric solutions for Word and Excel 2003solutions for Word and Excel 2003

VSTO makes Office development VSTO makes Office development approachable to the profession developerapproachable to the profession developer

Provides all the productivity of Visual StudioProvides all the productivity of Visual Studio

Provides all the power of the .NET FrameworkProvides all the power of the .NET Framework

Leverages the skills of .NET developersLeverages the skills of .NET developers

VSTO solutions are secure and easy to VSTO solutions are secure and easy to deploydeploy

Based on .NET Code Access SecurityBased on .NET Code Access Security

Online ClickOnce deployment modelOnline ClickOnce deployment model

Visual Studio Tools for Office (VSTO) 2005Visual Studio Tools for Office (VSTO) 2005

Office Application Customization (Add-In)Office Application Customization (Add-In)

Document-Centric CustomizationDocument-Centric Customization

Office Client DevelopmentOffice Client DevelopmentCommon Integration ModelsCommon Integration Models

OM

MyCodeMyCode

OM

MyCodeMyCode MyMenu

MyMenu

MyTaskPaneMyTaskPane

Platform for Building Office Smart Platform for Building Office Smart ClientsClientsVSTO 2005VSTO 2005

Key enabling technologies:Key enabling technologies:

Unlock business through Unlock business through openopen XML file XML file formatsformats

Provide business structure to documents Provide business structure to documents via via customcustom XML schemasXML schemas

Deeper UI integration through the Deeper UI integration through the Document Actions task paneDocument Actions task pane

Visual Studio Tools for Office (VSTO) 2005Visual Studio Tools for Office (VSTO) 2005

Extended Office Controls Extended Office Controls “View” Controls“View” Controls

Exposed via the toolbarExposed via the toolbar

Programmatically accessible through Programmatically accessible through named fieldsnamed fields

Enhanced event modelEnhanced event model

Data binding supportData binding support

VSTO 2005 extends certain intrinsic Word VSTO 2005 extends certain intrinsic Word and Excel objects...and Excel objects...

Programming ModelProgramming ModelView ControlsView Controls

View control: host element on a documentView control: host element on a documentSimilar to controls on a form Similar to controls on a form

Contained on a host-provided surface, or “view” Contained on a host-provided surface, or “view”

Exposed as fields of containing view classExposed as fields of containing view class

Excel View ControlsExcel View ControlsNamedRange, ListObject, XMLMappedRange, NamedRange, ListObject, XMLMappedRange, ChartObjectChartObject

Word View Controls Word View Controls Bookmark, XMLNode, XMLNodesBookmark, XMLNode, XMLNodes

The ActionsPaneThe ActionsPane

Document Actions task paneDocument Actions task paneSpecific task pane available to document Specific task pane available to document customizations (new in Word and Excel 2003)customizations (new in Word and Excel 2003)

ActionsPaneActionsPaneProgrammable object exposed by VSTO 2005 Programmable object exposed by VSTO 2005 from Excel Workbook and Word Document from Excel Workbook and Word Document classesclasses

Fully encapsulates an implementation of Fully encapsulates an implementation of ISmartDocumentISmartDocument

Provides a Windows Forms-based programming Provides a Windows Forms-based programming model for accessing the Document Actions task model for accessing the Document Actions task panepane

Visual Studio Tools for Office (VSTO) 2005Visual Studio Tools for Office (VSTO) 2005

Schema-Based ProgrammingSchema-Based Programming

Direct programmatic access to XML NodesDirect programmatic access to XML NodesField instances created for each schema elementField instances created for each schema element

Access fields, instead of UI elementsAccess fields, instead of UI elements

Data binding supportData binding support

Event modelEvent modelContextEnter/ContextLeaveContextEnter/ContextLeave

AfterInsert/BeforeDeleteAfterInsert/BeforeDelete

BidRequestRequestDateNode.Text = DateTime.Now;BidRequestRequestDateNode.Text = DateTime.Now;

Data CachingData Caching

Why cache data in an Office document?Why cache data in an Office document?Cached data can be bound to the Office document and Cached data can be bound to the Office document and displayed at runtimedisplayed at runtime

Cached data can be used when offlineCached data can be used when offline

Cached data is server-accessibleCached data is server-accessible

Cached data can store non-UI data needed by your Cached data can store non-UI data needed by your solutionsolution

VSTO support for data cachingVSTO support for data cachingCachedAttribute is used to annotate fields that should be CachedAttribute is used to annotate fields that should be cached cached

ICachedType can be implemented by a type to provide ICachedType can be implemented by a type to provide custom serializationcustom serialization

ServerDocument class can be used to open a document ServerDocument class can be used to open a document without instantiating Word/Excelwithout instantiating Word/Excel

VSTO Security ModelVSTO Security Model

Based 100% on .NET Code Access SecurityBased 100% on .NET Code Access Security

By default, no code runsBy default, no code runsTrusted assembly ≠ Local machineTrusted assembly ≠ Local machine

Trust via signing the assemblies Trust via signing the assemblies Authenticode or Strong nameAuthenticode or Strong name

Can also trust via location-based evidence Can also trust via location-based evidence

Must also trust the documentMust also trust the documentTrusted document = Local machineTrusted document = Local machine

Temporary Internet files not trustedTemporary Internet files not trusted

VSTO Deployment ModelVSTO Deployment Model

Separation of document, code and Separation of document, code and assembly assembly

Code is part of a Visual Studio projectCode is part of a Visual Studio project

Only the assembly is deployed with the Only the assembly is deployed with the documentdocument

Assembly is “linked” to the documentAssembly is “linked” to the documentVSTO 2003: Custom propertiesVSTO 2003: Custom properties

VSTO 2005: App manifest embedded in VSTO 2005: App manifest embedded in documentdocument

Chad Z. Hower a.k.a. KudzuChad Z. Hower a.k.a. KudzuRegional .NET Developer Advisor (DPE Regional .NET Developer Advisor (DPE DE)DE)Microsoft Middle East & AfricaMicrosoft Middle East & Africa

VSTO 3.0 OutlookVSTO 3.0 Outlook

SummarySummary

Word and Excel can be used effectively to create Word and Excel can be used effectively to create great smart client applicationsgreat smart client applications

Connect documents to live business dataConnect documents to live business data

Provide structure using XML Schemas Provide structure using XML Schemas

Provide deeper UI integration using the Provide deeper UI integration using the Document Actions task paneDocument Actions task pane

VSTO is the tool of choice for professional VSTO is the tool of choice for professional developers creating document-centric solutions developers creating document-centric solutions for Word and Excel 2003for Word and Excel 2003

Integrated design-time experienceIntegrated design-time experience

Developer productivity through programming Developer productivity through programming model enhancementsmodel enhancements

All the power of Visual Studio and the .NET FrameworkAll the power of Visual Studio and the .NET Framework

Product Team BlogsProduct Team Blogs

Eric Carter : .NET4Office Eric Carter : .NET4Office http://blogs.msdn.com/eric_carter/http://blogs.msdn.com/eric_carter/

Peter Torr : Office Development, Security, Peter Torr : Office Development, Security, Randomness…Randomness… http://http://weblogs.asp.net/ptorrweblogs.asp.net/ptorr//

Eric LippertEric Lippert : Fabulous Adventures in Coding : Fabulous Adventures in Coding http://http://blogs.msdn.com/EricLippertblogs.msdn.com/EricLippert

Paul StubbsPaul Stubbs : Office Development with .NET : Office Development with .NET http://http://weblogs.asp.net/pstubbsweblogs.asp.net/pstubbs

VSTO 2005 Team Blog: VSTO 2005 Team Blog: http://weblogs.asp.net/vsto2 http://weblogs.asp.net/vsto2

NewsgroupsNewsgroups

VSTO 2005VSTO 2005microsoft.private.whidbey.vsto microsoft.private.whidbey.vsto

VSTO 2003VSTO 2003microsoft.public.vsnet.vstools.officemicrosoft.public.vsnet.vstools.office

Additional InformationAdditional Information

MSDN Developer Centers MSDN Developer Centers VS.NET and Office Development VS.NET and Office Development http://msdn.microsoft.com/vstudio/office/ http://msdn.microsoft.com/vstudio/office/

Office Development Office Development http://msdn.microsoft.com/office http://msdn.microsoft.com/office

Hands-on Labs for VSTO 2005 Hands-on Labs for VSTO 2005 http://www.microsoft.com/downloads/details.aspx?http://www.microsoft.com/downloads/details.aspx?FamilyID=f2323aaf-fe87-4203-9ed8-FamilyID=f2323aaf-fe87-4203-9ed8-

72466566e105&displaylang=en72466566e105&displaylang=en

VSTO 2005 Web casts VSTO 2005 Web casts http://msdn.microsoft.com/office/understanding/vshttp://msdn.microsoft.com/office/understanding/vsto/multimedia/default.aspxto/multimedia/default.aspx

Visual Studio Tools for Office Visual Studio Tools for Office …the not so good news….…the not so good news….

Word, Excel, Infopath and Outlook…only…Word, Excel, Infopath and Outlook…only…

Prerequisites (Development Computer):Prerequisites (Development Computer):Visual Studio 2005 Team Suite or Visual Studio 2005 Team Suite or

Visual Studio 2005 Tools for the Microsoft Office Visual Studio 2005 Tools for the Microsoft Office SystemSystem

Microsoft Office Professional Edition 2003Microsoft Office Professional Edition 2003

Call to ActionCall to Action

Architect and design for how an application Architect and design for how an application should be surfacedshould be surfaced

The end-all UI is not Internet ExplorerThe end-all UI is not Internet Explorer

Get the .NET Framework 2.0 to your Client Get the .NET Framework 2.0 to your Client MachinesMachines

Get Office 2003 Professional deployed so Get Office 2003 Professional deployed so you can build powerful info worker you can build powerful info worker applicationsapplications

Start Planning now for an extensible 2007 Start Planning now for an extensible 2007 Office system & VSTO 3.0Office system & VSTO 3.0

……Help drive the Smart Client RevolutionHelp drive the Smart Client Revolution

Tim Huckaby, InterKnowlogyTim Huckaby, InterKnowlogy

More info on InterKnowlogy:More info on InterKnowlogy:www.InterKnowlogy.com www.InterKnowlogy.com

Contact me: Tim HuckabyContact me: Tim HuckabyE-mail: [email protected]: [email protected] [email protected] [email protected]

Phone: 760-930-0075 x201Phone: 760-930-0075 x201

Blog: http://blogs.InterKnowlogy.com/TimHuckaby Blog: http://blogs.InterKnowlogy.com/TimHuckaby

About Tim HuckabyAbout Tim HuckabyMicrosoft Regional Director – Southern CaliforniaMicrosoft Regional Director – Southern California

Microsoft .NET Partner Advisory Council Founder / MemberMicrosoft .NET Partner Advisory Council Founder / Member

Microsoft MVP - .NETMicrosoft MVP - .NET

Microsoft Prescriptive Architecture Group Advisory CouncilMicrosoft Prescriptive Architecture Group Advisory Council

MSDN Content CouncilMSDN Content Council

Microsoft MSF advisory board memberMicrosoft MSF advisory board member

INETA Speaker – International .NET Users Group AssociationINETA Speaker – International .NET Users Group Association

Windows and .NET Magazine Advisory Board MemberWindows and .NET Magazine Advisory Board Member

.NET Developers Journal Magazine Advisory Board Member.NET Developers Journal Magazine Advisory Board Member

Author / SpeakerAuthor / Speaker

ResourcesResourcesTechnical Chats and Webcastshttp://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asp

Microsoft Learning and Certificationhttp://www.microsoft.com/learning/default.mspx

MSDN & TechNet http://microsoft.com/msdnhttp://microsoft.com/technet

Virtual Labshttp://www.microsoft.com/technet/traincert/virtuallab/rms.mspx

Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx

Technical Community Siteshttp://www.microsoft.com/communities/default.mspx

User Groupshttp://www.microsoft.com/communities/usergroups/default.mspx

Fill out a session Fill out a session evaluation on evaluation on

CommNet andCommNet and Win an XBOX Win an XBOX

360!360!

© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.