Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Cäcilie Wolking Geändert vor über 10 Jahren
1
Smarte und verbundene Dokumente mit Office 2003 und .NET entwickeln
Microsoft Office System 2003 Smarte und verbundene Dokumente mit Office 2003 und .NET entwickeln Geschäftsdaten intelligent mit Dokumenten verbinden
2
Zur Person Dipl. Inf. Marcel Gnoth, MCSD NTeam GmbH, Berlin
NTeam GmbH, Berlin Leiter Softwareentwicklung MS Gold Partner Busines Intelligence, Information Worker, Advanced Infrastructur Autor dotnetpro und dotnet-magazin Trainer (u.a. SPC Berlin, ) Themen VB6, COM Datenbanken, Yukon Verteilte Informationssysteme mit .Net Office System 2003 Integration Reisen in ferne Länder:
3
Agenda Einleitung VBA und das Web Services Toolkit 2.01 Research Services XML-Schemata und Office Dokumente Smart Documents (ISmartDocument) VSTO 2003 VSTO 2005 Beta Smart Tags Information Bridge Framework (IBF) Fazit
4
Office in den Unternehmen
Microsoft Office System 2003 Einleitung Office in den Unternehmen
5
Office als Client Mehr als 400 Mio Officeinstallationen Für sehr viele Menschen ist Office das Hauptwerkzeug im Büro Wie kann Ihnen das Arbeiten leichter gemacht werden? Wenige neuen Features, Bessere Integration in die Unternehmens IT
6
Probleme im Büroalltag für Anwender...
Anwender muss Informationen in verschiedenen Systemen zusammensuchen Outlook, SharePoint CRM, in HR, in SAP, in ... Anwender muss in der Lage sein, diese Systeme zu bedienen, auch wenn er/sie nur selten damit arbeitet Keine Unterstützung bei der Dateneingabe Viel manuelle Tipparbeit Austausch zwischen den verschiedenen Systemen könnte für den Anwender leichter sein. Nur Copy & Paste Oder abtippen
7
Probleme im Büroalltag für IT ...
Office Dokumente sind Freitext Nutzer kann fehlerhafte, unstrukturierte Eingaben machen schlechte Datenqualität Parsen nach Informationen aufwendig Dokumentformat properitär Elektronische Verarbeitung (auf Servern) aufwendig Austausch mit anderen heterogenen Systemen schwierig
8
Unterstützung durch Office 2003
Dokumente können als XML gespeichert werden Austausch mit anderen Systemen Verarbeitung auf dem Server ohne Office Verknüpfen eines Office Dokumentes mit einem XML-Schema Prüfen von Nutzereingaben auf Fehler Daten können einfach elektronisch weiterverarbeitet und ausgetauscht werden
9
Unterstützung durch Office 2003
Kontextbezogene Informationen bereitstellen Aggregation von Informationen aus verschiedenen Systemen Recherchieren von Informationen Einfügen von Daten in ein Office Dokument Vermeidet Fehleingaben Erhöht Datenqualität
10
Viele Wege führen nach Friedrichshagen ...
Microsoft hat viel Energie unter die Oberfläche von Office gesteckt Die Anwender verwenden eh nur 10% der Möglichkeiten Deshalb viel Energie auf Smart Clients und Unterstützung von Information Workern Leute die schnell, einfach auf viele Infos zugreifen müssen Das (stärkste) Argument für Office 2003
11
Taskpane / Aufgabenbereich
Werkzeuge Viele Ansätze Taskpane / Aufgabenbereich Formulare zur Dateneingabe Nachschlageergebnisse Informationen / Aktionen XML-Schemata Kein Freitext mehr Kontextbezogener Zugriff auf TaskPane Smart Tags Aktionen und Infos zu einem ausgewählten Wort Webservice Zugriff Nachschlagewerke, Datenaustausch
12
Und ich dachte immer Officeprogrammierung ist langweilig
Umsetzungen Und ich dachte immer Officeprogrammierung ist langweilig Office VBA VS.Net, Toolkits und Werkzeuge ohne Ende ... XML, Research Service, Smart Tags, Smart Document, ISmartDocument, IBF, VSTO 2003 und 2005, WS für VBA, MOSTL, RSDE, RSCL, RSTV, MOSTL, SharePoint,
13
Technologieübersicht
TaskPane Research Services IBF ISmartDocument VSTO Im Dokument SmartTags XML VSTO 2005 Kontextbezogene Hilfe
14
Zugriffe auf die schöne, bunte Web Service Welt von VBA aus
Webservice Toolkit 2.01 VBA und Webservices Zugriffe auf die schöne, bunte Web Service Welt von VBA aus
15
Office 2003 Webservice Toolkit 2.01
Separater Download Tools -> Add Webreferenz Erzeugt VBA-Proxyklassen Dynamische Listen über WS Zugriff Amazon, eBay, ...
16
Webservice Toolkit 2.01 Demo VBA und Webservices
17
Fazit Sehr leichte Einbindung von WS in VBA
18
Research Services Nachschlagewerke für das eigene Unternehmen
Microsoft Office System 2003 Research Services Nachschlagewerke für das eigene Unternehmen Webservices und die TaskPane
19
Research Services (RS) – Überblick
Recherche von Informationen über Webservices Word, Excel, PPT, Outlook, Publisher, OneNote, Visio, IE Anzeige der Informationen in der TaskPane Übernahme von Daten in das Dokument Office eigene Dienste Kommerzielle Anbieter Eigenentwicklung WS mit beliebiger Sprache implementieren WS kann auf beliebiger Plattform laufen WS muss zwei XSD – Schemata unterstützen
20
Verfügbare Research Services
Lokal auf dem Computer Thesaurus und Übersetzung Office 2003 Research Services Wörterbuch, Enzyklopädie, Web Suche, Aktienkurse Kommerzielle Anbieter Factiva, eLibrary, Gale, WorldLingo Weitere werden kommen SharePoint Portal server
21
Research Beispiele
22
Eigene Research Services entwickeln
Beliebige Sprache, beliebige Plattform Ein Webservice mit zwei Methoden Register (oder Registry-Keys direkt schreiben) Query SOAP Response muß Schemata entsprechen MS Werkzeuge RS - SDK RS - Development Extras RS mit Smart Tags erweitern Daten in das Dokument einfügen Andere Aktionen starten ... Dll auf dem Client benötigt!
23
RS – Schemata
24
RS SDK – Schemata WS Registration WS Query Beispiele, Doku, Schemata
Request Response WS Query Beispiele, Doku, Schemata Codieren der Werbservice Antworten ist „fummlig“ (zu) viel Handarbeit Nicht wirklich schön .WriteStartElement("Content", ns:="urn:Microsoft.Search.Response.Content") .WriteElementString("P", "Folgende Pokemon wurden gefunden:") .WriteStartElement("Image source=""" + pathHTTP + "Pokemon/Gengar.gif"" ") .WriteEndElement() .WriteElementString("P", "Name: " + m_Pokemons.Name) .WriteStartElement("Tabular") .WriteStartElement("Record") .WriteElementString("Name", "Type")
25
Verwenden von Smart Tag Actions Definiert durch Query Response
RS – Smart Tags Verwenden von Smart Tag Actions Definiert durch Query Response Simple Smart Tags Insert, Copy, NewQuery, Hyperlink Smart Tag API Dll Sehr flexibel
26
RS Hallo Welt SmartTag Northwind RS
Research Services Demo RS Hallo Welt SmartTag Northwind RS
27
RS – Development Extras (RSDE)
Separater Download Research Services Class Library (RSCL) OO-Wrapper für SDK Schemata Macht das Leben leichter Mit Quellcode RSCL Wizard Neuer Projekttyp Viele Samples Research Services Tracing and Validation Tool (RSTV)
28
RSDE Demo RSCL Wizard und RSTV
29
Installation durch Anwender Installation durch Admin
Deployment / Registry Installation durch Anwender Eingabe der URL Installation durch Admin Verwenden einer .reg - Datei HKEY_CURRENT_USER\Software\Microsoft\... …Office\11.0\Common\Research HKEY_LOCAL_MACHINE\Software\Microsoft\... …Office\11.0\Common\Research Ausnahme: eigene Smart – Tags Dll auf dem Client Später mehr
30
Einfache Recherche aus Office Applikationen heraus
Fazit Einfache Recherche aus Office Applikationen heraus Kombinieren mit Volltextsuche des SQL Servers Dynamisches Update WS können auf jedem System gehostet werden! SELECT ProductName, QuantityPerUnit FROM Products WHERE CONTAINS(ProductName, ' FORMSOF (INFLECTIONAL, dry) ')
31
XML – Schemata und Office Dokumente
Microsoft Office System 2003 XML – Schemata und Office Dokumente Schluss mit dem Freitext
32
Überblick Office Dokumente (Freitext) mit einem XML-Schema verknüpfen Daten können als XML gespeichert (und weiterverarbeitet) werden Trennung der Daten von der Präsentation
33
XML in Office Offenes XML-Dateiformat Verknüpfen der Dokumente mit einem XML-Schema GUI-Integration über Aufgabenbereich (auch Outlook ein bisschen)
34
Freitext
35
Freitext
36
Inhalt als XML <ConferenceReport>
<Date>3/24/2004</Date> <Summary> <Keyword>XML Conference (Europe)</Keyword> <Abstract>Role of XML on the Desktop</Abstract> </Summary> <Attendees> <Attendee Name="John" Doe”> <Department>Health Agency</Department> <Potential> <Sales>100</Sales> <Growth>25%</Growth> <Remarks>The team comprises great innovators</Remarks> <ToDo>Contact their IT Manager</ToDo> </Potential> </Attendee> <Attendee Name="Judith" Jones”> <Department>Finance Agency</Department> </Attendees> <Conclusion>Organize another European tour </Conclusion> </ConferenceReport>
37
Formatierungen
38
Keine verschachtelten Tags
Formatierung als XML WordML Eigenes Schema HTML ähnlich Keine verschachtelten Tags <w:p> <w:r> <w:rPr> <w:b /> </w:rPr> <w:t>John Doe</w:t> </w:r> <w:i /> <w:t>Health Agency</w:t> </w:p>
39
Dokumente und XML-Schemata
Selbstdefinierte (Geschäfts-) Schemata Datenorientiert Kunde, Auftrag, Mitarbeiter, ... Erlauben Zerlegung des Dokumentes in Datenelemente MS-Referenz-Schemata Präsentationsorientiert Fett, Kursiv, Tabelle, Zelle, ... WordprocessingML, SpreadsheetML, FormTemplate, DataDiagramingML Offen und Lizenzgebührenfrei Erzeugen und verändern von Officedokumenten auf dem Server ohne Office Austausch in heterogenen Systemen
40
Hello Word in WordML <?mso-application progid="Word.Document"?>
<w:wordDocument xmlns:w=" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:sl=" xmlns:aml=" xmlns:wx=" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:dt="uuid:C2F B3-11d1-A29F-00AA00C14882" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"><o:DocumentProperties><o:Title>Hello World</o:Title><o:Author>John Peltonen</o:Author><o:LastAuthor>John Peltonen</o:LastAuthor><o:Revision>1</o:Revision><o:TotalTime>0</o:TotalTime><o:Created> T04:15:00Z</o:Created><o:LastSaved> T04:15:00Z</o:LastSaved><o:Pages>1</o:Pages><o:Words>1</o:Words><o:Characters>12</o:Characters><o:Company>3SHARP</o:Company><o:Lines>1</o:Lines><o:Paragraphs>1</o:Paragraphs><o:CharactersWithSpaces>12</o:CharactersWithSpaces><o:Version> </o:Version></o:DocumentProperties><w:fonts><w:defaultFonts w:ascii="Times New Roman" w:fareast="Times New Roman" w:h-ansi="Times New Roman" w:cs="Times New Roman"/></w:fonts><w:styles><w:versionOfBuiltInStylenames w:val="4"/><w:latentStyles w:defLockedState="off" w:latentStyleCount="156"/><w:style w:type="paragraph" w:default="on" w:styleId="Normal"><w:name w:val="Normal"/><w:rPr><wx:font wx:val="Times New Roman"/><w:sz w:val="24"/><w:sz-cs w:val="24"/><w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA"/></w:rPr></w:style><w:style w:type="character" w:default="on" w:styleId="DefaultParagraphFont"><w:name w:val="Default Paragraph Font"/><w:semiHidden/></w:style><w:style w:type="table" w:default="on" w:styleId="TableNormal"><w:name w:val="Normal Table"/><wx:uiName wx:val="Table Normal"/><w:semiHidden/><w:rPr><wx:font wx:val="Times New Roman"/></w:rPr><w:tblPr><w:tblInd w:w="0" w:type="dxa"/><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPr></w:style><w:style w:type="list" w:default="on" w:styleId="NoList"><w:name w:val="No List"/><w:semiHidden/></w:style></w:styles><w:docPr><w:view w:val="print"/><w:zoom w:percent="100"/><w:displayBackgroundShape/><w:doNotEmbedSystemFonts/><w:proofState w:grammar="clean"/><w:attachedTemplate w:val=""/><w:defaultTabStop w:val="720"/><w:punctuationKerning/><w:characterSpacingControl w:val="DontCompress"/><w:optimizeForBrowser/><w:validateAgainstSchema/><w:saveInvalidXML w:val="off"/><w:ignoreMixedContent w:val="off"/><w:alwaysShowPlaceholderText w:val="off"/><w:compat><w:breakWrappedTables/><w:snapToGridInCell/><w:wrapTextWithPunct/><w:useAsianBreakRules/><w:dontGrowAutofit/></w:compat></w:docPr><w:body><wx:sect><w:p><w:r><w:t>Hello WordML!</w:t></w:r></w:p><w:sectPr><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/><w:docGrid w:line-pitch="360"/></w:sectPr></wx:sect></w:body></w:wordDocument>
41
Hello World-etwas schöner
<?mso-application progid="Word.Document"?> <w:wordDocument xmlns:w=" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:sl=" xmlns:aml=" xmlns:wx=" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:dt="uuid:C2F B3-11d1-A29F-00AA00C14882" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"><o:DocumentProperties><o:Title>Hello World</o:Title><o:Author>John Peltonen</o:Author><o:LastAuthor>John Peltonen</o:LastAuthor><o:Revision>1</o:Revision><o:TotalTime>0</o:TotalTime><o:Created> T04:15:00Z</o:Created><o:LastSaved> T04:15:00Z</o:LastSaved><o:Pages>1</o:Pages><o:Words>1</o:Words><o:Characters>12</o:Characters><o:Company>3SHARP</o:Company><o:Lines>1</o:Lines><o:Paragraphs>1</o:Paragraphs><o:CharactersWithSpaces>12</o:CharactersWithSpaces><o:Version> </o:Version></o:DocumentProperties><w:fonts><w:defaultFonts w:ascii="Times New Roman" w:fareast="Times New Roman" w:h-ansi="Times New Roman" w:cs="Times New Roman"/></w:fonts><w:styles><w:versionOfBuiltInStylenames w:val="4"/><w:latentStyles w:defLockedState="off" w:latentStyleCount="156"/><w:style w:type="paragraph" w:default="on" w:styleId="Normal"><w:name w:val="Normal"/><w:rPr><wx:font wx:val="Times New Roman"/><w:sz w:val="24"/><w:sz-cs w:val="24"/><w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA"/></w:rPr></w:style><w:style w:type="character" w:default="on" w:styleId="DefaultParagraphFont"><w:name w:val="Default Paragraph Font"/><w:semiHidden/></w:style><w:style w:type="table" w:default="on" w:styleId="TableNormal"><w:name w:val="Normal Table"/><wx:uiName wx:val="Table Normal"/><w:semiHidden/><w:rPr><wx:font wx:val="Times New Roman"/></w:rPr><w:tblPr><w:tblInd w:w="0" w:type="dxa"/><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPr></w:style><w:style w:type="list" w:default="on" w:styleId="NoList"><w:name w:val="No List"/><w:semiHidden/></w:style></w:styles><w:docPr><w:view w:val="print"/><w:zoom w:percent="100"/><w:displayBackgroundShape/><w:doNotEmbedSystemFonts/><w:proofState w:grammar="clean"/><w:attachedTemplate w:val=""/><w:defaultTabStop w:val="720"/><w:punctuationKerning/><w:characterSpacingControl w:val="DontCompress"/><w:optimizeForBrowser/><w:validateAgainstSchema/><w:saveInvalidXML w:val="off"/><w:ignoreMixedContent w:val="off"/><w:alwaysShowPlaceholderText w:val="off"/><w:compat><w:breakWrappedTables/><w:snapToGridInCell/><w:wrapTextWithPunct/><w:useAsianBreakRules/><w:dontGrowAutofit/></w:compat></w:docPr> <w:body><wx:sect><w:p><w:r><w:t>Hello World!</w:t></w:r></w:p> <w:sectPr><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/><w:docGrid w:line-pitch="360"/></w:sectPr></wx:sect> </w:body> </w:wordDocument> Namespace Declarations Document Properties Section Properties
42
XML erlaubt keine überlappenden Tags wie HTML:
WordML – im Detail XML erlaubt keine überlappenden Tags wie HTML: <p><b>This is some <i>bolded</b> and Italicized text</i></p> WordML: <p> <r> <rPr> <b/> </rPr> <t>This is some</t> </r> <rPr> <b/> <i/> </rPr> <t>bolded</t> ... etc ... </p>
43
Save ‘Data Only’ or Transform
XML und Word Plain XML vs Word XML: Word Your XML Save ‘Data Only’ or Transform Microsoft Corp. Microsoft Corp. Database 2/21/2003 Strong Buy Strong Buy 2/21/2003 Transform Open/Save WYSIWYG Web Page WordML Microsoft Corp. 2/21/2003 Microsoft Corp. Strong Buy 2/21/2003 Transform Strong Buy
44
XML in Word-Formularen
45
Microsoft Office System 2003
Demo Word – XML – Excel
46
XML - Schema Validierung
Bei der Eingabe Platzhalter bei der Eingabe Dokumente schützen
47
Schemalvalidierung und Platzhalter
Microsoft Office System 2003 Demo Schemalvalidierung und Platzhalter
48
XML-Format eröffnet viele neue Wege
Fazit XML-Format eröffnet viele neue Wege Verarbeiten von Dokumenten ohne Office Schemavalidierung Datenaustausch
49
ISmartDocument COM Schnittstelle
Microsoft Office System 2003 Smart Documents ISmartDocument COM Schnittstelle
50
Programmieren der Taskpane
Smarte Dokumente Programmieren der Taskpane Dokument mit benutzerdefinierten Schema verknüpft Code wird Elementen des Schemas zugeordnet Code Lokal auf Client oder auf Server Wird auf dem Client ausgeführt Erhöhte Sicherheit Einfaches Deployment
51
Smart Document - Komponenten
Dokument mit XML Schema Solution URL verweißt auf XML-Manifest Manifest beschreibt Dateien des XML-Expansion Pack‘s Code (Dll), Bilder, Daten Komponenten können von Webserver geladen werden Jetzt ist das Doc Smart XML Schema Document name address Solution URL XML Manifest dll image schema config
52
Wo zu finden ..? Word 2003 und Excel 2003 Word: Tools -> Templates and Add-ins Excel: Data -> XML -> XML Expansion Packs
53
Smart Dokument Installation
Manifest muß signiert sein Manifest muß von einem vertrauten Server stammen .net CAS
54
Smart Documents Demo SmartDoc verwenden
55
Das Manifest <manifest xmlns=" <version>1.0</version> <uri>NorthwindSmartDocDemo</uri> <solution> <solutionID>Smart Doc Files</solutionID> <type>smartDocument</type> <alias lcid="1033">Northwind Smart Document Demo</alias> <file> <type>solutionActionHandler</type> <managed /> <version>1.1</version> <filePath>NorthwindSmartDoc.dll</filePath> <CLSNAME>NorthwindSmartDoc.DocActions</CLSNAME> </file> <type>other</type> <version>1.2</version> <filePath>Interop.SmartTagLib.dll</filePath> </solution> <solutionID>Schema Files</solutionID> <type>schema</type> <alias lcid="1033">Northwind Work Absence Form Schema</alias> <runFromServer /> <filePath>workabsence.xsd</filePath> </manifest>
56
ISmartDocument COM – Schnittstelle
VB6 oder .Net oder VC++ oder Delphi Office Setup PIA‘s für Word/Excel und Smart Tag Support mitinstallieren !!! 17 Methoden Populate OnChange 8 Eigenschaften
57
ISmartDocument-Porperties
Namespace XML-Schema ISmartDocument-Porperties SmartDocXmlTypeCaption SmartDocXmlTypeCount SmartDocXmlTypeName (Zuordnung zwischen Schema-Elementen und dem Code) <xsd:schema xmlns:xsd=" xmlns="urn: <xsd:element name="Name" type="xsd:string" /> <xsd:element name="Skill" type="xsd:string" /> <xsd:element name="Type" type="xsd:string" /> </xsd:schema> Public Const BASEURI As String = "urn: Public Const Poke_NAME As String = BASEURI & "#Name" Public Const Poke_SKILL As String = BASEURI & "#Skill" Public Const Poke_TYPE As String = BASEURI & "#Type" Public Const TYPESCOUNT As Integer = 3
58
Fröhliches Late Binding mit Zahlen
#VacationRequest ControlCount = 5 101 ControlIndex + 100 102 103 104 105
59
Ablauf
60
Smart Doc implementieren
Smart Documents Demo Smart Doc implementieren
61
Manifest Security Check
Smart Doc Security Manifest Security Check Tool verwenden um Manifest und Code zu signieren xmlsign.exe, SmartDoc SDK Kann auf Entwicklerrechnern deaktiviert werden Kleine Regdatei Quellserver muß zu Trusted Sites gehören Localhost = Intranet, trusted = nicht vertraut [HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Common\Smart Tag] "DisableManifestSecurityCheck"=dword:
62
Smart Document Security - CAS
.Net – Code Access Security (CAS) Für Dateien, die auf den Client runtergeladen und ausgeführt werden sollen CAS kann zentral von Admins ausgerollt werden Detaillierte Einstellungen Caspol.exe -ag All_Code -url "file://C:/Smart Doc Files/*" FullTrust -n NorthwindSmartDocDemo
63
Kostenlos, mit Quellcode nicht supported
Vertigo Wraper Kostenlos, mit Quellcode nicht supported Gute FAQ! Neue Projekttypen in VS.Net Kapselt das ISmartDocument Interface Objektorientiert Programmierung einfacher Weniger Flexibilität
64
Fazit Sicherheit und Deployment Endanwender erhält kontextsensitive Hilfe Entwicklung ist nicht so elegant COM – basierte Schnittstelle (PIA) Wird mit VSTO 2005 obsolet
65
VSTO 2003 Visual Studio Tools für Office V1.0
Microsoft Office System 2003 VSTO 2003 Visual Studio Tools für Office V1.0 Word und Excel mit VS.Net programmieren
66
Strategisches Tool für die Office programmierung
Überblick Strategisches Tool für die Office programmierung VSTO 2003 nur für Word und Excel VSTO 2003 ist eine V1.0, der nächste Sprung kommt mit VSTO 2005 Office Applikationen haben COM-API VSTO soll Interop erleichtern VSTO bietet: Vorlagen für VS.Net Aktualisiert lokale Entwicklereinstellungen (CAS) Code Behind – Modell, aber keine Office Designer Gedacht für professionelle Entwickler VS.Net .Net Framework Wird nicht VBA ersetzen (Für Enduser)
67
VSTO – Entwicklert programmiert
Runtime Design time Developer Visual Studio
68
Business Logic Visual Studio
VSTO – Deployment Business Logic Runtime Design time Developer .NET Assembly Code will typically be stored on a share or server for easy deployment and maintenance Visual Studio
69
Business Logic Excel VSTO – Anwender .NET Security Policy Runtime
.NET Assembly .NET Security Policy Runtime Design time Assembly is downloaded from share or server and code runs, subject to restricted security policy Excel
70
Erzeugen einer VSTO Lösung
Demo Erzeugen einer VSTO Lösung
71
Code in Dokumenten wird geblockt
Sicherheit VBA Code in Dokumenten wird geblockt Low, Medium, & High security modes AuthentiCode signatures for code authenticity Codeausführung: Alles oder nichts Anwender treffen „mutige“ Entscheidungen „Dumm, aber glücklich!“
72
Überblick - Sicherheit
VSTO erzeugt normale .Net Assemblies Code Access Security (CAS) muß auf dem Client konfiguriert sein Keine Entscheidung des Anwenders Kein „Makro aktivieren J/N“ Auf Entwicklerrechner wird die CAS bei Projekterstellung durch VSTO aktualisiert
73
Verknüpfung Dokument – Assembly
Document Property wo Assembly liegt CAS Wenn Web offline, dann lädt Word vom Assembly Cache
74
Komponenten einer VSTO Solution:
Überblick Deployment Click Once Depolyment Komponenten einer VSTO Solution: Quellcode (im Source Safe ) Kompiliertes Assembly auf einem Server Office Dokument Enthält Link zum Assembly auf dem Server Zentrales Update auf dem Server
75
VSTO 2003 Demo Security & Deployment
76
Ziemlich wenig bis jetzt Hilft bei einigen Details bis jetzt
Fazit Ziemlich wenig bis jetzt Hilft bei einigen Details bis jetzt Fast das Gleiche kann auch ohne VSTO mit normalem COM Interop erreicht werden Der große Wurf wird erst mit der nächsten Version kommen Aufgaben Bereich / Task pane Offline Daten / Data Island u.a.
77
Jetzt gehts erst richtig los
Microsoft Office System 2003 VSTO 2005 Beta 1 Jetzt gehts erst richtig los
78
Office Professional Edition 2003
VSTO Roadmap Word and Excel hosted in VS IDE View controls ActionsPane Schema-based programming model Server-accessible data island Visual Studio projects for Word and Excel Document-centric customizations Version 2005 Version 2003 Visual Studio .NET 2003 Visual Studio 2005 Office Professional Edition 2003
79
Neue Designer 1. Drag+Drop onto Designer
2. Designer-generated managed classes 3. First-class managed citizens
80
Programmierbare TaskPane
1. Design a UserControl 2. Add control behaviour 3. Add the control to the ActionsPane
81
So schauts dann aus...
82
XML Knoten und die TaskPane
2. Map XML schema 1. Design multiple UserControls 3. Code UserControl behaviour
83
Demo Die TaskPane
84
Dateninseln im Dokument
1. Attribute the DataSet as Cached 2. The DataSet is Cached as XML in the doc Vorteile Office Dokumente auf dem Server verarbeiten Offline Modus
85
Data Islands auf dem Server
Keine Officeinstallation auf dem Server ServerDocument doc = new ServerDocument("expenses.xls"); CachedDataItem cdi = _ doc.CachedDataManifest.Views["Sheet1"].CachedData["Expenses"]; cdi.Xml = "new xml string";
86
Microsoft Office Professional 2003
VS Tools für Office 2005 VSTO Assembly Data Island Web Services Schemas Client VSTO Runtime .NET Framework LoB Data Microsoft Office Professional 2003 Windows Client Deployment Server
87
Data Island Zugriff auf dem Server
VSTO 2005 Data Island Zugriff auf dem Server Data Cache Data Island VSTO ServerDocument Assembly Server-side Assembly Server .NET Framework Windows Server
88
Kontextbezogene Hilfe
Microsoft Office System 2003 Smart Tags Kontextbezogene Hilfe
89
Verknüpfen Text in Dokumenten mit Geschäftsprozessen
Was sind SmartTags? Verknüpfen Text in Dokumenten mit Geschäftsprozessen Smart Tag Action Button Lila gepunktete Linie: Smart Tag Kennzeichnung
90
Entwicklung von Smart Tags
Microsoft Office Smart Tag List (MOSTL) Für “einfache” Smart Tags Leichte Entwicklung und Deployment Können automatisch aktualisiert werden Smart Tag API Alle Möglichkeiten des .Net Frameworks Programmierung (COM-Interface) C#, VB.NET, C++ oder VB6 .Net Applikationen verwenden COM Interop oder VSTO Loader Benötigen Setup (Einträge in die Registry)
91
Erzeugen einer XML Datei
MOSTL Erzeugen einer XML Datei C:\Programme\Gemeinsame Dateien\Microsoft Shared\Smart Tag\LISTS\1031 <FL:smarttaglist xmlns:FL="urn:schemas-microsoft-com:smarttags:list"> <FL:smarttag type="urn:lamborghini-com:cars#car"> <FL:caption>Lamborghini Cars</FL:caption> <FL:terms> <FL:termlist>350, 400, Countach, Diablo, Espada, Gallardo, Islero, Jalpa, Jarama, LM002, Miura, Murcielago, Silhouette, Urraco</FL:termlist> </FL:terms> <FL:actions> <FL:action id="Information"> <FL:caption>&View Information</FL:caption> <FL:url> </FL:action> </FL:actions> </FL:smarttag> </FL:smarttaglist>
92
Dll – Projekt (Klassenbibliothek)
COM – API - SmartTagLib Dll – Projekt (Klassenbibliothek) Verweis auf Microsoft Smart Tags 2.0 Type Library COM Bibliothek recognizer Klasse implementieren ISmartTagRecognizer(2) ProgID und GUID Attribute action Klasse implementieren ISmartTagAction(2) [ProgId("MlbSmartTag.Recognizer"), GuidAttribute("90D62E8D-79E F-BF3EC133698D"), ComVisible(true)] public class Recognizer : ISmartTagRecognizer2, ISmartTagRecognizer { }
93
Assembly Version konfigurieren
COM – API - SmartTagLib Assembly Version konfigurieren Default ändern von 1.0.* auf einen Wert Zum Debuggen die Start Action auf Word oder Excel setzen Project Properties | Configuration Properties | Debugging | Start Action | … … Start Application (C#) … Start external program (Visual Basic .NET)
94
Smart Tag Programmierung Research Services
Smart Tags Demo Smart Tag Programmierung Research Services
95
Smart Tag Installation
Setup Program installiert Dll Muss registriert werden Als COM Komponente Als Smart Recognizer und Action Selbstregistrierende DLL (ComRegisterFunctionAttribute) Schlüssel bei der Installation erzeugen HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Smart Tag\Recognizers HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Smart Tag\Actions Wenn der VSTO Loader verwendet wird, dann CAS!
96
Download Smart Tag Developer Tools
Smart Tag Explorer Zeigt an, welche Smart Tags auf einem Rechner aktiv sind Recognize Tester Ermöglicht das Testen, ob ein Smart Tag bestimmte Tokens erkennt
97
Smart Tag Developer Tools
Smart Tags Demo Smart Tag Developer Tools
98
Information Bridge Framework
Office Dokumente mit verschiedenen LOB – Daten verknüpfen
99
Find Customer Account Rep
Warum IBF ? s und Dokumente beziehen sich auf Geschäfts-Entitäten Kunde, Bestellung, ... Oft befinden sich die Daten in verschiedenen Systemen Es gibt keinen einfachen Weg diese Daten in Beziehung zu setzen Einarbeitung in die Systeme Copy & Paste ist einzige Integration MS Word Task Pane Option1 Child Label Mary : Ford order is late. Please investigate. Find Orders Copy & Paste Find Customer Account Rep Unproduktiv und Fehleranfällig!
100
Warum IBF Verknüpft Office Documente mit Daten Zugriff auf Daten über Webservices Informationen werden komfortabel in der TaskPane angezeigt Wenig Programmieren, deklarativer Ansatz
101
Information Bridge Framework
Demo Was kann IBF
102
IBF-Überblick-Grafik
Smart Clients Web Service-basierende Architektur (SOA) Zentraler Metadaten / GUI Server Runtime für Smart Tag / XML Ereignis Initiierung Windows Forms und Taskpane Unterstützung Web Services Metadata Finance ERP Web Services CRM
103
IBF-Architektur 2 1 4 5 3 Client Server Information Bridge Engine
CAS Interprets “Context” using Metadata Metadata Service 1 User selects “Show Details” from Smart Tag IBF Metadata Store 4 Returns data CRM Information Bridge Engine 3 Call Web Service to retrieve data Smart Tag Displays data in Taskpane 5 Other Data ERP Client Server Information Bridge Framework XML Web Services IBF (Metadata Service) .NET Framework SQL Server 2000 Microsoft Office Professional Edition .NET Framework Windows Client Windows 2003 Server Services
104
IBF-Architekur Office Application Information Bridge IBF - UI
Host Renderer Smart Doc Smart Tag Task Pane Manager IBF Engine Metadata Cache Client Back-end Services XML Instance Data Metadata Metadata Web Service Metadata Designer Existing Web Service Compliant Service (Native) Compliant Service Adapter Compliant Service Adapter BizTalk EAI Workflow Engine Legacy App MS-CRM SAP Siebel Metadata
105
Let‘s walking through the dark forrest …
Information Bridge Framework IBF-Entwicklung Let‘s walking through the dark forrest … Inspiriert durch Vijay Desai. (Sep, 2004)
106
Überblick einer einfachen IBF-Entwicklung
Sorgfältige Planung (Use Cases) Definieren von: Entities (Geschäftsobjekten) Beziehungen der Entities untereinander Views (Darstellung der Geschäftsobjekte) Operations (Welche Aktionen) Erzeugen eines /mehrerer Webservice Nach Möglichkeit IBF-konform (nicht zwingend) XML Strukturen von Entities erzeugen WsdlToMetadata.exe Metadaten mit VS.Net-Metadata-Explorer erzeugen SmartTag entwickeln GUI entwickeln (UserControl), nicht zwingend
107
Planung - Anwendungsfälle
Applikation: GreetingService Anwender öffnet Word Tippt Namen von Freunden ein SmartTag-Recognizer erkennt Namen Anwender ruft SmartTag->Show Detail auf SmartTag-Action ruft IBF auf, übergibt erkannten Anwendernamen IBF ruft Webservices auf und erhält Ergebnis Ergebnis wird in der TaskPane in einem selbstentwickelten UserControl angezeigt
108
Entities, Views, Operations
Entity: Friend Schema <Entity Name="Friend" DefaultReferenceSchemaName="FriendSchema"> <xs:schema elementFormDefault="qualified" xmlns:xs=" <xs:element name="Friend"> <xs:complexType> <xs:attribute name="Name" type="xs:string" use="required"></xs:attribute> </xs:complexType> </xs:element> </xs:schema>
109
Entities, Views, Operations
View: getGreetingMessage Schema <GreetingMessage> <Salutation>Hello</Salutation> <Name>William</Name> </GreetingMessage> <xs:schema elementFormDefault="qualified" xmlns:xs=" <xs:element name="Salutation" type="xs:string"></xs:element> <xs:element name="GreetingMessage"> <xs:complexType> <xs:sequence> <xs:element ref="Salutation"></xs:element> <xs:element ref="Name"></xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Name" type="xs:string"></xs:element> </xs:schema>
110
Entities, Views, Operations
Operation: GetGreetingMessage <Operation Name="GetGreetingMessage" EntityName="Friend"> <InputSchemas> <SchemaInstance SchemaName="FriendSchema" Index="1" /> </InputSchemas> <OutputSchemas> <SchemaInstance SchemaName="GreetingMessageSchema" Index="1" /> </OutputSchemas> </Operation>
111
Neues Projekt: FriendService Neuer WS: SayHello Zwei neue Klassen für
Der Webservice Neues Projekt: FriendService Neuer WS: SayHello Zwei neue Klassen für Friend-Entity Enthält XML-Attribute GreetingMessage–View ... [XmlRoot("Friend", Namespace="urn-GreetingService-Data")] public class Friend { private string name; [XmlAttribute("Name")] public string Name { get { return this.name; } set { this.name = value; } }
112
Ein ganz normaler Webservice
3. Der Webservice Ein ganz normaler Webservice Testmethode einfügen (siehe Code) [WebService(Name="Greeting Service", Description="A Service to send out greeting messages", Namespace=" public class SayHello : System.Web.Services.WebService { private GreetingMessage greetingMessage; [WebMethod(Description="A method to greet a friend")] public GreetingMessage GetGreetingMessage(Friend aFriend) { greetingMessage = new GreetingMessage(); greetingMessage.Name = aFriend.Name; if (aFriend.Name=="Marcel") { greetingMessage.Salutation = "Hello "; } else { greetingMessage.Salutation = "Guten Tach "; return greetingMessage;
113
Webservice Projekt und Test
Information Bridge Framework Demo Webservice Projekt und Test
114
Zwei Gruppen von Metadaten Daten und Logik
Metadaten anlegen Zwei Gruppen von Metadaten Daten und Logik Webservice Zugriffe Operations, Entities Darstellung Views GUI-Elemente in der TaskPane Neuer Projekttyp in VS.Net
115
Metadaten-Typen Metadata = Ein Projekt der IBF Lösung Entity = Geschäftsobjekt View = eine Ansicht eines Geschäftsobjektes Ports = Quelle für XML, Daten, Schemata, … Schema = XML-Schema Transformation = wandelt XML in anderes XML
116
Eine Entity kann auf verschiedene Art Dargestellt werden
Entities und Views Eine Entity kann auf verschiedene Art Dargestellt werden Informationen können aus unterschiedlichen Quellen (WebServices) stammen Kunde Finanzen Bestellungen Privates Entity (Author) View (AuthorSummary) View (AuthorRoyaltyData)
117
In IBF gibt es eine ganze Reihe von Metadaten
Überblick Metadaten In IBF gibt es eine ganze Reihe von Metadaten Scope Entity Entity 2 Entity Entity 1 View 1 Relationship View 2 View Locator View Locator Reference Service Operation Instance Service Operation Instance (Output) Schema (Input) Schema Port
118
Relationships Ein Autor hat viele Bücher geschrieben Die Entitäten stehen in Beziehung zu einander So kann der Anwender später ein Drill Down machen
119
Relationships von verschiedenen LOB Systemen
Informationen können aus mehreren LOB’s zusammengesammelt werden Information Worker Office 2003 Relationship in Metadata IBF Engine Metadata Cache Client side Server side Web Service Web Service Pubs database Fulfillment System
120
Metadaten – Geschäftsdaten
Metadata Scope SayHello Entity Friend View GreetingMessage Friend.DefaultViewName = GreetingMessage Port XML und Schema für Friend-Schema Port XML und Schema für GreetingMessage-Schema Zuweisen der Schemata zu Entity und GreetingMessage
121
Metadaten – Der Webservice
Port SOAP für den Webservice anlegen Hier wird die Webreferenz verlinkt Operation für GetGreetingMessage anlegen Port SOAP zuordnen Entity Friend zuordnen
122
Metadata Aktueller Stand der Metadaten Operation Schemata
Port zum Webservice Ports
123
Metadata-Explorer und XML-Datei
Information Bridge Framework Demo Metadata-Explorer und XML-Datei
124
Publishing Metadata
125
Metadata Explorer: The Publish Metadata Dialog Box
126
The Publishing Process
Office 2003 IBF Engine Metadata Cache Information Worker Solution Developer VS .NET Metadata Designer XML File Client side Server side Read Write SQL Server Metadata Services
127
Information Bridge Framework
Demo Publishing
128
Die GUI
129
Die GUI Title Bar Region Caption Region
130
Die GUI – Eine Überschrift (Title bar)
View GreetingMessage Verfügt über MenuItemDefinition – Properties Menüaussehen wird über XML definiert XML kommt aus einer Operation MenuType = 1 (Anzeigen) MenuDefinitionOp…Instance hinzufügen Operation hinzufügen
131
Name des erkannten Freundes anzeigen
Die Operation Name des erkannten Freundes anzeigen Input ist ein Schema vom Typ Friend das auch den Namen (Attribut Name) enthält Menüs müssen ein bestimmtes IBF Schema erfüllen Output der Operation muß ein Schema vom Typ MenuDefinitionSchema Deshalb Operation vom Typ: OperationTransformationAggregation <xs:element name="ViewProperties" type="ViewPropertiesType" xmlns:xs=" <xs:complexType name="ViewPropertiesType" xmlns:xs=" <xs:sequence> <xs:any namespace="##any" processContents="lax" minOccurs="0" /> </xs:sequence> <xs:attribute name="Caption" type="xs:string" use="optional" default="" /> <xs:attribute name="Description" type="xs:string" use="optional" default="" /> </xs:complexType> </xs:element>
132
Die Operation – Wir zeigen eine Überschrift an …
Operation wandelt Friend Input in MenuDefinition Output um Schemata Ports für XML-Text
133
Überschirft Metadaten
Information Bridge Framework Überschirft Metadaten Anzeige der Knoten
134
Aktionen Aktionen bestehen aus Instanzen mehrerer Operationen
135
Aktions Designer: Instanzen von Operationen erzeugen
Action Canvas Metadata Explorer Toolbox
136
Aktions Designer – Parameter
Die Operationen können sequentiell ausgeführt werden Über Transformationsinstanzen können Ein- und Ausgabeparameter zwischen den Operationsinstanzen zugewiesen werden
137
Aktionen testen Build & Execute Action Button
Build & Execute Action Context Menu Item
138
Aktion aus VS heraus testen
Information Bridge Framework Demo Aktion aus VS heraus testen
139
IBF Client Microsoft Office System (InfoPath, Word, Excel, Visio, Outlook) Visual Studio Tools for Office (VSTO) Actions Pane Deep document centric integration with Word and Excel Information Bridge Framework (IBF) Context & Action Services Engine (CAS) Smart Tag driven Windows Forms Can use either use .NET Assemblies or Web Services Server Microsoft Windows Server 2003 IBF uses IIS6 for the reading/writing web services that access the metadata server. SQL Server 2000 Used as the Metadata Server store IBF Metadata Server based on SQL Server 2000 Metadata store is relatively small (~5MB) as it only stores metadata and not data directly.
140
All services reside on a single machine
Server Konfig All services reside on a single machine SQL Server 2000 MDS Read / Write Web Service Authorization Manager Web services are hosted on one or more separate servers MDS Read / Write Web Service Authorization Manager SQL Server 2000 Web Server
141
Client Konfig MDS Read / Write Web Service Authorization Manager
Visual Studio .NET Metadata Designer IBF Client Office 2003 IIS & SQL Server 2000 IIS & SQL Server 2000 MDS Read / Write Web Service Authorization Manager Windows XP Metadata Designer Visual Studio .NET Office 2003 IBF Client
142
Entwicklung wird noch nicht genug unterstützt
Fazit Hohe Lernkurve Sehr gute XML, XSL, XSD, … Kenntnisse ! Entwicklung wird noch nicht genug unterstützt Version 1.5 für QI 2005 geplant ! Unterstützung für Entwickler stark verbessert Zugriff auf beliebige Webservices möglich Metadaten werden einfacher, wenn die Webservices sich „wohlverhalten“ Get und Put für Entitäten, Beziehungen zwischen Entitäten VSTO 2005 bietet ähnliche Funktionalität Leichter für Entwickler mit .net Erfahrung Auf dem Client muss IBF Runtime sein
143
Microsoft Office System 2003
Fazit Und was nun ...?
144
VSTO 2005 wird ein großer Schritt nach vorn
Ergebnisse VBA bleibt VSTO 2005 wird ein großer Schritt nach vorn IBF steckt noch in den Kinderschuhen, hat aber großes Potential Research Services: gutes Aufwand Nutzen Verhältnis Formulare in Word oder InfoPath Je nach Schwerpunkt ISmartDocument ist aufwendig zu programmieren Wird mit VSTO 2005 obsolet VSTO 2003 bringt nicht wirklich Punkte Office Dokumente gewinnen viel durch XML Unterstützung Verbessertes Deployment und Security
145
InfoPath 2003 Toolkit für VS.Net
Info Path mit Assemblies verknüpfen
146
Java Script oder VB Script
InfoPath Entwicklung Java Script oder VB Script Mit dem Toolkit kann auch in .Net entwickelt werden Neues Projekttemplate in VS.Net Info Path- oder Wordformulare? InfoPath muss auf den Clients installiert Der Schwerpunkt bei Infopath liegt auf den Formularen und dem Zugriff auf Datenquellen oder WS Der Schwerpunkt bei Word liegt auf Dokumenten
147
Zuerst VS.Net und dann Office 2003 installieren
Tipps Zuerst VS.Net und dann Office 2003 installieren GAC muss vorhanden sein, wenn Office die PIA’s installiert Dann Office 2003 Professional or Professional Enterprise Edition installieren Andere Versionen unterstützen keine Smart Doc Entwicklung Primary Interop Assemblies bei Office installieren Nicht standardmäßig ausgewählt “Run From My Computer” Option verwenden
148
Alles wird gut Uff...
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.