Trabajar y moverse con QUIC y Network Switching
¿Qué es más frustrante que perder la conexión de 4D Remote con 4D Server mientras se cambia de red sobre la marcha?
Tanto si pasa de una red Ethernet a una red Wi-Fi como si cambia de un punto a otro, las conexiones tradicionales tienden a caerse, obligando a 4D Remote a desconectarse y volver a conectarse.
Con 4D 21 y el protocolo QUIC, esas interrupciones son cosa del pasado.
QUIC está diseñado para resistir los cambios de red, manteniendo la sesión activa incluso cuando la conexión subyacente cambia.
Nueva clase para las comunicaciones UDP
4D 20 R8 introdujo la clase TCPConnection, aportando una forma asíncrona y orientada a objetos de manejar las conexiones de clientes TCP. Luego vino 4D 20 R9 con la clase TCPListener para construir servidores TCP. Y ahora, con 4D 20 R10, estamos completando el cuadro con la nueva clase UDPSocket, que le permite gestionar las comunicaciones UDP entre 4D y cualquier máquina remota, tanto como cliente como servidor. Esto es especialmente útil para IoT, monitorización en tiempo real o intercambios de difusión. ¿Y la cereza del pastel? Esta clase soporta comunicación UDP preventiva y asíncrona.
Por último, esta nueva funcionalidad está marcando el paso final en la sustitución del plugin de comandos de Internet heredado.
Profundicemos en los detalles.
Nueva clase para gestionar las conexiones TCP entrantes
En 4D 20 R8, introdujimos la clase TCPConnection, permitiéndole iniciar conexiones TCP a servidores remotos. Con 4D v20 R9, estamos entusiasmados de traerle la clase TCPListener, la llave para manejar conexiones TCP entrantes y construir un servidor TCP directamente en 4D.
Con estas dos clases-TCPConnection y TCPListener-usted tiene ahora control total sobre la comunicación TCP, tanto del lado del cliente como del lado del servidor.
Veamos cómo utilizarlas juntas.
Nueva clase para realizar conexiones TCP
Con el lanzamiento de 4D 20 R8, ha llegado una funcionalidad que cambia el juego: la clase TCPConnection. Esta moderna clase aprovecha la sintaxis orientada a objetos y soporta el manejo de conexiones de red asíncronas, ofreciendo una alternativa fresca y poderosa a 4D Internet Commands. Utilizando TCPConnection, puede conectarse prácticamente a todo, bien sean servidores, impresoras, cajas registradoras o dispositivos industriales, haciéndolo una herramienta versátil para manejar requerimientos únicos de red.
En esta versión, la funcionalidad cliente TCP está disponible, lo que le permite conectarse a servidores externos e intercambiar datos sin problemas.
La capa de red QUIC está lista para la producción
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.
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.
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.
Nuevo objeto de sesión remota 4D con conexión Cliente/Servidor y procedimiento almacenado
En las aplicaciones 4D, existen cuatro tipos de sesiones: la sesión remota 4D, la sesión de procedimiento almacenado, la sesión móvil y la sesión Web.
El comando Session ya devuelve las sesiones Web o móviles. Esto le da acceso a una gran cantidad de información sobre la sesión y a un objeto compartido por todos los procesos de la sesión.
En 4D 20 R5, el comando Session se ha extendido a la conexión Cliente/Servidor y al procedimiento almacenado.
Capa de red QUIC: actualización automática y modo de espera
Nuestro desarrollo de la capa de red QUIC continúa, y con 4D 20 R4, ahora tenemos el modo dormido y la actualización automática. Demos un vistazo más de cerca a estas mejoras y veamos cómo se comparan con el funcionamiento de otras capas de red.
Activar QUIC Layer desde los Ajustes de Estructura, Usuario y Base de Datos
En 4D v20 beta, nos entusiasmó mostrarle nuestro trabajo en la nueva capa de red QUIC. Como la capa está todavía en la versión beta, la hemos desactivado para la versión final LTS. La capa QUIC estará disponible en los lanzamientos de funcionalidades, para que pueda seguir su desarrollo y ayudarnos a mejorarla.
Mientras que 4D v20 sólo permitía cambiar de capa de red en las aplicaciones interpretadas y obligaba a una nueva compilación para las aplicaciones motorizadas, 4D v20 R2 permite cambiar de capa en las aplicaciones compiladas/compiladas a través de los ajustes de estructura, usuario y base de datos para facilitar las pruebas incluso en producción.
Contacto con nosotros
¿Tiene alguna pregunta, sugerencia o simplemente quiere ponerse en contacto con los bloggers de 4D? Escríbenos.
* Su privacidad es muy importante para nosotros. Haga clic aquí para ver nuestra Política
