SlideShare a Scribd company logo
1 of 5
Download to read offline
Servidor
Push 2018
El presente documento nace de una investigación a la funcionalidad de
whatsapp, y su arquitectura de enviar mensajes y notificaciones.
Jonathan
Andrade o.
RoadTrack – Jonathan AndradeO.
Contenido
Tecnología Push ............................................................................................................................................3
Servidor.................................................................................................................................................3
Comunicación........................................................................................................................................3
Libreria ..................................................................................................................................................3
Cliente...................................................................................................................................................4
Arquitectura Push .........................................................................................................................................4
Funcionamineto............................................................................................................................................5
RoadTrack – Jonathan AndradeO.
Tecnología Push
Servidor
Ejabberd
Integración de back-end con API REST y herramienta de línea de comandos
ejabberdctl; bibliotecas móviles para iOS: XMPPFramework, Jayme REST API; bibliotecas
móviles para Android: Smack, Retrofit; biblioteca web con soporte WebSocket y respaldo
para soporte de BOSH: Strophe; Concurrencia masiva: 2 000 000 usuarios en 1 nodo.
Ejabberd simplifica la administración crítica a través de un módulo de administración
personalizable y fácil de usar para los administradores.
Mensajería simple, Intercambiar mensajes, cifrados de extremo a extremo; ni whatsapp, ni terceras
personas pueden leerlos, servidor de chat, servicio de mensajería instantánea, notificaciones
automáticas e interfaces móviles.
No se pierde ningún mensaje: para cada mensaje, el servidor XMPP verifica el estado de la entrega con
un acuse de recibo proporcionado por la aplicación móvil.
Mensajes copiados de carbono: el usuario final puede leer todas sus conversaciones en cada dispositivo.
Referencia:
https://www.process-one.net/en/ejabberd/
Comunicación
Reverse Proxy Apache
Además de ser un servidor web "básico" y proporcionar contenido estático y dinámico a los usuarios
finales, Apache httpd (al igual que la mayoría de los otros servidores web) también puede actuar como
un servidor proxy inverso, también conocido como una "puerta de enlace" "servidor".
Como httpd recibe una solicitud de un cliente, la solicitud se envía a uno de estos servidores backend,
que luego maneja la solicitud, genera el contenido y luego lo envía a httpd, que luego genera la
respuesta HTTP real al cliente.
Referencia:
https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html
Libreria
Strophe
Es una colección de bibliotecas para hablar el protocolo XMPP. Si bien la mayoría de las bibliotecas e
implementaciones de XMPP se centran en aplicaciones basadas en chat, Strophe tiene una vista más
amplia. Se ha utilizado para implementar juegos en tiempo real, sistemas de notificación, motores de
búsqueda, así como la mensajería instantánea tradicional.
RoadTrack – Jonathan AndradeO.
Strophe.js es una implementación de JavaScript dirigida a clientes basados en navegador. Utiliza BOSH,
un enlace de XMPP a HTTP utilizando sondeo largo y WebSockets, una conexión de socket único de
dúplex completo a un servidor. Strophe.js facilita la creación de aplicaciones web en tiempo real.
Referencia:
http://strophe.im/strophejs/
Cliente
XMPP
Un cliente XMPP es cualquier software o aplicación que le permite conectarse a un XMPP para
mensajería instantánea con otras personas a través de Internet. Hay muchos clientes gratuitos que
puede usar para hacer esto, para muchos dispositivos y sistemas operativos diferentes.
Nota: El siguiente software no fue desarrollado por XMPP Standards Foundation y no ha sido probado
formalmente para el cumplimiento de normas, usabilidad, confiabilidad o desempeño.
Las especificaciones principales para XMPP se desarrollan en Internet Engineering Task Force (IETF) -
vea RFC 6120, RFC 6121 y RFC 7622 (junto con un enlace WebSocket definido en RFC 7395).
La XMPP Standards Foundation desarrolla extensiones para XMPP en su serie XEP.
 Envio de anuncios a clientes conectados, no conectados.
 Localizacion, Push subcribirse, entre otros extensiones.
