37
Jens Häupel Jens Häupel .NET Technologieberater .NET Technologieberater Developer Platform & Developer Platform & Strategy Group Strategy Group Microsoft Deutschland GmbH Microsoft Deutschland GmbH http://blogs.msdn.com/jensha http://blogs.msdn.com/jensha V V isual isual S S tudio tudio T T ools ools für für O O ffice ffice 2.0 2.0 Integration in Office Integration in Office 2003 2003

Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH V isual S tudio T ools für

Embed Size (px)

Citation preview

Page 1: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Jens HäupelJens Häupel.NET Technologieberater.NET TechnologieberaterDeveloper Platform & Strategy GroupDeveloper Platform & Strategy GroupMicrosoft Deutschland GmbHMicrosoft Deutschland GmbHhttp://blogs.msdn.com/jenshahttp://blogs.msdn.com/jensha

VVisualisual SStudiotudio TToolsools fürfür OOfficeffice 2.0 2.0

Integration in Office 2003Integration in Office 2003

Page 2: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Zu viele FrontendsZu viele Frontends

SiebelSiebel

SAPSAP

Microsoft CRMMicrosoft CRM

Any ERPAny ERP

SpeziallösungenSpeziallösungenAny CRMAny CRM

AdressverwaltungenAdressverwaltungen

SQL ServerSQL Server

Page 3: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Office-Integration hat VorteileOffice-Integration hat Vorteile

Rad nicht neu erfindenRad nicht neu erfinden Schnellere Entwicklung Schnellere Entwicklung

Viele kennen es gut genugViele kennen es gut genug Keine teure Einarbeitungszeit Keine teure Einarbeitungszeit

Oft nicht alle Funktionen des speziellen Oft nicht alle Funktionen des speziellen Frontends benötigtFrontends benötigt

One-stop shoppingOne-stop shopping Kein Screen Hopping Kein Screen Hopping 'Smarte Dokumente' 'Smarte Dokumente'

Wieso also nicht?Wieso also nicht?

Page 4: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

VVisualisual SStudiotudio T Toolsools fürfür OOfficeffice 2.0 2.0

Page 5: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Integration in Visual StudioIntegration in Visual Studio

Page 6: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Kaskadierte Office Menus View Controls per Drag&Drop aus der Toolbox

Property Window Support

Word und Excel als Designer

Integration in Visual StudioIntegration in Visual Studio

Page 7: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Integration in Visual StudioIntegration in Visual Studio

Höhere Produktivität durch IDE IntegrationHöhere Produktivität durch IDE Integration Vorteile von Managed CodeVorteile von Managed Code

gemeinsame Klassenbibliotheken für alle gemeinsame Klassenbibliotheken für alle SprachenSprachen

Kompatibles TypsystemKompatibles Typsystem Gemeinsame LaufzeitumgebungGemeinsame Laufzeitumgebung Code Access SecurityCode Access Security Code-Vererbung (auch zw. Sprachen)Code-Vererbung (auch zw. Sprachen) ……

Page 8: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Erweiterung mit ViewControlsErweiterung mit ViewControls

Erweiterungen von vorhandenen Excel-bzw. Erweiterungen von vorhandenen Excel-bzw. Word-ObjektenWord-Objekten

Bookmark, NamedRange, ListObject, Bookmark, NamedRange, ListObject, XmlMappedRange, Chart ControlXmlMappedRange, Chart Control

Properties und EventsProperties und Events

The end of scanning the entire workbook!The end of scanning the entire workbook!

Page 9: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Erweiterung mit .NET ControlsErweiterung mit .NET Controls

Word / Excel als Host für Managed ControlsWord / Excel als Host für Managed Controls Komplettes Komplettes

EventingEventing Databinding Databinding

BindingSourceBindingSource TableAdapterTableAdapter DataSetDataSet BindingNavigatorBindingNavigator

Wrapper-Objekt wird Wrapper-Objekt wird automatisch generiertautomatisch generiert

Page 10: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Databinding mit View ControlsDatabinding mit View Controls

Page 11: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Die ActionsPaneDie ActionsPane

