DataSnap-Datenmodule konfigurieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenmodul einrichten


Das DataSnap-Datenmodul besteht aus mindestens drei Komponenten, die in einem Nachkommen der Klasse TDataModule vorhanden sein können:

  • Eine TDSServer-Komponente, die die Erstellung und die Lebensdauer von Transporten und Serverklassen verwaltet.
  • Eine oder mehrere TDSServerClass-Komponenten, die demselben DataSnap-Server zugeordnet sein können.
  • Mindestens ein Transportprotokoll, entweder TDSTCPServerTransport oder TDSHTTPService.

TDSServerClass ist eine Komponente zum Festlegen einer serverseitigen Klasse mit published-Methoden, die von einem Remote-Client über dynamische Methoden aufgerufen werden können. Eine wichtige Eigenschaft ist der Lebenszyklus. Hier können Sie festlegen, wie lange eine Instanz der Servermethodenklasse im Arbeitsspeicher verbleibt: Invocation (Aufruf), Session (Sitzung) und Server. Der Wert Invocation legt fest, dass das Objekt sofort nach der Ausführung der Methode freigegeben wird. Der nächste Aufruf verwendet dann eine neue Objektinstanz. Die Änderungen des vorherigen Aufrufs bleiben nicht in den Feldern erhalten. Der Wert Session legt das Objekt fest, das von den verschiedenen Aufrufen wiederverwendet wird. Es wird freigegeben, wenn die Verbindung geschlossen wird. Bei dem Wert Session wird die Objektinstanz freigegeben, wenn der DataSnap-Server geschlossen wird.

Das Transportprotokoll kann TCP-basiert (TDSTCPServerTransport) oder HTTP (TDSHTTPService) sein. Die kommunikationsspezifischen Parameter (wie Port und Filter) können hier festgelegt werden. Beide Komponenten können an die TDSServer-Komponente gebunden werden, aber die letztere kann als Tunnel fungieren und zu einen Remote-DataSnap-Server verbinden. Die HTTP-Komponente ermöglicht auch den Methodenaufruf von einem Browser-basierten Client mit dem REST- und JSON-Protokollen.

Wenn für HTTP-Anforderungen eine Authentifizierung erforderlich ist, kann die HTTP-Komponente zusammen mit einer von TDSCustomAuthenticationManager implementierten Authentifizierungsmanagerkomponente verwendet werden, die in der Eigenschaft AuthenticationManager festgelegt wird. Damit ist sowohl eine Authentifizierung als auch eine Autorisierung aller Remote-Methodenaufrufe des Benutzers möglich.


Siehe auch