<?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/"
	>

<channel>
	<title>Backend Archives - Software Evolutivo</title>
	<atom:link href="https://softwareevolutivo.com.ec/category/desarrollo-de-software/backend/feed/" rel="self" type="application/rss+xml" />
	<link>https://softwareevolutivo.com.ec/category/desarrollo-de-software/backend/</link>
	<description>Consultora de Software Empresarial</description>
	<lastBuildDate>Mon, 12 Aug 2024 16:57:18 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://softwareevolutivo.com.ec/wp-content/uploads/2024/03/cropped-Perfil-Redes-Iso-32x32.png</url>
	<title>Backend Archives - Software Evolutivo</title>
	<link>https://softwareevolutivo.com.ec/category/desarrollo-de-software/backend/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Apache ActiveMQ Artemis</title>
		<link>https://softwareevolutivo.com.ec/apache-activemq-artemis/</link>
					<comments>https://softwareevolutivo.com.ec/apache-activemq-artemis/#respond</comments>
		
		<dc:creator><![CDATA[Bryan Diaz]]></dc:creator>
		<pubDate>Wed, 17 Jul 2024 04:28:25 +0000</pubDate>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[Infrarestructura de Software]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Tendencias]]></category>
		<category><![CDATA[ActiveMQArtemis]]></category>
		<category><![CDATA[JavaDevelopment]]></category>
		<category><![CDATA[MessageQueue]]></category>
		<category><![CDATA[MicroservicesCommunication]]></category>
		<category><![CDATA[ProducerConsumer]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=9937</guid>

					<description><![CDATA[<p>En este artículo vamos a hablar sobre una herramienta muy popular para la comunicación entre aplicaciones llamada Apache ActiveMQ Artemis además revisaremos un ejemplo de cómo implementar su funcionamiento utilizando dos microservicios implementados con Spring Boot y Java.</p>
<p>The post <a href="https://softwareevolutivo.com.ec/apache-activemq-artemis/">Apache ActiveMQ Artemis</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9937" class="elementor elementor-9937">
				<div class="elementor-element elementor-element-6b20a70 e-flex e-con-boxed e-con e-parent" data-id="6b20a70" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
					</div>
				</div>
		<div class="elementor-element elementor-element-37366db e-flex e-con-boxed e-con e-parent" data-id="37366db" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-09c443d elementor-widget elementor-widget-text-editor" data-id="09c443d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En este artículo vamos a hablar sobre una herramienta muy popular para la comunicación entre aplicaciones llamada Apache ActiveMQ Artemis, además revisaremos un ejemplo de cómo implementar su funcionamiento utilizando dos microservicios implementados con Spring Boot y Java.</p><p>A menudo, nos encontramos con eventos que suceden en nuestros sistemas y necesitamos que otros sistemas se enteren de ellos. Notificar estos eventos de manera síncrona puede generar problemas de rendimiento y disponibilidad, ya que los sistemas dependen de la respuesta inmediata de otros sistemas. En cambio, hacerlo de manera asíncrona presenta varias ventajas, como la reducción de la dependencia y el acoplamiento entre sistemas, mejorando la eficiencia y la escalabilidad de nuestras aplicaciones.</p><p>A veces, incluso tenemos procesos manuales que requieren la intervención de una persona para realizar acciones en respuesta a un evento. Con la ayuda de Apache ActiveMQ Artemis, podemos conectar nuestras aplicaciones de manera más eficiente y eliminar estos procesos manuales que no generan valor a nuestros negocios. Este tipo de productos, conocidos como MOM (Message Oriented Middleware), nos permiten implementar el asincronismo, facilitando la comunicación entre sistemas de una manera más flexible y robusta.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-8bec6ab e-flex e-con-boxed e-con e-parent" data-id="8bec6ab" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-181039a elementor-widget elementor-widget-heading" data-id="181039a" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Artemis</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-93f6432 e-flex e-con-boxed e-con e-parent" data-id="93f6432" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-dad8574 elementor-widget elementor-widget-text-editor" data-id="dad8574" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Comenzamos hablando sobre qué es ActiveMQ Artemis.</p><p>En términos oficiales, Apache ActiveMQ Artemis es un intermediario que facilita la comunicación entre diferentes sistemas o aplicaciones. Es de código abierto, muy popular y multiprotocolo, basado en Java. Artemis permite integrar aplicaciones multiplataforma utilizando diversos protocolos, como AMQP (Advanced Message Queuing Protocol &#8211; Protocolo Avanzado de Cola de Mensajes), JMS, MQTT, STOMP, OpenWire, entre otros. Gracias a esta variedad de protocolos, Artemis es una excelente opción para tener comunicación entre dos aplicaciones y poder pasar información de un sistema a otro cuando ocurre un evento.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-c143606 e-flex e-con-boxed e-con e-parent" data-id="c143606" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-6ae1967 elementor-widget elementor-widget-heading" data-id="6ae1967" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Arquitectura </h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-fde5372 e-flex e-con-boxed e-con e-parent" data-id="fde5372" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-f1282bc elementor-widget elementor-widget-text-editor" data-id="f1282bc" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>La estructura utilizada es un Middleware Orientado a Mensajes (MOM), el cual permite la comunicación a través del intercambio de mensajes de forma asíncrona. Esto significa que las operaciones se llevan a cabo sin requerir que todas las partes involucradas en la comunicación estén disponibles al mismo tiempo que ocurre el envío de eventos, permitiendo así que los procesos continúen su ejecución sin esperar una respuesta inmediata.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-2148fe8 e-flex e-con-boxed e-con e-parent" data-id="2148fe8" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-ff809a1 elementor-widget elementor-widget-image" data-id="ff809a1" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img fetchpriority="high" decoding="async" width="1024" height="377" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image13-1024x377.png" class="attachment-large size-large wp-image-9947" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image13-1024x377.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image13-300x111.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image13-768x283.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image13.png 1514w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Flujo de Mensajes entre Producer y Consumer con ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-31e7f2d e-flex e-con-boxed e-con e-parent" data-id="31e7f2d" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-8813487 elementor-widget elementor-widget-text-editor" data-id="8813487" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En Artemis contamos con dos tipos de envío de mensajes: los mensajes que se envían a colas de tipo anycast y los de tipo multicast.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-083a3f0 e-flex e-con-boxed e-con e-parent" data-id="083a3f0" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-48070bd elementor-widget elementor-widget-text-editor" data-id="48070bd" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Anycast:</strong> Conocido como punto a punto (Point-to-Point), en este tipo de cola, varios consumidores están a la escucha de la misma cola y van leyendo los mensajes a medida que llegan. Sin embargo, no todos los consumidores pueden leer el mismo mensaje al mismo tiempo.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-dca52e7 e-flex e-con-boxed e-con e-parent" data-id="dca52e7" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-5db2581 elementor-widget elementor-widget-image" data-id="5db2581" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" width="1024" height="390" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image15.png" class="attachment-large size-large wp-image-9948" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image15.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image15-300x114.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image15-768x293.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Envío de Mensaje Anycast en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-67f0fdd e-flex e-con-boxed e-con e-parent" data-id="67f0fdd" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-85088b1 elementor-widget elementor-widget-text-editor" data-id="85088b1" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><b>Multicast</b>: Es un modo de distribución de tipo publicación-suscripción (pub/sub). Cada mensaje que se envía a una dirección de tipo multicast se replica a las colas que contienen cada sistema que esté a la escucha de los mismos. Como se muestra en la gráfica, aquí tenemos dos consumidores y ambos se enterarán del mismo mensaje al mismo tiempo.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-6b2f48e e-flex e-con-boxed e-con e-parent" data-id="6b2f48e" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-cf0e1fe elementor-widget elementor-widget-image" data-id="cf0e1fe" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" width="1024" height="389" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image8.png" class="attachment-large size-large wp-image-9949" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image8.png 1025w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image8-300x114.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image8-768x291.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Envío de Mensaje Multicast en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-91d1b70 e-flex e-con-boxed e-con e-parent" data-id="91d1b70" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-bd4fbb0 elementor-widget elementor-widget-text-editor" data-id="bd4fbb0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para el desarrollo de este blog, se trabajará con colas de tipo anycast.</p><p>La versión que utilizaremos de ActiveMQ Artemis será la última hasta la fecha de este blog, que es la 2.35. Podemos buscarla en DockerHub como se puede observar en la imagen.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-a0a3b8b e-flex e-con-boxed e-con e-parent" data-id="a0a3b8b" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-cd7118d elementor-widget elementor-widget-image" data-id="cd7118d" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="748" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image4-1024x748.png" class="attachment-large size-large wp-image-9950" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image4-1024x748.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image4-300x219.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image4-768x561.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image4.png 1393w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">ActiveMQ Artemis en DockerHub</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f36cf0b e-flex e-con-boxed e-con e-parent" data-id="f36cf0b" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-a32b2d2 elementor-widget elementor-widget-heading" data-id="a32b2d2" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Spring Boot</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f9427a5 e-flex e-con-boxed e-con e-parent" data-id="f9427a5" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-0b2b577 elementor-widget elementor-widget-text-editor" data-id="0b2b577" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para este blog vamos a trabajar con microservicios de Spring Boot, utilizaremos Maven y el lenguaje Java. La última versión de Spring Boot hasta la fecha de este blog es 3.3.1, y la versión de Java es 21. Agregaremos ActiveMQ Artemis a los proyectos. Los proyectos tienen el nombre de &#8220;producer&#8221; y &#8220;consumer&#8221;. El producer es el encargado de enviar el mensaje a Artemis y crear la cola en Artemis, y el consumer es el encargado de suscribirse a esa cola y leer los mensajes que envíe el producer.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3ca324d e-flex e-con-boxed e-con e-parent" data-id="3ca324d" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-bb58d69 elementor-widget elementor-widget-image" data-id="bb58d69" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="527" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19-1024x527.png" class="attachment-large size-large wp-image-9951" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19-1024x527.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19-300x154.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19-768x395.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19-1536x790.png 1536w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19.png 1613w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Creación de Proyecto en Spring Initializr para Producer</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-110a9af e-flex e-con-boxed e-con e-parent" data-id="110a9af" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-c79dd84 elementor-widget elementor-widget-image" data-id="c79dd84" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="527" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6-1024x527.png" class="attachment-large size-large wp-image-9952" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6-1024x527.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6-300x154.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6-768x395.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6-1536x790.png 1536w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6.png 1613w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Creación de Proyecto en Spring Initializr para Consumer</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-2184605 e-flex e-con-boxed e-con e-parent" data-id="2184605" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-d6f6f81 elementor-widget elementor-widget-heading" data-id="d6f6f81" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Escenario a Resolver</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-806c8be e-flex e-con-boxed e-con e-parent" data-id="806c8be" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-42cd513 elementor-widget elementor-widget-text-editor" data-id="42cd513" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En un hospital, hay dos sistemas involucrados en la gestión de camas que funcionan de la siguiente forma:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-e3c4945 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="e3c4945" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">El Sistema A, encargado de registrar la disponibilidad de camas cuando un paciente abandona la sala de emergencias.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">El Sistema B, monitorea la ocupación de camas en todo el hospital.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">Actualmente, cuando el Sistema A registra que una cama está disponible, una enfermera debe ingresar manualmente esta información en el Sistema B.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">Se busca una mejora para sincronizar automáticamente estos sistemas, de modo que cualquier actualización en el Sistema A se refleje instantáneamente en el Sistema B, eliminando la necesidad de registros manuales.</span>
									</li>
						</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-83f6a20 elementor-widget elementor-widget-text-editor" data-id="83f6a20" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para desarrollar este requerimiento, los proyectos que creamos en Spring Boot serán: el producer como nuestro <b>Sistema A</b> y el consumer como nuestro <b>Sistema B.</b></p><p>En el proyecto que creamos en Spring, al agregar la dependencia de Docker y ActiveMQ Artemis, se genera un archivo <b>compose.yaml</b><b>.</b> Utilizaremos este archivo para levantar nuestro contenedor de Artemis. En el proyecto producer, como es el que va a generar el evento, editaremos el archivo <b>compose.yaml</b>, añadiendo la siguiente información:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-e3e5010 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="e3e5010" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">El nombre del contenedor de Artemis, </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">La versión 2.35 (la última hasta la fecha de este blog),</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">Las credenciales para el ingreso a la consola de Artemis y</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">Los puertos donde se ejecuta.</span>
									</li>
						</ul>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-b3b4dfc e-flex e-con-boxed e-con e-parent" data-id="b3b4dfc" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-877ab49 elementor-widget elementor-widget-image" data-id="877ab49" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="360" height="205" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-10-44-00.png" class="attachment-large size-large wp-image-9975" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-10-44-00.png 360w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-10-44-00-300x171.png 300w" sizes="(max-width: 360px) 100vw, 360px" />											<figcaption class="widget-image-caption wp-caption-text">Configuración YAML para Levantar ActiveMQ Artemis en Docker</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-aa662d0 e-flex e-con-boxed e-con e-parent" data-id="aa662d0" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-3b3b5d7 elementor-widget elementor-widget-text-editor" data-id="3b3b5d7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para levantar el contenedor de Artemis con las modificaciones realizadas al archivo compose.yaml, en este blog se ejecutará con <a href="https://docs.podman.io/en/latest/" target="_blank" rel="noopener">Podman</a> porque la práctica se está realizando en un sistema operativo Fedora, que ya lo incluye. Pero si cuentan con Docker también pueden utilizarlo, no habría problema. Ejecutamos nuestro archivo desde la ubicación donde se encuentra nuestro archivo compose.yaml y ejecutamos:</p><p><b><i>podman-compose -f compose.yaml up</i></b><i> </i></p><p>o con Docker:</p><p><b><i>docker compose -f compose.yaml up</i></b></p><p>Esto comenzará a descargar la imagen de Artemis.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3d60b7e e-flex e-con-boxed e-con e-parent" data-id="3d60b7e" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-19a3c3d elementor-widget elementor-widget-image" data-id="19a3c3d" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="319" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image12-1024x319.png" class="attachment-large size-large wp-image-9955" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image12-1024x319.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image12-300x94.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image12-768x240.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image12.png 1093w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Descarga de Imagen de ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-0ee1d13 e-flex e-con-boxed e-con e-parent" data-id="0ee1d13" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-a17ee75 elementor-widget elementor-widget-image" data-id="a17ee75" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="334" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image16-1024x334.png" class="attachment-large size-large wp-image-9956" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image16-1024x334.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image16-300x98.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image16-768x250.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image16.png 1289w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Contenedor de ActiveMQ Artemis Levantado</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f15abd5 e-flex e-con-boxed e-con e-parent" data-id="f15abd5" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-72e8c30 elementor-widget elementor-widget-text-editor" data-id="72e8c30" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Una vez que en los logs salga un mensaje como el siguiente: <b>AMQ241004: Artemis Console available at link</b>, podemos ingresar a un navegador y acceder a la URL <b>localhost:8161</b> para acceder a la pantalla de Artemis.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-65b4866 e-flex e-con-boxed e-con e-parent" data-id="65b4866" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-22dcfa9 elementor-widget elementor-widget-image" data-id="22dcfa9" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="656" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14-1024x656.jpg" class="attachment-large size-large wp-image-9957" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14-1024x656.jpg 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14-300x192.jpg 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14-768x492.jpg 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14-390x250.jpg 390w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14.jpg 1443w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Pantalla de Logueo de ActiveMQ Artemis en Navegador</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-206cb9c e-flex e-con-boxed e-con e-parent" data-id="206cb9c" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-5c574d9 elementor-widget elementor-widget-text-editor" data-id="5c574d9" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Las credenciales serán las que configuramos en nuestro archivo compose.yaml, en este caso artemis como username y artemis como password.</p><p>Una vez dentro de la consola, podemos observar las versiones de Artemis y navegar por el mismo.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f7c0c48 e-flex e-con-boxed e-con e-parent" data-id="f7c0c48" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-35e4459 elementor-widget elementor-widget-image" data-id="35e4459" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="691" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image9-1024x691.png" class="attachment-large size-large wp-image-9958" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image9-1024x691.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image9-300x203.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image9-768x518.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image9.png 1477w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Versión de ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-773fddf e-flex e-con-boxed e-con e-parent" data-id="773fddf" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-42d38b5 elementor-widget elementor-widget-image" data-id="42d38b5" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="473" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2-1024x473.png" class="attachment-large size-large wp-image-9959" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2-1024x473.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2-300x139.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2-768x355.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2-1536x710.png 1536w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2.png 1937w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Pantalla de Inicio de ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-6f5112e e-flex e-con-boxed e-con e-parent" data-id="6f5112e" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1e55df2 elementor-widget elementor-widget-text-editor" data-id="1e55df2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Se debe deshabilitar el Docker Compose de los proyectos Spring Boot, en el archivo de propiedades application.properties colocar:</p><p><em>spring.docker.compose.enabled=false</em></p><p>Para que no se levante Artemis cada que se ejecute el proyecto, sino que se levante una única vez cuando nosotros lo necesitemos.</p><p>Para poder enviar el evento desde el <strong>Sistema A</strong> al <strong>Sistema B</strong>, necesitamos un método que nos ayude con el envío. En este caso, hemos creado el método pushRequestPaymentOrder (puedes darle cualquier nombre). Primero, creamos nuestro DTO que contendrá la información que necesita el <strong>Sistema B</strong>. Para nuestro caso planteado, vamos a enviar un mensaje que indique que la cama está disponible y el ID de la cama correspondiente.</p><p>Utilizamos el atributo de clase que inyectamos de JmsTemplate, una clase de Spring que facilita el envío y recepción de mensajes a través de JMS. Utilizamos el método convertAndSend, que convierte el objeto DTO en un mensaje en formato JSON y lo envía a TopicDemo, que es el nombre de la cola a la que se envía el mensaje.</p><p>El método pushRequestPaymentOrder se llama desde la lógica de negocio en el sistema cuando se necesita encolar información. Por ejemplo, cuando se detecta que una cama está disponible, se invoca este método para enviar la información al <strong>Sistema B</strong>.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-d55680b e-flex e-con-boxed e-con e-parent" data-id="d55680b" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-6a9d919 elementor-widget elementor-widget-image" data-id="6a9d919" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="664" height="494" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image11.png" class="attachment-large size-large wp-image-9964" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image11.png 664w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image11-300x223.png 300w" sizes="(max-width: 664px) 100vw, 664px" />											<figcaption class="widget-image-caption wp-caption-text">Programación para Encolar Mensajes en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3bbdc0d e-flex e-con-boxed e-con e-parent" data-id="3bbdc0d" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-39123a1 elementor-widget elementor-widget-text-editor" data-id="39123a1" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para que podamos observar la información de ese mensaje en Artemis, debemos tener en nuestro producer lo siguiente:</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-026764e e-flex e-con-boxed e-con e-parent" data-id="026764e" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-6834c1e elementor-widget elementor-widget-image" data-id="6834c1e" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="735" height="231" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-08-57-43.png" class="attachment-large size-large wp-image-9965" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-08-57-43.png 735w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-08-57-43-300x94.png 300w" sizes="(max-width: 735px) 100vw, 735px" />											<figcaption class="widget-image-caption wp-caption-text">Método de Transformación a JSON antes de Encolar en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-b6c1458 e-flex e-con-boxed e-con e-parent" data-id="b6c1458" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-10f7c44 elementor-widget elementor-widget-text-editor" data-id="10f7c44" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>El convertidor se utiliza tanto en el productor como en el consumidor para manejar la transformación del DTO. En el Sistema A, el convertidor transforma el DTO de un objeto Java a JSON antes de enviarlo a Artemis. Luego, cuando consumimos el evento en el Sistema B, el convertidor transforma el JSON almacenado en Artemis de vuelta a un objeto Java. Esto asegura que los datos se mantengan consistentes y fácilmente manejables a lo largo del proceso de comunicación entre sistemas.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-0ea826a e-flex e-con-boxed e-con e-parent" data-id="0ea826a" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-ae4ab64 elementor-widget elementor-widget-image" data-id="ae4ab64" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="390" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7-1024x390.png" class="attachment-large size-large wp-image-9966" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7-1024x390.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7-300x114.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7-768x293.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7-1536x586.png 1536w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7.png 1907w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Confirmación de Llegada de Mensaje en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-058d6ff e-flex e-con-boxed e-con e-parent" data-id="058d6ff" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-0be212a elementor-widget elementor-widget-image" data-id="0be212a" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="537" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3-1024x537.png" class="attachment-large size-large wp-image-9967" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3-1024x537.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3-300x157.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3-768x403.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3-1536x805.png 1536w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3.png 1906w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Detalle del Mensaje en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-5e5570d e-flex e-con-boxed e-con e-parent" data-id="5e5570d" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-6addc1b elementor-widget elementor-widget-text-editor" data-id="6addc1b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Una vez confirmado que nuestro evento llegó con normalidad a Artemis y podemos observar su información, lo siguiente es levantar nuestro Sistema B, que en este caso sería nuestro consumidor. Debemos configurarlo para que esté a la escucha de los eventos que lleguen a una cola específica para poder leerlos y acceder a su información.</p><p>Eso lo realizamos de la siguiente manera:</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-4423146 e-flex e-con-boxed e-con e-parent" data-id="4423146" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-3aaf924 elementor-widget elementor-widget-image" data-id="3aaf924" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="551" height="214" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-09-13-16.png" class="attachment-large size-large wp-image-9968" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-09-13-16.png 551w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-09-13-16-300x117.png 300w" sizes="(max-width: 551px) 100vw, 551px" />											<figcaption class="widget-image-caption wp-caption-text">Programación para Consumir un Mensaje de una Cola en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-06cb64b e-flex e-con-boxed e-con e-parent" data-id="06cb64b" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-e630d65 elementor-widget elementor-widget-text-editor" data-id="e630d65" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Creamos nuestro método que tiene la etiqueta <strong>@JmsListener</strong>, que indica que está a la escucha de lo que llegue a esa dirección de cola, llamada TopicDemo, que es el nombre de la cola donde el producer envió el evento. Pero como se mencionó anteriormente, al momento de leer el evento, está leyendo un valor tipo JSON, por lo que queremos que lo transforme al objeto que necesitamos. Para ello, aquí también utilizamos el método <strong>jacksonJmsMessageConverter</strong>.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-daefc47 e-flex e-con-boxed e-con e-parent" data-id="daefc47" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-a793d97 elementor-widget elementor-widget-image" data-id="a793d97" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="894" height="605" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image18-1.png" class="attachment-large size-large wp-image-9969" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image18-1.png 894w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image18-1-300x203.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image18-1-768x520.png 768w" sizes="(max-width: 894px) 100vw, 894px" />											<figcaption class="widget-image-caption wp-caption-text">Método para Consumir Mensaje y Transformación de JSON a Objeto</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3492aa2 e-flex e-con-boxed e-con e-parent" data-id="3492aa2" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-553375b elementor-widget elementor-widget-text-editor" data-id="553375b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Como podemos ver en los logs, al levantar este microservicio se hará el consumo del mensaje que representa el evento. Ya tenemos que la cama está disponible, y lo siguiente sería actualizar en el Sistema B, en base de datos, que ahora la cama con el ID que acabamos de leer está disponible.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-4cd94b6 e-flex e-con-boxed e-con e-parent" data-id="4cd94b6" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-7a37fda elementor-widget elementor-widget-heading" data-id="7a37fda" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Resumen</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-bb377ce e-flex e-con-boxed e-con e-parent" data-id="bb377ce" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-263f5d6 elementor-widget elementor-widget-text-editor" data-id="263f5d6" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En resumen, teníamos un Sistema A que contaba con una información, pero esa información necesitaba saberla el Sistema B. Para que el Sistema B se enterara, era necesario contar con una persona que analizara los cambios en el Sistema A y luego actualizara el Sistema B. Pero, ¿Qué ocurre si durante el almuerzo hay cambios o si la persona encargada de actualizar se distrae? No contaremos con la información actualizada en tiempo real.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-20726a9 e-flex e-con-boxed e-con e-parent" data-id="20726a9" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-4e78236 elementor-widget elementor-widget-image" data-id="4e78236" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="1024" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-1024x1024.jpg" class="attachment-large size-large wp-image-9970" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-1024x1024.jpg 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-300x300.jpg 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-150x150.jpg 150w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-768x768.jpg 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-450x450.jpg 450w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-106x106.jpg 106w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-560x560.jpg 560w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-70x70.jpg 70w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10.jpg 1080w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Comunicación entre Sistema A y B a través de una Persona</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-4b0efb4 e-flex e-con-boxed e-con e-parent" data-id="4b0efb4" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-b950352 elementor-widget elementor-widget-text-editor" data-id="b950352" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para eso, presentamos la solución planteada en este Blog: ahora no se requiere de una persona para hacer estas actualizaciones, sino que el Sistema A será un producer que envía eventos a Artemis cuando se desocupe alguna cama. Luego, el Sistema B será un consumer que esta a la escucha de esos eventos en Artemis para leerlos y actualizar automáticamente en sus registros que ahora la cama está disponible, asegurando así información actualizada en todo momento.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-bc67c64 e-flex e-con-boxed e-con e-parent" data-id="bc67c64" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-807f9ca elementor-widget elementor-widget-image" data-id="807f9ca" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="1024" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-1024x1024.jpg" class="attachment-large size-large wp-image-9971" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-1024x1024.jpg 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-300x300.jpg 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-150x150.jpg 150w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-768x768.jpg 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-450x450.jpg 450w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-106x106.jpg 106w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-560x560.jpg 560w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-70x70.jpg 70w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1.jpg 1080w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Comunicación entre Sistema A y B a través de ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-ed84ab3 e-con-full e-flex e-con e-parent" data-id="ed84ab3" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-1b50697 elementor-widget elementor-widget-text-editor" data-id="1b50697" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Esto fue un ejemplo con el uso de colas de tipo anycast. Próximamente se hará un blog con un escenario para colas de tipo multicast.</p><p>Si tienes alguna pregunta o comentario sobre este tema, no dudes en dejarlos abajo. Nos encantaría saber tu opinión y ayudarte con cualquier duda que puedas tener. ¡Gracias por leer!</p>								</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-92a55cb e-flex e-con-boxed e-con e-parent" data-id="92a55cb" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-29d2f9a elementor-widget elementor-widget-text-editor" data-id="29d2f9a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Link de los proyectos:</strong></p><p><a href="https://github.com/softwareevolutivo/artemis" target="_blank" rel="noopener">https://github.com/softwareevolutivo/artemis</a></p><p><strong>Referencia:</strong></p><ul><li><a href="https://activemq.apache.org/components/artemis/documentation/2.0.0/address-model.html" target="_blank" rel="noopener">https://activemq.apache.org/components/artemis/documentation/2.0.0/address-model.html</a></li></ul><ul><li><strong>Taller en Youtube &#8211; Apache ActiveMQ Artemis ▶ ¿Qué es y para qué sirve?</strong></li></ul><p><a href="https://www.youtube.com/watch?v=Sn4TyzmtLxU" target="_blank" rel="noopener">https://www.youtube.com/watch?v=Sn4TyzmtLxU</a></p>								</div>
				</div>
				<div class="elementor-element elementor-element-23ebb18 elementor-widget elementor-widget-spacer" data-id="23ebb18" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-a3e4b03 e-flex e-con-boxed e-con e-parent" data-id="a3e4b03" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-3e4a8a0 elementor-widget elementor-widget-witr_section_call_to_ac" data-id="3e4a8a0" data-element_type="widget" data-e-type="widget" data-widget_type="witr_section_call_to_ac.default">
				<div class="elementor-widget-container">
								<!-- themex call to action 3 -->

		<div class=" all_cal_color">
			<div class="cal_to_toggole">
					<div class="themex_content col_content_width_100 text-left">
						<!-- top title -->
							
						<!-- middle title -->
														
								<h2>¿Quieres mejorar tus procesos de integración?</h2>																	
												<!-- bottom title -->
													<!-- content -->
													<p>Descubre nuestros servicios y agenda una demo. </p>		
							
					
					</div>
				<!-- button -->
						
						<div class="themex_button no_margin text-right">						
							<a href="https://softwareevolutivo.com.ec/demo-devops-kubernetes/" > 							
								Ver Demo								<!-- icon -->
																	<i class="icofont-paper-plane"></i>
																							
							</a>
						</div>
								
			</div>
		</div>
					</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/apache-activemq-artemis/">Apache ActiveMQ Artemis</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/apache-activemq-artemis/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