Referencias:
https://xmpp.org/software/clients.html
https://xmpp.org/extensions/
Arquitectura Push
Gran parte de los cortafuegos están configurados para permitir el paso del tráfico TCP dirigido al
puerto usado por el protocolo HTTP, mientras que por lo general se bloquea el puerto utilizado por
XMPP. Para solucionar este problema, XMPP utiliza HTTP para permitir el acceso a los usuarios que
se encuentran tras cortafuegos. En las especificaciones originales, XMPP podía utilizar HTTP de dos
formas:
 Polling:Ya no está en uso, básicamente se trataba de utilizar las funciones 'GET' y 'POST' de
HTTP para enviar los mensajes al servidor a intervalos de tiempo regulares.
 Binding: Con este método, el cliente utiliza conexiones HTTP de vida más larga para recibir los
mensajes tan pronto como son enviados. Este modelo es más eficiente que el de polling.
 WebSocket es una tecnología que proporciona un canal de comunicación bidireccional y full-
duplex sobre un único socket TCP. Está diseñada para ser implementada en navegadores y
servidores web, pero puede utilizarse por cualquier aplicación cliente/servidor.
Referencias:
https://es.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol
RoadTrack – Jonathan AndradeO.
Funcionamineto
https://www.slideshare.net/theconsumista/whatsapp-como-herramienta-de-marketing-para-empresas-
alfonso-alvarez-y-marga-orero-para-aulacm

More Related Content

Similar to Servidor push

Hacia La Web Sincrona
Hacia La Web SincronaHacia La Web Sincrona
Hacia La Web SincronaIrontec
 
Toplogia de internet trabajo
Toplogia de internet  trabajoToplogia de internet  trabajo
Toplogia de internet trabajoluis11061992
 
13.Servidor HTTP
13.Servidor HTTP13.Servidor HTTP
13.Servidor HTTParlett09
 
Desarrolo de un videojuego multijugador usando arquitectura Cliente-Servidor
Desarrolo de un videojuego multijugador usando arquitectura Cliente-ServidorDesarrolo de un videojuego multijugador usando arquitectura Cliente-Servidor
Desarrolo de un videojuego multijugador usando arquitectura Cliente-ServidorJhonatan Telmo Luis Visitacion
 
WEB SCRAPING & API REST
 WEB SCRAPING & API REST WEB SCRAPING & API REST
WEB SCRAPING & API RESTCharly Graf Q
 
Analizadores de Protocolos
Analizadores de ProtocolosAnalizadores de Protocolos
Analizadores de ProtocolosMilton Muñoz
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIker Canarias
 
Práctica no 1.1 Introducción al análisis de protocolos con Wireshark
Práctica no 1.1 Introducción al análisis de protocolos con WiresharkPráctica no 1.1 Introducción al análisis de protocolos con Wireshark
Práctica no 1.1 Introducción al análisis de protocolos con WiresharkFrancisco Medina
 
Que es un snifer a
Que es un snifer  aQue es un snifer  a
Que es un snifer aTensor
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Iniciativa Barcelona Open Data
 

Similar to Servidor push (20)

Hacia La Web Sincrona
Hacia La Web SincronaHacia La Web Sincrona
Hacia La Web Sincrona
 
Toplogia de internet trabajo
Toplogia de internet  trabajoToplogia de internet  trabajo
Toplogia de internet trabajo
 
Taller iii corte
Taller iii corteTaller iii corte
Taller iii corte
 
Computacion 1
Computacion 1Computacion 1
Computacion 1
 
13.Servidor HTTP
13.Servidor HTTP13.Servidor HTTP
13.Servidor HTTP
 
Desarrolo de un videojuego multijugador usando arquitectura Cliente-Servidor
Desarrolo de un videojuego multijugador usando arquitectura Cliente-ServidorDesarrolo de un videojuego multijugador usando arquitectura Cliente-Servidor
Desarrolo de un videojuego multijugador usando arquitectura Cliente-Servidor
 
Actividad5
Actividad5Actividad5
Actividad5
 
Dinamicas
DinamicasDinamicas
Dinamicas
 
WEB SCRAPING & API REST
 WEB SCRAPING & API REST WEB SCRAPING & API REST
WEB SCRAPING & API REST
 
02 mirth connect start up
02 mirth connect start up02 mirth connect start up
02 mirth connect start up
 
Analizadores de Protocolos
Analizadores de ProtocolosAnalizadores de Protocolos
Analizadores de Protocolos
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP Apache
 
