Bereitstellung von RAD Server Lite

Aus RAD Studio
Wechseln zu: Navigation, Suche

RAD Server erfordert eine auf InterBase basierende Backend-Datenbank und wird im Allgemeinen als Webserver-DLL-Modul für IIS oder Apache bereitgestellt. Aus diesem Grund wird für eine Standardbereitstellung Folgendes benötigt:

  • Der Webserver und dessen Konfiguration auf dem RAD Server-Modul
  • Die RAD Server-Bereitstellung und -Konfiguration
  • Eine Installation von InterBase mit einer speziellen RAD Server-Lizenz (eine Lizenz, die der Benutzer auf dem Zielgerät registrieren muss, um sie zu aktivieren)

Für die Bereitstellung haben wir lange Zeit eine eigenständige Version von RAD Server auf Basis des Indy HTTP-Servers angeboten, die zwar eine begrenzte Leistung, aber eine viel einfachere Bereitstellung und die Möglichkeit zur Ausführung unter dem Debugger bietet (damit Sie Code der RAD Server-Module debuggen können). Die Entwicklungsversion ist nicht für die Bereitstellung gedacht und sie ist dafür nicht lizenziert. Die Anzahl der Benutzer, die Sie erstellen können, ist begrenzt, und sie kann mit einer lokalen InterBase Developer Edition arbeiten (die Lizenz dafür ist Teil der RAD Studio-Lizenz).

RAD Server Lite (RSLite) bietet ein einfacheres Bereitstellungsmodell für Testserver und Szenarien, die keinen großen Durchsatz erfordern, und zwar durch die Verwendung der eingebetteten InterBase-Datenbank-Engine, IBToGo, anstelle des vollständigen Servers und kombiniert diese mit einem vereinfachten Lizenzierungsmodell.

RSLite verwendet dieselbe Binärdatei der Entwicklungsversion (die mit RAD Studio ausgeliefert wird) zusammen mit IBToGo-Binärdateien und einer Lizenz-SLIP-Datei, die Sie mit Ihrer Lösung bereitstellen können (und die keine Registrierung auf dem Computer erfordert, auf dem Sie sie bereitstellen). Da es eine eingebettete Datenbank und die Indy HTTP-Server-Komponente verwendet, kann es nicht die gleiche Anzahl von Anfragen pro Sekunde wie eine reguläre, vollwertige RAD Server-Installation verarbeiten und ist nicht mit mehreren RAD Server-Frontends skalierbar.

Die zugrunde liegende Architektur, die von RSLite verwendet wird, hat eine viel begrenztere Skalierbarkeit, aber wir gehen davon aus, dass sie für viele einfache Einsatzszenarien ausreicht – wobei zu beachten ist, dass der Durchsatz auch von dem jeweiligen Code abhängt, den Ihre RAD Server-Module ausführen.

Tipp: Für die Bereitstellung auf einem öffentlichen System empfehlen wir, den RSLite-HTTP-Server nicht direkt freizugeben, sondern ihn über eine Proxy-Konfiguration zugänglich zu machen, sodass Sie immer noch einen Webserver (wie Apache oder IIS) haben, der den Sicherheitskontext für die eingehenden HTTPS-Aufrufe bereitstellt und diese an RSLite weiterleitet.

So erhalten Sie eine Lizenz für RAD Server Lite:

Sie können eine Lizenz mit jeder Enterprise- oder Architect-Lizenz für RAD Studio 11 (einschließlich Delphi 11 und C++Builder 11) einlösen. Besuchen Sie diese Seite und befolgen Sie die Anweisungen dort.

Hinweis: Sie benötigen Ihren Registrierungsschlüssel und ein EDN-Konto.

Hier erhalten Sie nicht nur einen Lizenzschlüssel für RSLite, sondern auch eine Slip-Datei (eine in einer TXT-Datei gespeicherte Lizenz), die Sie zusammen mit Ihrer Installation bereitstellen können. Diese Lizenz hat keine Beschränkungen in Bezug auf die Anzahl der Installationen, aber Sie können nicht zwei Instanzen auf demselben Rechner ausführen.

Hinweis: Die Lizenzdatei muss in einem bestimmten Unterordner gespeichert werden, anders als es die allgemeinen Informationen auf der Einlöseseite vermuten lassen.

Bereitstellen eines RAD Server Lite-Projekts

