DEV322 Visual Studio 2005 Tools for Microsoft Office: Building Smart Client Applications Tim Huckaby...
-
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
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
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
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.