1 / 41

Web-Services in Visual FoxPro 9.0

WEB. Web-Services in Visual FoxPro 9.0. deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast. Teil 10: Arbeiten mit WebServices. Mittwoch, 19.10.2005, 16:00 – 17:00 Uhr

niel
Download Presentation

Web-Services in Visual FoxPro 9.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WEB Web-Servicesin Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast

  2. Teil 10: Arbeiten mit WebServices • Mittwoch, 19.10.2005, 16:00 – 17:00 Uhr • Beschreibung: Gerne wird Visual FoxPro für die schnelle Anwendungsentwicklung von Desktop-Applikationen oder von Client/Server-Applikationen verwendet. Aber auch die Erstellung von WebServices stellt mit dieser leistungsfähigen Entwicklungsumgebung keinerlei Problem dar! Die schnellen Datenbank- und Stringfunktionen erlauben die leichte Erstellung von performanten Diensten für eine verteilte Anwendung.

  3. Rainer Becker • dFPUG • Online-Angebote • Loseblattsammlung • VFP-Entwicklerkonferenz • VFP-Lokalisierung • Framework Visual Extend • MVP, MCP, ISV • Wizards & Builders GmbH

  4. Wie bekomme ich VFP ? • Update von 6.0, 7.0, 8.0 sowie VS 97 • Nicht von VFP 5.0 oder früher • Internationale und US/Canada-Version • Preisunterschied durch Dollarverfall • Technisch identisch • Kein Support / Marketingbudget für US-Version in BRD • dFPUG bietet exklusiv „Deutsche Version“ • Benutzeroberfläche, Berichtsdesigner, Werkzeuge

  5. Vortragsthemen • Verwendbare WebServices • Aufrufen von WebServices • Begriffe, Versionsgeschichte • Vorbereitungen • SOAP-Toolkit • IIS-Konfiguration • Diverse weitere Hinweise • Andere Möglichkeiten

  6. Vorbemerkungen • Vorbereitend wird immer ein COM-Server benötigt • siehe WebCast 9 Arbeiten mit COM-Server • bitte zuerst erfolgreich einen COM-Server erstellen… • und ggf. ein paar WebServices einfach mal aufrufen… • Die Aufruflogik im Internet ist grundsätzlich unter-schiedlich! Deshalb sind Geschäftsobjekte nur bedingt geeignet & separate COM-Server oft besser! • WebServices müssen streng typisiert sein, was bei COM-Server nur optional ist, ggf PRG-Datei separat • Für das Deployment wird immer ein Windows- WebServer im Internet benötigt…

  7. Verwendbare WebServices • Statt einen WebService selbst anzubieten, kann man erstmal auch nur auf einen solchen zugreifen, z.B.: • FoxWiki (http://fox.wikis.com) • Universal Thread (http://www.universalthread.com) • ProFox (http://www.leafe.com) • FoxCentral (http://www.foxcentral.com) • Google, Amazon, eBay, FedEx, WhoIs, CurrencyConverter, BabelFish, Headline News • dFPUG-Portal (in Vorbereitung) • dFPUG-Forum (in Vorbereitung)

  8. Und schon wieder: die TaskPane!

  9. Client für WebServices • Interaktives Testen mit Taskpane • Einbindung in eigene Formulare: • Öffnen des Formulars • Öffnen der Toolbox • Drag & Drop der Klasse WebService auf das Formular • Anwählen der Klasse mit der Maus • Rechte Maustaste für Generatoren (Builder) • Aufruf des XML WebService Builders

  10. WebService-Klase im Formular

  11. Testen: • Parameter eingeben • Ergebnisse als XML • Ergebnisse in Grid

  12. Zuordnung Parameter/Ausgabe

  13. Wechsel des WS / komplexe Daten

  14. Soviel zum Aufruf von WS • Seit Visual FoxPro 8.0 gibt es umfangreiche Werkzeuge, die den Entwickler beim Aufruf eines WebServices unterstützen… • Bevor man einen eigenen WebService baut, ist es recht sinnvoll, sich das kurz einmal anzuschauen… • Allerdings ist das alleine schon ein Vortrag oder WebCast… • Details finden sich in diversen Artikeln sowie im Updatebuch zu Visual FoxPro 8.0!

  15. Begriffserläuterungen • WSDL: Web Service Description Language • XML-Beschreibung der • WSML: Web Service Meta Language • COM-Referenz, siehe Programme\MSSOAP\SOAP.CHM • UDDI: Universal Description, Discovery, Integration • Verzeichnis von verfügbaren Webdiensten • SOAP: Simple Object Access Protocoll • SOA: Service Oriented Architecture

  16. Versionsgeschichte • Einführung von WebServices in:Visual FoxPro 7.0 mit SOAP-Toolkit 2.0 • Aktuell: Visual FoxPro 9.0 mit SOAP-Toolkit 3.0 • Lifecycle-Support • Visual FoxPro 9.0 bis 2014 • SOAP-Toolkit bis 2013 (NUR für VFP!) • Weiterentwicklung auf Basis von INDIGO • kommt mit WinFX als AddOn für XP sowie in Vista • kapselt VFP-WebServices komplett in .NET

  17. Sinnvolle WebServices in Apps • Beispiele aus dem Framework Visual Extend 9.5: • Posten von Nachrichten in Support-Forum • Senden von Fehlermeldungen in Fehlerdatenbank • Registrierung von Anwendern (Testversion) • Bestellung von Anwendern (Testverison auf Vollversion) • Download von Updates • Bei temporärer Nichtverfügbarkeit eines Internet-zugangs oder des WebServices alternativ eMail… • Für Taskpane kein WebService notwendig…

  18. Vorbereitung des COM-Servers • Erstellungsoption: Multi-Threaded COM-Server • Mindestens1x OLEPUBLIC • 1 WebService jeOLEPUBLIC • Max. 1 Webservice

  19. WebService-Erstellung • Projektinfo Servers: • Multi-Use • Project Name • Multi-Threaded und Multi Use: zwingend notwendig für Internet-Betrieb wg. Hauptspeicher!

  20. WebService Publisher Wizard • Aufruf des WebService-Builders im Projekt  • Kontrolle Pfadangabe • Ggf. Auswahl Klasse • Ggf. weitere Optionen

  21. Eventuell erweiterte Optionen einstellen:Umstellung ASP ProjectHook Wsphook in _webservices Speichert unter FOXWS.DBF in _FOXCODE IntelliSense-Script erzeugen lassen Erweiterte Optionen

  22. Virtuelle Verzeichnisse im IIS • Wird automatisch angelegt • Unterschied zwischen Pfad und virtuellem Verzeichnis UND Startzverzeichnis! • Kann leider hier nicht hinreichend behandelt werden

  23. .WSDL (Description) .WSML (Meta/COM) Ggf. zusätzliche ASP-Seite wird direkt aufgerufen ProjectHook für Neugenerierung Ergebnisse des Builders

  24. Anmeldung bei IntelliSense • Eintragen der Klasse unter Types / Web Services im IntelliSense- Manager

  25. Ansprechen von WebServices • IntelliSense erzeugt entsprechenden Code: • und zeigt aufrufbare Methoden zur Auswahl an…

  26. Was geht schief? • Mögliche Probleme (OLE-Fehlermeldungen): • bei Pfaden:Windows/System32(Runtime) • CD JUSTPATH(_VFP.ServerName) • Probleme mit SOAPISAP.DLL (installieren oder ASP)

  27. Registrierung Listener (1) • Registrierung der SOAPISAP.DLL für performantere ISAPI-Listener: • Default-Website, Eigenschaften, Home Directory • Button Configuration • Auswählen der Endung .WSDL

  28. Registrierung Listener (2) • Auswahl von C:\Program Files\Common Files\MSSoap\Binaries\soapisap.dll • Falls nicht sichtbar:INI usw. wählenund ändern • nicht auf XP…

  29. Alternativer Aufruf: SOAP-Client • Statt Installation der Klassen von Visual FoxPro kann man auch direkt mit dem SOAP-Client zugreifen • Codebeispiel: lows = NEWOBJECT("MSSOAP.SoapClient30") lows.MSSoapInit("http://dlabsoftuh.homeip.net/webservices/dlabsoft.wsdl") ? lows.zeittest() • Wesentlich einfachere Zugriffsmöglichkeit!

  30. Minimale Sicherheit einbauen • Internet Informationsdienste • Eigenschaften virtuelles Verzeichnis • Reiter Verzeichnissicherheit • Abschalten anonymer Zugriff • Einschalten Standardauthentifizierung • Erweiterung im Codebeispiel: lows.ConnectorProperty("AuthUser") = "username" lows.ConnectorProperty("AuthPassword")= "password"

  31. Typdeklaration wichtig! • Korrekte Typdefinition für Parameter und Returnwert • Nur programmatisch vollständig möglich, siehe COM • FUNCTION getnews (ldDate as Date) as String • Neupublizierung über Wizard notwendig damit aus <message name='hwpclass.getnews'> </message> • die richtige Definition wird: <message name='hwpclass.getnews'> <part name='ldDate' type='xsd:dateTime'/> </message>

  32. COM-Server indirekt aufrufen • Ggf. aus dem Programm den COM-Server aufrufen DEFINE CLASS MyCOMInterface AS Custom OLEPUBLIC FUNCTION MyMethod (MyParm AS String) AS String LOCAL o AS myclass o = CREATEOBJECT("myclass") RETURN o.MyMethod(MyParm) ENDDEFINE • Dadurch kann man COM-Server beliebig oft ändern, ohne den WebService neu publizieren zu müssen…

  33. Neuerstellung: Freigabe der DLL • Computerverwaltung Restart IIS • oder: IISRESET auf dem DOS-Prompt • oder: KILL.EXE um DLL abzuschiessen

  34. Es geht für manche Verwendungszwecke auch EINFACHER! In manchen Fällen reicht vielleicht auch eine einfachere Lösung: Hinweise auf diverse Beispiele auf http://afp.dfpug.de

  35. Erstellen von AFP-Seiten • Verwendung von Visual FoxPro als Skriptsprache in HTML-Seiten mit Active FoxPro Pages (AFP/AFX): <% FoxPro-Code %> • Diverse Aufrufbeispiele auf http://afp.dfpug.de • Erzeugung von formatierten Tabellen mit Parametern • Rückgabe von RSS • Rückgabe von XML

  36. Webanwendungen:VFX–AFX Wizard • Internet-Formulare per Mausklick! Voraussetzungen: • VFX 9.5 und VFP 9.0 SP1 • AFX • Ähnlich ASP, aber VFP basiert • IIS • FoxPro-Variante in AFX enthalten Skalierbarkeit: • über AFP für viele parallele User / Interneteinsatz

  37. Querverweise (Artikel) • 02-16 Erstellen von Webdiensten mit Visual FoxPro • 06-15 Programmieren Sie Ihre Daten • 06-32 Suchen mit Webdiensten • 06-35 Veröffentlichen Ihres ersten Webdienstes 1 • 06-36 Veröffentlichen Ihres ersten Webdienstes 2 • 06-37 Veröffentlichen Ihres ersten Webdienstes 3 • 07-16 Websuche mit VFP und Google • 01-03 Arbeiten mit Web-Diensten in VFP7 (New18) • Erweiterungen bei COM und Webdiensten in VFP 8.0 • Whats New in Visual FoxPro 7.0 Chapter 15

  38. Querverweise (Vorträge) • E-WRAP.PDF I wish I had a Web Service • D-SOAP Web Services mit VFP und SOAP • D-WEBS Sichere WebServices (Security) • E-SERV Using Web Services with VFP 7.0 • D-SERV Three-Tier Architektur & die Webservices von VFP7 • E-FATX Internet enabling Fat Client applications with XML • D-IUPD Internet-Features für 'alte' Applikationen • NET Chapter 12 XML Web Services • E-SERV Using SQL-Server XML Services

  39. Weiterführendes Material • Visual FoxPro 9.0 • Updatebuch • Roadshow-CD • Lokalisierungs-CD • Visual FoxPro 8.0 • Updatebuch • Deutsche Hilfedatei • Online-Angebote der dFPUG • Forum, Portal, eNewsletter, Homepage, Wiki

  40. Vielen Dank! Fragen an hotline@dfpug.de oder (besser) http://forum.dfpug.de Besuchen Sie unsere Webseiten: http://www.dfpug.de, http://portal.dfpug.de, http://forum.dfpug.de, http://newsletter.dfpug.de, http://devcon.dfpug.de, http://roadshow.dfpug.de, http://www.visualextend.de, http://www.linuxtransfer.de, http://www.visualfoxpro.de

  41. Riddle of the day ? CHRTRAN(CHRTRAN('S6O1 W2S634G 5789', '6789', 'TIME()'), '12345','PAINT()')

More Related