<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>webhook &#8211; Oscar Blancarte &#8211; Software Architecture</title>
	<atom:link href="https://www.oscarblancarteblog.com/tag/webhook/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.oscarblancarteblog.com</link>
	<description>Software Architect &#38; FullStack developer</description>
	<lastBuildDate>Mon, 11 Sep 2017 09:00:16 +0000</lastBuildDate>
	<language>es-MX</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.5.5</generator>

<image>
	<url>https://www.oscarblancarteblog.com/wp-content/uploads/2019/03/cropped-ob-32x32.png</url>
	<title>webhook &#8211; Oscar Blancarte &#8211; Software Architecture</title>
	<link>https://www.oscarblancarteblog.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">89905023</site>	<item>
		<title>Webhook una alternativa al Polling</title>
		<link>https://www.oscarblancarteblog.com/2017/09/11/webhook-una-alternativa-al-polling/</link>
					<comments>https://www.oscarblancarteblog.com/2017/09/11/webhook-una-alternativa-al-polling/#comments</comments>
		
		<dc:creator><![CDATA[oblancarte]]></dc:creator>
		<pubDate>Mon, 11 Sep 2017 09:00:16 +0000</pubDate>
				<category><![CDATA[EAI]]></category>
		<category><![CDATA[arquitectura]]></category>
		<category><![CDATA[webhook]]></category>
		<guid isPermaLink="false">https://www.oscarblancarteblog.com/?p=1845</guid>

					<description><![CDATA[<p>Los Webhook solucionan una de las problemáticas más comunes en la integración de aplicaciones, que es la obtención de actualizaciones en los sistemas de terceros, pues es difícil determinar cuándo una aplicación externa tiene nueva información de interés para nuestros sistemas. &#160; Solo imagina un escenario, tenemos una aplicación A y otra aplicación B, la [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.oscarblancarteblog.com/2017/09/11/webhook-una-alternativa-al-polling/">Webhook una alternativa al Polling</a> appeared first on <a rel="nofollow" href="https://www.oscarblancarteblog.com">Oscar Blancarte - Software Architecture</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>				<img loading="lazy" class="size-full wp-image-1847 aligncenter" src="https://www.oscarblancarteblog.com/wp-content/uploads/2017/09/banner-small.jpg" alt="Webhook una alternativa al Polling" width="1199" height="672" />Los Webhook solucionan una de las problemáticas más comunes en la integración de aplicaciones, que es la obtención de actualizaciones en los sistemas de terceros, pues es difícil determinar cuándo una aplicación externa tiene nueva información de interés para nuestros sistemas.<span id="more-1845"></span></p>
<p>&nbsp;</p>
<p>Solo imagina un escenario, tenemos una <u>aplicación A</u> y otra <u>aplicación B</u>, la aplicación B genera nueva información de forma recurrente. La aplicación B no sabe de la existencia de la aplicación A y la aplicación A requiere obtener las novedades de la aplicación B.</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-1848" src="https://www.oscarblancarteblog.com/wp-content/uploads/2017/09/1.png" alt="" width="1085" height="418" /></p>
<p>En este escenario, la aplicación A esta forzada a consultar frecuentemente por nuevas actualizaciones (Polling), lo que implica que la aplicación A no se entere al memento de los cambios, si no que tendrá que esperar a que el polling se ejecute nuevamente para obtener los nuevos datos, adicional, la aplicación B sufre un degrado en el performance, pues cada vez que la aplicación A realiza una consulta, la aplicación B tiene que buscar en la base de datos las actualizaciones, si esto lo multiplicamos por todos los posibles clientes podremos entender mejor el problema.</p>
<p>&nbsp;</p>
<h2>Webhook</h2>
<p>&nbsp;</p>
<p>Una mejor alternativa al polling tradicional, es la implementación de un Webhook, el cual consiste en crear un sistema de notificaciones mediante HTTP, para lo cual, la aplicación B permitiría que la aplicación A o cualquier otra registren una URL a cuál notificar en caso de actualizaciones. La ventaja que ofrece esta arquitectura es que la aplicación B sigue sin conocer a la aplicación A, y en su lugar solo conoce una URL a la cual deberá notificar en caso de haber actualizaciones.</p>
<p>&nbsp;</p>
<p>Cuando la aplicación B tiene nuevas actualizaciones, entonces lanza una llamada a la URL de la aplicación A. En esta llamada solo se envían los datos actualizados o un identificador para que posteriormente la aplicación A consulte todo el detalle.</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-1849" src="https://www.oscarblancarteblog.com/wp-content/uploads/2017/09/2.png" alt="Arquitectura con Webhook" width="1128" height="554" /></p>
<p>Dado que las notificaciones son por medio de HTTP, hace que sea mucho más simple la comunicación, pues cualquier servidor puede recibir la petición y procesar el mensaje, también es compatible con servicios REST.</p>
<p>&nbsp;</p>
<p>Esta arquitectura ofrece un mejor rendimiento y una actualización en tiempo real. Para empezar, la aplicación A ya no requiere realizar consultar frecuentemente para saber si hay actualizaciones, por otra parte, la aplicación B yo requiere consultar su base de datos para cada petición, en su lugar este notificará a todos los interesados como parte del proceso.</p>
<p>&nbsp;</p>
<p>También puede interesarte como notificar aplicaciones mediante un sistema de mensajería como lo JMS, que explico en el articulo <a href="https://www.oscarblancarteblog.com/2014/07/15/jms-en-las-integraciones/">JMS en las integraciones</a>.</p>
<p>&nbsp;</p>
<h2>Conclusiones</h2>
<p>&nbsp;</p>
<p>Como podemos ver, utilizar un Webhook siempre será más eficiente que utilizar los tradicionales Polling, sin embrago, un Webhook es más complicado de implementar, pues requiere de contemplar las notificaciones en cada uno de los procesos de actualización sobre el sistema origen.</p>
<p>Esto no quiere decir que no debemos de utilizar polling, ya que esta arquitectura se utiliza cuando no existe otra alternativa y el sistema origen no tiene un mecanismo para notificar a los clientes.		</p>
<p>The post <a rel="nofollow" href="https://www.oscarblancarteblog.com/2017/09/11/webhook-una-alternativa-al-polling/">Webhook una alternativa al Polling</a> appeared first on <a rel="nofollow" href="https://www.oscarblancarteblog.com">Oscar Blancarte - Software Architecture</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.oscarblancarteblog.com/2017/09/11/webhook-una-alternativa-al-polling/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1845</post-id>	</item>
	</channel>
</rss>
