SlideShare una empresa de Scribd logo
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

Más contenido relacionado

Similar a 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 trabajo
luis11061992
 
Computacion 1
Computacion 1Computacion 1
Computacion 1
jose salazar
 
13.Servidor HTTP
13.Servidor HTTP13.Servidor HTTP
13.Servidor HTTP
arlett09
 
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
Jhonatan Telmo Luis Visitacion
 
Actividad5
Actividad5Actividad5
Actividad5
Nattis Montañez
 
WEB SCRAPING & API REST
 WEB SCRAPING & API REST WEB SCRAPING & API REST
WEB SCRAPING & API REST
Charly Graf Q
 
02 mirth connect start up
02 mirth connect start up02 mirth connect start up
02 mirth connect start up
Mandirola, Humberto
 
Analizadores de Protocolos
Analizadores de ProtocolosAnalizadores de Protocolos
Analizadores de Protocolos
Milton Muñoz
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP Apache
Iker Canarias
 
Contenido sara
Contenido saraContenido sara
Contenido sara
Juan Álvarez
 
Servidor http
Servidor httpServidor http
Servidor http
Juan Manuel Vega
 
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
Francisco Medina
 
Introducción a SignalR
Introducción a SignalRIntroducción a SignalR
Introducción a SignalR
Mariano Sánchez
 
Que es un snifer a
Que es un snifer  aQue es un snifer  a
Que es un snifer a
Tensor
 
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
 
Introduccion SignalR
Introduccion SignalRIntroduccion SignalR
Introduccion SignalR
Diego Juez Lasarte
 
Internet Explorer
Internet ExplorerInternet Explorer
Internet Explorer
vico.com
 

Similar a 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
 
Internet Explorer
Internet ExplorerInternet Explorer
Internet Explorer
 

Más de 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 excepciones
Jonathan 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
 

Más de 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)
 

Último

Agència Bombó Magazine
Agència Bombó MagazineAgència Bombó Magazine
Agència Bombó Magazine
JaimeSamuelJustinian
 
Inteligencia Artificial para emprender.pdf
Inteligencia Artificial para emprender.pdfInteligencia Artificial para emprender.pdf
Inteligencia Artificial para emprender.pdf
RevistaMuyU
 
Flujograma de gestión de pedidos de usuarios
Flujograma de gestión de pedidos de usuariosFlujograma de gestión de pedidos de usuarios
Flujograma de gestión de pedidos de usuarios
minerlovgamer
 
AGENCIAS DE PUBLICIDAD MAS FAMOSAS DE MEXICO
AGENCIAS DE PUBLICIDAD MAS FAMOSAS  DE MEXICOAGENCIAS DE PUBLICIDAD MAS FAMOSAS  DE MEXICO
AGENCIAS DE PUBLICIDAD MAS FAMOSAS DE MEXICO
AlmaCeciliaPrezSille
 
Que son las AI (Inteligencia Artificial)
Que son las AI (Inteligencia Artificial)Que son las AI (Inteligencia Artificial)
Que son las AI (Inteligencia Artificial)
Felipe Vásquez
 
Marketing Digital - Tema 4 de fundamentos del marketing
Marketing Digital - Tema 4 de fundamentos del marketingMarketing Digital - Tema 4 de fundamentos del marketing
Marketing Digital - Tema 4 de fundamentos del marketing
Renato524351
 
Flexeserve en Southlake, Dallas, Texas - Introducción
Flexeserve en Southlake, Dallas, Texas - IntroducciónFlexeserve en Southlake, Dallas, Texas - Introducción
Flexeserve en Southlake, Dallas, Texas - Introducción
RicardoCarcach
 
COMPORTAMIENTO DEL CONSUMIDOR-EQUIPO 5.pdf
COMPORTAMIENTO DEL CONSUMIDOR-EQUIPO 5.pdfCOMPORTAMIENTO DEL CONSUMIDOR-EQUIPO 5.pdf
COMPORTAMIENTO DEL CONSUMIDOR-EQUIPO 5.pdf
RUIZMendozaMariam
 

Último (8)

Agència Bombó Magazine
Agència Bombó MagazineAgència Bombó Magazine
Agència Bombó Magazine
 
Inteligencia Artificial para emprender.pdf
Inteligencia Artificial para emprender.pdfInteligencia Artificial para emprender.pdf
Inteligencia Artificial para emprender.pdf
 
Flujograma de gestión de pedidos de usuarios
Flujograma de gestión de pedidos de usuariosFlujograma de gestión de pedidos de usuarios
Flujograma de gestión de pedidos de usuarios
 
AGENCIAS DE PUBLICIDAD MAS FAMOSAS DE MEXICO
AGENCIAS DE PUBLICIDAD MAS FAMOSAS  DE MEXICOAGENCIAS DE PUBLICIDAD MAS FAMOSAS  DE MEXICO
AGENCIAS DE PUBLICIDAD MAS FAMOSAS DE MEXICO
 
Que son las AI (Inteligencia Artificial)
Que son las AI (Inteligencia Artificial)Que son las AI (Inteligencia Artificial)
Que son las AI (Inteligencia Artificial)
 
Marketing Digital - Tema 4 de fundamentos del marketing
Marketing Digital - Tema 4 de fundamentos del marketingMarketing Digital - Tema 4 de fundamentos del marketing
Marketing Digital - Tema 4 de fundamentos del marketing
 
Flexeserve en Southlake, Dallas, Texas - Introducción
Flexeserve en Southlake, Dallas, Texas - IntroducciónFlexeserve en Southlake, Dallas, Texas - Introducción
Flexeserve en Southlake, Dallas, Texas - Introducción
 
COMPORTAMIENTO DEL CONSUMIDOR-EQUIPO 5.pdf
COMPORTAMIENTO DEL CONSUMIDOR-EQUIPO 5.pdfCOMPORTAMIENTO DEL CONSUMIDOR-EQUIPO 5.pdf
COMPORTAMIENTO DEL CONSUMIDOR-EQUIPO 5.pdf
 

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