© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the...
-
Upload
ahlf-redding -
Category
Documents
-
view
110 -
download
2
Transcript of © 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the...
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
Office als Applikationsplattform
Next Generation Applications for Office in der Praxis
Marcel Gnoth
Senior Consultant
Office Business Application
Avanade Deutschland GmbH
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Agenda
EinleitungDemo Office als ApplikationsplattformSmart Tags in der PraxisDeployment im Unternehmen in der PraxisOffline / Server / Data Islands
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Zur Person
Dipl. Inf. Marcel Gnoth, MCSD – [email protected] , www.gnoth.net (Code+Folien)– Senior Consultant, Avanade Deutschland GmbH– Office Business Application Group & Business Intelligence
Autor – dotnetpro, dotnet-magazin, Developerworld, MSDN
Sprecher – BASTA!, TechTalk, SQL Server Days
Themen– Verteilte nachrichtenbasierte Informationssysteme
− MS Message Queueing, SQL Server Service Broker– Office System 2003 / 2007 Integration– BI, ETL, Reporting– VB6, COM, SQL Server, .Net
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Über Avanade
Ein führender Technologie-Integrator
– mit über 4.000 Mitarbeitern in 21 Ländern– führender Technologie-Integrator für Unternehmenslösungen auf Basis
von Microsoft-Technologien– über 3.000 Projekte bei rund 1.900 Kunden weltweit– gegründet als Joint Venture von Accenture und Microsoft im April 2000
Wir planen und implementieren zuverlässige und skalierbare Lösungen auf Basis von Microsoft-Technologien– Beratung und Analyse– Design, Implementierung und Integration von Microsoft basierten
Lösungen in heterogene und komplexe IT-Landschaften– Durch Verwendung unserer umfassenden Methodik und bewährten Tools
gestalten wir kostengünstige Lösungen bei gleichzeitig hoher Zuverlässigkeit und großem geschäftlichen Nutzen.
– Entwicklung von maßgeschneiderten Lösungen für unsere Kunden auf Basis von State-of-the-Art Standards
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
„3-fach stark“
Umfassende Anwendungsentwickl
ung, Infrastrukturlösunge
n und Integration modernster
Technologien
Flexible und innovative Software
Fundierte Industrie-erfahrung und Unter-
nehmenslösungen
Im Team bieten wir unseren Kunden passende Unternehmenslösungen an
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Globale Präsenz
Avanade wächst stetig und zählt im Februar 2006 mehr als 4.000 Mitarbeiter in 21 Ländern, sowie über 3.000 Projekte bei rund 1.900 Kunden.
Avanade Americas• Seattle• San Francisco• Chicago • Dallas• Boston • New York• Toronto• St. Louis• Nashville• Kansas City• Cincinnati
Avanade Europe•Almere•Barcelona•Brussels•Copenhagen•Edinburgh•Helsinki•Kronberg•London•Málaga•Madrid•Milan•Oslo•Paris•Rome•Stockholm •Zurich
Avanade Australia• Sydney• Melbourne• Brisbane• Canberra
Avanade Asia• Singapore• Kuala Lumpur• Bangkok• Tokyo
Avanade India• Mumbai• Bangalore• Hyderabad
Avanade Philippines• Manila
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Unsere Kunden (Europa, Auszug)
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
Einleitung
Next Generation Applications for Office in der Praxis
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Office als Applikations-Plattform
Mehr als 400 Mio OfficeinstallationenFür sehr viele Menschen ist Office das Hauptwerkzeug im BüroWie kann Ihnen das Arbeiten leichter gemacht werden?Weniger neuen Features für den AnwenderBessere Integration in die Unternehmens IT
Office stellt Infrastruktur für Applikationen bereit
Office 12 geht noch weiter
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Probleme im Büroalltag für Anwender...
Anwender muss Informationen in verschiedenen Systemen zusammensuchen– Outlook, SharePoint, CRM, in HR, in SAP, SQL Server,
Oracle, ... – Anwender muss in der Lage sein, diese Systeme zu bedienen,
auch wenn er/sie nur selten damit arbeitet– Schneller Zugriff auf Infos
Keine Unterstützung bei der Dateneingabe– Viel manuelle Tipparbeit– Keine Validierung
Austausch zwischen den verschiedenen Systemen könnte für den Anwender leichter sein.– Nur Copy & Paste– Oder abtippen
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Probleme im Büroalltag für IT ...
Office Dokumente sind Freitext– Nutzer kann fehlerhafte, unstrukturierte Eingaben machen– schlechte Datenqualität– Elektronische Verarbeitung der Informationen aufwendig
Formulare mit Word und Excel erstellen– InfoPath ist noch nicht weit verbreitet– Prüfen des Inhalts
Dokumentformat properitär– Austausch mit anderen heterogenen Systemen schwierig
Elektronische Verarbeitung (auf Servern) aufwendig– Office Installation auf dem Server unerwünscht
Verteilung von Office LösungenSicherheit
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Wege zur Lösung
Taskpane / Aufgabenbereich– Formulare zur Dateneingabe– Nachschlageergebnisse– Informationen / Aktionen
XML-Dateiformat und XML-Schemata– Offenes Dateiformat – Kein Freitext mehr– Kontextbezogener Zugriff auf TaskPane– Serververarbeitung von Dokumenten
Smart Tags– Kontextbezogener Zugriff auf TaskPane– Aktionen und Infos zu einem selektierten Bereich
Webservice Zugriff– Nachschlagewerke, Datenaustausch
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
Demo
Office Smart Client Application
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
Smart Tags
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Was sind SmartTags?
Erkennt Text in DokumentenBietet Aktionen dafür an
Smart Tag Action Button
Lila gepunktete Linie: Smart Tag Kennzeichnung
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Entwicklung von Smart Tags
Microsoft Office Smart Tag List (MOSTL)– Für “einfache” Smart Tags
− C:\Programme\Gemeinsame Dateien\Microsoft Shared\Smart Tag\LISTS\1031
– Leichte Entwicklung und Deployment
Smart Tag COM-API– Alle Möglichkeiten des .Net Frameworks– Programmierung (COM-Interface)
− ISmartTagRecognizer, ISmartTagAction − C#, VB.NET, C++ oder VB6− .Net Applikationen verwenden COM Interop und VSTO Loader
– Benötigen Setup (Einträge in die Registry)− HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Smart
Tag\Recognizers
– SmartTags sind systemweit aktiv in allen SmartTag fähigen Applikationen und Dokumenten
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Managed SmartTags mit VSTO und IBF
VSTO bringt eigene Klassen mit– Microsoft.Office.Tools.Word.SmartTag und … Action– Microsoft.Office.Tools.Excel.SmartTag und … Action– Sehr einfache Managed Entwicklung– An ein Dokument gebunden, nicht systemweit aktive
− Reicht aber in sehr vielen Fällen ausr− Ermöglicht dokumentspezifische Texterkennung
IBF-Client installiert ein generisches SmartTag– Spezielle managed IBF-SmartTags implementieren– SmartTags sind systemweit gültig– Siehe IBF-Teil
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
VSTO SmartTag Klassen
SmartTag Objekt– Excel: Microsoft.Office.Tools.Excel.SmartTag– Word: Microsoft.Office.Tools.Word.SmartTag– Namespace ist wichtig, es gibt auch
Microsoft.Office.Interop.Word.SmartTag
Konstruktor Parameter– SmartTag Typ– Caption
Dim myTag As SmartTag = New SmartTag _ ("www.gnoth.net#office", "Product Info")Dim myTag As SmartTag = New SmartTag _ ("www.gnoth.net#office", "Product Info")
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Recognizer initialisieren
Recognizer erkennt TexteTerms Collection– Statische Strings– Achtung, nicht zu viele verwenden
Expressions Collection– Reguläre Ausdrücke
Eigenen Algorithmus– SmartTagBase.Recognize-Methode überschreiben
myTag.Terms.Add("Tofu")myTag.Terms.Add("Halumi") myTag.Expressions.Add( _ New System.Text.RegularExpressions.Regex _ ("[A-Z]{1}[0-9]{3}"))
myTag.Terms.Add("Tofu")myTag.Terms.Add("Halumi") myTag.Expressions.Add( _ New System.Text.RegularExpressions.Regex _ ("[A-Z]{1}[0-9]{3}"))
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Aktionen hinzufügen
Menüeinträge für SmartTag-KontextmenüAction-Objekte erstellen– Excel: Microsoft.Office.Tools.Excel.Action– Word: Microsoft.Office.Tools.Word.Action
Caption-Property setzenZum Actions-Array des SmartTags hinzufügen
Dim theAction As Action = New Action("Hole es Dir")myTag.Actions = New Action() {theAction}Dim theAction As Action = New Action("Hole es Dir")myTag.Actions = New Action() {theAction}
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Ereignisse einer Action
BeforeCaptionShowClick
AddHandler theAction.Click, New _ ActionClickEventHandler(AddressOf theAction_Click)
AddHandler theAction.BeforeCaptionShow, New _ BeforeCaptionShowEventHandler(AddressOf _ theAction_BeforeCaptionShow)
Sub theAction_Click(..., ByVal e As ActionEventArgs)
Dim txtW As New TextBox txtW.Text = e.Text Globals.ThisDocument.ActionsPane.Controls.Add(txtW)
End Sub
AddHandler theAction.Click, New _ ActionClickEventHandler(AddressOf theAction_Click)
AddHandler theAction.BeforeCaptionShow, New _ BeforeCaptionShowEventHandler(AddressOf _ theAction_BeforeCaptionShow)
Sub theAction_Click(..., ByVal e As ActionEventArgs)
Dim txtW As New TextBox txtW.Text = e.Text Globals.ThisDocument.ActionsPane.Controls.Add(txtW)
End Sub
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
SmartTag mit Dokument verknüpfen
VSTO-SmartTags sind nur in Dokumenten aktiv, mit denen sie verknüpft sindVstoSmartTags Collection– Excel: ThisWorkbook class– Word: ThisDocument class
Neuüberprüfung des Dokumentes
'in Public Class ThisDocument
Me.VstoSmartTags.Add(myTag)
Me.VstoSmartTags.Remove(myTag)
'in Public Class ThisDocument
Me.VstoSmartTags.Add(myTag)
Me.VstoSmartTags.Remove(myTag)
'in Public Class ThisDocument
Me.RecheckSmartTags()
'in Public Class ThisDocument
Me.RecheckSmartTags()
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
Demo
VSTO SmartTagMicrosoft Office System 2003
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
Deployment
The Challenging Mission
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
VSTO Client Requirements
Office 2003 Professional Edition SP1– Oder Excel/Word/Outlook standalone editions
.NET Framework 2.0Office Primary Interop Assemblies (PIAs)– Separater Download– http://www.microsoft.com/downloads/details.aspx?FamilyId
=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=en
VSTO 2005 Runtime– http://go.microsoft.com/fwlink/?linkid=49612
Sicherheitseinstellungen– Code Access Security– Assembly und Dokument (wenn Dokument nicht lokal
abgelegt)
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Code Access Security (CAS)
VSTO erzeugt normale .Net Dll AssembliesCAS muß auf dem Client konfiguriert seinCaspol.exe oder .Net Framework Konfiguration
– Document Location– Assembly Strong Name
Keine Entscheidung des Anwenders– Kein
„Makro aktivieren J/N“
Caspol.exe -ag All_Code -url "file://C:/Smart Doc Files/*" FullTrust
-n NorthwindSmartDocDemo
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Verknüpfung Dokument – Assembly
Dokument -> Eigenschaften– In VSTO 1.0 Pfad zum Assembly– In VSTO 2.0 nur GUID des
Runtime Storage Control– In VSTO 2.0 ist Application
Manifest im Dokument gespeichert
– Application Manifest kann auf ein Deployment Manifest auf dem Server verweisen
AssemblyDeploymentManifest
ApplicationManifest
Dokument
Dok. auf dem ClientAuf dem Server
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Überblick Deployment
Komponenten einer VSTO Solution:– Quellcode (im Source Safe oder jetzt TeamSystem)– Kompiliertes Assembly (auf einem Server)– Office Dokument (Client oder Server)– Application Manifest (Im Dokument enthalten)– Deployment Manifest (auf dem Server)
Application Manifest– Ins Dokument eingebettet– Beschreibt das Projekt
(Startassembly, Abhängigkeiten, Deployment Manifest)
Deployment Manifest– Zeigt auf aktuelles Application Manifest auf dem Server– verwaltet Application Manifest Versionen
Zentrales Update auf dem Server
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Verteilungswerkzeuge
Publish Wizard– Erstellt Application und Deployment Manifeste– Verteilt Lösung an einen bestimmten Ort (http://Server/...)
ServerDocument Klasse– Methoden und Properties für den Zugriff auf Manifeste
MSI FilesManuell
sd = New ServerDocument(".\SmartTag.doc")Debug.Print("AssamplyPath: " + _ sd.AppManifest.Dependency.AssemblyPath)Debug.Print("DeployManifestPath: " + _ sd.AppManifest.DeployManifestPath)
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Offline Zugriff auf Assemblies
Wie kann sichergestellt werden, das der Anwender auch offline mit den Assemblies arbeiten kann?– Installation der Assemblies lokal auf dem Computer– Internet Explorer Cache– IntelliMirror
Die Dokumente können auch ohne Assemblies bearbeitet werden
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Deployment – Best Practice
Assembly auf einem Intranet Server– Client CAS braucht Full Trust für Assembly Strong Name
Dokumentvorlage auf Intranet Server– Clients CAS braucht FullTrust zur Location des
Dokumentes– Document Security
Erstellte Dokumente der Vorlage können sich über all im Intranet befindenÜber Application- und Deploymentmanifest wird Assembly gefunden
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
Demo
DeploymentMicrosoft Office System 2003
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
Data-IslandDaten reisen mit dem Dokument
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Data Cache / Data Islands
Dokumente können mit Daten befüllt werden– Auf Server oder Client– Data Caching erzeugt ein “Data Island” im Dokument– Daten sind verfügbar, auch wenn der Client offline ist
Klasse ServerDocument bietet Zugriff ohne OfficeSkalierbar und gut für ASP.NET geeignet
VSTO Data-Caching unterstützt– Alle Public Properties mit dem Cached-Attribut– Klasse muss vom XMLSerializer serialisierbar sein
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Dateninseln auf dem Client
Windows Client
Microsoft Office Professional 2003
.NET Framework
Schemas
Data Island
VSTO Runtime
Web Web ServicesServices
Client
VSTO Assembly
Deployment Server
LoB Data
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Dateninseln auf dem Servers
Windows Server
.NET Framework
Data CacheData Island
Server-side
Assembly
Server
VSTO ServerDocument Assembly
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Dateninseln im Dokument - Code
Im Dokument “Sonntag”, Blatt “Tabelle1”:
Auf dem Server ohne Office füllen
Dim dataHostItem1 As CachedDataHostItem = _ srvDoc.CachedData.HostItems("Sonntag.Tabelle1")Dim dataItem1 As CachedDataItem = _ dataHostItem1.CachedData("derKunde")If dataItem1.Xml Is Nothing Then Dim derKunde As New ClassLibrary1.CKunde derKunde.Name = "Marcel1" derKunde.Bestellung = "Bier1" dataItem1.SerializeDataInstance(derKunde) srvDoc.Save() srvDoc.Close()End If
Dim dataHostItem1 As CachedDataHostItem = _ srvDoc.CachedData.HostItems("Sonntag.Tabelle1")Dim dataItem1 As CachedDataItem = _ dataHostItem1.CachedData("derKunde")If dataItem1.Xml Is Nothing Then Dim derKunde As New ClassLibrary1.CKunde derKunde.Name = "Marcel1" derKunde.Bestellung = "Bier1" dataItem1.SerializeDataInstance(derKunde) srvDoc.Save() srvDoc.Close()End If
<Cached()> Public derKunde As DI_Kunde_Lib.CKunde<Cached()> Public derKunde As DI_Kunde_Lib.CKunde
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
DemoData Islands
Microsoft Office System 2003
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
www.gnoth.net
Alles wird gut
Uff...Uff...