Nachdem Sie über die Lizenz verfügen und bevor Sie ein Projekt bereitstellen, gibt es zwei Überlegungen:

  • Erstens: Sie müssen eine Bereitstellungskonfiguration mit RSLite, die erforderlichen Laufzeit-Packages und die IBToGo-Bereitstellung erstellen (Dies sind die Schritte).
  • Zweitens: Sie müssen eine geeignete Datenbankdatei für die Produktion generieren, die kompatibel mit der IBToGo-Lizenz ist – eine lokale Datenbank, die mit der RAD Server Developer Edition erstellt wurde, ist nicht kompatibel.

Die bereitzustellenden Dateien

In der Praxis sind dies die Dateien, die für die Bereitstellung einer RSLite-Lösung benötigt werden (zusätzlich zu Ihren Anwendungs-Packages und deren Abhängigkeiten):

  1. Die ausführbare Datei von RSLite, die die gleiche ist wie in der Developer Edition: EMSDevServer.exe, verfügbar im RAD Studio-Bin-Ordner (oder der entsprechenden 64-Bit-Version).
  2. Die erforderlichen RAD Studio-Laufzeit-Packages. Dazu gehören die für eine Minimalinstallation erforderlichen Packages (hier aufgelistet und im win32- oder win64-Ordner "redist" von RAD Studio verfügbar) sowie alle anderen Laufzeit-Packages, die für den Code in Ihren RAD Server-Modulen erforderlich sind:
    • bindengine280.bpl
    • dbrtl280.bpl
    • emsclientfiredac280.bpl
    • emsserverapi280.bpl
    • FireDAC280.bpl
    • FireDACCommon280.bpl
    • FireDACCommonDriver280.bpl
    • FireDACIBDriver280.bpl
    • rtl280.bpl
    • vcl280.bpl
    • vcldb280.bpl
    • vclFireDAC280.bpl
    • vclimg280.bpl
    • vclwinx280.bpl
    • vclx280.bpl
    • Xmlrtl280.bpl
  3. Die InterBase ToGo-Bereitstellungsdateien, die sich unter "Öffentliche Dokumente" im Ordner "InterBase redist" (z. B.: C:\Benutzer\Öffentliche Dokumente\Embarcadero\Interbase redist\InterBase2020) in den Unterordnern win32_togo oder win64_togo befinden – bei Linux befindet sich die Datei libibtogo.so im Ordner InterBase redist.
  4. Fügen Sie die erhaltene Lizenz (siehe oben) dem Ordner "interbase/license" (Teil der IBToGo-redist-Konfiguration) hinzu.

Verwenden des Bereitstellungs-Experten

Stellen Sie Ihre Dateien mit dem RSLite-Feature im Bereitstellungs-Experten anhand der folgenden Schritte bereit:

  1. Fügen Sie das RSLite-Feature hinzu.
  2. Fügen Sie als Nächstes das IBToGo-Feature hinzu.
  3. Deaktivieren Sie die Registrierungsdatei iblite.
  4. Fügen Sie im Abschnitt "So erhalten Sie eine Lizenz für RAD Server Lite" die bereitzustellende Datei hinzu: Generieren Sie eine rslite-Aktivierungsdatei und legen Sie deren Ziel auf "interbase/license" fest.
  5. Fügen Sie dann die im Abschnitt "Erstellen einer Produktionsdatenbank" die erhaltene, bereitzustellende Datei emsserver.ini zu ./. hinzu.
  6. Fügen Sie zum Schluss die im Abschnitt "Erstellen einer Produktionsdatenbank" die erhaltene, bereitzustellende Datei emsserver.ib zu ./. hinzu.

MSVC-Laufzeit

Um IBToGo (und damit auch RSLite mit IBToGo) auf einem Windows-Zielrechner auszuführen, muss die Laufzeitbibliothek von Visual C++ 2013 installiert sein. Auf einem Entwicklerrechner mit RAD Studio haben Sie sie höchstwahrscheinlich bereits installiert. Auf einem allgemeinen Ziel-Bereitstellungsrechner müssen Sie sie jedoch möglicherweise installieren, nachdem Sie sie von Microsoft heruntergeladen haben.

Erstellen einer Produktionsdatenbank

Mit dieser Konfiguration können Sie RSLite starten, indem Sie die Anwendung EMSDevServer.exe ausführen. Wenn der Zielrechner über einen InterBase-Client verfügt, wird dieser mit höherer Priorität ausgewählt, und wenn es sich bei dem InterBase-Client um die Developer Edition handelt, die mit RAD Studio geliefert wird, funktioniert alles, allerdings in einer standardmäßigen RAD Server Developer-Konfiguration.

