Upload
rudi-bly
View
103
Download
1
Tags:
Embed Size (px)
Citation preview
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
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?
Fragen die Sie haben...
Dafür gibt es bei Microsoft einen hervorragenden Ansprechpartner
• PSfD
Fragen die Sie haben...
Dieser Techtalk behandelt
ausschliesslich
die Nutzung und Programmierung von
XML Web Services und Smart Tags in
Office XP.
Was ist ein “Smart Client”?
Nutzt XML Web Services
Online und Offline nutzbar
Passt sich auf Endgeräte an
Nutzt lokale CPU Power
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
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:
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
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
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
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
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!
Office XP Web Office XP Web Services ToolkitServices Toolkit
Demo
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...
Eigene Smart Tags
Smart Tags können selbst erstellt werden
Bestehende Smart Tags können erweitert werden
Unterteilung in
• Recognizer
• Action
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
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
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
ISmartTagRecognizer
Name Desc ProgId SmartTagCount SmartTagName SmartTagDownloadUrl Recognize
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
ISmartTagAction
Name Desc ProgId SmartTagCount SmartTagName SmartTagCaption VerbCount VerbID VerbCaptionFromID VerbNameFromID InvokeVerb
Office XP Smart Office XP Smart TagsTags
Demo
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)
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
Office XP und Office XP und XML Web Services XML Web Services mitmitVisual Studio .NETVisual Studio .NET
Demo
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
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 ?