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

El nuevo RAD Server Lite (RSLite) en RAD Studio 11

rad server blog banner 6

Como parte del lanzamiento de RAD Studio 11 Alexandria, hemos anunciado la disponibilidad de una nueva opción para implementar y licenciar RAD Server, con el objetivo de simplificar la implementación para instalaciones que no requieren una gran cantidad de solicitudes REST.

¿Qué es RAD Server?

Antes de llegar a los detalles, permítame recordarle qué es RAD Server. Es un motor de servidor REST que le permite desarrollar rápidamente puntos finales REST, principalmente sirviendo JSON, mediante el uso de código Delphi o C ++ Builder basado en FireDAC (u otras capas de acceso a datos). En resumen, crea paquetes de complementos (BPL), cada uno de los cuales registra puntos finales de URL adicionales y proporciona una implementación. Además, RAD Server viene con una serie de servicios listos para usar. Puede leer más en https://www.embarcadero.com/products/rad-server .

¿Por qué RAD Server Lite?

RAD Server requiere una base de datos back-end, basada en InterBase, y generalmente se implementa como un módulo DLL de servidor web para IIS o Apache. Por esta razón, una implementación estándar requiere:

  • El servidor web y su configuración del módulo RAD Server
  • La implementación y configuración del servidor RAD
  • Una instalación de InterBase con una licencia de servidor RAD de propósito especial (una licencia que el usuario debe registrar en el dispositivo de destino para activar)

Para el desarrollo, hemos ofrecido durante mucho tiempo una versión independiente de RAD Server, basada en el servidor HTTP Indy, que ofrece un rendimiento limitado pero una implementación mucho más fácil y la capacidad de ejecutarse bajo el depurador (para que pueda depurar el código de los módulos de RAD Server) . La versión de desarrollo no está pensada y no tiene licencia para su implementación. Tiene un límite en la cantidad de usuarios que puede crear y puede funcionar con una edición InterBase Developer local (la licencia es parte de la licencia RAD Studio).

RAD Server Lite (también conocido como RSLite) ofrece un modelo de implementación más simple para servidores de prueba y escenarios que no requieren mucho rendimiento, y lo ofrece utilizando el motor de base de datos integrado de InterBase, IBToGo, en lugar del servidor completo y lo combina con un modelo de licencia simplificado. RSLite usa el mismo binario de la edición de desarrollo (que se envía con RAD Studio) junto con los binarios de IBToGo y un archivo de ficha de licencia que puede implementar con su solución (no requiere registro en la computadora en la que lo implementa).

Debido a que usa una base de datos incorporada y debido a que usa el componente Indy HTTP Server, no puede atender la misma cantidad de solicitudes por segundo de una instalación de RAD Server normal y completa y no puede escalar con múltiples interfaces de RAD Server. No hemos agregado ninguna limitación codificada, pero la arquitectura subyacente utilizada por RSLite tiene una escalabilidad mucho más limitada, pero esperamos que sea suficiente para muchos escenarios de implementación simples, teniendo en cuenta que el rendimiento también depende del código específico. sus módulos RAD Server se ejecutan. Tenga en cuenta que para la implementación en un sistema público, recomendamos evitar exponer el servidor HTTP RSLite directamente, pero hacerlo accesible a través de una configuración de proxy, para que aún tenga un servidor web (como Apache o IIS) que proporcione el contexto de seguridad para el HTTPS entrante. llamadas y reenviarlas a RSLite.

Solicitar una licencia

Ahora vayamos a los aspectos prácticos de RSLite. En primer lugar, debe canjear una licencia, algo que puede hacer con cualquier licencia Enterprise o Architect para RAD Studio 11 (incluidos Delphi 11 y C ++ Builder 11). Todo lo que necesita hacer es visitar la página:

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

y siga las instrucciones proporcionadas: necesitará su clave de registro y cuenta EDN. El proceso aquí no es solo para recibir una clave de licencia para RSLite, sino un archivo de deslizamiento (una licencia almacenada en un archivo .TXT) que puede implementar junto con su instalación. Esta licencia no tiene limitaciones en cuanto al número de instalaciones (pero no puede tener dos instancias ejecutándose en la misma máquina). Tenga en cuenta que el archivo de licencia debe colocarse en una subcarpeta específica, a diferencia de lo que parece implicar la información general del sitio de canje.

Implementar un proyecto RAD Server Lite

Una vez que tenga la licencia, ¿cómo implementa RSLite? Hay dos consideraciones diferentes:

  • Primero, debe crear una configuración de implementación con RSLite, los paquetes de tiempo de ejecución requeridos y la implementación de IBToGo (los pasos se encuentran a continuación)
  • En segundo lugar, debe generar un archivo de base de datos adecuado para la producción, compatible con la licencia IBToGo; una base de datos local creada por la edición RAD Server Developer no será compatible

Los archivos para implementar

En términos prácticos, estos son los archivos necesarios para implementar una solución RSLite (además de los paquetes de su aplicación y sus dependencias):

  1. El ejecutable RSLite, que es el mismo de la edición para desarrolladores: EMSDevServer.exe disponible en la carpeta bin de RAD Studio (o la versión similar de 64 bits)
  2. Los paquetes de tiempo de ejecución de RAD Studio necesarios, que incluyen los necesarios para una instalación mínima (enumerados aquí y disponibles en la carpeta redist de RAD Studio win32 o win64) más cualquier otro paquete de tiempo de ejecución requerido por el código en sus módulos de servidor RAD:
    • 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. Los archivos de implementación de InterBase ToGo que se encuentran en la carpeta de redistribución de documentos públicos de InterBase (por ejemplo, C: / Users / Public / Documents / Embarcadero / Interbase / redist / InterBase2020) en las subcarpetas win32_togo o win64_togo; para Linux, puede encontrar libibtogo.so archivo en la carpeta de redistribución adecuada de InterBase
  4. Agregue el archivo de licencia obtenido anteriormente a la carpeta interbase / license (parte de la configuración de redistribución de IBToGo)