Contenido sara
Contenido saraContenido sara
Contenido sara
 
Servidor http
Servidor httpServidor http
Servidor http
 
Práctica no 1.1 Introducción al análisis de protocolos con Wireshark
Práctica no 1.1 Introducción al análisis de protocolos con WiresharkPráctica no 1.1 Introducción al análisis de protocolos con Wireshark
Práctica no 1.1 Introducción al análisis de protocolos con Wireshark
 
Introducción a SignalR
Introducción a SignalRIntroducción a SignalR
Introducción a SignalR
 
Que es un snifer a
Que es un snifer  aQue es un snifer  a
Que es un snifer a
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
 
Introduccion SignalR
Introduccion SignalRIntroduccion SignalR
Introduccion SignalR
 
Ale
AleAle
Ale
 

More from Jonathan Andrade

Importancia del derecho informático y relacion entre el el derecho y la infor...
Importancia del derecho informático y relacion entre el el derecho y la infor...Importancia del derecho informático y relacion entre el el derecho y la infor...
Importancia del derecho informático y relacion entre el el derecho y la infor...Jonathan Andrade
 
Excepciones mentefacto, mapa excepciones
Excepciones mentefacto, mapa excepcionesExcepciones mentefacto, mapa excepciones
Excepciones mentefacto, mapa excepcionesJonathan Andrade
 
Áreas en las que se aplican/utilizan las TIC
Áreas en las que se aplican/utilizan las TIC Áreas en las que se aplican/utilizan las TIC
Áreas en las que se aplican/utilizan las TIC Jonathan Andrade
 
Arquitectura interna del computador
Arquitectura interna del computadorArquitectura interna del computador
Arquitectura interna del computadorJonathan Andrade
 
Sincronización de procesos(introduccion)
Sincronización de procesos(introduccion)Sincronización de procesos(introduccion)
Sincronización de procesos(introduccion)Jonathan Andrade
 

More from Jonathan Andrade (7)

Importancia del derecho informático y relacion entre el el derecho y la infor...
Importancia del derecho informático y relacion entre el el derecho y la infor...Importancia del derecho informático y relacion entre el el derecho y la infor...
Importancia del derecho informático y relacion entre el el derecho y la infor...
 
Excepciones mentefacto, mapa excepciones
Excepciones mentefacto, mapa excepcionesExcepciones mentefacto, mapa excepciones
Excepciones mentefacto, mapa excepciones
 
Cuestión de dignidad
Cuestión de dignidadCuestión de dignidad
Cuestión de dignidad
 
Áreas en las que se aplican/utilizan las TIC
Áreas en las que se aplican/utilizan las TIC Áreas en las que se aplican/utilizan las TIC
Áreas en las que se aplican/utilizan las TIC
 
conceptos informaticos
conceptos informaticosconceptos informaticos
conceptos informaticos
 
Arquitectura interna del computador
Arquitectura interna del computadorArquitectura interna del computador
Arquitectura interna del computador
 
Sincronización de procesos(introduccion)
Sincronización de procesos(introduccion)Sincronización de procesos(introduccion)
Sincronización de procesos(introduccion)
 

