Autor: Nicolas Brachfogel

Nicolas Brachfogel
• Propietario de producto y Desarrollador Senior - Nicolas Brachfogel se unió a 4D en 2017 como Senior Developer (4D Server y networking). Como Product Owner para gestionar el lanzamiento de Apple Silicon, está a cargo de escribir historias de usuario y traducirlas en especificaciones funcionales, así como asegurarse de que las implementaciones de las funcionalidades satisfagan las necesidades del cliente. Diplomado por el Instituto Superior de Informática Aplicada (INSIA), Nicolas comenzó su carrera como desarrollador de software en 2001. Tras varios años codificando en Java y C++, pasó a especializarse en el desarrollo cliente-servidor para empresas de videojuegos. Como desarrollador/arquitecto de servidores, trabajó con éxito en las arquitecturas de servidores de muchos juegos (Dofus Arena, Drakerz, Trivial Pursuit Go!).
Producto blank

Cifrado, autenticación y validación de autoridades de certificación

En las últimas versiones, la seguridad de 4D se ha extendido significativamente, en particular en el área de los certificados. Esto incluye certificados autogenerados para la comunicación cliente-servidor, soporte para certificados ECDSA y, con 4D 20 R7, la validación de la autoridad del certificado para la comunicación cliente-servidor de aplicaciones autónomas. Algunos clientes exigen el máximo nivel de seguridad, lo que resalta la importancia de estas funcionalidades.

Sin embargo, la seguridad puede ser compleja, y es por esto que útil explicar cómo funciona una conexión TLS/SSL y el rol de los certificados. Por eso, antes de profundizar en las nuevas funciones, conviene desglosar los conceptos básicos de seguridad y sus interacciones.

Producto blank

Presentación de los singletons de sesión

Los singletons han sido una de las funcionalidades más destacadas de 4D 20 R5. Anteriormente, los desarrolladores podían utilizar dos tipos de singletons:

  • el singleton de proceso, que es único para cada proceso, pero diferente entre procesos,
  • y el singleton compartido, que es único para toda la aplicación.

Con 4D 20 R7, estamos lanzando un nuevo tipo de singleton: ¡el singleton de sesión!

Producto blank

La capa de red QUIC está lista para la producción

Traducido automáticamente de Deepl

Con la beta de 4D 20, le presentamos nuestra nueva capa de red: La capa de red QUIC.

En ese momento, todavía estaba en desarrollo y por lo tanto eliminada de la versión oficial. Hoy, estamos encantados de anunciar que la capa de red QUIC está fuera de beta y oficialmente lista para producción.

Después de rigurosas pruebas de carga y valiosos comentarios de los primeros usuarios, la estabilidad y el rendimiento de QUIC han sido validados, superandoincluso aServerNet en áreas clave. Ahora que QUIC ha alcanzado la paridad de prestaciones con ServerNet en 4D 20 R5, es el momento perfecto para plantearse el cambio.

Pero primero, permítame contarle más sobre esta gran noticia.

Producto blank

Soporte REST y Qodly de Singletons

Con 4D 20 R5, liberamos los singletons. Y con 4D 20 R6, ahora le permitimos llamar directamente a las funciones expuestas de sus singletons compartidos a través de llamadas REST. Del mismo modo, puede utilizar las funciones expuestas de sus singletons compartidos en eventos al diseñar sus páginas Qodly. Permítanme profundizar en estas nuevas funcionalidades.

Producto blank

Gestión de peticiones HTTP con agentes HTTP

En 4D 19 R6, introdujimos las clases HTTP para modernizar la sintaxis y mejorar las funcionalidades de nuestros comandos cliente HTTP. Sobre esta base, 4D 20 R6 aporta una nueva y poderosa funcionalidad: Agentes HTTP. Estos agentes permiten a los desarrolladores personalizar y optimizar sus conexiones a servidores HTTP mediante la gestión de la persistencia y reutilización de conexiones para peticiones HTTP.

Producto blank

Eliminación de la capa de red heredada

Para gestionar la comunicación entre 4D Client y 4D Server, 4D propone 3 capas de red diferentes:

  • Legacy,
  • ServerNet,
  • y QUIC.

La capa de red Legacy se introdujo hace 30 años en 4D v3. Se desarrolló originalmente para AppleTalk, se mejoró para RDSI, y luego se añadió IPX y finalmente TCP/IP.

Fue creada para un uso Cliente/Servidor muy diferente al que 4D trabaja hoy en día: es single-threaded, optimizada para redes lentas sin encriptación, y disponible para muchos protocolos de red diferentes. Como tal, no está optimizada en absoluto para las comunicaciones de red modernas y soporta un número muy limitado de funcionalidades.

Por eso, con 4D 20 R5, hemos decidido volver obsoleta la capa de red Legacy y planeamos eliminarla pronto. Le animamos a migrar a ServerNet ahora si todavía la está utilizando. Permítame explicarle los beneficios que obtendrá con el cambio.

Producto blank

QUIC iguala ahora las capacidades de ServerNet

La capa de red QUIC ahora soporta tantas funcionalidades como la capa de red ServerNet. Con 4D 20 R5, añadimos soporte para IPv6, broadcast y Single Sign-on en Windows.

Por supuesto, continuaremos mejorándola en las próximas versiones para convertirla en la mejor capa de red que 4D haya tenido nunca.

Pero por ahora, permítanme hablar un poco más sobre las últimas funcionalidades que hemos añadido.

Producto blank

Clases compartidas

¿Quiere una forma simplificada de utilizar objetos compartidos, siguiendo la sintaxis clásica de los objetos y llamando automáticamente a use/end use cuando sea necesario?

Abróchese el cinturón; ¡aquí vienen las clases compartidas!

Producto blank

Singletons en 4D

4D 20 R5 ofrece una poderosa funcionalidad para desarrolladores: ¡Singletons!

El diseño patrón singleton crea una instancia única de una clase accesible en toda la aplicación.

Este patrón ofrece muchos beneficios, incluyendo:

  • un wrapper para las variables interproceso,
  • clases utilitarias,
  • una base para el diseño patrón de la fábrica,
  • y muchas más.

Siga leyendo para obtener más información sobre este nuevo concepto.