Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group [email protected].
Transcript of Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group [email protected].
![Page 2: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/2.jpg)
In diesem Talk...
Was ist eigentlich ein Smart Client? XML Web Services in Office XP
• Web Services Toolkit für Office XP
What the hell are Smarttags? XML Web Services in Office XP
• Visual Studio .NET
Fragen und Antworten
![Page 3: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/3.jpg)
Fragen die Sie haben...
Wenn ich meine Emailheader mit Outlook 2000 auf meiner Windows NT 4 Workstation Service Pack 3 mit dem Word 97 Objektmodell zum Drucken automatisiert mit dem Active Directory unserer Windows 2000 Domäne anpasse erhalte ich sporadisch die folgende Fehlermeldung: 0x80004005. Warum?
![Page 4: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/4.jpg)
Fragen die Sie haben...
Dafür gibt es bei Microsoft einen hervorragenden Ansprechpartner
• PSfD
![Page 5: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/5.jpg)
Fragen die Sie haben...
Dieser Techtalk behandelt
ausschliesslich
die Nutzung und Programmierung von
XML Web Services und Smart Tags in
Office XP.
![Page 6: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/6.jpg)
Was ist ein “Smart Client”?
Nutzt XML Web Services
Online und Offline nutzbar
Passt sich auf Endgeräte an
Nutzt lokale CPU Power
![Page 7: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/7.jpg)
OfficeXP als Smart Client
Office erlaubt die Erstellung und Bearbeitung von Daten auf unterschiedlichste Art
Nutzen von XML Web Services mit der gewohnten Office Umgebung
Erweitern der bestehenden Lösungen um Daten aus unterschiedlichsten Welten
Das alles funktioniert mit der bestehenden Office Infrastruktur
![Page 8: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/8.jpg)
Office XP Web Services Toolkit
Das Office XP Web Service Toolkit erlaubt es Das Office XP Web Service Toolkit erlaubt es Entwicklern schnell und einfach XML Web Entwicklern schnell und einfach XML Web Services aus den Office XP Lösungen zu Services aus den Office XP Lösungen zu
nutzen.nutzen.
Suchen von XML Web ServicesSuchen von XML Web Services
Einbinden von XML Web ServicesEinbinden von XML Web Services
Zwei einfache Schritte:Zwei einfache Schritte:
![Page 9: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/9.jpg)
XML Web Services suchen
Suchen von Web Services im VBA Editor
• Suche durch UDDI Web Service
• Schlüsselwort, Geschäftsnamen suche
• Gleiche Funktionalität wie bei VS.NET
Referenz auf das gefundene WSDL
![Page 10: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/10.jpg)
XML Web Services einbinden
Hinzufügen einer XML Web Service Referenz
• Erzeugt VBA Proxy Klassen• abhängig von simplen und komplexen Typen
• Anpassung der Proxies bei Bedarf
Bestehende Infrastruktur wird genutzt
• XML Web Service unterstützt Intellisense
• VBA Proxy Klassen unterstützen VBA Add-Ins
![Page 11: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/11.jpg)
Vorteile für den Entwickler
Neue Möglichkeiten für eigene Anwendungen• Nutzung von Daten die vorher nicht erreichbar
waren (oder schwer erreichbar waren)• Vereinfacht durch bestehende Standards
• Wegfall der bisherigen Grenzen• Intern, extern oder beides
Nutzen der bestehenden Kenntnisse• Kapselt die komplexität der Web Services. Fokus
liegt allein auf die Entwicklung der Lösung
• Nur Visual Basic sollte man noch können
![Page 12: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/12.jpg)
Web Service Toolkit 2.0
Benutzt das SOAP Toolkit 3.0 Jetzt auch komplexe Datentypen
möglich
• Arrays
• XML (XML Recordsets)
• Structures
• User Defined Types
Erkennt einen Internet Proxy
• VBA Code wird im Web Service Proxy hinzugefügt
![Page 13: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/13.jpg)
Deployment?
Mehrere Möglichkeiten
• VS.NET, InstallShield, etc...
Hinzufügen der Office Dokumente Hinzufügen des Soap Merge Modules Hinzufügen des MSXML4 Merge
Modules Fertig!
![Page 14: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/14.jpg)
Office XP Web Office XP Web Services ToolkitServices Toolkit
Demo
![Page 15: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/15.jpg)
Smart Tags in Office XP
Intelligente Unterstützung während des Arbeitens
• Anbieten von Zusatzinformationen
• Vervollständigen der Daten
Eine Vielzahl von Smart Tags sind bereits vorhanden
• Personen
• Orte
• Aktienkurse
• etc...
![Page 16: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/16.jpg)
Eigene Smart Tags
Smart Tags können selbst erstellt werden
Bestehende Smart Tags können erweitert werden
Unterteilung in
• Recognizer
• Action
![Page 17: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/17.jpg)
Funktionsweise
Erkennt anhand der eingegebenen Daten bestimmte Schlüsselworte
Wenn ein Schlüsselwort erkannt wird werden bestimmte Aktionen angeboten
Eine Aktion wird über das Kontextmenü ausgewählt und ausgeführt
Entweder wird direkt mit dem Objektmodell der Anwendung gearbeitet
Oder eine seperate Anwendung gestartet
![Page 18: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/18.jpg)
Erstellen von Smart Tags
Zum Erkennen von eigenen Schlüsselwörtern
• Eigener Recognizer
Eigene Aktionen an bestimmten Recognizer hinzufügen
• Eigenes Action Objekt
Bestehende Recognizer können mit eigenen Aktionen erweitert werden
![Page 19: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/19.jpg)
Details der Implementierung
Zum erstellen eines Recognizers die ISmartTagRecognizer Schnittstelle der Smart Tag Library 1.0 implementieren
Die meisten Funktionen sind Metadaten die abgefragt werden
Zentrale Funktion ist Recognize In einer COM DLL können auch mehrere
Recognizer implementiert werden
![Page 20: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/20.jpg)
ISmartTagRecognizer
Name Desc ProgId SmartTagCount SmartTagName SmartTagDownloadUrl Recognize
![Page 21: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/21.jpg)
Die Aktion
Eine Aktion unterstützt eine oder mehrere Recognizer
Eine Aktion kann mehrere Einträge im Kontextmenü für einen Recognizer zur Verfügung stellen
Die Methode InvokeVerb kann sich abhängig von der Host Anwendung anders verhalten
![Page 22: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/22.jpg)
ISmartTagAction
Name Desc ProgId SmartTagCount SmartTagName SmartTagCaption VerbCount VerbID VerbCaptionFromID VerbNameFromID InvokeVerb
![Page 23: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/23.jpg)
Office XP Smart Office XP Smart TagsTags
Demo
![Page 24: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/24.jpg)
Web Services ohne Toolkit?
Office bietet schon andere Lösungen
• Excel Web Queries
• Access Import XML• Application.ImportXML strWebServiceURL
Microsoft XML (MSXML) Parser
• IXMLDOMNodeList
• DOMDocument
Low-level Soap API
• Microsoft Soap Type Library (mssoap1.dll)
![Page 25: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/25.jpg)
Auch ein Weg... .NET
Programmieren eines eigenen Proxies Schnelle Entwicklung durch die XML
Web Service Vorteile von .NET Zur Verfügung stellen des eigenen
Proxies durch COM Interop
![Page 26: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/26.jpg)
Office XP und Office XP und XML Web Services XML Web Services mitmitVisual Studio .NETVisual Studio .NET
Demo
![Page 27: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/27.jpg)
Zum Abschluss...
Vermeiden von zu hoher Netzlast• Aufrufe limitieren
• Vielleicht einen Cache implementieren?
• Auf jeden Fall sorgfältig umgehen Verteilen der Anwendung• Benötigt Microsoft Soap Type Library auf dem
Client (mssoap1.dll) Proxy Server beachten• Einfach durch Nutzung von Proxy Client oder ISA
Client
• SoapClient.ConnectorProperty Unterstützt nur HTTP Request
![Page 28: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com.](https://reader036.fdocuments.in/reader036/viewer/2022070310/55204d6249795902118b727a/html5/thumbnails/28.jpg)
Mehr Informationen hier:
On the Web…• Office XP Web Services Toolkit• www.microsoft.com/office/developer/webservices
• Office Developer Center • http://msdn.microsoft.com/office
• Fabrikam Online Solution • http://www.fabrikam.com
• http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnoxpta/html/odc_oxppias.asp
• http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnofftalk/html/office10032002.asp
• http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsmarttag/html/odc_stvbnet.asp
Fragen ?