Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
Nouvelles

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 :

  • Le serveur web et sa configuration du module RAD Serveur
  • Le dĂ©ploiement et la configuration du RAD Server
  • Une installation d’InterBase avec une licence RAD Server Ă  usage spĂ©cial (une licence que l’utilisateur doit enregistrer sur le pĂ©riphĂ©rique cible pour l’activer)

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 :

  • Tout d’abord, vous devez crĂ©er une configuration de dĂ©ploiement avec RSLite, les packages d’exĂ©cution requis et le dĂ©ploiement IBToGo (les Ă©tapes sont ci-dessous)
  • DeuxiĂšmement, vous devez gĂ©nĂ©rer un fichier de base de donnĂ©es appropriĂ© pour la production, compatible avec la licence IBToGo — une base de donnĂ©es locale crĂ©Ă©e par l’Ă©dition RAD Server Developer ne sera pas compatible

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 :

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 :

    • Installez le serveur RAD Ă  l’aide du fichier ems_install.sh disponible dans le dossier d’installation RAD (https://docwiki.embarcadero.com/RADStudio/Sydney/en/setting_Your_RAD_Server_Engine_or_RAD_Server_Console_on_Linux)
    • Copiez les fichiers IBToGo du dossier « redist » d’Interbase vers le dossier EMS sous Linux (/usr/lib/ems)
    • ExĂ©cutez EMSDevServerCommand et suivez l’assistant pour crĂ©er la base de donnĂ©es EMS et le fichier de configuration (notez que vous devrez peut-ĂȘtre exĂ©cuter l’application via sudo pour avoir les autorisations appropriĂ©es )

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.


Enter the Enterprise Software Development Article Challenge
Enterprise Software Development Article Challenge

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

IN THE ARTICLES