Tiempo de ejecución de MSVC

Tenga en cuenta también que para ejecutar IBToGo (y por lo tanto RSLite usando IBToGo) en una máquina Windows de destino, debe tener instalada la biblioteca de tiempo de ejecución de Visual C ++ 2013. En una máquina de desarrollador con RAD Studio, lo más probable es que ya lo tenga instalado. Sin embargo, en una máquina de implementación de destino general, es posible que deba instalarlo, después de descargarlo de Microsoft .

Creación de la base de datos de producción

Con esta configuración, puede iniciar RSLite ejecutando la aplicación EMSDevServer.exe. Sin embargo, si la máquina de destino tiene un cliente de InterBase, lo tomará como de mayor prioridad, y si el cliente de InterBase es la edición Developer que viene con RAD Studio, todo funcionará, pero en una configuración estándar de RAD Server Developer.

Puede averiguarlo fácilmente porque cuando RAD Server se inicia, le indica si se trata de una configuración “RSLite” en su registro. Las primeras líneas se verán así:

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

Si el código indica que “Lite” está configurado como falso, es posible que deba deshabilitar manualmente la carga de gds32.dll (o su versión de 64 bits) de la biblioteca cliente InterBase, que generalmente se encuentra en C: / Windows / SysWOW64 (si el cliente InterBase no se puede encontrar la biblioteca, carga el ibtogo.dll local, algo que haremos configurable en una próxima versión).

Ahora, si inicia RSLite (con la configuración adecuada) y no hay un archivo emsserver.ini ni un archivo de base de datos emsserver.ib, le pedirá que cree uno. Para que esto funcione, RSLite necesita encontrar la configuración en la carpeta Object Repository de RAD Studio (ObjRepos en la carpeta del producto). La forma más fácil de hacer esto es copiar los archivos bajo ObjRepos / en / ems en una carpeta con esta ruta relativa de emsdevserver.exe: “../ObjRepos/en”. En otras palabras, necesita una carpeta ObjRepost en el mismo nivel de la carpeta que contiene su instalación de RSLite

Nota: Esto no es necesario para cada implementación de RSLite, solo una vez para generar una base de datos de producción que luego puede copiar en las computadoras de destino como está. De hecho, la base de datos creada en un entorno de desarrollo no es compatible con la implementación de RSLite.

Le recomiendo que especifique como carpeta de destino la misma de su implementación de RSLite, para que el asistente cree un archivo emsserver.ini y un archivo de base de datos emsserver.ib en su carpeta de implementación. Ahora tome la carpeta completa con RSLite, estos archivos de configuración, los paquetes de tiempo de ejecución e IBToGo, incluida la licencia, y tendrá todo lo que necesita para implementar en una computadora con Windows de destino.

Configuración de proxy

Como mencioné, no se recomienda exponer RSLite directamente como una aplicación web pública, debido a sus limitaciones en términos de protección y encriptación. Recomendaría usar una capa de proxy, con un servicio dedicado o usar uno de los servicios web populares como interfaz. En Apache, por ejemplo, configura un host virtual, habilita HTTPS y redirige el tráfico a la instancia RSLite con una configuración como la siguiente:

Para Linux

Para Linux, puede seguir pasos similares a los anteriores y todo debería funcionar como se esperaba. Como alternativa, también puede considerar instalar el servidor RAD completo y luego agregar IBToGo a la instalación:

    • Instale el servidor RAD utilizando ems_install.sh disponible en la carpeta de instalación RAD (https://docwiki.embarcadero.com/RADStudio/Sydney/en/Configuring_Your_RAD_Server_Engine_or_RAD_Server_Console_on_Linux)
    • Copie los archivos IBToGo de la carpeta “redist” de Interbase a la carpeta EMS en Linux (/ usr / lib / ems)
    • Ejecute EMSDevServerCommand y siga el asistente para crear la base de datos EMS y el archivo de configuración (tenga en cuenta que es posible que deba ejecutar la aplicación a través de sudo para tener los permisos adecuados )

Actualización al servidor RAD completo

Como nota final, permítame recordarle que RSLite tiene un alcance limitado en términos de tráfico de solicitudes de usuario que puede manejar. Si necesita un mayor ancho de banda y rendimiento, le recomendamos que implemente el servidor RAD completo en su lugar.

Cualquier cliente con una Enterprise Edition de RAD Studio, Delphi o C ++ Builder recibe una licencia de implementación de la versión de producción completa de RAD Server. Los clientes de Architect Edition reciben una licencia de implementación ilimitada (pero una que aún requiere activación para cada servidor en el que desea implementar). Alternativamente, puede comunicarse con nuestro equipo de ventas para obtener un acuerdo VAR de RAD Server, que le permitiría distribuir el RAD Server completo simplemente implementando un archivo de comprobante junto con su aplicación, a clientes ilimitados y sin necesidad de registro.

See What's New in 12.2 Athens See What's New in 12.2 Athens Dev Days of Summer 2-24

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

IN THE ARTICLES