Autor: Nicolas Brachfogel

Nicolas Brachfogel
• Proprietário do produto e Desenvolvedor Senior -Nicolas Brachfogel entrou a 4D em 2017 como Senior Developer (4D Server e Networking). Como Product Owner para gerenciar o lançamento de Apple Silicon, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais, além de garantir que as implementações de funcionalidade cumpram com as necessidades do cliente. Diplomado pelo Instituto Superior de Informática Aplicada (INSIA), Nicolas começou sua carreira como desenvolvedor de software em 2001. Depois de vários anos codificando em Java e C++, passou a especializar-se no desenvolvimento cliente-servidor para empresas de videogames. Como desenvolvedor/arquiteto de servidores, trabalhou com sucesso nas arquiteturas de servidores de muitos jogos (Dofus Arena, Drakerz, Trivial Pursuit Go!)
Produto blank

Descontinuação da camada de rede herdada

Para lidar com a comunicação entre 4D Client e 4D Server, 4D propõe 3 camadas de rede diferentes:

  • Legado,
  • ServerNet,
  • e QUIC.

A camada de rede Legacy foi introduzida 30 anos atrás em 4D v3. Foi originalmente desenvolvida para AppleTalk, melhorada para ISDN, e depois adicionada IPX e finalmente TCP/IP.

Foi criada para um uso Cliente/Servidor muito diferente do que 4D trabalha hoje: é single-threaded, otimizada para redes lentas sem encriptação e disponível para muitos protocolos de rede diferentes. Como tal, não é otimizado para comunicações de rede modernas e suporta um número muito limitado de características.

É por isso que, com 4D 20 R5, decidimos tornar a camada de rede Legacy obsoleta e planejamos removê-la em breve. Nós o encorajamos a mudar para ServerNet agora se ainda a estiver usando. Deixe-me explicar os benefícios que obterá com a mudança.

Produto blank

QUIC agora combina com as capacidades da ServerNet

A camada de rede QUIC é compatível com tantas características quanto a camada de rede ServerNet. Com 4D 20 R5, adicionamos compatibilidade para IPv6, broadcast, e Single Sign-on em Windows.

É claro que continuaremos a melhorá-la nas próximas versões para torná-la a melhor camada de rede que 4D já existiu.

Mas por agora, deixe-me falar um pouco mais sobre as últimas funcionalidades que adicionamos.

Produto blank

Classes partilhadas

Quer uma forma simplificada de utilizar objetos partilhados, seguindo a sintaxe clássica dos objetos e chamando automaticamente “use/end use” quando for necessário?

Apertem os cintos; aí vêm as classes partilhadas!

Produto blank

Singletons em 4D

4D 20 R5 oferece uma caraterística poderosa para desenvolvedores: Singletons!

O padrão de design singleton cria uma única instância de uma classe acessível em toda a sua aplicação.

Esse padrão oferece muitos benefícios, incluindo:

  • host para valores entre processos,
  • classes utilitárias,
  • uma base para o padrão de projeto fábrica,
  • e muito mais.

Continue lendo para mais informações sobre esse novo conceito!

Produto blank

Impressão sem bloqueio

Com 4D v20 R4, melhoramos significativamente a gestão de trabalhos de impressão dentro de 4D. 4D agora pode executar múltiplos trabalhos de impressão em paralelo, aumentando significativamente a reatividade de suas aplicações enquanto facilita o gerenciamento de trabalhos de impressão simultâneos.

Deixe-me contar mais sobre isso!

Produto blank

Certificados SSL/TLS gerados automaticamente para comunicações cliente-servidor

Para simplificar a segurança das comunicações cliente-servidor, de 4D v20 R4 em diante, 4D Server gera seus próprios certificados SSL/TLS em vez de confiar nos certificados padrão fornecidos por 4D.

Essa atualização traz uma vantagem significante para ambos ambientes de teste e produção. Vai experimentar medidas de segurança aumentadas sem a necessidade de fornecer seus próprios certificados. Deixe-me explicar o que vai mudar.

Produto blank

SSL/TLS: Suporte para certificados ECDSA

Tradução automática de Deepl

4D usa SSL/TLS para proteger a comunicação cliente-servidor e pedidos HTTP. 4D suporta a criptografia RSA há mais de uma década e com 4D v20R3 estamos agora adicionando a criptografia ECDSA ao nosso conjunto de ferramentas. É um bom momento para eu falar um pouco sobre segurança.

Produto blank

ORDA: Atribuição de um caminho a uma bolha ou atributo de imagem

Os comandos de bases de dados não ORDA davam-lhe a possibilidade de colocar imagens e blobs fora do seu arquivo de dados graças ao comando SET EXTERNAL DATA PATH. Este comando não está adaptado ao ORDA e, como tal, decidimos acrescentar uma funcionalidade semelhante na v20 R3: A possibilidade de atribuir a um blob ou a um atributo de imagem um caminho que aponta para um arquivo. Vou falar mais sobre isso.

Produto blank

Descontinuação de comandos PHP & Remoção do interpretador PHP embutido 4D

PHP tem desempenhado um papel crucial no desenvolvimento web, e foi introduzido em 4D v12 para oferecer características não prontamente disponíveis na linguagem nativa, como zip, hash, ou funcionalidade LDAP. Com o tempo, 4D incorporou muitas dessas características PHP em sua funcionalidade principal. Como resultado, decidimos remover o interpretador PHP integrado em 4D v20 R3 e começar o processo de depreciação para comandos PHP na v21.

Enquanto não removeremos completamente os comandos PHP de 4D, encorajamos fortemente a usar os trabalhadores do sistema para executar código PHP no futuro.

Este post de blog vai guiá-lo através deste processo de transição, demonstrando como usar um interpretador externo através do PHP Execute e explicando como executar código PHP efetivamente com um system worker.