Sie können dies überprüfen, indem Sie sich die ersten Zeilen im Protokoll ansehen, wenn RAD Server startet. Wenn es sich um eine "RSLite"-Konfiguration handelt, sehen die ersten Zeilen wie folgt aus:

{“Thread”:19124,”ConfigLoaded”:{“Filename”:”[folder]emsserver.ini”,”Exists”:true}}
{“Thread”:19124,”Licensing”:{“Lite”:true,”Licensed”:true,”LicensedMaxUsers”:2}}
{“Thread”:19124,”DBConnection”:{“InstanceName”:””,”Filename”:”[folder]emsserver.ib”}}

Wenn der Code anzeigt, dass "Lite" auf false gesetzt ist, müssen Sie möglicherweise das Laden der InterBase-Client-Bibliothek gds32.dll (oder ihrer 64-Bit-Version) manuell deaktivieren, die sich im Allgemeinen in C:\Windows\SysWOW64 befindet (wenn die InterBase-Client-Bibliothek nicht gefunden wird, wird die lokale ibtogo.dll geladen).

Wenn Sie jetzt RSLite (mit der richtigen Konfiguration) starten und weder die Datei emsserver.ini noch die Datenbankdatei emsserver.ib vorhanden ist, werden Sie dazu aufgefordert eine zu erstellen. Dazu muss RSLite die Konfiguration im Ordner der Objektablage von RAD Studio ("ObjRepos" unter dem Produktordner) finden. Der einfachere Weg ist, die Dateien unter Programme (x86)\Embarcadero\Studio\22.0\ObjRepos\en\ems in einen Ordner mit diesem relativen Pfad von emsdevserver.exe zu kopieren: "../ObjRepos/en". Mit anderen Worten: Sie benötigen einen ObjRepost-Ordner auf derselben Verzeichnisebene wie der Ordner, der Ihre RSLite-Installation, also das Projektbereitstellungsverzeichnis, enthält.

Hinweis: Dies ist nicht für jede RSLite-Bereitstellung erforderlich, sondern nur einmal, um eine Produktionsdatenbank zu erstellen, die Sie später unverändert auf die Zielcomputer kopieren können. Die in einer Entwicklungsumgebung erstellte Datenbank ist nicht mit der RSLite-Bereitstellung kompatibel.

Wir empfehlen Ihnen, als Zielordner den gleichen Ordner wie bei der RSLite-Bereitstellung anzugeben, sodass der Experte eine emsserver.ini-Datei und eine emsserver.ib-Datenbankdatei in Ihrem Bereitstellungsordner erstellt. Mit diesem gesamten Ordner mit RSLite, diesen Konfigurationsdateien, den Laufzeit-Packages und IBToGo, einschließlich der Lizenz, haben Sie alles, was Sie für die Bereitstellung auf einem Windows-Zielcomputer benötigen.

Proxy-Konfiguration

Es wird nicht empfohlen, RSLite direkt als öffentliche Webanwendung bereitzustellen, da es in Bezug auf Schutz und Verschlüsselung nur begrenzte Möglichkeiten gibt. Wir empfehlen die Verwendung einer Proxy-Schicht mit einem speziellen Dienst oder die Verwendung eines der gängigen Webdienste als Frontend. In Apache konfigurieren Sie beispielsweise einen virtuellen Host, aktivieren HTTPS und leiten den Datenverkehr an die RSLite-Instanz mit einer Konfiguration wie der folgenden um:

ProxyPass / http://localhost:8088
ProxyPassReverse / http://localhost:8088
ProxyPreserveHost On

Für Linux

Für Linux können Sie den gleichen Schritten wie oben folgen, und alles sollte wie erwartet funktionieren. Als Alternative können Sie auch die Installation des vollständigen RAD Server und dann das Hinzufügen von IBToGo zu der Installation in Betracht ziehen:

  • Installieren Sie RAD Server mit der Datei ems_install.sh, der sich im RAD-Installationsordner befindet. Siehe hier
  • Kopieren Sie die IBToGo-Dateien aus dem InterBase-Ordner "redist" in den Ordner "EMS" unter Linux (/usr/lib/ems)
  • Führen Sie EMSDevServerCommand aus, und folgen Sie dem Experten, um die EMS-Datenbank und die Konfigurationsdatei zu erstellen.
    Hinweis: Möglicherweise müssen Sie die Anwendung über "sudo" ausführen, um die richtigen Berechtigungen zu erhalten.