Erstellen eines DataSnap-Servers

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu DataSnap-Server-Anwendung


Datei > Neu > Weitere > Delphi-Projekte [oder C++Builder-Projekte] > DataSnap-Server

Mit diesen Optionen erstellen Sie einen Beispiel-DataSnap-Server oder -Broker oder fügen einer vorhandenen DataSnap-Anwendung ein weiteres Servermodul hinzu. Ein Servermodul ermöglicht die Implementierung von Servermethoden, die für Client-Anwendungen bereitgestellt werden können.

Ein klassischer DataSnap-Server besteht aus mindestens drei Komponenten:

TDSServer verwaltet die Erstellung und die Lebensdauer von Transporten und Servermethodenklassen.

Mit TDSServerClass können Sie eine Anwendungsserver-seitige Klasse mit published-Methoden festlegen, die von einem Remote-Client über dynamische Methoden aufgerufen werden kann, indem das Ereignis OnGetClass überschrieben wird. Methoden in dieser Klasse können von Remote-Clients, wie dem DBX-Client-Provider oder dem ADO.NET-Provider, aufgerufen werden. Dafür müssen nur zwei Voraussetzungen erfüllt sein:

  • Die Klasse muss von TComponent abgeleitet sein.
  • Die Direktive MethodInfo muss aktiviert sein.

Nach dem Verbinden zu einem DataSnap-Server lassen sich Methoden in einem Anwendungsserver genauso wie Stored Procedures aufrufen. Zum Beispiel können Sie mit der neuen Klasse TSqlServerMethod Servermethoden aufrufen, indem Sie eine Textklasse und einen Methodennamen für den Befehlstext und die Parameter der jeweiligen Methode angeben. Servermethoden können über TDBXReader Datenmengen empfangen und an den Client zurückgeben. Die neuen Tabellen sind eine Abstraktion der verschiedenen Datenmengen, die DataSnap unterstützt. Sie können transparent zwischen dem Client und dem Server übergeben werden.

Die Transportschicht wird von TDSTCPServerTransport und TDSHTTPService abgedeckt.

Sie können weiterhin Anwendungsserver-seitige Klassen entwickeln, die TRemoteDataModule erweitern, damit die neue Client-seitige TDBXAppServerConnection-Client-Komponente auf die enthaltenen Provider zugreifen kann. TDBXAppServerConnection stellt für den DataSnap-Server anhand von dbExpress Konnektivität bereit. Vorhandene Anwendungen bleiben damit kompatibel und können die Vorteile der DataSnap-Features nutzen. Neue Anwendungen müssen TRemoteDataModule nicht mit DataSnap verwenden.

Hinweis: Anwendungsserver müssen nicht mit einer Datenbank verbunden sein.


Siehe auch