Ícone do site Embarcadero RAD Studio, Delphi, & C++Builder Blogs

O Novo Servidor RAD Lite (RSLite) no RAD Studio 11

rad server blog banner 6

Como parte do lançamento do RAD Studio 11 Alexandria, anunciamos a disponibilidade de uma nova opção para implantar e licenciar o RAD Server, com o objetivo de simplificar a implantação para instalações que não requerem uma grande quantidade de solicitações REST.

O que é RAD Server?

Antes de entrar em detalhes, deixe-me lembrá-lo do que é o RAD Server. É um mecanismo de servidor REST que permite desenvolver rapidamente endpoints REST, principalmente servindo JSON, usando Delphi ou código C ++ Builder baseado em FireDAC (ou outras camadas de acesso a dados). Resumindo, você cria pacotes complementares (BPLs), cada um registrando pontos de extremidade de URL adicionais e fornecendo uma implementação. Além disso, o RAD Server vem com vários serviços prontos para uso. Você pode ler mais em https://www.embarcadero.com/products/rad-server .

Por que RAD Server Lite?

O RAD Server requer um banco de dados backend, baseado em InterBase, e geralmente é implementado como um módulo DLL de servidor web para IIS ou Apache. Por esse motivo, uma implantação padrão requer:

Para o desenvolvimento, há muito oferecemos uma versão autônoma do servidor RAD, com base no servidor Indy HTTP, que oferece desempenho limitado, mas implantação muito mais fácil e a capacidade de ser executado no depurador (para que você possa depurar o código dos módulos do servidor RAD) . A versão de desenvolvimento não se destina e não está licenciada para implantação. Ele tem um limite no número de usuários que você pode criar e pode trabalhar com uma edição local do InterBase Developer (a licença para ele faz parte da licença do RAD Studio).

O RAD Server Lite (também conhecido como RSLite) oferece um modelo de implantação mais simples para servidores de teste e cenários que não exigem muito rendimento e oferece isso usando o mecanismo de banco de dados integrado InterBase, IBToGo, em vez do servidor completo e o combina com um modelo de licenciamento simplificado. O RSLite usa o mesmo binário da edição de desenvolvimento (que vem com o RAD Studio) junto com os binários IBToGo e um arquivo de comprovante de licença que você pode implantar com sua solução (não requer registro no computador em que o implanta).

Como ele usa um banco de dados integrado e o componente Indy HTTP Server, ele não pode atender ao mesmo número de solicitações por segundo de uma instalação completa normal do servidor RAD e não pode ser escalonado com vários front-ends do servidor RAD. Não adicionamos nenhuma limitação embutida no código, mas a arquitetura subjacente usada pelo RSLite tem uma escalabilidade muito mais limitada, mas esperamos que seja suficiente para muitos cenários de implantação simples – tendo em mente que a taxa de transferência também depende do código específico os módulos do seu servidor RAD são executados. Observe que, para implantação em um sistema público, recomendamos evitar expor o servidor RSLite HTTP diretamente, mas torná-lo acessível por meio de uma configuração de proxy, para que você ainda tenha um servidor web (como Apache ou IIS) fornecendo o contexto de segurança para o HTTPS de entrada chamadas e encaminhá-las para RSLite.

Pedindo uma licença

Agora, vamos aos aspectos práticos do RSLite. Primeiro, você precisa resgatar uma licença, algo que você pode fazer com qualquer licença Enterprise ou Architect para RAD Studio 11 (incluindo Delphi 11 e C ++ Builder 11). Tudo que você precisa fazer é visitar a página:

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

e siga as instruções fornecidas: você precisará de sua chave de registro e conta EDN. O processo aqui não é apenas receber uma chave de licença para RSLite, mas um arquivo slip (uma licença armazenada em um arquivo .TXT) que você pode implantar junto com a instalação. Esta licença não tem limitações em termos de número de instalações (mas você não pode ter duas instâncias rodando na mesma máquina). Observe que o arquivo de licença precisa ser colocado em uma subpasta específica, ao contrário do que as informações gerais no site de resgate podem parecer implicar.

Implantando um projeto RAD Server Lite

Depois de obter a licença, como você implanta o RSLite? Existem duas considerações diferentes:

Os arquivos para implantar

Em termos práticos, estes são os arquivos necessários para implantar uma solução RSLite (além dos pacotes de aplicativos e suas dependências):

  1. O executável RSLite, que é o mesmo da edição do desenvolvedor: EMSDevServer.exe disponível na pasta bin do RAD Studio (ou versão semelhante de 64 bits)
  2. Os pacotes de tempo de execução RAD Studio necessários, que incluem aqueles necessários para uma instalação mínima (listados aqui e disponíveis na pasta RAD Studio win32 ou win64 redist) mais qualquer outro pacote de tempo de execução exigido pelo código em seus 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. Os arquivos de implantação do InterBase ToGo encontrados na pasta redist do documento público InterBase (por exemplo, C: / Usuários / Público / Documentos / Embarcadero / Interbase / redist / InterBase2020) nas subpastas win32_togo ou win64_togo – para Linux você pode encontrar o libibtogo.so arquivo na pasta redist do InterBase adequada
  4. Adicione o arquivo de licença obtido acima à pasta interbase / license (parte da configuração do IBToGo redist)