Anpaßbarer Bereich mit vielfältigen Anpaßbarer Bereich mit vielfältigen Möglichkeiten Möglichkeiten

Vieles out-of-the-boxVieles out-of-the-box Shared WorkspaceShared Workspace XML SourceXML Source Research PaneResearch Pane ……

VSTO bietet.NET Code Modell VSTO bietet.NET Code Modell für die Aufgabenleistefür die Aufgabenleiste Managed ControlsManaged Controls

Page 12: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Die ActionsPaneDie ActionsPane

Basiert auf Windows Forms Basiert auf Windows Forms Designer-UnterstützungDesigner-Unterstützung Container für Custom Container für Custom

User ControlsUser Controls ISmartDocument nicht nötigISmartDocument nicht nötig Kein XML Schema Mapping Kein XML Schema Mapping

erforderlicherforderlich Interaktion mit View Controls Interaktion mit View Controls

und/oder Objektmodellund/oder Objektmodell

Page 13: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Integration in die ActionsPaneIntegration in die ActionsPane

RechnungsüberprüfungRechnungsüberprüfung Verwendete TechnologienVerwendete Technologien

Microsoft ExcelMicrosoft Excel XML Web service – Datentransfer vom/zum XML Web service – Datentransfer vom/zum

ServerServer SQL Server – Speichert RechnungsdatenSQL Server – Speichert Rechnungsdaten

Beispiel für ActionsPaneBeispiel für ActionsPane Angepaßtes MenüAngepaßtes Menü Datengebundene Drop-Datengebundene Drop- Down-ListeDown-Liste Real-Time DatenReal-Time Daten

Page 14: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

User Controls in der ActionsPaneUser Controls in der ActionsPane

Page 15: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

SmartTags in VSTO SmartTags in VSTO

Page 16: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

SmartTags in VSTOSmartTags in VSTO

Sehr einfaches und intuitives InterfaceSehr einfaches und intuitives Interface Kaspelt die COM-Interfaces ISMartTagAction Kaspelt die COM-Interfaces ISMartTagAction

bzw. ISmartTagRecognizerbzw. ISmartTagRecognizer Für spezifische DokumenteFür spezifische Dokumente

Aggressivere Erkennungsmechanismen möglichAggressivere Erkennungsmechanismen möglich

Für Dokumente, die auf einer bestimmten Für Dokumente, die auf einer bestimmten Vorlage basierenVorlage basieren Allgemeinere Erkennung, GruppierungAllgemeinere Erkennung, Gruppierung

Page 17: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

VSTO 2.0 - Smart TagsVSTO 2.0 - Smart Tags

Page 18: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Office-Dokumente und ServerOffice-Dokumente und Server

Was ist, wenn ein Server-Prozeß ein Office-Was ist, wenn ein Server-Prozeß ein Office-Dokument erzeugen/verändern muß?Dokument erzeugen/verändern muß?

Office ist eine Client-Anwendung!Office ist eine Client-Anwendung! Account hat möglicherweise keinen DesktopAccount hat möglicherweise keinen Desktop Vor dem Server sitzt keiner!Vor dem Server sitzt keiner!

WordProcessingML / SpreadsheetMLWordProcessingML / SpreadsheetML Erweiterung von XMLErweiterung von XML Voll formatierte DokumenteVoll formatierte Dokumente

Oder …Oder …

Page 19: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Data IslandsData Islands

Office-Dokumente können nun Office-Dokumente können nun sog. "Dateninseln" enthalten sog. "Dateninseln" enthalten

Speicherort für XML Daten im Speicherort für XML Daten im Office-DokumentOffice-Dokument

Extra-Stream im OLE Structured StorageExtra-Stream im OLE Structured Storage Zugriff darauf Zugriff darauf ohneohne Office-Instanz ! Office-Instanz ! Einfache Erzeugung durch Einfache Erzeugung durch Cached()Cached()-Attribut -Attribut

bzw. bzw. CacheInDocumentCacheInDocument Property Property

Page 20: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Data Islands - EinsatzgebieteData Islands - Einsatzgebiete

Erlaubt automatisierte serverseitige Erlaubt automatisierte serverseitige Verarbeitung der DatenVerarbeitung der Daten

