Arquitectura en Tiempo Real
ChurchApps usa un único marco de entrega basado en WebSocket para cada superficie en tiempo real -- chat de grupo, mensajes privados, notas de contenido, chat de transmisión en vivo y presencia/asistencia.
Descripción General
El protocolo tiene tres piezas:
- Un WebSocket persistente por pestaña del navegador.
- Filas de conexión registradas en la tabla
connections. - Fan-out del lado del servidor por
DeliveryHelper.sendConversationMessages().
Primitivas del Cliente
Todos los primitivos son singletons estáticos. Cooperan para que cada pestaña abra un único WebSocket.
- SocketHelper -- Posee la conexión WebSocket
- SubscriptionManager -- Membresía de sala
- ConversationStore -- Caché en memoria
- PresenceStore -- Espeja el patrón de ConversationStore
- NotificationService -- Arranque para llamantes autenticados