Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Le nouveau RAD Server Lite (RSLite) dans RAD Studio 11

rad server blog banner 6

Dans le cadre de la version RAD Studio 11 Alexandria, nous avons annoncé la disponibilité d’une nouvelle option de déploiement et de licence de RAD Server, dans le but de simplifier le déploiement pour les installations ne nécessitant pas un grand nombre de requêtes REST.

Qu’est-ce que RAD Server ?

Avant d’entrer dans les détails, permettez-moi de vous rappeler ce qu’est RAD Server. Il s’agit d’un moteur de serveur REST qui vous permet de développer rapidement des points de terminaison REST, principalement au service de JSON, en utilisant du code Delphi ou C++Builder basé sur FireDAC (ou d’autres couches d’accès aux données). En bref, vous créez des packages complémentaires (BPL) enregistrant chacun des points de terminaison d’URL supplémentaires et fournissant une implémentation. En plus de cela, RAD Server est livré avec un certain nombre de services prêts à l’emploi. Vous pouvez en savoir plus sur https://www.embarcadero.com/products/rad-server .

Pourquoi RAD Server Lite ?

RAD Server nécessite une base de données principale, basée sur InterBase, et il est généralement déployé en tant que module DLL de serveur Web pour IIS ou Apache. Pour cette raison, un déploiement standard nécessite :

Pour le développement, nous proposons depuis longtemps une version autonome de RAD Server, basée sur le serveur HTTP Indy, qui offre des performances limitées mais un déploiement beaucoup plus facile et la possibilité d’être exécuté sous le débogueur (vous pouvez donc déboguer le code de vos modules RAD Server) . La version de développement n’est pas destinée et elle n’est pas autorisée pour le déploiement. Le nombre d’utilisateurs que vous pouvez créer est limité et il peut fonctionner avec une édition InterBase Developer locale (la licence correspondante fait partie de la licence RAD Studio).

RAD Server Lite (alias RSLite) offre un modèle de déploiement plus simple pour les serveurs de test et les scénarios ne nécessitant pas beaucoup de débit, et il le propose en utilisant le moteur de base de données intégré InterBase, IBToGo, au lieu du serveur complet et le combine avec un modèle de licence simplifié. RSLite utilise le même binaire de l’édition de développement (fourni avec RAD Studio) ainsi que les binaires IBToGo et un fichier de bordereau de licence que vous pouvez déployer avec votre solution (ne nécessitant aucune inscription sur l’ordinateur sur lequel vous le déployez).

Parce qu’il utilise une base de données intégrée et parce qu’il utilise le composant Indy HTTP Server, il ne peut pas servir le même nombre de requêtes par seconde qu’une installation RAD Server normale et il ne peut pas évoluer avec plusieurs frontaux RAD Server. Nous n’avons ajouté aucune limitation codée en dur, mais l’architecture sous-jacente utilisée par RSLite a une évolutivité beaucoup plus limitée, mais nous nous attendons à ce qu’elle soit suffisante pour de nombreux scénarios de déploiement simples – en gardant à l’esprit que le débit dépend également du code spécifique vos modules RAD Server s’exécutent. Notez que pour un déploiement sur un système public, nous vous recommandons d’éviter d’exposer directement le serveur HTTP RSLite, mais de le rendre accessible via une configuration proxy, vous disposez donc toujours d’un serveur Web (comme Apache ou IIS) fournissant le contexte de sécurité pour le HTTPS entrant appels et les transférer à RSLite.

Demander une licence

Passons maintenant aux aspects pratiques de RSLite. Tout d’abord, vous devez racheter une licence, ce que vous pouvez faire avec n’importe quelle licence Enterprise ou Architect pour RAD Studio 11 (y compris Delphi 11 et C++Builder 11). Il vous suffit de visiter la page :

https://reg.embarcadero.com/srs6/promotion.jsp?promoId=572

et suivez les instructions fournies : vous aurez besoin de votre clé d’enregistrement et de votre compte EDN. Le processus ici ne consiste pas seulement à recevoir une clé de licence pour RSLite, mais un fichier de bordereau (une licence stockée dans un fichier .TXT) que vous pouvez déployer avec votre installation. Cette licence n’a aucune limitation en termes de nombre d’installations (mais vous ne pouvez pas faire tourner deux instances sur la même machine). Notez que le fichier de licence doit être placé dans un sous-dossier spécifique, contrairement à ce que les informations générales sur le site d’échange peuvent sembler impliquer.

Déployer un projet RAD Server Lite

Une fois que vous avez la licence, comment déployez-vous RSLite ? Il y a deux considérations différentes :

Les fichiers à déployer

