4D v16.3

Einführung

Home

 
4D v16.3
Einführung

Einführung  


 

Ein Web Service ist ein Satz von Funktionen, die als Einheit zusammengefasst sind und in einem Netzwerk veröffentlicht werden. Jede Anwendung, die mit Web Services kompatibel ist und an dasselbe Netzwerk angeschlossen ist, kann diese Funktionen aufrufen. Web Services eignen sich hervorragend im Kontext zum Veröffentlichen im Internet. 

Web Services können ganz verschiedene Aufgaben durchführen, z.B. Bücher bestellen, E-Commerce abwickeln, Marktwerte überwachen, usw. 

Das Programm, welches die Services (Dienste) veröffentlicht, heißt Web-Service Server, SOAP Server oder in Kurzform „Server“. Jede mit Web Services kompatible Anwendung kann eine oder mehrere dieser Funktionen verwenden; das ist das „Client“ Programm (Web Service Client, SOAP Client).
Der Vorteil von Web Services ist ihre Interoperabilität mit verschiedenen Informationssystemen, d.h. Server- und Client-Programme müssen nicht zueinander kompatibel sein, damit das System arbeitet. Von der Client-Seite aus gesehen ist ein Web Service eine “Black Box”, an die sowohl Werte gesendet als auch Werte als Bearbeitungsergebnis zurückgegeben werden. 

Die vom Server angebotenen Web Services können öffentlich oder privat sein. Es gibt eine Vielzahl öffentlicher Web Services im Internet, die jede Anwendung kostenlos abrufen kann. 

Web Services werden von der W3C (World Wide Web Consortium, die Regulierungsbehörde für das Internet) und großen Unternehmen der Computer-Industrie unterhalten und sind eine zuverlässige, dauerhafte und aktualisierbare Connectivity-Lösung.

Web Services arbeiten hauptsächlich mit dem HTTP Transport Protokoll.

  • SOAP: Web Services verwenden ein “offenes” leistungsstarkes Kommunikationsprotokoll mit Namen SOAP (Simple Object Access Protocol). Es basiert vollständig auf der XML Sprache, sowohl auf Ebene der Nachrichtenstruktur (envelope) als auch auf Ebene der ausgetauschten Daten. Die Operation dieses Protokolls wird über RFC (Request for Comment) definiert. Das sind Dokumente, welche die verschiedenen Aspekte des Internet standardisieren. Von daher verfügt SOAP über eine breit gestreute Kompatibilität.
    Ein Web Service funktioniert folgendermaßen: Ein Web Service Client sendet über ein SOAP Protokoll eine Anfrage in XML-Format an den Server. Der Server analysiert die Anfrage, führt die angeforderte Operation durch und gibt über dasselbe Protokoll und dieselbe Sprache die Antwort zurück.
  • WSDL: Die Server von Web Services veröffentlichen in der Regel eine WSDL Datei (Web Service Description Language), um die Zugriffsspezifikationen für die angebotenen Dienste zu definieren. Über die WSDL Datei können Server von Web Services die “Bearbeitungsanweisungen” der angebotenen Dienste (URLs, Methodenlisten, Parameter, etc.) veröffentlichen. Das geschieht in Form einer XML Datei, die die Server-Anwendung in der Regel selbst erstellt. Diese Datei ist nicht zwingend. 
  • UDDI: (Universal Description Discovery and Integration) ist eine weltweite Datenbank, die alle öffentlichen Web Services inventarisiert. Beachten Sie, dass ein Web Service nicht zwingenderweise öffentlich gemacht werden muss. Das ist in den meisten Fällen auch nicht notwendig.

4D lässt sich als Web Service Server bzw. Client verwenden. Die Integration in 4D ist einfach und sicher: Verschiedene Konfigurationen ermöglichen, die Bedingungen zum Veröffentlichen und Abonnieren präzise zu überwachen.

Sie können jede eigene Projektmethode ohne größere Änderungen als ein Web Service veröffentlichen. Das können Sie als Eigenschaft der Methode festlegen:

Hinweis: Die Veröffentlichen von Web Services mit 4D erfordert eine spezifische Lizenz: die SOAP Lizenz.

Der 4D Web Server verwaltet automatisch die Veröffentlichung und Pflege der WSDL Datei. 4D analysiert (parsing) den XML Inhalt der Anfrage, formatiert die Parameter, sendet die Ergebnisse, etc.. Dafür ist keine spezifische Programmierung erforderlich.

Sie können jedoch mit Hilfe spezifischer 4D Befehle die Bearbeitung einer Anfrage an Ihre Bedürfnisse anpassen. Weitere Informationen dazu finden Sie im Handbuch 4D Programmiersprache im Kapitel Web Services (Server).

