Aplicaciones en tiempo real con push del servidor
La mayoría de las pantallas de gestión esperan a que el usuario pulse Actualizar. Este curso te enseña a crear aplicaciones Wisej.NET que se actualizan solas, enviando los cambios del servidor a cada navegador conectado en el instante en que ocurre algo, todo ello en torno al realista proyecto TicketOps Live. Siete módulos tratan la arquitectura web en tiempo real, el contexto de la aplicación y el ciclo de vida de la sesión, el push del servidor para una sola sesión con tareas en segundo plano, los temporizadores y el sondeo de respaldo para la cadencia de actualización, el enlace de datos en vivo y las cuadrículas en tiempo real, y el push multiusuario mediante servicios y hubs de eventos, antes de reforzarlo todo para producción y entregar el proyecto final. Está pensado para desarrolladores que dominan lo básico y quieren aplicar push por WebSocket, trabajo en segundo plano y datos en vivo al estilo de Wisej.NET.
Push por WebSocket, tareas en segundo plano, sondeo de respaldo y enlace de datos en vivo para aplicaciones Wisej.NET que se actualizan solas, sobre el proyecto TicketOps Live.
- Nivel: Intermediate
- Duración: 8 h
- Módulos: 7
Temario
Módulo 1: Arquitectura web en tiempo real en Wisej.NET
Módulo 1 de Aplicaciones en tiempo real con push del servidor, el itinerario de tiempo real de Wisej.NET. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado «Push por WebSocket frente a sondeo: construye el modelo mental», supera la evaluación de conocimientos y completa el laboratorio práctico en TicketOps Live.
- LecturaGuía de la lección · 14 min
Arquitectura en tiempo real dirigida por el servidor: push por WebSocket, actualizaciones dentro de la petición y polling como alternativa en el modelo del lado del servidor de Wisej.NET. El concepto, el modelo mental y los errores habituales en producción: léelo antes del laboratorio.
- LecturaGuía del laboratorio / examen · 10 min
Qué construirás en el laboratorio práctico, las tareas, la implementación sugerida y los criterios de aceptación.
- Lección en vídeoPush por WebSocket frente a sondeo: construye el modelo mental · 13 min
Push por WebSocket frente a sondeo: construye el modelo mental — un recorrido guiado del Módulo 1 que puedes seguir aquí mismo, en el reproductor.
Transcripción de la narración
Utilice TicketOps Live para examinar cómo una pantalla de operaciones recibe cambios. La distinción importante es qué desencadena una actualización, porque eso determina si el navegador debe solicitarla.
El servidor es propietario de los controles y de su estado; el navegador presenta sus widgets. Wisej.NET sincroniza los cambios entre ellos, lo que permite que el trabajo en segundo plano proporcione actualizaciones visibles a través de WebSocket.
Durante una solicitud de botón, cambie la etiqueta normalmente. Wisej.NET incluye ese cambio en su respuesta, por lo que una llamada de actualización explícita sería innecesaria para esta acción vinculada a la solicitud.
El trabajo en segundo plano no tiene respuesta de botón pendiente para realizar sus cambios. Después de actualizar los controles en la tarea de sesión, envíe explícitamente los cambios a través de la conexión WebSocket existente.
Compare el clic con la secuencia de fondo. Se viaja con una petición respuesta; el otro llega a medida que avanza el trabajo, mientras que las encuestas proporcionan un respaldo cuando WebSocket no está disponible.
Elija un mecanismo por su disparador. Las respuestas de solicitud siguen las acciones del usuario, la inserción sigue los eventos del servidor y el sondeo verifica repetidamente incluso cuando no ha ocurrido ningún evento nuevo.
Agregue conexión y actualice el estado a la consola. Explique los mecanismos seleccionados en la nota de arquitectura para que los usuarios y mantenedores puedan saber cómo llega la información actual a la pantalla.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo TicketOpsLive de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 1 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Construye la página de estado en vivo · 45 min
Objetivo: Crea la primera pantalla de TicketOps Live: una página con una franja de estado en directo, una etiqueta de reloj, un indicador de progreso y un heartbeat simulado del servidor que actualiza el navegador sin que el usuario haga clic. Criterios de aceptación: La interfaz se actualiza una vez por segundo después de que el estudiante haga clic en Start; El navegador muestra los cambios sin clics adicionales; Stop desactiva el bucle en menos de un segundo; Pulsar Start dos veces no crea dos bucles que compitan entre sí; El código comprueba si la página se ha liberado (disposed).
Módulo 2: Contexto de la aplicación, sesiones y ciclo de vida
Módulo 2 de Aplicaciones en tiempo real con push del servidor, el itinerario de tiempo real de Wisej.NET. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado «¿De quién es la interfaz? Sesiones, contexto, salida y tiempo de espera», supera la evaluación de conocimientos y completa el laboratorio práctico en TicketOps Live.
- LecturaGuía de la lección · 14 min
Sesiones, contexto de aplicación y ciclo de vida: sé dueño de la interfaz del usuario correcto, evita la trampa de los campos estáticos y limpia al salir y al expirar la sesión. El concepto, el modelo mental y los errores habituales en producción: léelo antes del laboratorio.
- LecturaGuía del laboratorio / examen · 10 min
Qué construirás en el laboratorio práctico, las tareas, la implementación sugerida y los criterios de aceptación.
- Lección en vídeo¿De quién es la interfaz? Sesiones, contexto, salida y tiempo de espera · 13 min
¿De quién es la interfaz? Sesiones, contexto, salida y tiempo de espera — un recorrido guiado del Módulo 2 que puedes seguir aquí mismo, en el reproductor.
Transcripción de la narración
Abra el ejemplo en dos pestañas del navegador para separar la identidad de la propiedad de la sesión. El mismo usuario que inició sesión puede tener instancias de interfaz distintas que no deben compartir estados accidentales.
Distinga el usuario, la sesión, el hilo de ejecución, el contexto de la aplicación y el servicio compartido. Un hilo puede servir a diferentes eventos; no es el objeto el que posee los controles de un usuario.
Organice las etiquetas de sesión, la lista del ciclo de vida y los comandos en el Diseñador. Los nombres de control significativos ayudan a conectar cada diagnóstico visible con su controlador al inspeccionar el código del ciclo de vida.
Muestra los identificadores de sesión y de hilo juntos. Una sesión estable junto con subprocesos cambiantes hace visibles sus diferentes tiempos de vida y explica por qué la identidad del subproceso no puede identificar al propietario de la interfaz.
Capture el contexto de la aplicación cuando se carga la página y utilícelo para actualizaciones posteriores. Guarde los controles eliminados y cancele la suscripción al salir para que las devoluciones de llamadas en segundo plano no sobrevivan a su propietario.
Compare los registros del ciclo de vida en ambas pestañas. Al cerrar uno, se libera su suscripción mientras el otro continúa, lo que demuestra que la limpieza se realiza en una sesión en lugar de un cierre global.
Coloque cada valor con su propietario real. Los controles y servicios de sesión mantienen el estado de la sesión; Los servicios compartidos globalmente no deben almacenar un usuario actual en campos estáticos.
Cree el inspector y escriba una regla de limpieza para cada suscripción y tarea. El registro resultante debería hacer comprensible tanto la creación como la publicación del trabajo propiedad de la sesión.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo TicketOpsLive de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 2 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Construye un inspector de sesión y un registro del ciclo de vida · 45 min
Objetivo: Añade un panel de diagnóstico que ayude al desarrollador a ver la sesión actual, el contexto de aplicación, los datos del navegador y los eventos del ciclo de vida relevantes para las actualizaciones en tiempo real. Criterios de aceptación: El contador es específico de la sesión, no estático; Una actualización en segundo plano modifica la sesión del navegador correcta; El panel de diagnóstico muestra cuándo llega la actualización en segundo plano; El estudiante sabe explicar qué ocurre después de una recarga y después de que expire la sesión.
Módulo 3: Push del servidor para una sesión con tareas en segundo plano
Módulo 3 de Aplicaciones en tiempo real con push del servidor, el itinerario de tiempo real de Wisej.NET. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado «Progreso sin actualizar: monitor de importación en segundo plano», supera la evaluación de conocimientos y completa el laboratorio práctico en TicketOps Live.
- LecturaGuía de la lección · 14 min
Push para una sola sesión: saca el trabajo largo del manejador del clic, informa del progreso, admite la cancelación cooperativa y restaura la interfaz en finally. El concepto, el modelo mental y los errores habituales en producción: léelo antes del laboratorio.
- LecturaGuía del laboratorio / examen · 10 min
Qué construirás en el laboratorio práctico, las tareas, la implementación sugerida y los criterios de aceptación.
- Lección en vídeoProgreso sin actualizar: monitor de importación en segundo plano · 13 min
Progreso sin actualizar: monitor de importación en segundo plano — un recorrido guiado del Módulo 3 que puedes seguir aquí mismo, en el reproductor.
Transcripción de la narración
Mueva la importación larga a una tarea propiedad de su sesión. La página puede seguir respondiendo mientras llega el progreso, en lugar de hacer que el usuario espere una solicitud larga.
Trate la operación como un ciclo de vida: prepare los controles y la cancelación, inicie la tarea, informe el progreso limitado y restaure la interfaz al finalizar. Cada salida necesita la misma limpieza.
Cree el monitor con progreso, recuentos, historial y comandos explícitos. Estos controles responden a diferentes preguntas: hasta dónde ha avanzado el trabajo, qué sucedió y qué puede hacer el usuario a continuación.
Cree un estado de cancelación antes de iniciar la tarea de la sesión y luego regrese del clic. Esto le da al navegador control nuevamente mientras la operación continúa en el contexto de aplicación correcto.
Consulta de cancelación de forma cooperativa dentro del bucle. Actualizar el progreso interno por registro pero transmitir cada diez registros; detectar fallas y restaurar controles en finally para que ningún resultado deje el inicio deshabilitado.
Observe la falla simulada después de las actualizaciones de progreso en vivo. Registre los detalles del diagnóstico por separado del mensaje de usuario seguro y luego restaure el Inicio para que la operación fallida se pueda recuperar desde la interfaz.
Agrupe los cambios visibles y limite las transmisiones de progreso, pero envíe la finalización inmediatamente. Los usuarios necesitan un resultado final confiable más que una actualización de red separada para cada registro procesado.
Cancelación de la prueba, fallo deliberado, tiempo transcurrido y resumen final en el monitor completado. Cada ruta debe finalizar con un estado comprensible y controles listos para la siguiente acción.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo TicketOpsLive de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 3 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Construye un monitor de importación en segundo plano · 45 min
Objetivo: Añade a TicketOps Live un panel de importación de larga duración realista. El usuario puede iniciar una importación, seguir su progreso, cancelarla y examinar el resultado. Criterios de aceptación: Las actualizaciones de progreso aparecen mientras la operación está en curso; La cancelación funciona y deja la interfaz utilizable; El fallo se notifica sin exponer stack traces en bruto; La actualización final siempre llega al navegador cuando la sesión sigue viva; El código no hace más push del necesario.
Módulo 4: Temporizadores, sondeo de respaldo y cadencia de actualización
Módulo 4 de Aplicaciones en tiempo real con push del servidor, el itinerario de tiempo real de Wisej.NET. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado «Cuando el push no basta: cadencia, temporizadores y alternativas de respaldo», supera la evaluación de conocimientos y completa el laboratorio práctico en TicketOps Live.
- LecturaGuía de la lección · 14 min
Cadencia de actualización y alternativas: elige entre push, temporizadores y polling, agrupa las ráfagas y gestiona el ciclo de vida de los temporizadores por sesión. El concepto, el modelo mental y los errores habituales en producción: léelo antes del laboratorio.
- LecturaGuía del laboratorio / examen · 10 min
Qué construirás en el laboratorio práctico, las tareas, la implementación sugerida y los criterios de aceptación.
- Lección en vídeoCuando el push no basta: cadencia, temporizadores y alternativas de respaldo · 13 min
Cuando el push no basta: cadencia, temporizadores y alternativas de respaldo — un recorrido guiado del Módulo 4 que puedes seguir aquí mismo, en el reproductor.
Transcripción de la narración
Elija una frecuencia de actualización que sirva para el evento empresarial. Hacer que cada cambio interno sea visible de inmediato puede consumir recursos sin ayudar a la persona que lee la pantalla.
Haga coincidir el mecanismo con el trabajo: pulsación para eventos, un temporizador Wisej.NET para actualizaciones periódicas y una tarea para una sola operación. Las encuestas siguen siendo una alternativa cuando es necesario.
Cree controles de intervalo junto con etiquetas de estado visibles. Mostrar la estrategia seleccionada permite conectar la configuración de un usuario con el comportamiento de actualización resultante.
Aplique el intervalo elegido al temporizador mientras aplica el mínimo. La casilla de verificación de sondeo controla si se ejecutan solicitudes repetidas, lo que convierte a este recurso en una opción operativa explícita.
Deje que los eventos entrantes marquen los datos como sucios y luego actualice una vez por cada ciclo del temporizador. Esto combina una serie de cambios de modelo en una útil actualización de interfaz.
Compare los intervalos de actualización mostrados y sus compensaciones de recursos. Una retroalimentación más rápida genera más trabajo; una retroalimentación más lenta puede parecer obsoleta, mientras que el sondeo conserva la entrega cuando desaparece WebSocket.
Mantenga los cambios de modelo, la renderización, la inserción y el sondeo en horarios distintos. Propio inicio y apagado del temporizador y evita que los ticks superpuestos creen actualizaciones simultáneas incontroladas.
Escriba una política de cadencia para tres funciones con una tasa predeterminada y máxima. Los controles y las alternativas deberían implementar esos límites deliberados en lugar de fomentar la actualización sin restricciones.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo TicketOpsLive de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 4 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Añade sondeo de respaldo y control de la cadencia · 45 min
Objetivo: Amplía TicketOps Live con un temporizador de refresco del dashboard y controles para experimentar con la cadencia de actualización. Criterios de aceptación: El cambio de cadencia del temporizador es visible; El contador de eventos recibidos puede crecer más rápido que el de actualizaciones de interfaz aplicadas; El polling se inicia y se detiene con el modo en directo; No se producen ticks del temporizador solapados; El estudiante sabe explicar por qué es útil agrupar las actualizaciones.
Módulo 5: Enlace de datos en vivo y cuadrículas en tiempo real
Módulo 5 de Aplicaciones en tiempo real con push del servidor, el itinerario de tiempo real de Wisej.NET. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado «Tablero de tickets en vivo: actualizar datos sin reconstruir la pantalla», supera la evaluación de conocimientos y completa el laboratorio práctico en TicketOps Live.
- LecturaGuía de la lección · 14 min
Enlace de datos en directo: actualiza las colecciones enlazadas en el contexto de la sesión sin volver a enlazar la cuadrícula, conservando la selección, el orden y el desplazamiento. El concepto, el modelo mental y los errores habituales en producción: léelo antes del laboratorio.
- LecturaGuía del laboratorio / examen · 10 min
Qué construirás en el laboratorio práctico, las tareas, la implementación sugerida y los criterios de aceptación.
- Lección en vídeoTablero de tickets en vivo: actualizar datos sin reconstruir la pantalla · 13 min
Tablero de tickets en vivo: actualizar datos sin reconstruir la pantalla — un recorrido guiado del Módulo 5 que puedes seguir aquí mismo, en el reproductor.
Transcripción de la narración
Mantenga visibles los cambios entrantes en los tickets sin reiniciar el trabajo del usuario. Una cuadrícula en vivo tiene éxito cuando refleja nuevos datos y al mismo tiempo preserva el contexto en el que alguien está leyendo o editando.
Modifique la colección enlazada en lugar de borrar la cuadrícula. La reconstrucción descarta la selección, el desplazamiento, la clasificación y las ediciones; Notificar a la capa de enlace permite que el estado de la pantalla existente sobreviva al cambio de datos.
Construya la cuadrícula alrededor de su fuente vinculante y agregue un indicador de cambio silencioso. Los usuarios deben notar las actualizaciones entrantes sin que un cuadro de diálogo de bloqueo interrumpa su tarea actual.
Deje que Ticket notifique cambios de propiedad y conserve las marcas de tiempo como valores de fecha reales. Las notificaciones admiten actualizaciones incrementales, mientras que las fechas escritas conservan opciones significativas de clasificación y formato.
Ingrese el contexto de la sesión capturada antes de aplicar eventos de fuente compartida. Actualice la lista de enlaces allí y notifique los enlaces una vez, manteniendo la propiedad correcta y evitando trabajos de actualización repetidos.
Siga la nueva fila y el ticket resuelto mientras la selección existente permanece. El mensaje de conflicto pide atención sin descartar el estado de la pantalla mediante una recarga.
Utilice marcadores temporales para revelar filas modificadas sin mover una edición activa. Cuando los cambios entren en conflicto, advierta al usuario y déjele decidir en lugar de reemplazar silenciosamente su trabajo.
Pruebe los cambios en vivo con una selección y un filtro de ticket abierto ya activo. El tablero debe actualizar sus datos manteniendo el lugar del usuario y el significado previsto del filtro.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo TicketOpsLive de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 5 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Construye el tablero de tickets en vivo · 45 min
Objetivo: Crea un `DataGridView` en directo que muestre tickets de soporte y se actualice cuando lleguen eventos de ticket simulados. Criterios de aceptación: Los tickets nuevos aparecen sin volver a enlazar la cuadrícula desde cero; Los tickets existentes se actualizan en su sitio; La fila seleccionada se conserva cuando la fila sigue existiendo; La frecuencia de actualización se mantiene bajo control; El estudiante sabe explicar por qué la lista enlazada pertenece a la sesión.
Módulo 6: Push multiusuario con servicios y hubs de eventos
Módulo 6 de Aplicaciones en tiempo real con push del servidor, el itinerario de tiempo real de Wisej.NET. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado «De una sesión a muchas: los eventos de TicketHub», supera la evaluación de conocimientos y completa el laboratorio práctico en TicketOps Live.
- LecturaGuía de la lección · 14 min
Push multiusuario: un hub de eventos global lanza eventos de dominio mientras cada sesión actualiza su propia interfaz en su propio contexto. El concepto, el modelo mental y los errores habituales en producción: léelo antes del laboratorio.
- LecturaGuía del laboratorio / examen · 10 min
Qué construirás en el laboratorio práctico, las tareas, la implementación sugerida y los criterios de aceptación.
- Lección en vídeoDe una sesión a muchas: los eventos de TicketHub · 13 min
De una sesión a muchas: los eventos de TicketHub — un recorrido guiado del Módulo 6 que puedes seguir aquí mismo, en el reproductor.
Transcripción de la narración
Amplíe las actualizaciones de tickets entre sesiones sin otorgarle al centro compartido la propiedad de sus pantallas. Un evento empresarial puede llegar a varios supervisores, pero cada sesión debe aplicar sus propios cambios visibles.
Mantenga controles con la página, contexto con la sesión y datos compartidos con el servicio. Almacenar formularios en el centro global mezclaría la duración y evitaría la liberación limpia de sesiones.
Cree comandos explícitos de suscripción y cancelación de suscripción junto con la lista de notificaciones y la etiqueta del tenant. Estos diagnósticos hacen visible el alcance del destinatario y la duración de la suscripción mientras se prueba el centro.
Deje que el TicketHub compartido publique eventos y proporcione instantáneas de forma segura en todos los subprocesos. No puede elegir un contexto de aplicación porque posee información compartida y no la sesión de un usuario en particular.
Capture el contexto, cargue la instantánea y gestione los eventos dentro del contexto de la sesión. Antes de modificar los controles, compruebe que no se hayan liberado y verifique los metadatos del tenant. Cancele la suscripción cuando termine el propietario de la sesión.
Compare los destinatarios cuando se publique cada evento. Las actualizaciones de Contoso y Northwind permanecen dentro de las sesiones previstas y al cerrar un suscriptor se elimina de su entrega posterior.
Lleve metadatos de enrutamiento con el evento y aplique la política de filtrado del destinatario. Cuando los eventos llegan más rápido de lo que el renderizado puede manejar, agregue contrapresión en lugar de permitir un trabajo pendiente ilimitado.
Agregue un campo de metadatos y una regla de filtrado al centro, luego documente la limpieza de la suscripción. Demuestre los destinatarios correctos y la eliminación de los destinatarios cuya sesión finalizó.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo TicketOpsLive de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 6 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Construye el TicketHub y las notificaciones multiusuario · 45 min
Objetivo: Refactoriza la simulación de tickets en un servicio global `TicketHub` y haz que varias sesiones del navegador reciban eventos de ticket en directo. Criterios de aceptación: El hub no guarda referencias a páginas ni a controles; Cada sesión actualiza su propia lista enlazada; Cerrar o recargar una sesión no deja atrás un suscriptor roto; Varias sesiones pueden mostrar filtros distintos compartiendo el mismo origen de eventos de dominio; El estudiante sabe explicar la diferencia entre difusión y actualización dirigida.
Módulo 7: Refuerzo para producción, despliegue y proyecto final
Módulo 7 de Aplicaciones en tiempo real con push del servidor, el itinerario de tiempo real de Wisej.NET. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado «Revisión de producción: de un push de demostración a una aplicación en tiempo real desplegable», supera la evaluación de conocimientos y completa el laboratorio práctico en TicketOps Live.
- LecturaGuía de la lección · 14 min
Refuerzo para producción: verifica toda la ruta WebSocket, las sticky sessions, los health checks, la seguridad y la observabilidad antes del despliegue. El concepto, el modelo mental y los errores habituales en producción: léelo antes del laboratorio.
- LecturaGuía del laboratorio / examen · 10 min
Qué construirás en el laboratorio práctico, las tareas, la implementación sugerida y los criterios de aceptación.
- Lección en vídeoRevisión de producción: de un push de demostración a una aplicación en tiempo real desplegable · 13 min
Revisión de producción: de un push de demostración a una aplicación en tiempo real desplegable — un recorrido guiado del Módulo 7 que puedes seguir aquí mismo, en el reproductor.
Transcripción de la narración
Revise TicketOps Live como un servicio implementado, no solo como una demostración exitosa. El manejo de la conexión, la propiedad de la sesión, la limpieza y el diagnóstico determinan si el comportamiento en vivo sobrevive a las condiciones operativas reales.
Verifique la compatibilidad con WebSocket en cada salto de red y conserve la afinidad de la sesión. Un punto final de servidor que funcione es insuficiente si un proxy bloquea las actualizaciones o enruta la sesión a otra instancia.
Agregue una página de Diagnóstico con etiquetas de estado actualizadas periódicamente. Los operadores necesitan una descripción visible del comportamiento actual de la aplicación en lugar de suposiciones basadas en su configuración prevista.
Procese la instantánea de estado para que el modo de transporte, las suscripciones activas y la tasa de actualización sean visibles juntos. Su relación ayuda a explicar si el retroceso o la actividad excesiva están afectando el funcionamiento.
Elija tiempos de espera, intervalos de sondeo y límites de estado para la implementación. Los entornos de capacitación ilustran las opciones, pero los valores de producción deben reflejar la carga de trabajo y la infraestructura reales.
Mire el panel de estado cuando el proxy bloquea una actualización WebSocket. El cambio al sondeo mantiene las actualizaciones disponibles y hace que el transporte degradado sea explícito en lugar de presentar una falla silenciosa.
Revise la terminación, la cancelación de la suscripción, la limitación, el contexto, el respaldo, la afinidad y la seguridad juntos. Una regla de ciclo de vida faltante puede socavar un flujo de eventos que de otro modo sería correcto una vez finalizada la demostración.
Entregar la consola con su lista de verificación completa y explicar las decisiones de propiedad. Defienda cómo las sesiones, la limpieza, la cadencia de actualización y la configuración de implementación respaldan el comportamiento que los usuarios realmente observan.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo TicketOpsLive de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 7 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Completa el proyecto final TicketOps Live listo para producción · 45 min
Objetivo: Completa TicketOps Live y prepáralo para una revisión de arquitectura de producción. Criterios de aceptación: La aplicación se ejecuta sin bucles ni suscripciones duplicados; La interfaz sigue respondiendo durante el trabajo en segundo plano; Cada operación de larga duración tiene estados de finalización, cancelación y fallo; El hub multiusuario no guarda referencias directas a páginas ni a controles; Las cuadrículas enlazadas se actualizan de forma incremental; El estudiante sabe defender todas las suposiciones de despliegue.