z.B. für Konfigurations-Infos bzw. in Offline-z.B. für Konfigurations-Infos bzw. in Offline-SzenarienSzenarien

Client-Server-SzenarioClient-Server-Szenario Synchronisierung, wenn onlineSynchronisierung, wenn online Personalisierte Vorbelegung von Daten beim Personalisierte Vorbelegung von Daten beim

Öffnen von DateienÖffnen von Dateien

Page 21: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

DataIsland

ServerServerCodeCode

Server Client

DatabasesDatabases CorporateCorporateSystemsSystems

Bill's Daten

URL RequestCreateExpense.aspxCreateExpense.aspx

FunktionsweiseFunktionsweise

Page 22: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

DataIsland

ServerServerCodeCode

Server Client

DatabasesDatabases CorporateCorporateSystemsSystems

Bill's Daten

CreateExpense.aspxCreateExpense.aspx

Bill's Daten

FunktionsweiseFunktionsweise

Page 23: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

ServerServerCodeCode

Server Client

DatabasesDatabases CorporateCorporateSystemsSystems

Bill's Daten

CreateExpense.aspxCreateExpense.aspx

DataIsland

Bill's Daten

DataIsland

Bill's Daten

FunktionsweiseFunktionsweise

Page 24: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

ServerServerCodeCode

Server Client

DatabasesDatabases CorporateCorporateSystemsSystems

Bill's Daten

CreateExpense.aspxCreateExpense.aspx

DataIsland

Bill's Daten

FunktionsweiseFunktionsweise

Page 25: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

DataIsland

ServerServerCodeCode

Server Client

DatabasesDatabases CorporateCorporateSystemsSystems

CreateExpense.aspxCreateExpense.aspx

Bill's aktualisierte

Daten

Bill's Daten

FunktionsweiseFunktionsweise

Page 26: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

ServerServerCodeCode

Server Client

DatabasesDatabases CorporateCorporateSystemsSystems

CreateExpense.aspxCreateExpense.aspx

DataIsland

Bill's aktualisierte

Daten

DataIsland

Bill's aktualisierte

Daten

Bill's Daten

FunktionsweiseFunktionsweise

Page 27: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

ServerServerCodeCode

Server Client

DatabasesDatabases CorporateCorporateSystemsSystems

CreateExpense.aspxCreateExpense.aspx

DataIsland

Bill's aktualisierte

Daten

Bill's Daten

FunktionsweiseFunktionsweise

Page 28: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

ServerServerCodeCode

Server Client

DatabasesDatabases CorporateCorporateSystemsSystems

CreateExpense.aspxCreateExpense.aspx

DataIsland

Bill's aktualisierte

Daten

Bill's aktualisierte

Daten

FunktionsweiseFunktionsweise

Page 29: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Komplexere DatenKomplexere Daten Auch Datasets passen auf die InselAuch Datasets passen auf die Insel Datasets sind einfach (de)serialisierbarDatasets sind einfach (de)serialisierbar

ds.ReadXmlSchema()ds.ReadXmlSchema() ds.ReadXml(ds.ReadXml(), ds.WriteXml()), ds.WriteXml()

CacheInDocument PropertyCacheInDocument Property Instanz muß Public seinInstanz muß Public sein

Page 30: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Outlook-IntegrationOutlook-IntegrationChancen und MöglichkeitenChancen und Möglichkeiten

Viele Benutzer “leben” in OutlookViele Benutzer “leben” in Outlook eMails / Aufgaben oft integraler Bestandteil eMails / Aufgaben oft integraler Bestandteil

von typischen Business-Prozessen bzw. von typischen Business-Prozessen bzw. Document WorkflowsDocument Workflows

Wunsch nach einem Front-End für viele Wunsch nach einem Front-End für viele Back-End-SystemeBack-End-Systeme

Weniger Training und erweiterte Weniger Training und erweiterte Möglichkeiten wg. bekanntem Office UIMöglichkeiten wg. bekanntem Office UI

““natürliche” Abläufenatürliche” Abläufe

Page 31: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Mögliche VSTO Outlook SzenarienMögliche VSTO Outlook Szenarien