Ihre Datenbanken können jeden Typ von Web Service verwenden, der im Internet oder in Ihrem Netzwerk angeboten wird. In den meisten Fällen sorgt der Assistent für Web Services auf Client-Seite dafür, dass Sie jeden Web Service mit minimalem Programmieraufwand rasch benutzen können:

Einen Web Service in 4D nutzen bedeutet, über Proxy Methoden Parameter über das Netzwerk senden und die Antwort auswerten. Das Erstellen und Ausführen von Proxy Methoden, die Web Services aufrufen, ist vollkommen automatisch und erfordert keine Programmierung. Sie müssen diese Methoden lediglich in Ihrem Code aufrufen.

Sie können diese Methoden, wie auf der Server-Seite, über die Befehle der 4D Programmiersprache an Ihre Bedürfnisse anpassen (siehe Web Services (Client)).

Von 4D veröffentlichte Web Services übernehmen die Sicherheitsmechanismen, die für den 4D Web Server gelten. Web Services profitieren also von denselben Konfigurationen wie konventionelle Web Anfragen: Kennwörter, Datenbankmethoden On Web Authentication und On Web Connection, SSL Protokoll, etc.

Darüberhinaus ermöglichen spezifische 4D Funktionen, wie SOAP Get info und SOAP request die Veröffentlichung von Web Services präzise zu steuern.

Auf Client-Seite ist die Verbindung an Server mit Web Services über den gesicherten Modus mit SSL möglich. Der 4D Befehl WEB SERVICE AUTHENTICATE ermöglicht auch die Verbindung mit Servern bzw. Proxies, für die Authentifizierung erforderlich ist.

Die Kommunikationsschicht von Web Services (Transport gewährleisten, Dienste aufrufen und Sicherheit bei der Übertragung) kann in zwei unterschiedlichen Modi operieren: RPC (Remote Procedure Call) und DOC (Message/Document). Sie unterscheiden sich in der Konstruktionsebene der Anfragen und Antworten für Server und Client. Für bestimmte Client-Anwendungen ist der Modus DOC erforderlich. 

4D unterstützt den RPC und den DOC Modus:

  • Client-Seite: Die Unterstützung läuft unsichtbar über den Web Services Assistenten. Der erzeugte Code wird automatisch an den Publikationsmodus angepasst.
  • -Seite: Die Unterstützung läuft ebenfalls unsichtbar. Die Methoden werden automatisch als Web Services im RPC- und DOC-Modus veröffentlicht. Die Wahl des Modus richtet sich nach der URL des WSDL. Weitere Informationen siehe Abschnitt WSDL erzeugen.
    • Um ein 4D Web Service im RPC Modus zu veröffentlichen, verwenden Sie folgende URL für das WSDL:
      http://ServerAddress/4DWSDL
      Der 4D Server verwaltet das Bearbeiten der Anfragen und Antworten in RPC. RPC Anfragen werden automatisch an folgende Adresse gesendet: http://ServerAddress/4DSOAP.
    • Um ein 4D Web Service im DOC Modus zu veröffentlichen, verwenden Sie folgende URL für das WSDL:
      http://ServerAddress/4DWSDL/DOC
      Der 4D Server verwaltet das Bearbeiten der Anfragen und Antworten in DOC. DOC Anfragen werden automatisch an folgende Adresse gesendet: http://ServerAddress/4DSOAP/DOC

Über das SOAP Protokoll werden zwei unterschiedliche Arten von XML Daten ausgetauscht: einfache Typen und komplexe Typen. Für Daten von Web Services, die im RPC Modus veröffentlicht werden, sind beide Typen möglich. Dagegen sind Daten von Web Services, die im DOC Modus publiziert werden, systematisch im komplexen Typ. 

Beachten Sie, dass komplexe Datentypen in XML nicht direkt in einer 4D Datenbank einsetzbar sind. Dazu ist eine spezifische Vorgehensweise notwendig. In den meisten Fällen übernimmt der Assistent für Web Services die Ausführung. In manchen Fällen muss die Bearbeitung jedoch durch 4D XML Programmierbefehle ergänzt werden. Weitere Informationen dazu finden Sie im Abschnitt Komplexe Typen.

Im Dialogfenster Datenbank-Eigenschaften legen Sie auf der Seite Web>Web Services die allgemeinen Parameter zum Veröffentlichen und Einsatz von Web Services fest:

Die Aktion dieser Parameter wird auf den folgenden Seiten beschrieben. Die ausführliche Beschreibung jeder Option finden Sie auf der Seite Web/ Web Services.

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Web Services publizieren und einsetzen

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Designmodus ( 4D v16)
4D Designmodus ( 4D v16.1)
4D Designmodus ( 4D v16.3)