Servidor push

  • 1. Servidor Push 2018 El presente documento nace de una investigación a la funcionalidad de whatsapp, y su arquitectura de enviar mensajes y notificaciones. Jonathan Andrade o.
  • 2. RoadTrack – Jonathan AndradeO. Contenido Tecnología Push ............................................................................................................................................3 Servidor.................................................................................................................................................3 Comunicación........................................................................................................................................3 Libreria ..................................................................................................................................................3 Cliente...................................................................................................................................................4 Arquitectura Push .........................................................................................................................................4 Funcionamineto............................................................................................................................................5
  • 3. RoadTrack – Jonathan AndradeO. Tecnología Push Servidor Ejabberd Integración de back-end con API REST y herramienta de línea de comandos ejabberdctl; bibliotecas móviles para iOS: XMPPFramework, Jayme REST API; bibliotecas móviles para Android: Smack, Retrofit; biblioteca web con soporte WebSocket y respaldo para soporte de BOSH: Strophe; Concurrencia masiva: 2 000 000 usuarios en 1 nodo. Ejabberd simplifica la administración crítica a través de un módulo de administración personalizable y fácil de usar para los administradores. Mensajería simple, Intercambiar mensajes, cifrados de extremo a extremo; ni whatsapp, ni terceras personas pueden leerlos, servidor de chat, servicio de mensajería instantánea, notificaciones automáticas e interfaces móviles. No se pierde ningún mensaje: para cada mensaje, el servidor XMPP verifica el estado de la entrega con un acuse de recibo proporcionado por la aplicación móvil. Mensajes copiados de carbono: el usuario final puede leer todas sus conversaciones en cada dispositivo. Referencia: https://www.process-one.net/en/ejabberd/ Comunicación Reverse Proxy Apache Además de ser un servidor web "básico" y proporcionar contenido estático y dinámico a los usuarios finales, Apache httpd (al igual que la mayoría de los otros servidores web) también puede actuar como un servidor proxy inverso, también conocido como una "puerta de enlace" "servidor". Como httpd recibe una solicitud de un cliente, la solicitud se envía a uno de estos servidores backend, que luego maneja la solicitud, genera el contenido y luego lo envía a httpd, que luego genera la respuesta HTTP real al cliente. Referencia: https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html Libreria Strophe Es una colección de bibliotecas para hablar el protocolo XMPP. Si bien la mayoría de las bibliotecas e implementaciones de XMPP se centran en aplicaciones basadas en chat, Strophe tiene una vista más amplia. Se ha utilizado para implementar juegos en tiempo real, sistemas de notificación, motores de búsqueda, así como la mensajería instantánea tradicional.
  • 4. RoadTrack – Jonathan AndradeO. Strophe.js es una implementación de JavaScript dirigida a clientes basados en navegador. Utiliza BOSH, un enlace de XMPP a HTTP utilizando sondeo largo y WebSockets, una conexión de socket único de dúplex completo a un servidor. Strophe.js facilita la creación de aplicaciones web en tiempo real. Referencia: http://strophe.im/strophejs/ Cliente XMPP Un cliente XMPP es cualquier software o aplicación que le permite conectarse a un XMPP para mensajería instantánea con otras personas a través de Internet. Hay muchos clientes gratuitos que puede usar para hacer esto, para muchos dispositivos y sistemas operativos diferentes. Nota: El siguiente software no fue desarrollado por XMPP Standards Foundation y no ha sido probado formalmente para el cumplimiento de normas, usabilidad, confiabilidad o desempeño. Las especificaciones principales para XMPP se desarrollan en Internet Engineering Task Force (IETF) - vea RFC 6120, RFC 6121 y RFC 7622 (junto con un enlace WebSocket definido en RFC 7395). La XMPP Standards Foundation desarrolla extensiones para XMPP en su serie XEP.  Envio de anuncios a clientes conectados, no conectados.  Localizacion, Push subcribirse, entre otros extensiones. Referencias: https://xmpp.org/software/clients.html https://xmpp.org/extensions/ Arquitectura Push Gran parte de los cortafuegos están configurados para permitir el paso del tráfico TCP dirigido al puerto usado por el protocolo HTTP, mientras que por lo general se bloquea el puerto utilizado por XMPP. Para solucionar este problema, XMPP utiliza HTTP para permitir el acceso a los usuarios que se encuentran tras cortafuegos. En las especificaciones originales, XMPP podía utilizar HTTP de dos formas:  Polling:Ya no está en uso, básicamente se trataba de utilizar las funciones 'GET' y 'POST' de HTTP para enviar los mensajes al servidor a intervalos de tiempo regulares.  Binding: Con este método, el cliente utiliza conexiones HTTP de vida más larga para recibir los mensajes tan pronto como son enviados. Este modelo es más eficiente que el de polling.  WebSocket es una tecnología que proporciona un canal de comunicación bidireccional y full- duplex sobre un único socket TCP. Está diseñada para ser implementada en navegadores y servidores web, pero puede utilizarse por cualquier aplicación cliente/servidor. Referencias: https://es.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol
  • 5. RoadTrack – Jonathan AndradeO. Funcionamineto https://www.slideshare.net/theconsumista/whatsapp-como-herramienta-de-marketing-para-empresas- alfonso-alvarez-y-marga-orero-para-aulacm