<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>Spring User Group Peru</title>
		<description>Spring User Group Peru</description>
		<link>http://www.springperu.org/</link>
		<lastBuildDate>Wed, 10 Mar 2010 17:00:01 +0000</lastBuildDate>
		<language>es-es</language>
		<item>
			<title>Spring Community Day Lima 2009: Gracias por su asistencia</title>
			<link>http://www.springperu.org/news/latest/spring-community-day-lima-2009-gracias-por-su-asistencia.html</link>
			<description><![CDATA[<p>Muchas gracias a todos los asistentes al 2do Spring Community Day Lima 2009.</p><p>Se superó la capacidad esperada, el auditorio se llenó completamente 20 minutos antes del inicio del evento. Las disculpas del caso a las personas que quedaron fuera, la capacidad del auditorio nos limitó, para el próximo evento ya necesitaremos un auditorio de 200 personas! </p><p>Aquí les dejo un compendio del contenido generado por el evento: </p><p>Presentación<br /><a href="http://prezi.com/_4zhghj6ftqf/">http://prezi.com/_4zhghj6ftqf/</a><br /><br />Guía de instalación<br /><a href="http://ir.pe/guia-springperu-2009">http://ir.pe/guia-springperu-2009</a><br /><br />Código fuente<br /><a href="http://subversion.lshimokawa.net/public/SpringCommunityDayLima2009/">http://subversion.lshimokawa.net/public/SpringCommunityDayLima2009/</a><br /><br />Fotos<br /><a href="http://picasaweb.google.com/lshimokawa/SpringCommunityDayLima2009">http://picasaweb.google.com/lshimokawa/SpringCommunityDayLima2009<br /></a><a href="http://www.flickr.com/photos/lshimokawa/tags/springperu/">http://www.flickr.com/photos/lshimokawa/tags/springperu/</a><br /><a href="http://www.hiboox.es/go/albumes/informatica/springday2009,c5856271e1e94d7333d439975dccf3fc">http://www.hiboox.es/go/albumes/informatica/springday2009,c5856271e1e94d7333d439975dccf3fc</a><br /><br />Reportajes<br /><a href="http://josediazdiaz.blogspot.com/2009/10/spring-community-day-2009.html">http://josediazdiaz.blogspot.com/2009/10/spring-community-day-2009.html</a><br /><a href="http://learningwebdev.blogspot.com/2009/10/spring-community-day-2009.html">http://learningwebdev.blogspot.com/2009/10/spring-community-day-2009.html</a><br /><a href="http://javafox.wordpress.com/2009/11/03/spring-community-day-2009/">http://javafox.wordpress.com/2009/11/03/spring-community-day-2009/</a><br /><br />Posts<br /><a href="http://lshimokawa.net/blogs/lshimokawa/2009/09/spring-community-day-lima-2009-organizacion">http://lshimokawa.net/blogs/lshimokawa/2009/09/spring-community-day-lima-2009-organizacion</a><br /><a href="http://lshimokawa.net/blogs/lshimokawa/2009/10/spring-community-day-lima-2009-segunda-reunion-fotos">http://lshimokawa.net/blogs/lshimokawa/2009/10/spring-community-day-lima-2009-segunda-reunion-fotos</a><br /><a href="http://blog.pucp.edu.pe/item/72575">http://blog.pucp.edu.pe/item/72575</a><br /><a href="http://4cuatros.blogspot.com/2009/10/spring-community-day-2009-lima.html">http://4cuatros.blogspot.com/2009/10/spring-community-day-2009-lima.html</a><br /><a href="http://apiconz.blogspot.com/2009/10/spring-community-day-lima-2009.html">http://apiconz.blogspot.com/2009/10/spring-community-day-lima-2009.html</a><br /><a href="http://mayerhorna.blogspot.com/2009/10/spring-community-day-lima-2009-estas.html">http://mayerhorna.blogspot.com/2009/10/spring-community-day-lima-2009-estas.html</a><br /><a href="http://jonathanlarav.blogspot.com/2009/10/spring-community-day-lima-2009.html">http://jonathanlarav.blogspot.com/2009/10/spring-community-day-lima-2009.html</a></p>]]></description>
			<category>frontpage</category>
			<pubDate>Thu, 05 Nov 2009 16:45:28 +0000</pubDate>
		</item>
		<item>
			<title>Spring Community Day Lima 2009: Indicaciones para el ingreso</title>
			<link>http://www.springperu.org/news/latest/spring-community-day-lima-2009-indicaciones-para-el-ingreso.html</link>
			<description><![CDATA[<font color="#000000">Algunas indicaciones para el ingreso al evento:<br /><br />La capacidad del auditorio del Aula Magna de la UPC es de 100 personas, no se permitirá superar su capacidad. Al ser un evento gratuito de difusión de tecnología no podemos reservar tu ubicación en el auditorio. El orden de ingreso será por estricto orden de llegada hasta completar su capacidad. Al tener más de 500 registrados se recomienda llegar con anticipación.<br /><br />El ingreso será por la puerta de la Av. Prolongación Primavera 2390, en la caseta de seguridad se encontrará la lista de registrados en donde deberán mostrar su DNI para validar su registro previo. El personal de seguridad entregará un ticket de ingreso, el mismo que servirá para los regalos y sorteos durante el evento. <br /><br />Durante el evento se desarrollará un caso completo integrado por lo que se recomienda llevar una laptop para hacer  un seguimiento a detalle. Para levantar su ambiente de desarrollo, se ha elaborado una guía de instalación:<br /><a href="http://ir.pe/guia-springperu-2009" target="_blank">http://ir.pe/guia-springperu-2009</a><br /><br />Pueden descargar el código de la demo del siguiente repositorio Subversion:<br /><a href="http://subversion.lshimokawa.net/public/SpringCommunityDayLima2009" target="_blank">http://subversion.lshimokawa.net/public/SpringCommunityDayLima2009</a><br /><br />El auditorio cuenta con Wi-Fi. Para la interacción del público pueden participar por Twitter con el hashtag #springperu. Se habilitará también una sala de chat:<br /><a href="http://tinychat.com/springcommunitydaylima2009" target="_blank">http://tinychat.com/springcommunitydaylima2009</a><br /><br />El estacionamiento de la UPC es solo para docentes y estudiantes, en la calle Alonso de Molina (paralela a la Primavera) hay una cochera que cobra S/.1.50 la hora.<br /></font>]]></description>
			<category>frontpage</category>
			<pubDate>Thu, 29 Oct 2009 01:44:06 +0000</pubDate>
		</item>
		<item>
			<title>Spring Community Day Lima 2009: Tercera Reunión</title>
			<link>http://www.springperu.org/news/latest/spring-community-day-lima-2009-tercera-reunion.html</link>
			<description><![CDATA[Convocatoria a la tercera reunión<br /> <p>Fecha: 26 de octubre <br /> Hora: 7:00pm <br /> Lugar: Av. Comandante Espinar 435 - Edificio Pedro Ruiz Gallo <br /> </p><p>Agenda <br /> 1. Revisión de puntos pendientes para el día del evento<br />2. Polos para expositores y organizadores <br /> 3. Integración de presentación Prezi<br />4. Practicar orden de exposición</p>]]></description>
			<category>frontpage</category>
			<pubDate>Mon, 26 Oct 2009 16:22:18 +0000</pubDate>
		</item>
		<item>
			<title>Spring Community Day Lima 2009: Segunda Reunión</title>
			<link>http://www.springperu.org/news/latest/spring-community-day-lima-2009-segunda-reunion.html</link>
			<description><![CDATA[Convocatoria a la segunda reunión<br /> <p>Fecha: 15 de octubre <br /> Hora: 7:30pm <br /> Lugar: Av. Comandante Espinar 435 - Edificio Pedro Ruiz Gallo <br /> </p><p>Agenda <br /> 1. Demo en vivo <br /> 2. Webcast del evento <br /> 3. Control de ingreso durante el evento <br /> 4. Polos para expositores y organizadores <br /> 5. Publicar afiches <br /> </p>Por favor confirmar su asistencia en <a href="http://groups.google.com.pe/group/spring-user-group-peru/browse_thread/thread/edb5a9a3b36c3318">este thread</a> con sus datos (nombre completo y DNI).]]></description>
			<category>frontpage</category>
			<pubDate>Sun, 11 Oct 2009 22:21:29 +0000</pubDate>
		</item>
		<item>
			<title>Spring Community Day Lima 2009: website y afiche</title>
			<link>http://www.springperu.org/news/latest/spring-community-day-lima-2009-website-y-afiche.html</link>
			<description><![CDATA[<p>Presentamos el site del <a href="http://communityday2009.springperu.org/">Spring Community Day Lima 2009</a> y el afiche del evento. </p><p>SpringPerú agracede a <a href="http://govisualperu.com/">GoVisual </a>por el apoyo con el diseño.</p><p><a href="http://communityday2009.springperu.org/images/aficheSpringCommunityDay.png"><img src="http://communityday2009.springperu.org/images/aficheSpringCommunityDay.png" border="0" alt="Spring Community Day Lima 2009" title="Spring Community Day Lima 2009" width="400" height="566" /></a> </p><p> </p>]]></description>
			<category>frontpage</category>
			<pubDate>Fri, 09 Oct 2009 01:14:55 +0000</pubDate>
		</item>
		<item>
			<title>Spring Community Day Lima 2009: Primera reunión</title>
			<link>http://www.springperu.org/news/latest/spring-community-day-lima-2009-primera-reunion.html</link>
			<description><![CDATA[<p>Primera reunión de coordinación para el Spring Community Day Lima 2009 </p><p>Fecha: Jueves 24/09 <br /> Hora: 7:30pm <br /> Lugar: Starbucks Morelli (Jr. Morelli 279, San Borja, por Plaza Vea de <br /> Aviación con Javier Prado)  </p><p>Agenda: <br /> 1. Definir estructura del evento <br /> 2. Recibir propuestas de expositores <br /> 3. Definir expositores <br /> 4. Definir el User Story y el alcance de la demo <br /> 5. Organizar comisiones (inscripciones, publicidad, video, etc) </p><p>Todos están invitados a asistir.</p>]]></description>
			<category>frontpage</category>
			<pubDate>Thu, 24 Sep 2009 16:21:29 +0000</pubDate>
		</item>
		<item>
			<title>Spring Community Day Lima 2009: Organización</title>
			<link>http://www.springperu.org/news/latest/spring-community-day-lima-2009-organizando.html</link>
			<description><![CDATA[<p>Comenzaron las tareas de organización para el Spring Community Day Lima 2009!</p><p>Pueden seguir los hilos creados en la lista de correos de la comunidad:<br /><a href="http://groups.google.com.pe/group/spring-user-group-peru">http://groups.google.com.pe/group/spring-user-group-peru</a> </p>]]></description>
			<category>frontpage</category>
			<pubDate>Wed, 23 Sep 2009 16:54:16 +0000</pubDate>
		</item>
		<item>
			<title>Presentaciones de SpringOne Europe 2009</title>
			<link>http://www.springperu.org/news/latest/presentaciones-de-springone-europe-2009.html</link>
			<description><![CDATA[Las presentaciones del evento SpringOne Europe 2009 están disponibles <a href="http://europe.springone.com/europe-2009/schedule/monday.jsp">aquí</a>.]]></description>
			<category>frontpage</category>
			<pubDate>Tue, 26 May 2009 15:41:11 +0000</pubDate>
		</item>
		<item>
			<title>Lo nuevo en Spring 3.0</title>
			<link>http://www.springperu.org/news/latest/lo-nuevo-en-spring-30.html</link>
			<description><![CDATA[<p>Presentación para el evento <a href="http://lshimokawa.net/eventos/2009/05/spring-live-per%C3%BA-2009">Spring Live Perú 2009</a>, trató acerca de las nuevas características de la versión 3.0 que está por salir utilizando Spring 3.0 M3.</p> <p>Los principales puntos fueron:</p> <ul><li>Uso de JDK 5.0</li><li>Configuración con anotaciones</li><li>Spring Test Context Framework</li><li>Spring Expression Language</li><li>Spring JavaConfig</li><li>Spring REST Support</li></ul> <p><a href="http://www.slideshare.net/lshimokawa/lo-nuevo-en-spring-30-spring-live-per-2009">Presentación en SlideShare</a><br /> <a href="http://subversion.lshimokawa.net/public/SpringLive2009/"> Repositorio Subversion de Spring Live Perú 2009</a></p>]]></description>
			<category>frontpage</category>
			<pubDate>Tue, 26 May 2009 15:31:32 +0000</pubDate>
		</item>
		<item>
			<title>Spring: Obteniendo beans desde un servlet</title>
			<link>http://www.springperu.org/articulos/spring/spring-obteniendo-beans-desde-un-servlet.html</link>
			<description><![CDATA[<p>Una de las características más importantes de <a href="http://www.springperu.org/#mce_temp_url#">Spring Framework</a> es la <a href="http://www.springperu.org/#mce_temp_url#">inyección de dependencias</a>. Aplicando este patrón podemos lograr que las clases dependan de interfaces y no de alguna implementación específica, los beneficios de esta forma de trabajo son innumerables y pueden encontrar varios artículos que los describen a profundidad en internet y en la documentación de Spring.</p><p>Pero que sucede si nos encontramos con el siguiente problema:</p> <blockquote>Estamos usando Spring MVC en una aplicación web pero nos vemos obligados a implementar un Servlet. Dentro de este Servlet tenemos que invocar a un Service que ya esta siendo administrado por el contexto de Spring.  </blockquote><p>El consejo del <a href="http://www.springperu.org/#mce_temp_url#">bug killer</a> puede llevarnos por dos caminos en este escenario:</p><ul><li>No buscar en internet a profundidad, ni preguntar y usar la solución más rápida que se te venga a la mente.</li><li>Seguir el buen diseño y obtener una referencia al Service administrado por Spring.</li></ul><p>En el primer caso tendríamos un Servlet implementado de la siguiente manera:</p><span style="font-family: Monaco; font-size: 11px; line-height: normal; white-space: normal" class="Apple-style-span"><span style="color: #7f0055">public</span> <span style="color: #7f0055">class</span> DummyServlet <span style="color: #7f0055">extends</span> HttpServlet {</span> <p style="font: normal normal normal 11px/normal Monaco; color: #7f0055; margin: 0px"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span></span>private<span style="color: #000000"> </span>static<span style="color: #000000"> </span>final<span style="color: #000000"> </span>long<span style="color: #000000"> </span><span style="color: #0000c0">serialVersionUID</span><span style="color: #000000"> = 1L;</span></p> <p style="font: normal normal normal 11px/normal Monaco; min-height: 15px; margin: 0px"> </p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">	</span><span style="color: #7f0055">public</span> DummyServlet() {</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">		</span><span style="color: #7f0055">super</span>();</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">	</span>}</p> <p style="font: normal normal normal 11px/normal Monaco; min-height: 15px; margin: 0px"> </p> <p style="font: normal normal normal 11px/normal Monaco; color: #646464; margin: 0px"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span></span>@Override</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">	</span><span style="color: #7f0055">protected</span> <span style="color: #7f0055">void</span> doGet(HttpServletRequest req, HttpServletResponse resp)</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">			</span><span style="color: #7f0055">throws</span> ServletException, IOException {</p><p style="font: normal normal normal 11px/normal Monaco; margin: 0px"> </p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">		</span>DummyService service = new DummyServiceImpl();</p><p style="font: normal normal normal 11px/normal Monaco; margin: 0px"> </p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">		</span>resp.getWriter().print(bean.getMessage());</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">	</span>}</p> <span style="font-family: Monaco; font-size: 11px; line-height: normal; white-space: normal" class="Apple-style-span">}</span><p><span style="font-weight: bold" class="Apple-style-span">¡Esta instanciando la implementación del Service directamente!</span>,... esto puede traer serios problemas si se tiene que cambiar el DummyServiceImpl por otro en un futuro próximo o lejano. Lo más probable es que no se actualice el Servlet y se presente un comportamiento no esperado del sistema.</p><p>En el segundo caso, usaríamos las mismas clases de Spring para obtener una referencia al Service:</p><span style="font-family: Monaco; font-size: 11px; line-height: normal; white-space: normal" class="Apple-style-span"><span style="color: #7f0055">public</span> <span style="color: #7f0055">class</span> DummyServlet <span style="color: #7f0055">extends</span> HttpServlet {</span> <p style="font: normal normal normal 11px/normal Monaco; color: #7f0055; margin: 0px"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span></span>private<span style="color: #000000"> </span>static<span style="color: #000000"> </span>final<span style="color: #000000"> </span>long<span style="color: #000000"> </span><span style="color: #0000c0">serialVersionUID</span><span style="color: #000000"> = 1L;</span></p> <p style="font: normal normal normal 11px/normal Monaco; min-height: 15px; margin: 0px"> </p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">	</span><span style="color: #7f0055">public</span> DummyServlet() {</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">		</span><span style="color: #7f0055">super</span>();</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">	</span>}</p> <p style="font: normal normal normal 11px/normal Monaco; min-height: 15px; margin: 0px"> </p> <p style="font: normal normal normal 11px/normal Monaco; color: #646464; margin: 0px"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span></span>@Override</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">	</span><span style="color: #7f0055">protected</span> <span style="color: #7f0055">void</span> doGet(HttpServletRequest req, HttpServletResponse resp)</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">			</span><span style="color: #7f0055">throws</span> ServletException, IOException {</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">		</span>WebApplicationContext applicationContext = ContextLoader</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">				</span>.getCurrentWebApplicationContext();</p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">		</span>DummyService service = (DummyService) applicationContext.getBean(<span style="color: #2a00ff">"DummyService"</span>);</p> <p style="font: normal normal normal 11px/normal Monaco; min-height: 15px; margin: 0px"> </p> <p style="font: normal normal normal 11px/normal Monaco; margin: 0px"><span style="white-space: pre" class="Apple-tab-span">		</span>resp.getWriter().print(bean.getMessage());</p> <p><span style="font-family: Monaco; font-size: 11px; line-height: normal" class="Apple-style-span"><span style="white-space: pre" class="Apple-tab-span">	</span>}</span></p> <span style="font-family: Monaco; font-size: 11px; line-height: normal; white-space: normal" class="Apple-style-span">}</span><p>Manteniendo de esa manera el diseño y el patrón de inyección de dependiencias.</p><p>Happy Hacking! </p><p><span style="font-weight: bold" class="Apple-style-span">UPDATE:</span>  Para simplificar el ejemplo de este articulo solo se instancia el Service en el Servlet pero debemos tener en cuenta que el Service puede depender de clases DAO o puede necesitar AOP. Esto agravaría más los problemas de instanciar una clase que ya esta siendo manejada por el contenedor IoC.</p>
<p>
<a href="http://www.modlost.net">Abner Ballardo</a>
</p>]]></description>
			<category>frontpage</category>
			<pubDate>Sat, 09 May 2009 17:10:38 +0000</pubDate>
		</item>
	</channel>
</rss>