Line of Business AnwendungenLine of Business Anwendungen ERP, CRM, etc.ERP, CRM, etc.

Collaboration & Workflow LösungenCollaboration & Workflow Lösungen Reisekosten, Business Travel Lösungen, etc.Reisekosten, Business Travel Lösungen, etc.

Digital Content IntegrationDigital Content Integration Zugriff auf BibliotheksdatenZugriff auf Bibliotheksdaten

Utilities & ToolsUtilities & Tools Integration von mobilen ServicesIntegration von mobilen Services

Verfügbarkeit von Flügen direkt aus KalenderVerfügbarkeit von Flügen direkt aus Kalender

Page 32: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Die VSTO Outlook Add-In LösungDie VSTO Outlook Add-In Lösung

Verwendet bestehende VSTO Runtime Verwendet bestehende VSTO Runtime ServicesServices AppDomain IsolationAppDomain Isolation Separate Security ConfigurationSeparate Security Configuration Disconnect Disconnect Unload Unload Manifest-basierte UpdatesManifest-basierte Updates

Starkes Sicherheits-ModellStarkes Sicherheits-Modell Visual Studio ProjektvorlageVisual Studio Projektvorlage Snippets, Code Samples, WhitepapersSnippets, Code Samples, Whitepapers

Page 33: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

VSTO Add-In ArchitekturVSTO Add-In ArchitekturManagedUnmanaged

Office (Outlook)

Host Application

DefaultDomain

VSTO Runtime

AppDomain Provider

SecurityManager

Add-in Domain #N

Managed Add-in

Add-in Domain #3

Managed Add-in

Add-in Domain #2

Managed Add-in

AddinLoader.dll

Addin Loader

IDTExtensibility2 proxy

AddinLoader.dll

Addin Loader

IDTExtensibility2 proxy

AddinLoader.dll

Addin Loader

IDTExtensibility2 proxy

Page 34: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Deployment von VSTO-LösungenDeployment von VSTO-Lösungen

MSI PackagesMSI Packages Assembly + Dokument werden lokal installiertAssembly + Dokument werden lokal installiert

Netzwerk-DeploymentNetzwerk-Deployment Assembly Deployment über Assembly Deployment über FTP, UNC, HTTP, FTP, UNC, HTTP,

SharePointSharePoint Versionierte AssembliesVersionierte Assemblies Download in lokalen Cache (User Profile)Download in lokalen Cache (User Profile)

UpdatesUpdates Zentral bereitgestellt vom Admin Zentral bereitgestellt vom Admin Automatisches Prüfen + Download bei Automatisches Prüfen + Download bei

VerwendungVerwendung

Page 35: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

Sicherheit Sicherheit

.NET Code Access Security.NET Code Access Security Ausführung in der SandboxAusführung in der Sandbox Basiert aufBasiert auf

PfadPfad HashHash Strong NameStrong Name Digitale Signatur (Trusted Publisher Modell)Digitale Signatur (Trusted Publisher Modell)

Angewandt auf AssemblyAngewandt auf Assembly User muß nicht Admin sein, um VSTO-User muß nicht Admin sein, um VSTO-

Lösungen verwenden zu könnenLösungen verwenden zu können

Page 36: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für

ZusammenfassungZusammenfassung

VSTO 2.0 schafft vielfältige Integrations-VSTO 2.0 schafft vielfältige Integrations-möglichkeiten für Officemöglichkeiten für Office

Kein neues Tool, sondern Visual StudioKein neues Tool, sondern Visual Studio Managed Controls und WinForms Designer Managed Controls und WinForms Designer

SupportSupport Professioneller: Code-behind-Modell bedeutet Professioneller: Code-behind-Modell bedeutet

Trennung von Logik und OberflächeTrennung von Logik und Oberfläche Adressiert den professionellen EntwicklerAdressiert den professionellen Entwickler Dokument-zentrisch (XL, WD) bzw. Aplikations-Dokument-zentrisch (XL, WD) bzw. Aplikations-

zentrisch (OL)zentrisch (OL) Office als Host für Smart Client SolutionsOffice als Host für Smart Client Solutions

Page 37: Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH  V isual S tudio T ools für