Concrètement, voici les fichiers nécessaires au déploiement d’une solution RSLite (en plus de vos packages applicatifs et de leurs dépendances) :

  1. L’exécutable RSLite, qui est le même que l’édition développeur : EMSDevServer.exe disponible dans le dossier bin de RAD Studio (ou la version 64 bits similaire)
  2. Les packages d’exécution RAD Studio requis, qui incluent ceux requis pour une installation minimale (listés ici et disponibles dans le dossier RAD Studio win32 ou win64 redist) ainsi que tout autre package d’exécution requis par le code dans vos modules RAD Server :
    • moteurbind280.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. Les fichiers de déploiement InterBase ToGo trouvés dans le dossier public InterBase redist (par exemple, C:/Users/Public/Documents/Embarcadero/Interbase/redist/InterBase2020) dans les sous-dossiers win32_togo ou win64_togo — pour Linux, vous pouvez trouver le libibtogo.so fichier dans le bon dossier de redist InterBase
  4. Ajoutez le fichier de licence obtenu ci-dessus dans le dossier interbase/license (partie de la configuration IBToGo redist)

exécution MSVC

Notez également que pour exécuter IBToGo (et donc RSLite en utilisant IBToGo) sur une machine Windows cible, la bibliothèque d’exécution Visual C++ 2013 doit être installée. Sur une machine de développeur avec RAD Studio, vous l’auriez probablement déjà installé. Cependant, sur une machine de déploiement cible générale, vous devrez peut-être l’installer après l’avoir téléchargé à partir de Microsoft .

Création de la base de données de production

Avec cette configuration, vous pouvez démarrer RSLite en exécutant l’application EMSDevServer.exe. Si la machine cible a un client InterBase, cependant, il le choisira avec une priorité plus élevée, et si le client InterBase est l’édition Developer fournie avec RAD Studio, tout fonctionnera mais dans une configuration RAD Server Developer standard.

Vous pouvez le comprendre facilement car lorsque RAD Server démarre, il vous indique s’il s’agit d’une configuration « RSLite » dans son journal. Les premières lignes ressembleront à :

{“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 »}}

Si le code indique que « Lite » est défini sur false, vous devrez peut-être désactiver manuellement le chargement de la bibliothèque cliente InterBase gds32.dll (ou sa version 64 bits), généralement trouvée dans C:/Windows/SysWOW64 (si le client InterBase la bibliothèque est introuvable, elle charge le fichier ibtogo.dll local – quelque chose que nous rendrons configurable dans une prochaine version).

Maintenant, si vous démarrez RSLite (avec la configuration appropriée) et qu’il n’y a pas de fichier emsserver.ini ni de fichier de base de données emsserver.ib, il vous demandera d’en créer un. Pour que cela fonctionne, RSLite doit trouver la configuration dans le dossier Object Repository de RAD Studio (ObjRepos sous le dossier produit). Le moyen le plus simple de le faire est de copier les fichiers sous ObjRepos/en/ems dans un dossier avec ce chemin relatif depuis emsdevserver.exe : « ../ObjRepos/en ». En d’autres termes, vous avez besoin d’un dossier ObjRepost au même niveau que le dossier contenant votre installation RSLite

Remarque : Ceci n’est pas nécessaire pour chaque déploiement RSLite, une seule fois pour générer une base de données de production que vous pourrez ensuite copier telle quelle sur les ordinateurs cibles. En effet la base de données créée dans un environnement de développement n’est pas compatible avec le déploiement RSLite.

Je vous recommande de spécifier comme dossier cible le même que celui de votre déploiement RSLite, afin que l’assistant crée un fichier emsserver.ini et un fichier de base de données emsserver.ib dans votre dossier de déploiement. Maintenant, récupérez l’intégralité du dossier avec RSLite, ces fichiers de configuration, les packages d’exécution et IBToGo, y compris la licence, et vous avez tout ce dont vous avez besoin pour déployer sur un ordinateur Windows cible.

Configuration du proxy

Comme je l’ai mentionné, il n’est pas recommandé d’exposer RSLite directement en tant qu’application Web publique, en raison de ses limites en termes de protection et de cryptage. Je recommanderais d’utiliser une couche proxy, avec un service dédié ou d’utiliser l’un des services Web populaires en tant que frontal. Dans Apache, par exemple, vous configurez un hôte virtuel, activez HTTPS et redirigez les trafics vers l’instance RSLite avec une configuration comme celle-ci :
[crayon-6743ddc252cc8453306794/]

Pour Linux

Pour Linux, vous pouvez suivre les mêmes étapes que ci-dessus et tout devrait fonctionner comme prévu. Comme alternative, vous pouvez également envisager d’installer le serveur RAD complet et d’ajouter IBToGo à ​​l’installation :

Mise à niveau vers le serveur RAD complet

Pour terminer, permettez-moi de vous rappeler que RSLite a une portée limitée en termes de trafic de demandes d’utilisateurs qu’il peut gérer. Si vous avez besoin d’une bande passante et d’un débit plus élevés, nous vous recommandons plutôt de déployer le serveur RAD complet.

Tout client disposant d’une édition Entreprise de RAD Studio, Delphi ou C++Builder reçoit une licence de déploiement de la version complète de production de RAD Server. Les clients de l’édition Architect reçoivent une licence de déploiement illimitée (mais qui nécessite toujours une activation pour chaque serveur sur lequel vous souhaitez effectuer le déploiement). Alternativement, vous pouvez contacter notre équipe commerciale pour un accord VAR Server RAD, qui vous permettrait de distribuer le serveur RAD complet en déployant simplement un fichier de bordereau avec votre application, à un nombre illimité de clients et sans inscription requise.

Quitter la version mobile