28
Office XP und XML Web Services Dariusz Parys .NET Strategy & Developer Group [email protected]

Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group [email protected]

Embed Size (px)

Citation preview

Page 1: Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group dparys@microsoft.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 ?