Serveranwendung erstellen
Nach oben zu Mehrschichtige Anwendungen erstellen - Index
Sie können Anwendungsserver weitgehend auf die gleiche Weise erstellen, wie Sie andere Datenbankanwendungen erstellen. Der Hauptunterschied besteht in dem Datenmodul, das vom Anwendungsserver verwendet wird.
So erstellen Sie eine Serveranwendung:
Hinweis: Für einige der folgenden Experten ist ein neues VCL-Formularanwendungsprojekt erforderlich, und für ein transaktionales Datenmodul müssen Sie dem Projekt eine ActiveX-Bibliothek von der Seite ActiveX hinzugefügt haben.
- Legen Sie ein neues Projekt an:
- Verwenden Sie entweder die neue DataSnap-Technologie, indem Sie die Serveranwendung mit dem DataSnap-Server-Experten erstellen, oder führen Sie die im Tutorial: Einen DataSnap-Server mit einer Anwendung verwenden beschriebenen Schritte aus. Im DataSnap-Server-Experten können Sie ein TDSServerModule hinzufügen.
- Falls Sie SOAP als Transportprotokoll verwenden, müssen Sie eine neue Webdienst-Anwendung erstellen. Wählen Sie hierzu Datei > Neu > Weitere und auf der Registerkarte WebServices des Dialogfeldes "Objektgalerie" SOAP-Server-Anwendung. Wählen Sie den gewünschten Webservertyp aus, und klicken Sie auf "Nein", wenn Sie anschließend gefragt werden, ob Sie ein neues Interface für das SOAP-Modul definieren möchten.
- Für alle anderen Transportprotokolle müssen Sie nur Datei > Neu > Anwendung auswählen.
- Speichern Sie das neue Projekt.
- Fügen Sie ein neues Remote-Datenmodul in das Projekt ein. Wählen Sie außer für Server-Datenmodul (das im DataSnap-Server-Experten hinzugefügt werden kann) Datei > Neu > Weitere und auf der Seite "Multi-Tier" oder "WebServices" des Dialogfeldes Objektgalerie eine der folgenden Optionen:
- Externes Datenmodul, wenn Sie einen COM-Automatisierungsserver erstellen, auf den die Clients über DCOM, HTTP oder Sockets zugreifen.
- Transaktionales Datenmodul, wenn Sie ein Datenmodul erstellen, auf das die Clients über COM+ (oder MTS) zugreifen. Verbindungen können mit DCOM, HTTP oder Sockets eingerichtet werden. Allerdings unterstützt lediglich DCOM die Sicherheitsfunktionen. (Damit Sie auf den Experten zugreifen können, müssen Sie dem Projekt zuvor von der Seite ActiveX eine ActiveX-Bibliothek hinzugefügt haben.)
- SOAP-Server-Datenmodul, wenn Sie einen SOAP-Server in einer Webdienst-Anwendung erstellen. Ausführliche Informationen zur Einrichtung eines Remote-Datenmoduls finden Sie unter Datenmodul einrichten.
- Fügen Sie die gewünschten Datenmengenkomponenten in das Datenmodul ein. Richten Sie die Komponenten für den Zugriff auf den Datenbankserver ein.
- Fügen Sie für jede Datenmenge, die für Clients verfügbar sein soll, eine TDataSetProvider-Komponente in das Datenmodul ein. Dieser Provider fungiert als Broker (Vermittler) für Client-Anforderungen und sorgt für die Erstellung der erforderlichen Datenpakete. Setzen Sie die Eigenschaft DataSet für jeden Provider auf den Namen der Datenmenge, auf die jeweils zugegriffen werden soll. Sie können auch andere Eigenschaften des Providers einstellen. Ausführlichere Informationen zum Einrichten eines Providers finden Sie unter Provider-Komponenten. Falls Sie in XML-Dokumenten enthaltene Daten verarbeiten, können Sie die Komponente TXMLTransformProvider anstelle einer Kombination aus Datenmenge und TDataSetProvider-Komponente verwenden. Bei Verwendung von TXMLTransformProvider müssen Sie in der Eigenschaft XMLDataFile das XML-Dokument angeben, aus dem Daten bereitgestellt und in das Aktualisierungen eingetragen werden.
- Schreiben Sie den Quellcode für den Anwendungsserver, um Ereignisse sowie die Anwendungslogik, die Datenprüfung und die Sicherheit für den gemeinsamen Zugriff zu implementieren. Hierbei haben Sie verschiedene Möglichkeiten. Sie können beispielsweise:
- Das Interface des Anwendungsservers erweitern, um weitere Methoden für den Aufruf des Servers durch die Client-Anwendung bereitzustellen.
- Eine Transaktionsunterstützung bereitstellen, die über die bei der Aktualisierung automatisch erstellten Transaktionen hinausgeht.
- Haupt-/Detail-Beziehungen zwischen den Datenmengen Ihres Anwendungsservers definieren.
- Sicherstellen, dass der Anwendungsserver statuslos ist.
- Ihren Anwendungsserver in mehrere Datenmodule unterteilen.
- Speichern, compilieren und registrieren oder installieren Sie den Anwendungsserver.
- Für DataSnap mit dbExpress ist kein Laufzeitmodul erforderlich.
- Wenn Ihre Serveranwendung mit TCP/IP-Sockets oder HTTP-Verbindungen arbeitet, müssen Sie die geeignete Laufzeit-Software installieren, die Client-Botschaften empfängt, das Remote-Datenmodul instantiiert und das Marshaling der Interface-Aufrufe übernimmt.
- Bei TCP/IP-Sockets handelt es sich um eine Socket-Dispatcher-Anwendung namens SCKTSRVR.EXE.
- Für HTTP-Verbindungen wird HTTPSRVR.DLL verwendet, eine ISAPI/NSAPI-DLL, die zusammen mit dem Webserver installiert werden muss.
Themen
- Den DataSnap-Kommunikations-Stream filtern
- Datenmodul einrichten
- Mehrere Server-Datenmodule einsetzen (COM)
- Die Schnittstelle des Anwendungs-Servers erweitern (COM)
- Transaktionen in mehrschichtigen Anwendungen verwalten (COM)
- Haupt/Detail-Beziehungen unterstützen
- Statusinformationen in Datenmodulen unterstützen