Tempo de execução MSVC

Observe também que, para executar o IBToGo (e também o RSLite usando IBToGo) em uma máquina Windows de destino, é necessário ter a biblioteca de tempo de execução do Visual C ++ 2013 instalada. Em uma máquina de desenvolvedor com RAD Studio, você provavelmente já o terá instalado. Em uma máquina de implantação de destino geral, no entanto, pode ser necessário instalá-lo depois de baixá-lo da Microsoft .

Criando o banco de dados de produção

Com essa configuração, você pode iniciar o RSLite executando o aplicativo EMSDevServer.exe. Se a máquina alvo tiver um cliente InterBase, no entanto, ela irá selecioná-lo como prioridade mais alta, e se o cliente InterBase for a edição Developer que vem com o RAD Studio, tudo funcionará, mas em uma configuração padrão do RAD Server Developer.

Você pode descobrir isso facilmente porque quando o servidor RAD é iniciado, ele informa se esta é uma configuração “RSLite” em seu log. As primeiras linhas serão semelhantes a:

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

Se o código está indicando que “Lite” está definido como falso, você pode precisar desativar manualmente o carregamento da biblioteca cliente InterBase gds32.dll (ou sua versão de 64 bits), geralmente encontrada em C: / Windows / SysWOW64 (se o cliente InterBase a biblioteca não pode ser encontrada, ela carrega o ibtogo.dll local – algo que tornaremos configurável em uma versão futura).

Agora, se você iniciar o RSLite (com a configuração adequada) e não houver nenhum arquivo emsserver.ini e nenhum arquivo de banco de dados emsserver.ib, ele solicitará que você crie um. Para que isso funcione, o RSLite precisa encontrar a configuração na pasta Object Repository do RAD Studio (ObjRepos na pasta do produto). A maneira mais fácil de fazer isso é copiar os arquivos em ObjRepos / en / ems em uma pasta com este caminho relativo de emsdevserver.exe: “../ObjRepos/en”. Em outras palavras, você precisa de uma pasta ObjRepost no mesmo nível da pasta que contém sua instalação RSLite

Nota: Isso não é necessário para cada implantação RSLite, apenas uma vez para gerar um banco de dados de produção que você pode copiar posteriormente nos computadores de destino como está. Na verdade, o banco de dados criado em um ambiente de desenvolvimento não é compatível com a implantação do RSLite.

Recomendo que você especifique como pasta de destino a mesma de sua implantação RSLite, para que o assistente crie um arquivo emsserver.ini e um arquivo de banco de dados emsserver.ib em sua pasta de implantação. Agora pegue a pasta inteira com RSLite, esses arquivos de configuração, os pacotes de tempo de execução e o IBToGo, incluindo a licença, e você terá tudo o que precisa para implantar em um computador Windows de destino.

Configuração de proxy

Como mencionei, não é recomendado expor o RSLite diretamente como um aplicativo da web público, devido às suas limitações em termos de proteção e criptografia. Eu recomendo usar uma camada de proxy, com um serviço dedicado ou usando um dos serviços da web populares como front end. No Apache, por exemplo, ao configurar um host virtual, habilitar HTTPS e redirecionar o tráfego para a instância RSLite com uma configuração como a seguinte:
[crayon-673fbf00aef8d525198806/]

Para Linux

Para Linux, você pode seguir etapas semelhantes às acima e tudo deve funcionar conforme o esperado. Como alternativa, você também pode considerar instalar o servidor RAD completo e não adicionar IBToGo à ​​instalação:

Atualizando para o Servidor RAD Completo

Como uma observação final, deixe-me lembrar a você que o RSLite tem um escopo limitado em termos de tráfego de solicitações de usuários que ele pode manipular. Se você precisar de largura de banda e taxa de transferência maiores, recomendamos implantar o servidor RAD completo.

Qualquer cliente com uma Enterprise Edition do RAD Studio, Delphi ou C ++ Builder recebe uma licença de implantação da versão completa de produção do RAD Server. Os clientes da Architect Edition recebem uma licença de implantação ilimitada (mas que ainda requer ativação para cada servidor em que você deseja implantar). Alternativamente, você pode entrar em contato com nossa equipe de vendas para um contrato RAD Server VAR, que permitiria a você distribuir o servidor RAD completo simplesmente implantando um arquivo de comprovante junto com seu aplicativo, para clientes ilimitados e sem a necessidade de registro.

Sair da versão mobile