<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7533382755762005328</id><updated>2012-02-16T09:37:31.325-03:00</updated><category term='Analisis'/><category term='Naturaleza'/><category term='Unix'/><category term='Python'/><category term='General'/><category term='Montañismo'/><category term='Ruby'/><category term='Linux'/><category term='HTML'/><category term='EAI'/><category term='Infraestructura'/><category term='Seguridad Informatica'/><category term='Arquitectura SW'/><category term='Java'/><category term='SOA'/><category term='RIA'/><category term='.NET'/><title type='text'>Diego del Yerro Aprea</title><subtitle type='html'>Blogueo de ideas, pensamientos, ocurrencias y demases</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>40</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-6232507044327444114</id><published>2008-09-04T10:40:00.002-03:00</published><updated>2008-09-04T10:42:31.695-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seguridad Informatica'/><title type='text'>EkoParty</title><content type='html'>Gente,&lt;br /&gt;&lt;br /&gt;En esta ocacion les dejo un dato de una expo que pinta interesante.&lt;br /&gt;Es la &lt;a href="http://www.ekoparty.com.ar"&gt;Ekoparty&lt;/a&gt;. La entrada es paga, pero si les interesa y pueden hacer que alguna empresa se los banque, no hay problema.&lt;br /&gt;Tienen trainings muy buenos, asi que chusmeenlos un poco.&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-6232507044327444114?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/6232507044327444114/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=6232507044327444114' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/6232507044327444114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/6232507044327444114'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/09/ekoparty.html' title='EkoParty'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-3060975846759452690</id><published>2008-08-03T14:51:00.003-03:00</published><updated>2008-08-03T14:56:27.686-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Patrones SOA y de Workflow</title><content type='html'>Santiago Blanco (ver su &lt;a href="http://santiago-blanco.blogspot.com/"&gt;blog &lt;/a&gt;que es muy bueno) me paso el siguiente link de worklow patterns... MUY BUENO!!! Indican los patrones tipicos de control de flujo, manejo de datos, de recursos y de excepciones.&lt;br /&gt;Encima, marcan que productos soportan cada patron!!!!&lt;br /&gt;&lt;a href="http://www.workflowpatterns.com/"&gt;Link a la pagina&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Patrones de SOA y buenas practicas... de quien otro si no es Thomas Erl: &lt;a href="http://www.soapatterns.org/"&gt;http://www.soapatterns.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Que lo disfruten!!&lt;br /&gt;Saludos&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-3060975846759452690?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/3060975846759452690/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=3060975846759452690' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3060975846759452690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3060975846759452690'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/08/patrones-soa-y-de-workflow.html' title='Patrones SOA y de Workflow'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-3807535229425552308</id><published>2008-08-03T14:45:00.003-03:00</published><updated>2008-08-03T14:50:49.486-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Analisis'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>POEM, una alternativa al BPMN</title><content type='html'>POEM es una metodologia abierta para el modelado de procesos en la empresa. Se puede ver en el siguiente &lt;a href="http://bpmnpop.sourceforge.net/"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;y.....Un poster de POEM es todo arquitecto de empresa deberia tener en una pared, aunque no lo use!!!! :D&lt;br /&gt;Porque? porque queda bien :P&lt;br /&gt;&lt;br /&gt;NAH! realmente es util y resume la metodologia POEM para modelar los procesos de la empresa. &lt;a href="http://www.itposter.net"&gt;link al poster&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-3807535229425552308?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/3807535229425552308/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=3807535229425552308' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3807535229425552308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3807535229425552308'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/08/poem-una-alternativa-al-bpmn.html' title='POEM, una alternativa al BPMN'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-9210558277311952985</id><published>2008-08-03T14:29:00.003-03:00</published><updated>2008-08-03T14:33:02.572-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>SOA: Arquitectura de referencia</title><content type='html'>Existen varias metodologias para llegar a una arquitectura SOA.&lt;br /&gt;&lt;br /&gt;Este link, que se lo debo a Pablo Albornoz (gracias Pablo!!!) nos sirve de checklist, y nos indica tooooodo lo que nos puede faltar para tener una arquitectura SOA completita y bien definida. &lt;a href="http://www.cbdiforum.com/secure/interact/2007-03/the_architecture_component.php"&gt;Link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cuando querramos ver que pasos seguir y que nos falta hacer, podemos seguir esta referencia.&lt;br /&gt;&lt;br /&gt;Saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-9210558277311952985?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/9210558277311952985/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=9210558277311952985' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/9210558277311952985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/9210558277311952985'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/08/soa-arquitectura-de-referencia.html' title='SOA: Arquitectura de referencia'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-5958592496672720854</id><published>2008-08-03T14:12:00.003-03:00</published><updated>2008-08-03T14:37:32.687-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><category scheme='http://www.blogger.com/atom/ns#' term='EAI'/><title type='text'>¿Estandares? WS-*</title><content type='html'>Si hay algo que se respeta menos que un semaforo en rojo, en la provincia de buenos aires de noche, son los estandares de Servicios WS-*&lt;br /&gt;&lt;br /&gt;Thomas Erl (un Groso) los explica un poquito en su pagina &lt;a href="http://www.soaspecs.com/"&gt;soa specifications&lt;/a&gt;&lt;br /&gt;y Tambien en &lt;a href="http://www.ws-standards.com/"&gt;http://www.ws-standards.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;El hecho es que cada proveedor hace con sus productos lo que quiere.&lt;br /&gt;No todos los frameworks&lt;br /&gt;no todos los productos&lt;br /&gt;no todos los proveedores&lt;br /&gt;orientados al desarrollo y soporte de WS soportan los estandares de WS.&lt;br /&gt;&lt;br /&gt;Microsoft desarrollo sus estandares de Transacciones, seguridad y adressing como mas le parecio. Extendio el estandard y hace pleno uso de el, haciendo casi imposible confiar en una integracion completa con otros productos (incluso de BEA y de IBM con los que comparte mas estandares definidos en &lt;a href="http://www.oasis-open.org/home/index.php"&gt;OASIS&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;WS-Addressing.... esta ampliamente difundido, pero no por todos los frameworks, asi que antes que esperar que un framework o un producto resuelva el pooling de espera de una respuesta de servicio por el id del mensaje, hay que hacerle un par de pruebas de integracion con otros productos similares y puede ser preferible generar un servicio con callback a la vieja usanza o asumir el costo de poolear a la espera de respuesta.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;WS-Security.... la forma "estandar" de microsoft es "estandar" consigo misma. Aun asi, es uno ampliamente soportado.&lt;br /&gt;WS-ReliableMessaging... nada en contra, nada a favor. Todavia no tuve la oportunidad de usarlo , ni que me resulte util.&lt;br /&gt;WS-Transaction... JAJAJAJAJAJAJAJAJAJA el sueño del pibe. Todavia sigo sacando canas verdes con la compensacion de servicios, con transacciones distribuidas y demas. Esto aun esta verde. Igual, la idea es buena, pero.... en las AT, aun tienen faces de 2PC que en algunos casos pueden resultar en lockings de recursos. Estos son unos buenos links para ver. WS-T &lt;a href="http://webservices.xml.com/pub/a/ws/2003/04/15/transactions.html"&gt;Parte 1&lt;/a&gt;, &lt;a href="http://webservices.xml.com/pub/a/ws/2003/04/29/transactions.html"&gt;Parte 2 &lt;/a&gt;y &lt;a href="http://webservices.xml.com/pub/a/ws/2003/05/27/transactions.html"&gt;Parte 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;Bueno, esto es un poco con lo que me fui encontrando. Los WS-* no son la solucion a nuestros problemas de arquitectura y diseño aun, porque no se pueden (aun) realizar una integracion confiable.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;En una arquitectura empresarial, se debe ir a lo ultimo seguro y estable, sin dejar de lado las nuevas tendencias que quedaran para analizar&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-5958592496672720854?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/5958592496672720854/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=5958592496672720854' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/5958592496672720854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/5958592496672720854'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/08/estandares-ws.html' title='¿Estandares? WS-*'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-7066766512299635159</id><published>2008-07-31T09:31:00.008-03:00</published><updated>2008-08-03T14:44:41.753-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Analisis'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Analisis en SOA</title><content type='html'>Hace tiempo que vengo estudiando como es el mejor camino para implementar un analisis SOA.&lt;br /&gt;Aca escribo un poco de lo que estuve viendo.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;La metodologia de IBM &lt;a href="http://www.ibm.com/developerworks/library/ws-soa-design1/"&gt;SOMA&lt;/a&gt;&lt;/li&gt;&lt;li&gt;La de Thomas Erl (la mejorcita) &lt;a href="http://soamethodology.com/"&gt;MSOAM&lt;/a&gt; y otro &lt;a href="http://www.soamag.com/I16/0308-1.asp"&gt;link&lt;/a&gt; de lo mismo&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Las de ciclo de vida de los servicios de BEA (que no me dejo mucho) y &lt;/li&gt;&lt;li&gt;Las recomendadas por las &lt;a href="http://www.soaalliance.org/practitioners_guide"&gt;SOA practitioners guide&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;De la SOA Practitioners Guide, rescato la parte 3 que es un documento muy, pero muy bueno.&lt;br /&gt;&lt;br /&gt;En fin, parece que para el analisis y la entrega de servicios en una metodologia SOA existen dos caminos posibles. TOP-DOWN y BOTTOM-UP. Pueden verlos &lt;a href="http://soamethodology.com/p9.asp"&gt;aqui&lt;/a&gt;&lt;br /&gt;Cuando lo lei, asocie la forma de delivery BOTTOM-UP a la forma de analisis orientada a la necesidad actual cuando los requerimientos provienen de sistemas legacy y los procesos de negocio no estan definidos; y la TOP-DOWN, cuando se parte del analisis basado en entidades de negocio, procesos de negocio y demas descomposiciones, que se pueden ver &lt;a href="http://soamethodology.com/p16.asp"&gt;aqui&lt;/a&gt;&lt;br /&gt;Igual, se debe tener en claro que todo el proceso tendera tarde o temprano a ser un TOP-DOWN, de lo contrario no se llegara a una Arquitectura SOA ideal, donde IT este alineado al negocio.&lt;br /&gt;&lt;br /&gt;Otra cosa que dice MSOAM es que el analista funcional debe trabajar en conjunto con el tecnico (&lt;a href="http://soamethodology.com/p3.asp"&gt;aqui&lt;/a&gt;).&lt;br /&gt;Con los analistas tecnicos deben trabajar si o si, ya que estos son los que conocen las restricciones tecnologicas, los patrones de diseño y podran modelar los servicios de manera acorde a los estandares empresariales. Un analista funcional no podra modelar las entradas, salidas y capacidades de un servicio por si mismo; especialmente hoy en dia, que la vision orientada a servicios es escaza.&lt;br /&gt;Cuando se habla de analistas funcionales son analistas cross al negocio. Eso quiere decir que el analista no debe conocer UNA aplicacion o UN proceso de negocio, sino meterse en todos los procesos y conocer un poco de tooooodo IT en la empresa.&lt;br /&gt;Es por eso que el analista SOA debe trabajar (o consultar antes de definir, al menos) con la gente  que modela y documenta los procesos de negocio.&lt;br /&gt;&lt;br /&gt;El ciclo de vida de servicios debe estar bien definido y se deben formalizar los pasos para la creacion, eliminacion o modificacion de un servicio, como tambien los pedidos para su consumicion. Sin esto, no se podran generar politicas adecuadas para el repositorio...&lt;br /&gt;&lt;br /&gt;Para un correcto analisis, se debe poseer un repositorio de entidades de negocio y de servicios Y con un proceso de GOVERNANCE bien definido es fundamental.&lt;br /&gt;La existencia del repositorio y la definicion de la metadata de cada servicio sera lo que permita modelarlos y centralizar la informacion de servicios en toda la empresa.&lt;br /&gt;No se habla unicamente de UDDI, ya que este estandar es limitado. Se habla de un repositorio a nivel de analisis y diseño, que permita automatizar el proceso de modelado y descubrimiento de servicios, como tambien asi su aprobacion por parte de la SOA BOARD (que sera el sector/comision/grupo de sectore que tendran el governance de los servicios en la empresa y definiran los estandares).&lt;br /&gt;&lt;br /&gt;El proceso de Governance debe estar bien definido, y los estandares y modelado de negocio tambien. Aqui hay un articulo sobre &lt;a href="http://www.espaciosoa.net/2007/04/02/la-importancia-de-la-gobernabilidad-en-soa/"&gt;la importancia del governance&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;La metodologia de analisis debe ser iterativa!!!! no se debe querer relevar tooooooda la informacion de tooooooodos los procesos para comenzar a definir servicios que sean reutilizables.&lt;br /&gt;Los servicios son altamente modificables y apuntan a la reutilizacion, por lo que se debe analizar por partes a los procesos de negocio/procesos de la empresa para poder entregar los primeros servicios. Luego, estos se iran modificando con la aparicion de nuevos requerimientos, para eso se definio un repositorio y un ciclo de vida de servicios.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Con los links y la metodologia en si, hay bastante para profundizar. SOA Es una metodologia que sigue cambiando y que cada consultor hace, hoy en dia, como mas le parece.&lt;br /&gt;Es importante tener una metodologia de analisis que se ajuste a las necesidades de la empresa, dependiendo su &lt;a href="http://www.sonicsoftware.com/solutions/service_oriented_architecture/soa_maturity_model/index.ssp"&gt;grado de madurez&lt;/a&gt; (me gusta la piramide de ese link, es muy clara). El grado 3 de madurez, es el mas dificil de lograr, el resto sale con fritas.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-7066766512299635159?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/7066766512299635159/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=7066766512299635159' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/7066766512299635159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/7066766512299635159'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/07/analisis-con-soa.html' title='Analisis en SOA'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-2293818931844146928</id><published>2008-07-31T09:28:00.003-03:00</published><updated>2008-07-31T09:31:00.952-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Infraestructura'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Oracle BEA, como sera la fusion</title><content type='html'>En este link que pongo a continuacion esta el roadmap que va a tomar la gente de Oracle.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.espaciosoa.net/2008/07/02/conversion-de-productos-de-bea-y-oracle/"&gt;http://www.espaciosoa.net/2008/07/02/conversion-de-productos-de-bea-y-oracle/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por suerte, van a quedarse con &lt;a href="http://www.bea.com/jrockit/"&gt;JRockit&lt;/a&gt; como VM de los aplicattion server fusionados, lejos, lo mejor de BEA&lt;br /&gt;&lt;br /&gt;Van a seguir teniendo la BAM de oracle, por lo que solo se podra implementar sobre un server con windows instalado. Uno de sus tantos requisitos es ese.&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-2293818931844146928?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/2293818931844146928/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=2293818931844146928' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/2293818931844146928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/2293818931844146928'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/07/oracle-bea-como-sera-la-fusion.html' title='Oracle BEA, como sera la fusion'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-1908735407229640478</id><published>2008-07-07T20:59:00.004-03:00</published><updated>2008-07-07T23:10:41.600-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Infraestructura'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><category scheme='http://www.blogger.com/atom/ns#' term='EAI'/><title type='text'>REST</title><content type='html'>Para los que no conocen REST, es una forma de intercambio de informacion al estilo web service, basada en comandos comunes de HTTP como son el GET y el POST.&lt;br /&gt;Este es el caballito de batalla de todos los que opinan que SOAP es un estandar pesado y agrandado en vano (comparto que se han realizado estandares que nadie respeta y que SOAP es mucho mas flexible de lo que deberia ser).&lt;br /&gt;De forma Simple, REST combate los largos pedidos XML para hacer pedidos via URL y Query String, retornando solo lo necesario, sin ningun adorno adicional.&lt;br /&gt;&lt;br /&gt;Actualmente existen frameworks de Web Services que soportan implementaciones SOAP o REST de forma trasparente (Apache CSF por ejemplo) e incluso existen ESB's REST :D.&lt;br /&gt;Al fin y al cabo, son Web Services, lo unico que cambia es como lo transportan.&lt;br /&gt;&lt;br /&gt;Les adjunto un par de links para que sigan el tema.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Introduccion a REST: &lt;a href="http://www.infoq.com/articles/rest-introduction"&gt;http://www.infoq.com/articles/rest-introduction&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Y un articulo muy gracioso que dice "Como le explique REST a mi esposa" :D : &lt;a href="http://tomayko.com/writings/rest-to-my-wife"&gt;http://tomayko.com/writings/rest-to-my-wife&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Que lo disfruten!&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-1908735407229640478?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/1908735407229640478/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=1908735407229640478' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/1908735407229640478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/1908735407229640478'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/07/rest.html' title='REST'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-2882278947402264753</id><published>2008-07-07T20:39:00.003-03:00</published><updated>2008-07-07T20:58:09.122-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seguridad Informatica'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Ataques comunes a aplicaciones con Web Services</title><content type='html'>Existen ciertas vulnerabilidades que pueden ser explotadas en las aplicaciones que consumen o exponen a web services.&lt;br /&gt;Muchas, estan resumidas en el siguiente &lt;a href="http://www.blogger.com/www.forumsys.com/papers/Attacking_and_Defending_WS.pdf"&gt;documento&lt;/a&gt; que efectua un top ten de los ataques mas comunes. Es un pdf.&lt;br /&gt;&lt;a href="http://www.owasp.org/images/6/68/OWASPAppSecEU2006_ProtectingWebServicesAndAapplications.ppt"&gt;Aca&lt;/a&gt; tienen un documento de OWASP sobre como proteger aplicaciones que consumen/exponen WEB Services. Es una presentacion de powerpoint.&lt;br /&gt;&lt;br /&gt;Para mencionar algunos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.webappsec.org/projects/threat/classes/xpath_injection.shtml"&gt;XPATH Injection&lt;/a&gt;. Un ataque bastante simple y si una aplicacion usa el XPATH de esta manera (por ejemplo, con el uso de condiciones de XSLT para mostrar contenido sensible) merece ser castigada con este ataque. El link que les adjunto tiene un ejemplo que puede explicarlo mejor que yo.&lt;/li&gt;&lt;li&gt;XML Bomb. Este es complicado. Hace que el XSD o DTD asociado sea recursivo y tolere una cantidad remota muy grande de elementos. Esto hace que el parser de XML (si tiene activa la validacion del XML al parsear) se cuelgue y provoque, en el peor de los casos una caida por consumo de memoria o un Denial of Service (DoS). Si se llega a incluir un DTD o XSD de contenido exponencial en un mensaje, la unica forma de corregirlo es deshabilitando la validacion de XSD's o DTD's, trayendo otros inconvenientes y teniendo que validar los inputs la aplicacion.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://archive.cert.uni-stuttgart.de/bugtraq/2002/10/msg00421.html"&gt;XXE &lt;/a&gt;(External Entity Atacks). Es cuando realizan un ataque con un cambio de alias, ruteando los xsd's/dtd's que importamos en nuestros XML's hacia otro lugar, que hace que el contenido del atacante sea valido. Esto quiere decir que podremos colocar numeros donde no se permitia, strings que estaban prohibidas, etc...&lt;/li&gt;&lt;li&gt;Large Payloads. Como el nombre lo dice, un XML gigantesco que trata de provocar un DoS.&lt;/li&gt;&lt;/ul&gt;Los estandares de WS-Security solo apuntan a XML Encryption y Tokens de autenticacion, asi que olvidense de buscar una solucion para estos temas.&lt;br /&gt;Estos problemas son propios del trabajo con XML, por lo que deben tenerse en cuenta y se debe hacer un analisis de la exposicion al riesgo que estamos dispuestos a afrontar, buscando una solucion que los mitigue (dentro de los costos planeados).&lt;br /&gt;&lt;br /&gt;Que lo disfruten!&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-2882278947402264753?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/2882278947402264753/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=2882278947402264753' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/2882278947402264753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/2882278947402264753'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/07/ataques-en-web-services.html' title='Ataques comunes a aplicaciones con Web Services'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-5212727218629998281</id><published>2008-07-07T20:31:00.004-03:00</published><updated>2008-07-07T20:36:19.084-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Issue de Spring Batch</title><content type='html'>&lt;a href="http://static.springframework.org/spring-batch/"&gt;Spring Batch&lt;/a&gt; es una aplicacion para realizar procesos batch's de manera "simple", o por lo menos asi deberia ser.&lt;br /&gt;&lt;br /&gt;El framework no es malo, aunque es escazo en documentacion, ejemplos y tiene una API muy extensa en cuanto a jerarquias de objetos. Aun asi, parece que la consultora que lo creo (Accenture) posee mas ejemplos que los que estan publicados, posiblemente de trabajos internos en la creacion del framework o de trabajos para clientes.&lt;br /&gt;&lt;br /&gt;El unico tema a tener en cuenta es con los mapeos en memoria, no son thread safe, por lo que en un ambiente de produccion, con un batch multithreading, se debe configurar la persistencia del framework (mantiene los estados de los procesos y otras configuraciones) contra una BD y no contra memoria. &lt;a href="http://forum.springframework.org/showthread.php?t=54954"&gt;link al respecto&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"The Map*Daos were never designed to be thread safe. To be honest, we only ever thought they would be used for testing. They can be made thread safe if you open an issue in JIRA. (N.B. this is not related to the original topic of this thread.)".&lt;br /&gt;Todavia no son thread safe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-5212727218629998281?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/5212727218629998281/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=5212727218629998281' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/5212727218629998281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/5212727218629998281'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/07/issue-de-spring-batch.html' title='Issue de Spring Batch'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-7006823660258392264</id><published>2008-07-07T20:18:00.002-03:00</published><updated>2008-07-07T20:29:44.840-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seguridad Informatica'/><category scheme='http://www.blogger.com/atom/ns#' term='Infraestructura'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>OWASP</title><content type='html'>&lt;span class="caps"&gt;OWASP&lt;/span&gt; (The Open Web Application Security Project) es una asociación sin ánimo de lucro que proporciona recursos, documentación, software, etc, para promover la seguridad entre los desarrolladores de aplicaciones web.&lt;br /&gt;Contiene las &lt;a href="http://www.owasp.org/index.php/Category:OWASP_Guide_Project"&gt;guias&lt;/a&gt; para la segurizacion de las aplicaciones y cada tanto recopila las vulnerabilidades mas afectadas y efectua un &lt;a href="http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project"&gt;Top Ten&lt;/a&gt;, hicieron uno en el 2007 y otro en el 2004.&lt;br /&gt;&lt;br /&gt;La pagina es &lt;a href="http://www.owasp.org"&gt;http://www.owasp.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Es un recurso muy util para cualquier sector de seguridad informatica y para los desarrolladores.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Para los primeros, les da un framework de referencia y una lista de vulnerabilidades y formas de corregirlas. &lt;/li&gt;&lt;li&gt;Para los segundos los capacita en el desarrollo de aplicaciones mas seguras, ya que la seguridad es un proceso que debe estar presente desde el analisis de un software y debe estar pensado en su desarrollo. Planearlo para mas adelante aumenta los costos en el proceso de construccion.&lt;/li&gt;&lt;/ul&gt;Para el que quiera aprender (a como hacer aplicaciones mas seguras ;) ;) ), puede encontrar un:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Contiene un &lt;a href="http://www.owasp.org/index.php/Category:Attack"&gt;catalogo&lt;/a&gt; de ataques comunes.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.owasp.org/index.php/Category:Vulnerability"&gt;Vulnerabilidades&lt;/a&gt;&lt;/li&gt;&lt;li&gt;y para los Javeros. Segurizacion de aplicaciones web hechas en Java. &lt;a href="http://www.owasp.org/index.php/Category:OWASP_Java_Project"&gt;link&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Que lo disfruten!&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-7006823660258392264?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/7006823660258392264/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=7006823660258392264' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/7006823660258392264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/7006823660258392264'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/07/owasp.html' title='OWASP'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-6650934250659794798</id><published>2008-06-08T12:09:00.004-03:00</published><updated>2008-06-08T12:40:10.824-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Frameworks para RIA</title><content type='html'>&lt;span style="font-weight: bold;"&gt;RIA&lt;/span&gt;: En palabras simples, queremos que el cliente vea la aplicacion web como una aplicacion comoda y de escritorio, pero sin usar applets o cosas como eran el "WebOnSwing" en su momento.&lt;br /&gt;&lt;br /&gt;Voy a describir los 3 frameworks mas importantes que escuche/vi/use/lei para la creacion de aplicaciones RIA (Rich Internet Application):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Flex&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;"El framework" para trabajar con Flash, porque.... es de adobe :P.&lt;/span&gt;&lt;br /&gt;&lt;a href="http://flex.org/"&gt;http://flex.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Si alguna vez quisieron incluir una funcionalidad en flash para que se comunique con la capa de negocio, utilicen Flex. Es simple, es rapido, permite mapear via JSon obejtos en la capa de presentacion y en la logica. Soporta feeds constantes, conexiones en segundo plano, mapeo de objetos y todo lo que tienen estos frameworks.&lt;br /&gt;Hay otros frameworks (como OpenLaslo) que poseen una funcionalidad similar y ofrecen tambien el manejo por javascript, peor no le llegan ni a los talones a las capacidades que Flex ofrece.&lt;br /&gt;Se puede bajar el entorno de desarrollo de la pagina, que es un eclipse preparado completamente para trabajar con Flex.&lt;br /&gt;&lt;br /&gt;Desventajas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;El truco? Necesitas tener si o si el plugin flash instalado en tu navegador para ver una aplicacion hecha en... Flash :P duhhhh! El 80% de los usuarios de internet lo poseen, por lo que no veo cual es la limitacion en hacer una aplicacion con esto.&lt;/li&gt;&lt;li&gt;No es completamente abierto, hay algunas restricciones en los protocolos de comunicacion. Si bien uno puede optar por utilizar JSON o XML, hay otro propietario de Flex (creo que binario) que es mucho mas rapido.&lt;/li&gt;&lt;li&gt;Hay que codificar una pequeña cantidad de objetos del lado de la presentacion para que puedan ser maniupulados en el flash (en script de flash) que se mapean contra nuestro modelo.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Ventajas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Es mas rapido que una aplicacion Ajax en el sentido que una vez descargado el componente Flash, ya no vuelve a solicitarse, por lo que la navegacion es mucho mas dinamica.&lt;/li&gt;&lt;li&gt;El poder de Flash!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;GWT:&lt;/span&gt; &lt;span style="font-style: italic;"&gt;OHHHH poderoso Google! :P&lt;br /&gt;&lt;/span&gt;&lt;a href="http://code.google.com/webtoolkit/"&gt;http://code.google.com/webtoolkit/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Si hay algo que me gusta de este framework es el soporte que google hace por detras. Una vez tuvimos un inconveniente, realizamos un post y se abrio el bug al toque. En el siguiente release ya estaba incluida la mejora :D&lt;br /&gt;Otra biblioteca de este estilo (pero con ideas mas tradicionales) son IceFaces y algunos componentes de JSF.&lt;br /&gt;&lt;br /&gt;Ventajas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;GWT permite realizar una aplicacion Ajax Style, pudiendo debuggearla en tiempo de desarrollo con editores Java (como el Eclipse), lo que ayuda a descubrir inconvenientes, que de otra manera deberiamos ver en Javascript (cosa muy dificil).&lt;/li&gt;&lt;li&gt;Una vez que se deploya, se convierte todo (excepto los servicios de nuestro lado que brindan informacion) en un HTML tunneado para ser mas pequeño y veloz, por lo que es mas liviano que el resto de los frameworks (hay forma de hacer que genere un HTML "Human readable", pero llegado a ese punto estamos en problemas, no es la idea).&lt;/li&gt;&lt;li&gt;Viste google? gmail? bueno, todo eso lo podes hacer con este framework.&lt;/li&gt;&lt;li&gt;El soporte es google.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Desventajas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;En tiempo de desarrollo se utiliza un tomcat y una consola asociada al framework.&lt;/li&gt;&lt;li&gt;El Codigo generado es inentendible.&lt;/li&gt;&lt;li&gt;Es dificil hacer el deploy junto con una aplicacion ya existente, por tener un ambiente de desarrollo y empaquetado particular, pero con un par de vueltas sale andando.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Yahoo UI&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Yahoo, no estas muerto!!!... todavia ¬¬&lt;br /&gt;&lt;/span&gt;&lt;a href="http://developer.yahoo.com/yui/"&gt;http://developer.yahoo.com/yui/&lt;/a&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Esta es la que menos conozco.&lt;br /&gt;Yahoo UI es una biblioteca Javascript completisima para el desarrollo de aplicaciones RIA. Otra similar pero que no le llega ni a los talones es Dojo.&lt;br /&gt;&lt;br /&gt;Ventaja:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Es Javascript, lo que tenga del lado del server, no importa.&lt;/li&gt;&lt;li&gt;Es liviana y simple. Ataca a problemas puntuales de presentacion.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Desventaja:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No es un framework cross side, asi que hay que tener bien diferenciadas las capas y esto implica mas desarrollo del lado del servidor.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Que lo disfruten!&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-6650934250659794798?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/6650934250659794798/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=6650934250659794798' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/6650934250659794798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/6650934250659794798'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/06/frameworks-para-ria.html' title='Frameworks para RIA'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-8411557089856934060</id><published>2008-06-08T11:50:00.005-03:00</published><updated>2008-06-11T12:30:45.064-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><category scheme='http://www.blogger.com/atom/ns#' term='EAI'/><title type='text'>Frameworks para WebServices</title><content type='html'>Buenas,&lt;br /&gt;&lt;br /&gt;Voy a hacer un listado de los frameworks para el desarrollo de web services que conozco o he visto:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Spring WS&lt;/span&gt;:&lt;br /&gt;&lt;a href="http://static.springframework.org/spring-ws/site/"&gt;http://static.springframework.org/spring-ws/site/&lt;/a&gt;&lt;br /&gt;Cuando vi los ejemplos, me parecio limitado con respecto a otros frameworks. Calculo que con el desarrollo del Spring Application Platform esta API ira creciendo.&lt;br /&gt;Soporta WS-Security y se puede integrar con Acegi.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Apache CXF:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://cxf.apache.org/"&gt;http://cxf.apache.org/&lt;/a&gt;&lt;br /&gt;Un frameworks cuyo poder reside en trabajar con annotations, es decir, rapido de programar y sacar andando. Es el resultado de la fusion de CXF con XFire.&lt;br /&gt;Soporta WS-Security y WS-Addresing. Con este framework se puede trabajar sobre Apache Tuscany (SCA) y con Containers que soporten JBI (como OpenESB).&lt;br /&gt;Lo interesante, es que tambien soporta REST y JSON!!!!!! :D... Creo que ningun otro tiene este nivel de soporte!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Axis 1.4:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://ws.apache.org/axis/"&gt;http://ws.apache.org/axis/&lt;/a&gt;&lt;br /&gt;El viejo y querido Axis 1.4 que nos salva las papas del fuego cuando tenemos problemas de integracion con servicios legacy :P... porque? porque es tan viejo como los legacy y la mayoria de los viejos web services estan hechos con esto, con el RPCServlet de Apache o con alguna implementacion propietaria :P.&lt;br /&gt;Que se puede decir de Axis 1.4 excepto que se va a ver en muchos lados, funciona, tiene bibliotecas para C++ y no solo Java y que ya &lt;span style="font-weight: bold;"&gt;no tiene mas desarrollo!!!!!!!!!!!!&lt;/span&gt; O sea, no lo usen para nuevos desarrollos, porque se quedo en la 1.4.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Axis 2:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://ws.apache.org/axis2/"&gt;http://ws.apache.org/axis2/&lt;/a&gt;&lt;br /&gt;PUAJJJJJ&lt;br /&gt;y tambien se puede decir PUAJJJJJJJJ.&lt;br /&gt;En el esfuerzo por hacer simple el armado de web services, crearon un propio contenedor y una integracion con spring que levanta un classloader propio dentro del classloader del contenedor que ya tenemos.&lt;br /&gt;Se fueron de lo estandar para generar su propio estilo de paquete.&lt;br /&gt;Si bien soportan varios tipos de bindings, frameworks y algunos estandares como WS-Adressing y WS-Policy. Ademas de poder escribir en SOAP 1.2, la branch del Axis 1.4 (porque fue un desarrollo paralelo) quedo demasiado propietaria en un mundo de estandares e integraciones.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;EJB3&lt;/span&gt;:&lt;br /&gt;&lt;a href="http://www.theregister.co.uk/2007/01/23/ejb_web_services/"&gt;http://www.theregister.co.uk/2007/01/23/ejb_web_services/&lt;/a&gt;&lt;br /&gt;Este es un ejemplo de como hacerlo con JBOSS.&lt;br /&gt;De este me entere hace muy poco. EJB3 permite la exposicion de los POJO's como webservice a través de annotations. Luego el contenedor es el encargado de tomar ese POJO y publicarlo. Es muy parecido a como lo hace .NET.&lt;br /&gt;No vi ejemplos en otras plataformas que no sea JBOSS... porque JBOSS es el unico que soporta el estandar completo al momento de la creación de esta entry.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Los demas:&lt;/span&gt;&lt;br /&gt;Hay otros frameworks propietarios, como son los de Oracle, Bea y demas, pero de esos no voy a hablar... para eso estan los proveedores, las demos y las exposiciones que tratan de venderlos. Creo que si no se utiliza un framework abierto, se ata el desarrollo a la tecnologia y a un proveedor... y no hay nada peor que comprar bibliotecas para el desarrollo :P&lt;br /&gt;&lt;br /&gt;Que lo disfruten!&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-8411557089856934060?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/8411557089856934060/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=8411557089856934060' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8411557089856934060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8411557089856934060'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/06/frameworks-para-webservices.html' title='Frameworks para WebServices'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-6698032812526265586</id><published>2008-06-08T11:41:00.005-03:00</published><updated>2008-06-08T11:49:55.017-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><category scheme='http://www.blogger.com/atom/ns#' term='EAI'/><title type='text'>Google shell y cosas futuras</title><content type='html'>OHHHH poderoso google!!!! que nos traes hoy de innovador? :P&lt;br /&gt;&lt;br /&gt;Bueno, esto.... no salio de google.&lt;br /&gt;Es el Google Shell no oficial :D, es decir, como utilizar google como si fuera un shell de unix :P... si, muy geek, ya se.... pero esta bueno y merece una ojeada:&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://www.goosh.org/"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.goosh.org/"&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Arial;"&gt;&lt;a target="_blank"&gt;http://www.goosh.org/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Comentario aparte&lt;/span&gt;: actualmente estoy investigando (Gracias Pablo A. por la data) OSGI, SCA (Implementaciones: &lt;a href="http://incubator.apache.org/tuscany/"&gt;Apache Tuscany&lt;/a&gt; y &lt;a href="http://www.springsource.com/products/suite/applicationplatform"&gt;Spring Application Platform&lt;/a&gt;), SDO para desarrollo de Arquitecturas de Integracion basadas en servicios y metodologias como Togaf (SOA) y NGOSS de TMForum (SID, CBE, eTom y demas para modelar el negocio). Me va a llevar un tiempo, asi que cuando lo tenga mas definido hago 3 post de los buenos.&lt;br /&gt;&lt;br /&gt;Saludos&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-6698032812526265586?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/6698032812526265586/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=6698032812526265586' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/6698032812526265586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/6698032812526265586'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/06/google-shell-y-cosas-futuras.html' title='Google shell y cosas futuras'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-7130215357649465422</id><published>2008-06-08T11:32:00.004-03:00</published><updated>2008-06-08T11:40:42.000-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><category scheme='http://www.blogger.com/atom/ns#' term='EAI'/><title type='text'>EAI</title><content type='html'>Les paso un link interesante sobre EAI (Enterprise Integration Patterns).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.enterpriseintegrationpatterns.com/" target="_blank"&gt;http://www.enterpriseintegratio&lt;wbr&gt;npatterns.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Es un "sneak peak" del libro "Enterprise Integration Patterns" que hace bastante que salio.&lt;br /&gt;El libro esta un poco viejo ya, pero es la base de los patrones de Integracion.&lt;br /&gt;Tienen muy buenos consejos sobre el manejo de colas, esa parte aun sigue siendo util. La parte de web services es la que esta un poco anticuada.&lt;br /&gt;&lt;br /&gt;Leer este libro o por lo menos ver el link que les paso servira para descubrir modos de resolver problemas comunes que quizas no hubieran imaginado nunca, ponerle un nombre y asentar la idea de un tipo de solucion generica y repetitiva a problemas de cierta indole y a tener un lenguaje estandar para comunicarse con otros arquitectos de EAI (y evitar estar con la boca abierta cuando nos nombren algun pattern que nos es desconocido).&lt;br /&gt;&lt;br /&gt;Que lo disfruten!&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-7130215357649465422?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/7130215357649465422/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=7130215357649465422' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/7130215357649465422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/7130215357649465422'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/06/eai.html' title='EAI'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-3497609860539965398</id><published>2008-05-29T20:55:00.003-03:00</published><updated>2008-05-29T21:04:26.864-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Infraestructura'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Continuous Integration</title><content type='html'>Si lo dice Fowler.... hay que creerle&lt;br /&gt;&lt;p class="abstract"&gt;&lt;i&gt;"Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly. This article is a quick overview of Continuous Integration summarizing the technique and its current usage."&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Martin Fowler&lt;/span&gt;&lt;br /&gt;&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;Les dejo el link al &lt;a href="http://martinfowler.com/articles/continuousIntegration.html"&gt;articulo de fowler&lt;/a&gt;&lt;br /&gt;Si no le creen a Fowler, &lt;a href="http://en.wikipedia.org/wiki/Continuous_Integration"&gt;aca &lt;/a&gt;tienen la wikipedia....que dice lo que dice fowler&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Existen varios CI servers que pueden integrarse al desarrollo de aplicaciones Java.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://continuum.apache.org/"&gt;Continuum &lt;/a&gt;de Apache (eh.... ta bueno sep sep. Bastante facil de instalar. Open Source)&lt;/li&gt;&lt;li&gt;&lt;a href="http://cruisecontrol.sourceforge.net/"&gt;Cruise Control&lt;/a&gt; (Lo conozco como el mas antiguo y completo. Tiene una version para .NET. Open Source)&lt;/li&gt;&lt;li&gt;Dimensions Build de Serena (funciona con y para Serena. Por si se estan quedando pelados de luchar con &lt;a href="http://www.serena.com/Products/dimensions/index.html"&gt;Dimensions&lt;/a&gt;, este es el producto que poseen. Pago)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;y les dejo un link sumamente interesante:&lt;br /&gt;&lt;a href="http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix"&gt;Matriz completisima y comparativa de diferentes productos de CI&lt;/a&gt;&lt;br /&gt;Babeense :D&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-3497609860539965398?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/3497609860539965398/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=3497609860539965398' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3497609860539965398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3497609860539965398'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/continuous-integration.html' title='Continuous Integration'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-3804701877385408340</id><published>2008-05-29T20:16:00.005-03:00</published><updated>2008-05-29T20:54:58.958-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Revision de Codigo</title><content type='html'>Hoy en dia me encuentro escribiendo estandares y buenas practicas para la programacion en Java, y en algunos casos, para cualquier desarrollo que trate de ser dinamico (no digo agil, digo dinamico porque los diferencio en metodologia).&lt;br /&gt;&lt;br /&gt;Creo que la revision de codigo es un fantasma empresarial al que muchas veces le han atribuido mas poder de resolucion de problemas del que tiene.&lt;br /&gt;La revision de codigo automatica es el primer paso a una politica de desarrollo que termine en un Continuous Integration (voy a retomar este tema en otra entry) con buenas auditorias, de modo tal que el codigo se mejore continuamente y se modifique de una forma mas segura, llegando a produccion un codigo &lt;span style="font-weight: bold;"&gt;probado&lt;/span&gt; y lo mas &lt;span style="font-weight: bold;"&gt;estable&lt;/span&gt; posible, mitigando riesgos en ambientes productivos.&lt;br /&gt;&lt;br /&gt;La idea que tengo ahora, es (en orden de prioridades):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Revisar el formato del codigo... ok, eso ayuda a entender el codigo de la empresa siempre y cuando se determinen las reglas de nomenclatura mas importantes, el idioma del codigo, las entidades de negocio principales (para que este relacionado con el aspecto funcional y sea entendible) y archivos shipment y destinados al deploy.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;     Corregir errores tipicos en el codigo estatico.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Revisar de reglas de codigo de la empresa.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Revisar y recomendar buenas practicas en el codigo (automaticamente) a modo de ir capacitando a los recursos.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Crear un workspace comun a los diferentes proyectos y estandarizar los frameworks de desarrollo (maven).&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Eso es lo que apunto en el primer paso. ya que creo que los pasos a Continuous Integration son:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;     a- Repositorio comun, trabajo en equipo ordenado. b-Division clara de ambientes de desarrollo, prueba, preproduccion y produccion.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Pruebas funcionales y regression tests&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Revisiones de codigo, estandarizaciones, convensions (si, hablo de poner maven y fijar un repositorio propio en lo posible donde controle los fwks y versiones que se pueden utilizar), buenas practicas&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Auditorias y automatizacion del proceso&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Stress test y automatizacion de pruebas funcionales&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Continuous Intregation&lt;/span&gt; (CI para los amigos :D).&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;No hablo de la integracion con todo el ciclo de SCM, ya que eso depende de las politicas de la empresa (si van a asociar cada cambio o si van a asociar un shipment por pedido, etc....). Ademas, el circuito de aprobacion de pedidos puede verse de forma separada, el ciclo de desarrollo como una caja negra y la salida (version, entregable, rollout, etc...) como el producto final del SCM.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;1 y 2 ya los tengo, me faltan los demas.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El 3 lo estoy haciendo.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Para el 4 necesito fuerza de trabajo (mas gente, aunque esto depende de cuanto desarrollo in-house tenga la empresa)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Para el 5, necesito suerte, porque voy a tener que trabajar muuuuucho para que las distintas areas me presten atencion y para que se definan las politicas de performance, atributos de calidad y se automaticen las pruebas funcionales :P&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Para el 6, si tengo todo lo demas solo necesito equipamiento de infraestructura y gente que brinde el soporte.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Eso es lo que vengo calculando por ahora.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;La idea, es que la mayor parte del trabajo sea automatica, por lo que no voy a ponerme a revisar cada regla que escribo, sino, que voy a buscar herramientas que se integren facilmente al desarrollo que lo hagan por mi.&lt;br /&gt;Para .NET ya lo tenemos. Ahi todo bien, se integra con el IDE, se generan reportes y la auditoria de estos reportes.....bueno, todo bien.&lt;br /&gt;Para Java aun no, asi que vamos a usar alguno de estos:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://checkstyle.sourceforge.net/"&gt;checkstyle&lt;/a&gt;&lt;br /&gt;Se integra con eclipse y maven, esta ampliamente difundido, genera reportes en diferentes formatos. Es configurable desde el IDE, se pueden exportar e importar las reglas a traves de un XML, se pueden extender las reglas.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Limitacion&lt;/span&gt;: Evalua codigo estatico, sin tomar en cuenta euristicas de codigo en tiempo de ejecucion. Las reglas evaluan el contexto de una sola clase y no todo el programa.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PRO&lt;/span&gt;: Ya hay gente que lo esta usando y definio un conjunto de reglas.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pmd.sourceforge.net/"&gt;PMD&lt;/a&gt;&lt;br /&gt;Se integra con eclipse y maven, esta ampliamente difundido, genera reportes en diferentes formatos. Es configurable desde el IDE, se pueden exportar e importar las reglas, se pueden extender las reglas.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Limitaciones&lt;/span&gt;: remarla para que lo pongan y aprendan. Evalua codigo estatico, sin tomar en cuenta euristicas de codigo en tiempo de ejecucion.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PRO&lt;/span&gt;: Es igual que checkstyle pero permite que las reglas que se crean actuen en un contexto de ejecucion de programa y no de clase.&lt;br /&gt;&lt;br /&gt;Otros...&lt;br /&gt;Hay uno de &lt;a href="http://www.parasoft.com/jsp/home.jsp"&gt;Parasoft&lt;/a&gt; (tiene muy buenos productos, como Jtest que genera los casos de prueba funcional visualmente y de ahi podes obtener los Junit. Y trabaja con python :D) que aplica euristicas sobre el codigo estatico que evaluan como se comportara en tiempo de ejecucion.... Guaaauuuuu, pero es pago y es caro, ergo NOT.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Asi que, por el momento me encuentro escribiendo documentos, para al final llegar a la meta.&lt;br /&gt;Paso a paso :D&lt;br /&gt;Igual, esto tiene muuuuucho mas sentidos en compañias que tienen mucho desarrollo in-house y mas sentido para compañias productoras de aplicaciones.&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-3804701877385408340?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/3804701877385408340/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=3804701877385408340' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3804701877385408340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3804701877385408340'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/revision-de-codigo.html' title='Revision de Codigo'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-5636343455996519491</id><published>2008-05-26T22:13:00.005-03:00</published><updated>2008-05-26T22:28:46.249-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Ruby</title><content type='html'>Ruby es un lenguaje de scripting dinamico bastante piola.&lt;br /&gt;Se puede integrar con Java o .NET.&lt;br /&gt;Viene pegando muy fuerte desde la salida de "Ruby on Rails", que permite la creacion de una aplicacion web de forma muy facil, rapida y divertida.&lt;br /&gt;&lt;br /&gt;Les dejo un par de links interesantes para que vean:&lt;br /&gt;&lt;br /&gt;Try Ruby!&lt;br /&gt;&lt;a href="http://tryruby.hobix.com/"&gt;http://tryruby.hobix.com/&lt;/a&gt;&lt;br /&gt;El mejor tutorial que vi, veo y creo que vere en mucho tiempo. Es interactivo y muy, pero muy divertido :D&lt;br /&gt;&lt;br /&gt;Un Eclipse para programar con Ruby:&lt;br /&gt;&lt;a href="http://rubyeclipse.sourceforge.net/"&gt;http://rubyeclipse.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ruby On Rails:&lt;br /&gt;&lt;a href="http://www.rubyonrails.org/"&gt;http://www.rubyonrails.org/&lt;/a&gt;&lt;br /&gt;Aca tienen un par de screencast incluso, si se cansan de leer.&lt;br /&gt;&lt;br /&gt;Saludos&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-5636343455996519491?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/5636343455996519491/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=5636343455996519491' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/5636343455996519491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/5636343455996519491'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/ruby.html' title='Ruby'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-7386146562932372853</id><published>2008-05-25T23:03:00.005-03:00</published><updated>2008-05-25T23:17:40.242-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Infraestructura'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Sistemas de Monitoreo</title><content type='html'>Aca dejo un link de una compañia (AKCP) que se encarga de hacer la integracion de NMS (Network Management Systems) y que se encargo de hacer una descripcion para cada sistema que soportan.&lt;br /&gt;&lt;br /&gt;Es una buena referencia para tener en cuenta:&lt;br /&gt;&lt;a href="http://www.akcpinc.com/company/nms.htm"&gt;http://www.akcpinc.com/company/nms.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yo use BigBrother, Tivoli y HP Open View.&lt;br /&gt;En el trabajo actual, tambien estamos usando &lt;span style="font-weight: bold;"&gt;Control M &lt;/span&gt;de BMC:&lt;br /&gt;&lt;a href="http://www.bmc.com/products/proddocview/0,2832,19052_19429_23437_1521,00.html"&gt;http://www.bmc.com/products/proddocview/0,2832,19052_19429_23437_1521,00.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/CONTROL-M"&gt;http://en.wikipedia.org/wiki/CONTROL-M&lt;/a&gt;&lt;br /&gt;Pero esto no es de monitoreo, sino de ejecucion remota (algo que tambien tiene Tivoli).&lt;br /&gt;Es un producto muy completo en cuanto a que tiene puede disparar eventos ante la llegada de un mensaje a una cola, la invocacion de un web service, etc...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Con respecto a Java:&lt;/span&gt;&lt;br /&gt;En la JVM puede habilitarse la opcion de monitoreo SNMP. &lt;a href="http://java.sun.com/j2se/1.5.0/docs/guide/management/SNMP.html"&gt;http://java.sun.com/j2se/1.5.0/docs/guide/management/SNMP.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;APIS SNMP para java:&lt;/span&gt;&lt;br /&gt;Java             No tiene  SNMP&lt;br /&gt;Jakarta       En su biblioteca de commons de red no tiene soporte para SNMP&lt;br /&gt;&lt;a href="http://www.snmp4j.org/"&gt;SNMP4J&lt;/a&gt;     Es extremadamente precaria la doc. Tanto que los ejemplos se encuentran en la mismas clases :P y deben ser vistos en la javadoc. Se basa en una biblioteca SNMP de C++&lt;br /&gt;&lt;a href="http://www.jsnmp.com/"&gt;JSNMP&lt;/a&gt;       Es una biblioteca Java... Paga :P. Algo que no es recomendable es comprar bibliotecas... Es preferible comprar productos. Comprar libs es raro, el soporte de las libs puede ser patetico, las veces que vi comprar libs terminaron en resultados caoticos en cuanto a utilizacion y soporte. Ergo... NO COMPRO libs.&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-7386146562932372853?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/7386146562932372853/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=7386146562932372853' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/7386146562932372853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/7386146562932372853'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/sistemas-de-monitoreo.html' title='Sistemas de Monitoreo'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-4198480054729610890</id><published>2008-05-25T22:13:00.005-03:00</published><updated>2008-05-26T22:26:58.321-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Integrando .NET y Java</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Como hacer que dos mundos diferentes se vean?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Esa es la pregunta que nos haciamos en mi nuevo trabajo.&lt;br /&gt;Resulta que tenemos una aplicacion que tiene fuertemente encapsulada la logica de negocio y no puede desacoplarse.&lt;br /&gt;El &lt;span style="font-style: italic;"&gt;paso tipico&lt;/span&gt; seria poner un motor de reglas, un motor de BPM, de BPEL o algo para sacar la logica de ahi dentro y poder exponerla como servicio o en algun lugar normal de donde pueda consumir cualquier aplicacion (quizas con costo de performance, qos y tolerancia a fallos).&lt;br /&gt;Resulta que no podemos hacer eso aun, por lo que requerimos copiar el codigo y hacerlo lo mas transportable y desacoplable a futuro posible. Estaria muy bueno poder hacer una biblioteca generica que represente una capa de negocio que se pueda utilizar en cualquier app, hecha en cualquier lenguaje. He aqui el problema... como integrar mundos diferentes? como integro Java y .NET si no puedo hacerlo con un servicio, un package de BD, un socket, una cola, ni un motor de reglas? &lt;span style="font-weight: bold;"&gt;Si tuviera que hacerlo con codigo como lo haria?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Al investigar descubrimos un par de cosas interesantes, aunque al final haremos una lib para Java y otra para .NET:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Integracion directa&lt;/span&gt;:&lt;br /&gt;JNBridge&lt;br /&gt;Las clases .NET se ven en Java, las clases Java se ven en .NET. Simple.&lt;br /&gt;&lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.jnbridge.com/jnbphow.htm" target="_blank"&gt;http://www.jnbridge.com&lt;wbr&gt;/jnbphow.htm&lt;/a&gt;&lt;br /&gt;Este es un producto pago.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Integracion por una 3ra tecnologia&lt;/span&gt;:&lt;br /&gt;En estos casos, desde Java o .NET se pueden ver clases de un 3er lenguaje. En este caso lenguajes de scripting.&lt;br /&gt;Desde el lenguaje de scripting (dependiendo del framework) se pueden ver las clases de Java o .NET.&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Problema&lt;/span&gt;: debuggeo complicado, probables problemas en la integracion de las libs (en el manejo de memoria), codificacion antinatural :P&lt;br /&gt;&lt;br /&gt;Python&lt;br /&gt;&lt;a href="http://pythonnet.sourceforge.net/"&gt;Python for .NET&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.jython.org/"&gt;Jython&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ruby&lt;br /&gt;Ruby para .NET . Hay varios interpretes. Esta es al direccion de un blog que habla al respecto &lt;a href="http://blogs.msdn.com/ricardoj/archive/2006/11/01/ruby-para-net.aspx"&gt;Entry&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jruby.codehaus.org/"&gt;JRuby&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Groovy&lt;br /&gt;Esta integrado en Java, pero no en .NET. Es que, esta pensado para Java&lt;br /&gt;&lt;span style="font-style: italic;font-family:arial;font-size:85%;"  &gt;"&lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;An agile dynamic language for the Java Platform"&lt;/span&gt;&lt;br /&gt;&lt;a href="http://groovy.codehaus.org/"&gt;http://groovy.codehaus.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Javascript&lt;br /&gt;Java soporta engines de interpretacion de javascript via &lt;a href="http://www.mozilla.org/rhino/"&gt;rhino&lt;/a&gt;&lt;br /&gt;Intuyo que .NET debe soportar VBScript, sino... bueno, capaz ni es util :P&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Por framework que cargue los objetos&lt;/span&gt;:&lt;br /&gt;&lt;a href="http://www.springframework.org/"&gt;Spring &lt;/a&gt;puede utilizar engines de interpretacion de lenguajes, al fin de que declarando que un bean esta hecho en ruby/python/groovy pueda crearse y utilizarse en codigo Java. Les dejo 2 formas:&lt;br /&gt;Documentacion de spring:&lt;br /&gt;&lt;a href="http://static.springframework.org/spring/docs/2.0.x/reference/dynamic-language.html"&gt;http://static.springframework.org/spring/docs/2.0.x/reference/dynamic-language.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Un ejemplo de un blog para hacerlo de otra forma, con una Ruby Bean Factory:&lt;br /&gt;&lt;a href="http://jroller.com/habuma/entry/spring_meet_ruby"&gt;http://jroller.com/habuma/entry/spring_meet_ruby&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ademas de eso, Java 1.6 soporta engines para lenguajes de scripting:&lt;br /&gt;&lt;a href="http://java.sun.com/javase/6/docs/technotes/guides/scripting/index.html"&gt;http://java.sun.com/javase/6/docs/technotes/guides/scripting/index.html&lt;/a&gt;&lt;br /&gt;La idea esta basada en el framework rhino&lt;br /&gt;&lt;br /&gt;Pero &lt;a href="http://www.springframework.net/"&gt;Spring .NET&lt;/a&gt; y la VM de .NET todavia no soportan lenguajes dinamicos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Espero que les sirva esta pequeña investigacion.&lt;br /&gt;Saludos&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-4198480054729610890?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/4198480054729610890/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=4198480054729610890' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/4198480054729610890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/4198480054729610890'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/integrando-net-y-java.html' title='Integrando .NET y Java'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-2765128457828277112</id><published>2008-05-16T10:42:00.003-03:00</published><updated>2008-05-16T10:44:22.755-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Analisis'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Analisis disfuncional, parte 2</title><content type='html'>Logre convencerlos.... cosa rara&lt;br /&gt;&lt;br /&gt;En el pasaje al nuevo repositorio se va a subir todo igual, versionar la version inicial y a partir de ahi se haran las operaciones.....&lt;br /&gt;O sea, como les pedia...&lt;br /&gt;&lt;br /&gt;Me empiezo a asustar.... nunca me habian dado bolilla. Puedo enviciarme :P&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-2765128457828277112?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/2765128457828277112/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=2765128457828277112' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/2765128457828277112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/2765128457828277112'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/analisis-disfuncional-parte-2.html' title='Analisis disfuncional, parte 2'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-4781711278415118268</id><published>2008-05-15T17:26:00.003-03:00</published><updated>2008-05-15T17:42:24.233-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Analisis'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Analisis disfuncional</title><content type='html'>&lt;span style="font-size:85%;"&gt;En sistemas, aun pensamos que todos los problemas se resuelven con programacion.&lt;br /&gt;ERROR!&lt;br /&gt;&lt;br /&gt;Sistemas de informacion implica definir procesos de conversion de datos a informacion pero no siempre llega a automatizarse a traves de un programa informatico.&lt;br /&gt;&lt;br /&gt;Un error comun que ocurre en los analistas, es que cuando tienen una herramienta que resuelve un problema les parece infinitamente modificable para ajustar a otras necesidades similares.&lt;br /&gt;Existen casos de sobreautomatizacion, donde generar un programa es 10000 veces mas complicado y problematico que definir un buen proceso manual.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;Expongo algunos items de los que fui viendo&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;La pluma es mas poderosa que el click&lt;/span&gt;: No todo es automatizable, existen validaciones que solo se pueden dar manualmente.&lt;br /&gt;La revision humana es factible de errores, los data entries tambien. Hay veces que los circuitos humanos bien definidos pueden funcionar de manera mas segura que un sistema y la revision por ojo humano no puede ser reemplazada por un sistema complicado pasible de ataques.&lt;br /&gt;Ejemplo: en el caso de alta de nuevos usuarios en un sistema remoto, que no debe ser accesible por cualquiera y cuando se posee un centro de atencion, podriamos eliminar los workflows asociados al alta y crearlos via formularios y back-office (una persona que los da de alta), siempre que el volumen y la demanda sea acotada. No informaticemos todo de entrada.&lt;br /&gt;Es asi como una compañia gano en tiempo de salida al mercado en su phonobanking y otra en numeros amigos... pero shhhh no digan nada jeje&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;Otra mas simple, cosas que se pueden hacer manualmente si se pregunta el costo beneficio&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Herramienta Martillo&lt;/span&gt;: Cuando nuestra herramienta es un martillo, todo parece un clavo. No todo se ajusta a nuestro problema, algunas veces, tenemos que pensar mas alla de los sistemas (y mas alla aun de los sistemas existentes). Debemos pensar si es viable el esfuerzo de hacer un sistema.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Ejemplo&lt;/span&gt;: por algo que es poco usable y complicado de mantener....&lt;br /&gt;El usuario quiere que se le automice el proceso de borrado de archivos basura en su maquina a traves de un conjunto de regla que definira mensualmente. El proceso de borrado se efectuara una vez al mes, la definicion de reglas se hara en un XML parseable y la cantidad de archivos mensuales a borrar son todos los que cumplan un filtro de nombre en un directorio.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;Podriamos plantearnos si el usuario en vez de definirnos toooooodo esto no hace un schedule del sistema operativo o directamente lo borra el. Cuanto esfuerzo de analisis, desarrollo, versionado conlleva esto y cuanto beneficio aporta????? Seguramente luego de esto va a querer mas cosas, lo que lleva al siguiente punto:&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Reingenieria infinita&lt;/span&gt;: Los programas no son infinitamente modificables, ya que terminarian en una reingenieria constante (hasta los chicles tienen limites)... y reingenieria es una palabra magica que soluciona todo lo que fue un caos, pero... al no corregir nunca la actitud se puede caer en infinitas reingenierias.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;Otro problema tipico en la especificacion de requerimientos&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Detalles tecnicos de diseño y desarrollo en los requerimientos&lt;/span&gt;: ok ok, puede pasar... pero, es un problema cuando llegan requerimientos del estilo: el usuario escribe un XML con el pedido a hacer y blablabla...&lt;br /&gt;Por favor, escribanlo puro y que la gente tecnica decida como va a ser el formato. No lo atemos a la idea del cliente... especialmente si va a terminar realizandose con un programa o una interfaz que va a hacer la implementacion transparente.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hoy escribi esto porque por enesima vez, por desconocimiento de las herramientas existentes, me choque con un requerimiento que como programador tuve decir que se puede hacer y como arquitecto dije que es en vano realizarlo y que va en contra de toda logica.&lt;br /&gt;El requerimiento era modificar un script de shell de traspazo de repositorios (o sea, algo para un  problema puntual y salir del paso) para que se adapte a un conjunto de reglas a definir sobre la reestructuracion de directorios, para hacer automaticamente y la primera vez que se sube ese proyecto al nuevo repo.&lt;br /&gt;Estas reglas debian documentarse en un xml que seria parseable por el todavia simple script de shell. Estas reglas eran validadas por un circuito de UAT (user aceptance test).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Digo yo... los analistas.... no deberian decirle al usuario lo que le dije yo a ellos:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;1- que suban las cosas como estan y hagan los cambios despues para que sea traceable dentro del mismo repo y comparable con el anterior (querian que se mantenga la misma revision aunque en la reestructuracion los paths cambien). No manchemos la pelota por favor.&lt;br /&gt;2- shell script es para un problema puntual, esto ya es un programa que lee un pseudocodigo de reglas (es cualquiera :P)&lt;br /&gt;3- si solo se va a hacer una sola vez, que lo reestructuren manualmente y no pierdan tiempo con XML's. Los clientes de repositorios pueden hacerlo&lt;br /&gt;4- No digan XML, no saben como va a ser. Denme las reglas.&lt;br /&gt;5- que no hagan un  proceso de sistemas de una solucion puntual que puede resolverse con herramientas existentes --&gt; no reinventen la rueda y lean la documentacion de las herramientas.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Esta tarea puede realizarse con clientes pesados que manejan filtros... pero al no conocer este tipo de herramientas, el usuario pidio informatizar y modificar una que existia....&lt;br /&gt;&lt;br /&gt;Regla de oro conclusiva:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:100%;"&gt;"When your only tool is a hammer, everything looks like a nail"&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-4781711278415118268?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/4781711278415118268/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=4781711278415118268' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/4781711278415118268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/4781711278415118268'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/analisis-disfuncional.html' title='Analisis disfuncional'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-3447737402993426738</id><published>2008-05-14T14:03:00.007-03:00</published><updated>2008-05-15T12:44:45.750-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Infraestructura'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Problemas al loguear la IP cliente</title><content type='html'>&lt;span style="font-size:85%;"&gt;Hoy estamos corriendo detras de un tema que es obtener la IP cliente este en la topologia que este.&lt;br /&gt;Necesitamos loguear los accesos y sacar estadisticas sobre estas ip's. Al estilo Apache, nosotros podemos tomar cualquier header HTTP y loguearlo  en un access.log&lt;br /&gt;&lt;br /&gt;En el caso de Oracle Web Cache, que actua de Proxy reverso, esta setea la ip cliente en un header HTTP llamado "&lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Client-IP&lt;/span&gt;&lt;span style="font-size:85%;"&gt;" (que no encontre en el estandard HTTP 1.1). Este es nuestro reverse proxy interno.&lt;br /&gt;&lt;br /&gt;En el caso del balanceador, el CISCO que tenemos JUSTO no tiene la funcionalidad de setear el header "&lt;a href="http://en.wikipedia.org/wiki/X-Forwarded-For"&gt;X-Forwaded-for&lt;/a&gt;", asi que nos estamos queriendo matar. Adjunto un link de una pagina muy interesante sobre el tema:&lt;br /&gt;&lt;a href="http://lbdigest.com/2008/01/09/question-about-source-ip-addresses/"&gt;http://lbdigest.com/2008/01/09/question-about-source-ip-addresses/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Algunos proxies de internet setean el X-Forwarded-for, otros dispositivos intermedios pueden setear otros headers (Como "NP-Client" o algo asi), pero el estandar es el X-Forwarded-for.&lt;br /&gt;&lt;br /&gt;En el PEOR de los casos, y si la aplicacion es propia, lo unico que queda es que la ip del cliente venga como un parametro de aplicacion, por lo que nos veremos obligados a, si es HTTP, obtenerla a traves de un applet/server side javascript. Por javascript puro no hay forma de obtenerlo y VBScript esta atado a IE.&lt;br /&gt;Adjunto un link al respecto. Como obtenerla en distintos lenguajes:&lt;br /&gt;&lt;a href="http://javascript.about.com/library/blip.htm"&gt;http://javascript.about.com/library/blip.htm&lt;/a&gt;&lt;br /&gt;Una de las mas prolijas dentro de toda la desprolijidad es invocar a la JVM que esta en el browser:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;&lt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;" class="start-tag"  &gt;html&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;&lt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;" class="start-tag"  &gt;body&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;" class="comment"  &gt;&lt;!-- Copiar dentro del tag BODY --&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;&lt;br /&gt;&lt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;" class="start-tag"  &gt;script&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;" class="attribute-name"  &gt; language&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;=&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;" class="attribute-value"  &gt;"javascript"&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;&gt;&lt;br /&gt;var ip = java.net.InetAddress.getLocalHost().getHostAddress();&lt;br /&gt;document.writeln('IP=="' + ip + '"');&lt;br /&gt;script&gt;&lt;br /&gt;body&gt;&lt;br /&gt;html&gt;&lt;br /&gt;&lt;br /&gt;(los tags no estan cerrados por problemas de publicacion en el blog)&lt;/span&gt;&lt;!--&lt;span class="end-tag"&gt;&lt;!--&lt;span class="end-tag"&gt;&lt;!--&lt;span class="end-tag"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;El tema es que si el navegador tiene seteado BIEN los permisos (de forma segura), este codigo no va a poder ejecutarse.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-3447737402993426738?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/3447737402993426738/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=3447737402993426738' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3447737402993426738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3447737402993426738'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/problemas-al-loguear-la-ip-cliente.html' title='Problemas al loguear la IP cliente'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-8856814873543268620</id><published>2008-05-13T17:15:00.004-03:00</published><updated>2008-05-13T17:25:35.232-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Infraestructura'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Amazon Web Services</title><content type='html'>&lt;span style="font-size:85%;"&gt;Dejo un link interesante que me paso un amigo:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.amazon.com/gp/browse.html?node=3435361"&gt;http://www.amazon.com/gp/browse.html?node=3435361&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Se trata de una API conformada por un grupo de Web Services que permiten usar los servicios de Storage, Simple DB, Queue y Maquina Virtuales (EC2) de Amazon.&lt;br /&gt;&lt;br /&gt;Amazon brinda servicios de hosting, storage, etc. horientados a sitios/aplicaciones que requieran escalar horizontalmente sobre demanda (y que puedan decrecer para abaratar costos tambien).&lt;br /&gt;&lt;br /&gt;EC2 permite crear y borrar instancias de una VM sobre demanda para poder distribuir la carga de la aplicacion y/o procesamiento (dependiendo de como se programe). Gracias a la interfaz de webservices, la aplicacion podria saber ella misma cuando crear una instancia y cuando bajarla, a partir de thresholds establecidos.&lt;br /&gt;&lt;br /&gt;Simple DB. Es una base de datos que permite realizar Querys de una manera muy especial, ya que no se basa en el simple metodo relacional. Al programar en esto, uno queda atado al motor de DB de amazon exclusivamente.&lt;br /&gt;&lt;br /&gt;S3. Es un storage con gran capacidad de crecimiento y pagamos por lo que usamos.&lt;br /&gt;&lt;br /&gt;etc...&lt;br /&gt;&lt;br /&gt;Mirenlo, esta bueno y es discutible el tipo de aplicaciones que deben correr sobre este entorno tan especial (aplicaciones con altos picos de demandas (u ocacionales)).&lt;br /&gt;&lt;br /&gt;Saludos.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-8856814873543268620?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/8856814873543268620/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=8856814873543268620' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8856814873543268620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8856814873543268620'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/amazon-web-services.html' title='Amazon Web Services'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-8854246190669225343</id><published>2008-05-12T17:31:00.005-03:00</published><updated>2008-05-12T17:50:56.102-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>AWK y SED</title><content type='html'>Si hablan con cualquier administrador Unix potable y les mencionan AWK y SED va a hablarles maravillas de estas dos herramientas de linea de comando.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SED:&lt;/span&gt;&lt;br /&gt;Se utiliza para el reemplazo y busqueda de expresiones en un &lt;span style="font-weight: bold;"&gt;stream&lt;/span&gt; y una vez que se le toma la mano (como a los reemplazos del&lt;span style="font-weight: bold;"&gt; vi&lt;/span&gt;) uno se vuelve adicto.&lt;span style="font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.grymoire.com/Unix/Sed.html"&gt;http://www.grymoire.com/Unix/Sed.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AWK:&lt;/span&gt;&lt;br /&gt;Leeeejos, pero leeeeeeeeeeeeejos ehhh. Lo mejor que puede haber para trabajar con linea de comando.&lt;br /&gt;Con AWK tenes la oportunidar de moldear todo lo que salga a un stream de output a tu gusto.&lt;br /&gt;Cualquier administrador sabe que no puede desconocer esta herramienta.&lt;br /&gt;&lt;br /&gt;Doy un par de ejemplos simples que estoy usando ahora:&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;du *&lt;br /&gt;16      commands&lt;br /&gt;16      cvsstat.sh&lt;br /&gt;16      file.test&lt;br /&gt;16      file2.txt&lt;br /&gt;16      menuutil.sh&lt;br /&gt;16      test.sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Lanza algo como esto.&lt;br /&gt;Si quisiera obtener la primer columna para hacer sumas y asignar a alguna variable, tomo como separador al espacio y hago:&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;du * | awk '{print $1}'&lt;/span&gt;&lt;br /&gt;Si quiero solo los nombres de archivo &lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;br /&gt;du * | awk '{print $2}'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Algo que estoy haciendo ahora es obtener la extension del archivo, el nombre del archivo y hacerle un sort luego:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;find /home/user/scripts -type f | awk '{print substr($0, index($0, "."))" "$0}' | sort&lt;/span&gt;&lt;br /&gt;que hace algo como lo siguiente&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;br /&gt;.sh /home/user/scripts/cvsstat.sh&lt;br /&gt;.sh /home/user/scripts/menuutil.sh&lt;br /&gt;.sh /home/user/scripts/test.sh&lt;br /&gt;.test /home/user/scripts/file.test&lt;br /&gt;.txt /home/user/scripts/file2.txt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O sea, con UNA linea, se pueden hacer cosas sumamente utiles en el manejo de muchos archivos de texto y salidas a consola.&lt;br /&gt;Se pueden utilizar arrays para operaciones con mas complejidad.&lt;br /&gt;&lt;br /&gt;Es una herramienta sumamente poderosa y el unico limite que tiene es nuestra imaginacion :D&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Manual de AWK&lt;br /&gt;&lt;a href="http://people.cs.uu.nl/piet/docs/nawk/nawk_toc.html"&gt;http://people.cs.uu.nl/piet/docs/nawk/nawk_toc.html&lt;/a&gt;&lt;br /&gt;Manual de GAWK&lt;br /&gt;&lt;a href="http://www.gnu.org/manual/gawk/html_node/index.html"&gt;http://www.gnu.org/manual/gawk/html_node/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Que lo disfruten!&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-8854246190669225343?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/8854246190669225343/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=8854246190669225343' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8854246190669225343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8854246190669225343'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/awk-y-sed.html' title='AWK y SED'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-9152720397854476148</id><published>2008-05-08T17:45:00.004-03:00</published><updated>2008-05-13T17:24:49.313-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Infraestructura'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Sincronizacion, problemas en multicore</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;span style="font-family:arial;"&gt;Aca les dejo un link muy copado que explica como funcionan las lecturas de memoria cuando programamos en un entorno multicore y da un par de consejos sobre como trabajar en Java.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;color:navy;"   &gt;&lt;span style=";font-family:Arial;font-size:10;color:navy;"   &gt;&lt;a title="http://www.javaworld.com/javaworld/jw-02-2001/jw-0209-toolbox.html?page=1" href="http://www.javaworld.com/javaworld/jw-02-2001/jw-0209-toolbox.html?page=1"&gt;http://www.javaworld.com/javaworld/jw-02-2001/jw-0209-toolbox.html?page=1&lt;/a&gt;&lt;o:p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Creo que el lema sigue siendo KISS! (Keep it simple Stupid!). Tratar de programar lo menos posible y respetar el trabajo de la VM.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;EN la snoop update estuve con un ruso de Intel, que explicaba sobre los problemas de la programacion multicore. En una explico como colocar volatile en el codigo hara que nuestra variable no se guarde en un registry del procesador pero si en la first-level chache y demas, por lo que los tipicos problemas pueden seguir presentandose.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;El principal problema para los desarrolladores Java, es donde colocar el synchronized y dejar de inventar la rueda. Si lo colocamos tomando conciencia en lo que explica el articulo de mas arriba, no deberiamos tener muchos inconvenientes.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Que se vuelvan locos los programadores C++ :D jajaja&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Saludos.&lt;/span&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-9152720397854476148?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/9152720397854476148/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=9152720397854476148' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/9152720397854476148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/9152720397854476148'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/sincronizacion-problemas-en-multicore.html' title='Sincronizacion, problemas en multicore'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-4686062625651959495</id><published>2008-05-06T17:45:00.004-03:00</published><updated>2008-05-06T17:59:32.888-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Infraestructura'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Comparacion de ESB's</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:85%;"  &gt;Estaba viendo un poco de los diferentes ESB's que ofrece el mercado.&lt;br /&gt;Me encontre con un par de analisis viejos, pero bastante bien hechos:&lt;br /&gt;&lt;br /&gt;del comentario que hizo este muchacho en blogs.ittoolbox:&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;a href="http://blogs.ittoolbox.com/eai/business/archives/evaluating-soa-esb-software-8465"&gt;http://blogs.ittoolbox.com/eai/business/archives/evaluating-soa-esb-software-8465&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;span style="font-family:arial;"&gt;Llegue al siguiente link que esta muy copado:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;color:navy;"   &gt;&lt;span style=";font-family:Arial;font-size:10;color:navy;"   &gt;&lt;a title="http://www.networkcomputing.com/channels/appinfrastructure/showArticle.jhtml?articleID=181501276&amp;amp;pgno=1&amp;amp;queryText" href="http://www.networkcomputing.com/channels/appinfrastructure/showArticle.jhtml;jsessionid=CKJYQ2X3W1HY0QSNDBECKICCJUMEKJVN?articleID=181501276"&gt;http://www.networkcomputing.com/channels/appinfrastructure/showArticle.jhtml;jsessionid=CKJYQ2X3W1HY0QSNDBECKICCJUMEKJVN?articleID=181501276&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Lo que tiene de bueno este link es que tomaron 8 ESB's y entraron a codificar sobre ellos. Eso les dejo un par de valores, donde claramente gana el BEA Aqualogic Service Bus, seguido de la Oracle Soa Suite (en sus inicios alla en el 2006). Aunque se analiza el 2.1 y ya esta en el 3.0.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;o:p style="color: rgb(0, 0, 0);"&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;span style="font-family:arial;"&gt;Tambien hay un pdf muy copado de &lt;span style="font-weight: bold;"&gt;the server side&lt;/span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;color:navy;"   &gt;&lt;span style=";font-family:Arial;font-size:10;color:navy;"   &gt;&lt;a style="color: rgb(51, 51, 255);" title="http://www.francismontagnet.com/musings/ESB-comparison.pdf" href="http://www.francismontagnet.com/musings/ESB-comparison.pdf"&gt;http://www.francismontagnet.com/musings/ESB-comparison.pdf&lt;/a&gt;&lt;o:p&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Que muestra como el mule supera al BEA Aqualogic Service Bus 2.1 y como el Mule si soporta streaming :D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;En mi actual trabajo, estamos usando la Oracle Soa Suite 10.1.3.0, con algunos inconvenientes porque hay Web Services que no se atan a los lineamientos del Basic Profile (WSDL 1.1).&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Tambien tenemos el mule corriendo de una forma muy extraña (standalone dentro de un container) cosa que no recomiendo para nada. O standalone o Container. Si se hacen ambas es incongruente por temas de port, classloading y demas. Es ilogico.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Ambos funcionan dentro de lo esperado, pero hasta ahora no han recibido cargas de datos, pruebas de stress,  ni gran cantidad de reglas de ruteo. O sea, estamos aun en pañales.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Saludos.&lt;/span&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-4686062625651959495?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/4686062625651959495/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=4686062625651959495' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/4686062625651959495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/4686062625651959495'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/comparacion-de-esbs.html' title='Comparacion de ESB&apos;s'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-2891915697921215646</id><published>2008-05-06T10:48:00.002-03:00</published><updated>2008-05-06T10:54:33.133-03:00</updated><title type='text'>Oracle :P BEA</title><content type='html'>Hace raaaaato que sabiamos que Oracle compro a BEA y la hizo parte de su mancha voraz.&lt;br /&gt;Hoy estaba buscando cosas sobre el &lt;a href="http://www.bea.com/framework.jsp?CNT=index.htm&amp;amp;FP=/content/products/aqualogic/service_bus/"&gt;BEA Aqualogic Service Bus&lt;/a&gt; y me di cuenta de algo..........&lt;br /&gt;La pagina de BEA, es &lt;span style="font-weight: bold;"&gt;Oracle Style&lt;/span&gt; :P JUA!&lt;br /&gt;Ya esta completamente adquirida.&lt;br /&gt;&lt;a href="http://www.bea.com/framework.jsp?CNT=homepage_main.jsp&amp;amp;FP=/content"&gt;Pagina de Oracle BEA&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Vamos a ver que gana la SOA Suite de Oracle con los features de los productos Aqualogic (aunque segun tengo entendido, parte del codigo del workflow basado en Fuego es asqueroso y digno de varios WTF!)&lt;br /&gt;&lt;br /&gt;Lo bueno, es que como todo producto Oracle, te podes bajar lo que quieras y usarlo :D&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-2891915697921215646?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/2891915697921215646/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=2891915697921215646' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/2891915697921215646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/2891915697921215646'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/oracle-p-bea.html' title='Oracle :P BEA'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-4525317262079899398</id><published>2008-05-06T10:37:00.004-03:00</published><updated>2008-05-06T10:47:06.748-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura SW'/><title type='text'>Un dia en la vida de un arquitecto</title><content type='html'>&lt;a href="http://blogs.ittoolbox.com/eai/architect"&gt;http://blogs.ittoolbox.com/eai/architect&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Hace rato que este muchacho no actualiza su blog, pero tiene cosas muy graciosas en el.&lt;br /&gt;&lt;br /&gt;Hasta el momento no encontre nada que diga "ohhhhhhh que sorpresa!!!! mira que diferente!! mira que buena idea!!!", pero me encontre pensando: "JAJAJA a este le pasa lo mismo que a mi y ya se le quemo el cerebro! JAJA"&lt;br /&gt;&lt;br /&gt;Tiene una forma de redactar las cosas que le pasaron de forma graciosa.&lt;br /&gt;Por ejemplo: &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;para decir, no tenes que escribir un libro, solo documentacion de referencia pone: &lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;You don't have to be a Hemingway&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Otro habla de si la variedad en las tareas y salir un poco de la rutina de la especializacion es la sal de la vida &lt;span style="font-weight: bold;"&gt;Variety is the spice of life?&lt;/span&gt; Y me resulto muy gracioso el comentario de una de las personas que dijo: "I am Business Analyst, Developer, System Administrator and DBA.  I am Project Manager and Designer. &lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;I love it.  I hate it.  I'm exhausted.&lt;/span&gt;"&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;Capaz puedan encontrar algo en comun como me paso a mi.&lt;br /&gt;Algo de lo que vivo y no escribo por no ser Hemingway :P JAJAJA&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Saludos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;P.D: la pagina &lt;a href="http://blogs.ittoolbox.com/"&gt;http://blogs.ittoolbox.com/&lt;/a&gt;&lt;br /&gt;         tiene un par de cosas muy interesantes, yo por ahora estoy chusmeando lo relacionado a EAI&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-4525317262079899398?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/4525317262079899398/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=4525317262079899398' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/4525317262079899398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/4525317262079899398'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/un-dia-en-la-vida-de-un-arquitecto.html' title='Un dia en la vida de un arquitecto'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-8892867820590181393</id><published>2008-05-05T10:39:00.004-03:00</published><updated>2008-05-05T10:42:09.665-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Montañismo'/><category scheme='http://www.blogger.com/atom/ns#' term='Naturaleza'/><title type='text'>Un alma grande se fue pa'l cielo</title><content type='html'>Federico Avellaneda, mi instructor del PAZA se fue el 3 de mayo del 2008.&lt;br /&gt;&lt;br /&gt;Estuve poco tiempo con el pero alcanzo para ver la clase de persona que era.&lt;br /&gt;Increible que personas que dedican su vida a salvar otras se vayan tan pronto y otras que dedican su vida a lo contrario duren tanto.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-8892867820590181393?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/8892867820590181393/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=8892867820590181393' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8892867820590181393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8892867820590181393'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/05/un-alma-grande-se-fue-pal-cielo.html' title='Un alma grande se fue pa&apos;l cielo'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-6932536743293851408</id><published>2008-04-29T10:24:00.002-03:00</published><updated>2008-04-29T10:40:03.775-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Montañismo'/><category scheme='http://www.blogger.com/atom/ns#' term='Naturaleza'/><title type='text'>PAZA - Ecomed</title><content type='html'>PAZA son las siglas de primeros auxilios en zonas agrestes.&lt;br /&gt;Es un curso certificado que se da en la fundacion Ecomed y que esta destinado a todos los aficionados a la vida en zonas agrestes (en este caso, toda zona que este a mas de dos horas de un centro de  primeros auxilios).&lt;br /&gt;&lt;br /&gt;El curso dura 2 fines de semanas completos, sabados y domingos desde la mañana a la noche y explica el mejor metodo para socorrer a personas ante diferentes situaciones en el que pueden perder la vida. Dan las herramientas para casos puntuales, pero no siempre vamos a tener a mano todos los elementos necesarios, por lo que buscan desarrollan el sentido comun de cada individuo para que pueda deliberar en situaciones complicadas, con las herramientas que posee.&lt;br /&gt;&lt;br /&gt;Es muy recomendable que todo aficionado a la naturaleza haga este curso y tenga siempre un botiquin a mano cuando sale a aventurarse. La fundacion es muy seria y el curso esta dado por gente de primer nivel, pertenecientes a la cruz roja y con experiencias en casos como el de la AMIA y LAPA.&lt;br /&gt;&lt;br /&gt;Les dejo los links:&lt;br /&gt;&lt;a href="http://www.ecomed.org.ar/index.html"&gt;http://www.ecomed.org.ar/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hay dos cursos, el de PAZA es para aficionados y el CSE es el de socorrista (pro):&lt;br /&gt;&lt;a href="http://www.ecomed.org.ar/template.asp?F=cursos/paza&amp;amp;ID=paza"&gt;http://www.ecomed.org.ar/template.asp?F=cursos/paza&amp;amp;ID=paza&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-6932536743293851408?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/6932536743293851408/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=6932536743293851408' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/6932536743293851408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/6932536743293851408'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/04/paza-ecomed.html' title='PAZA - Ecomed'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-1543563391209283979</id><published>2008-04-28T13:16:00.001-03:00</published><updated>2008-04-28T13:18:21.366-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Tabla Ascii</title><content type='html'>Esta es una pagina que siempre tengo a mano.&lt;br /&gt;&lt;a href="http://www.asciitable.com/"&gt;http://www.asciitable.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Es una tabla ascii, html, hexa y xml.&lt;br /&gt;&lt;br /&gt;Es util, en verdad que si. Lastima que la tabla en si es una imagen y no texto, pero bueno, si consigo otra mejor les paso.&lt;br /&gt;Hasta ahora, con esta me las he ingeniado bastante bien :D&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-1543563391209283979?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/1543563391209283979/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=1543563391209283979' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/1543563391209283979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/1543563391209283979'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/04/otra-pagina-util.html' title='Tabla Ascii'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-8343019839682278217</id><published>2008-04-28T13:11:00.003-03:00</published><updated>2008-04-28T13:15:04.725-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>De pie, se habla del VI</title><content type='html'>Esta entrada va dedicada al gran Profesor Ariel Carna, que me introdujo al fabuloso mundo monocromatico de la edicion con VI.&lt;br /&gt;&lt;br /&gt;VI, de visual editor, que no tiene nada de eso, pero si lo comparamos con el ED da muchisimo mas, es (sin duda) lo mas practico que hay para ediciones rapidas sobre un archivo.&lt;br /&gt;&lt;br /&gt;Hay detractores de la herramienta, que prefieren usar el notepad :P (el vi de Microchot) y fanaticos adoradores (como Ariel) que son capaces de agregarle plugins de autocompletado :P&lt;br /&gt;El tema es que vayas al servidor unix/linux que vayas, siempre va a haber un vi a mano. Probablemente no tengas un emacs, un mcedit o algo parecido, pero cuando conozcas a fondo el vi, ya no vas a necesitarlos (aunque el emacs es un editor que parece practico y que jamas entendi).&lt;br /&gt;Necesitas un reemplazo en todo el archivo? solo necesitas escribir al estilo &lt;span style="font-weight: bold;"&gt;sed:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;1,$ s&amp;frasl;(expresion)&amp;frasl;(reemplazo)&amp;frasl;g&lt;/span&gt; y hace un reemplazo en todo el texto en donde encuentre la linea.&lt;br /&gt;1, $: es para decirle, de la linea 1 a la final... Una masa, poder especificar las lineas en donde queres el reemplazo!!!!!!&lt;br /&gt;&amp;frasl;g para que sea global.&lt;br /&gt;&lt;br /&gt;Queres tirar un comando pero no salir: hacete un &lt;span style="font-weight: bold;"&gt;!&lt;/span&gt;lo que quieras&lt;br /&gt;Queres los numeros de linea? alguna otra cosa? fijate como podes usar el &lt;span style="font-weight: bold;"&gt;set&lt;/span&gt;&lt;br /&gt;Queres buscar hacia atras &lt;span style="font-weight: bold;"&gt;?&lt;/span&gt;, hacia adelante &lt;span style="font-weight: bold;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Queres hacer un reemplazo de una palabra &lt;span style="font-weight: bold;"&gt;cw&lt;/span&gt;, avanzar por palabra &lt;span style="font-weight: bold;"&gt;w&lt;/span&gt;, avanzar hacia atras por palabra &lt;span style="font-weight: bold;"&gt;b&lt;/span&gt;.&lt;br /&gt;Ir al final de una linea? &lt;span style="font-weight: bold;"&gt;$&lt;/span&gt;, al principio? &lt;span style="font-weight: bold;"&gt;I&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Es MAS FACIL de usar que el Winning Eleven!!!!! y una vez que lo aprendes, no lo dejas mas!!!!!&lt;br /&gt;Ademas, tenes la posibilidad de caretearlo frente a todo aquel que no lo sepa y dejarlo con cara de asombro!!!!! (con que poco por favor, con que poco!!!! cuantas satisfacciones me ha dado JAJAJA)&lt;br /&gt;&lt;br /&gt;Aca tienen un listado de los comandos que soporta:&lt;br /&gt;&lt;a href="http://www.unav.es/cti/curso-c/vi.html"&gt;http://www.unav.es/cti/curso-c/vi.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Realmente, disfrutenlo, vale la pena; y tomenlo como un juego ;) asi es mas divertido aun&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-8343019839682278217?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/8343019839682278217/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=8343019839682278217' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8343019839682278217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8343019839682278217'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/04/de-pie-se-habla-del-vi.html' title='De pie, se habla del VI'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-1201034591963485354</id><published>2008-04-25T17:45:00.001-03:00</published><updated>2008-04-25T17:53:37.106-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Python y lenguajes de scripting</title><content type='html'>&lt;o:p&gt;&lt;/o:p&gt;Youtube, tiene python :D&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;a href="http://highscalability.com/youtube-architecture" target="_blank"&gt;&lt;span style="" lang="EN-US"&gt;http://highscalability.com&lt;wbr&gt;/youtube-architecture&lt;/span&gt;&lt;/a&gt;&lt;span style="" lang="EN-US"&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Python existe hace bocha y es 10 veces mas facil de leer que un codigo perl (una comparacion mas justa, un parseo y trabajo con strings bien hecho en python es mas facil de leer que un parseo y manejo de strings hecho en perl :D)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Hace tiempo que los lenguajes de scripting estan empujando con mas fuerza con ganas de entrar al mercado de aplicaciones comerciales… Y ERA HORA!!!! &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Python es uno de los mas avanzados al respecto (especialmente en Juegos, Aplicaciones matematicas y de todo tipo jeje)&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;br /&gt;Antes estaba el código maquina y se paso a assembler&lt;br /&gt;De assembler, se paso a C y otros&lt;br /&gt;de C se pasa a algo como java, .NET&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;De Java y .NET se pasa a ?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;El proximo nivel de abstraccion podria ser lenguaje scripting, quien sabe.&lt;br /&gt;Todo sea por tratar de decirle a la maquina en el idioma mas humano posible "che! negra, dame un listado de pedidos &lt;span class="st"&gt;&lt;span name="st" id="st"&gt;del&lt;/span&gt;&lt;/span&gt; usuario ordenado por categoria que no esten vencidos, leemelo y mandamelo a imprimir en un formato bonito de 3 columnas"&lt;br /&gt;&lt;br /&gt;Hay una charla muy copada de Neil Ford y Fowler donde hablan de la aparicion de Ruby on rails y otros, y de quitar el ruido que hay en los lenguajes. bah! en realidad habla de Domain Specific Languages (DSLs) y demases, pero a mi me gusto interpretarlo asi (jeje)&lt;br /&gt;&lt;a href="http://www.theserverside.com/talks/index.tss" target="_blank"&gt;http://www.theserverside.com&lt;wbr&gt;/talks/index.tss&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Desde hace tiempo, para facilitar un poco a la programacion en C++ existe TCL/TK que se integra perfectamente con el lenguaje.&lt;br /&gt;Ahora aparecieron para java cosas como el feature de scripting de la java 1.6 (creo que se basa en rhino), jython para integrarlo con python (Gracias Alecu por bombardearme con idea pythonescas), jruby que viene a ser un ruby y algo que puede ser groso: Groovy, que me presento un amigo :D (gracias Gon!)&lt;br /&gt;No se cual va a ser el que pegue mas fuerte, pero va a estar interesante acompañar el proceso :D (si es que realmente hay o se da alguno)&lt;br /&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Si les cabe el tema de python, miren estos videos:&lt;br /&gt;&lt;a href="http://plone.org/about/movies" target="_blank"&gt;http://plone.org/about/movies&lt;/a&gt;&lt;br /&gt;En especial el de Better Web APP development.&lt;br /&gt;Igual, es un poco injusto al hablar de la integracion de plone (BDOO hehca en python), comparada con la de ruby on rails (BD con estructura de tablas especifica).&lt;br /&gt;De paso no esta mal darse una vuelta por el sitio de plone :P&lt;br /&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Si realmente les cabió el tema python, les recomiendo el sitio de unos amigos: &lt;a href="http://www.python.com.ar/moin" target="_blank"&gt;http://www.python.com.ar/moin&lt;/a&gt;&lt;br /&gt;Son los chicos &lt;span class="st"&gt;&lt;span name="st" id="st"&gt;del&lt;/span&gt;&lt;/span&gt; Pyar (grupo argentino de usuarios de Python). Son gente muy copada y grosa. &lt;/p&gt; &lt;br /&gt;Diviertanse :D&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-1201034591963485354?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/1201034591963485354/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=1201034591963485354' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/1201034591963485354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/1201034591963485354'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/04/python-y-lenguajes-de-scripting.html' title='Python y lenguajes de scripting'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-3692387361479227898</id><published>2008-04-25T16:41:00.008-03:00</published><updated>2008-04-25T17:25:34.537-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Grid Computing</title><content type='html'>Ultimamente estoy viendo muchos productos Java destinados al Grid Computing.&lt;br /&gt;Parece que esta tratando de entrar en la conciencia del mercado sistemico, desde el desarrollo.&lt;br /&gt;Una de las bases de todos estos productos es que los nodos se agreguen dinamicamente con mucha facilidad.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;span style="font-size:12;"&gt;&lt;span style="font-style: italic;"&gt;GridGain&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.gridgain.com/"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;a target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://www.gridgain.com/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;span style="font-size:12;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;Realmente permite hacer un grid, pero a costo de que la aplicacion este diseñada y codificada especificamente para procesar en un Grid.&lt;br /&gt;Requiere un alto conocimiento tecnico y no es sencillo darle a programadores semi senior y junior la tarea de decidir que Split de tasks hacer. Es probable que el lider tecnico/arquitecto de software tenga overhead en un grupo de desarrollo que intenta construir con esta herramienta, por estar decidiendo a cada rato que tareas seran spliteables y cuales no conviene splitear.&lt;br /&gt;No es transparente al codigo, por lo que no es facil "portear" aplicaciones viejas a un esquema Grid.&lt;br /&gt;Aun asi, el producto es uno de los primeros que veo que hacen Grid en cuanto a procesamiento y no unicamente datos.&lt;br /&gt;Tiene unos screencast muy copados, para el que no quiera leer demasiado. Merece la pena ojearlo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Terracotta&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.terracotta.org/"&gt;http://www.terracotta.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Terracota es un Objecto Broker. La idea es dejar de pensar en RMI y comunicacion entre procesos remotos para comenzar a pensar en aplicaciones simples en el que la VM hara el broadcast de obejtos entre distintos nodos (EJB, te comes los mocos!!!! excepto el fabuloso MDB, claro).&lt;br /&gt;Tenes una doble VM, donde una es el worker y esa publica a otra que se sincroniza con los demas nodos. La VM sincronizada despues publica los objetos a la worker.&lt;br /&gt;Me llego un comentario que Sun piensa lanzar un feature parecido en alguna version de la VM, pero Sun es lento con los cambios.&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;PRO&lt;/span&gt;: Es trasparente a la aplicacion y se integra con spring. Si use Spring, mi codigo no deberia verse muy impactado. No es un Grid de procesamiento ni de datos, sino que es un productor-consumidor-broker de objetos. Eso hace que los objetos de un nodo, se vean en TODOS los nodos con la misma data.&lt;br /&gt;Es una de las mas difundidas. Existen casos de exito de esta herramienta, porque ya hay desarrollos que la utilizan.&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;CONTRA&lt;/span&gt;: El nivel de transacciones entre VM's es altisimo, asegurar el sincronismo requiere un interesante trabajo de testeo (aun no confio mucho en el sincronismo de la herramienta).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Oracle Tangosol Coherence&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/coherence/index.html"&gt;http://www.oracle.com/technology/products/coherence/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Es un especie de &lt;a href="http://en.wikipedia.org/wiki/Storage_area_network"&gt;SAN&lt;/a&gt;. Usa un esquema de cacheo de datos y el desarrollador ve el acceso de objetos como la obtencion de entries de un Map.&lt;br /&gt;Es un Grid de datos, no de procesamiento (por mas que los datos sean objetos). Permite que en varios nodos se vean los mismos registros con manejo de failover.&lt;br /&gt;Para aplicaciones web es "semi-trasparente" ya que la persistencia de la sesion se maneja en una memoria "que parece compartida" que es accedida por todos los nodos del Grid.&lt;br /&gt;Realmente es una ayuda al balanceo, ya que puede eliminar el schema de sticky sessions.&lt;br /&gt;La persistencia se hace completamente en memoria, por lo que si se caen el nodo primario y el de backup, pueden perderse datos.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;PRO&lt;/span&gt;: Es memoria, es configurable, es un grid de datos.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;CONTRA&lt;/span&gt;: Para aplicaciones comerciales es pago, requiere codificacion para publicacion de objetos que no sean una simple HTTPSession, no es tan facil de configurar como parece. Oracle aun lo esta manoseando.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;GigaSpaces&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.gigaspaces.com/pr_overview.html"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;a target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://www.gigaspaces.com/pr&lt;wbr&gt;_overview.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;span style="font-size:12;"&gt;&lt;br /&gt;Aun no lo pude observar, sinceramente. En cuanto pueda, le pego una ojeada.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enjoy it.&lt;br /&gt;Saludos.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-3692387361479227898?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/3692387361479227898/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=3692387361479227898' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3692387361479227898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/3692387361479227898'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/04/grid-computing.html' title='Grid Computing'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-942244090427435915</id><published>2008-04-25T10:54:00.003-03:00</published><updated>2008-04-25T17:25:55.264-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Paginas utiles para un Quick Start</title><content type='html'>Creo que los Javeros siempre queremos conocer un poco de todos los framework que existen, incluso el JBanana (&lt;a href="http://www.jbanana.org/"&gt;http://www.jbanana.org&lt;/a&gt;, &lt;a href="https://jbanana.dev.java.net/"&gt;https://jbanana.dev.java.net/&lt;/a&gt;). Todavia no se bien si es para mandarnos la parte o si es para no quedar con la boca abierta cuando alguien nos diga que esta usando muchas libs con nombre *J*algo.&lt;br /&gt;La verdad, es que no hay tiempo suficiente para aprender todo y si bien hay screen casts y walkthroughs, uno no conoce bien los "fwks" hasta que se sienta a codificar algo que deba solucionar una necesidad REAL. Es por eso que existe gente que nos da esqueletos y ejemplos de codigos comunes, para ayudarnos a solucionar rapidamente problemas con los "fwks" existentes. Aca les paso dos ejemplos de buenos tipos (:P):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://appfuse.org/display/APF/Home"&gt;http://appfuse.org/display/APF/Home&lt;/a&gt;&lt;br /&gt;Esta siempre es la misma aplicacion, pero desarrollada con fwks diferentes. No es lo suficientemente grande para hacer una prueba de carga, pero da una idea de tiempos y funcionalidad. Obviamente, el codigo con diferentes versiones es muy apreciado.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.java2s.com/"&gt;http://www.java2s.com/&lt;/a&gt;&lt;br /&gt;Ejemplos de java a necesidades comunes.&lt;br /&gt;Necesitas un ABM? Necesitas un Hola Mundo? Necesitas usar JBiX y no sabes por donde empezar? Bueno, bajate un ejemplo, correlo y despues contame...&lt;br /&gt;&lt;br /&gt;Realmente son de ayuda ante problemas puntuales y sirven para dar un vistazo rapido a diferentes soluciones de un mismo problema.&lt;br /&gt;&lt;br /&gt;Enjoy it!&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-942244090427435915?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/942244090427435915/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=942244090427435915' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/942244090427435915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/942244090427435915'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/04/paginas-utiles-para-un-quick-start.html' title='Paginas utiles para un Quick Start'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-5547297961629300821</id><published>2008-04-24T16:13:00.005-03:00</published><updated>2008-04-25T17:27:47.636-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Infraestructura'/><title type='text'>Blades Opteron</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;span style=";font-family:Arial;font-size:9;"  lang="EN-US" &gt;Los Blade Opteron Dual Core tienen problemas de sincronizacion entre los diferentes cpu's por lo que hacen que la hora del equipo avance mas rapido de lo normal y se vaya desfazando gradualmente.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;span style=";font-family:Arial;font-size:9;"  lang="EN-US" &gt;&lt;br /&gt;Para corregirlo hay que tocar un parametro en el inicio de los sistemas (a mi me toco tocar en Red Hat's AS4 el /boot/groob/menu.lst que es un link al groob.conf) y rebootear el equipo.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;span style=";font-family:Arial;font-size:9;"  lang="EN-US" &gt;Les dejo la advertencia y el link de HP.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;span style=";font-family:Arial;font-size:9;"  lang="EN-US" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;span style=";font-family:Arial;font-size:9;"  lang="EN-US" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;span style="font-weight: bold;font-family:Arial;font-size:9;"  lang="EN-US" &gt;Advisory:  (Revision) HP ProLiant Servers Using Dual-Core or More Than One Single-Core AMD  Opteron Processor May Experience Incorrect Operating System Time When Running  Systems That Use the System Time Stamp Counter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Calibri;font-size:85%;"  &gt;&lt;span lang="EN-US"  style="font-size:11;"&gt;&lt;a title="http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c01075682&amp;amp;lang=en&amp;amp;cc=us&amp;amp;taskId=101&amp;amp;prodSeriesId=420496&amp;amp;prodTypeId=18964" href="http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c01075682&amp;amp;lang=en&amp;amp;cc=us&amp;amp;taskId=101&amp;amp;prodSeriesId=420496&amp;amp;prodTypeId=18964"&gt;http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c01075682&amp;amp;lang=en&amp;amp;cc=us&amp;amp;taskId=101&amp;amp;prodSeriesId=420496&amp;amp;prodTypeId=18964&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-5547297961629300821?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/5547297961629300821/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=5547297961629300821' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/5547297961629300821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/5547297961629300821'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/04/blades-opteron.html' title='Blades Opteron'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-8405119411149754674</id><published>2008-04-24T14:41:00.005-03:00</published><updated>2008-04-25T17:27:58.831-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>JPA</title><content type='html'>Quien busque rapidez en el desarrollo, un enfoque de diseño top-down e independencia de la tecnologia que soportara su persistencia (en Java) debera volcarse tarde o temprano hacia JPA.&lt;br /&gt;&lt;br /&gt;JPA es un estandar de persistencia Java fijado por Sun, se basa en Annotations y permite que el framework de persistencia varie de forma transparente, siempre que uno se ate a los Annotation estandar.&lt;br /&gt;Todo el que haya trabajado con EJB 3.0 ya ha usado JPA en una medida.&lt;br /&gt;&lt;br /&gt;Introduccion a JPA en el tutorial de java:&lt;br /&gt;&lt;a href="http://java.sun.com/javaee/5/docs/tutorial/doc/bnbpz.html"&gt;http://java.sun.com/javaee/5/docs/tutorial/doc/bnbpz.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Actualmente Oracle Toplink e Hibernate 3 soportan JPA.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Nota: &lt;/span&gt;&lt;span style="font-style: italic;"&gt;Hibernate 3&lt;/span&gt; aun tiene problemas en su EntityManager para detectar Annotation de Hibernate. La Annotation Entity es completamente ignorada por el framework, pero no las de Proxy. Es conveniente, y casi una obligacion, usar siempre las Annotations estandar.&lt;br /&gt;&lt;br /&gt;Cuando tenga mas data interesante voy a charlar mas del tema...&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-8405119411149754674?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/8405119411149754674/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=8405119411149754674' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8405119411149754674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8405119411149754674'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/04/jpa.html' title='JPA'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-6384125242711706545</id><published>2008-04-24T14:11:00.006-03:00</published><updated>2008-04-25T17:28:10.906-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>CXF ya es Top Level Project!!!</title><content type='html'>y que carajo es eso???&lt;br /&gt;&lt;br /&gt;CXF es un framework para el desarrollo de WebService en JAVA rapido, completo y facil de aprender. Soporta SOAP y Rest.&lt;br /&gt;&lt;br /&gt;CXF es una mezcla de XFIRE y algun desarrollo de jakarta. Aun esta en el Apache Incubator, pero ya fue graduado a Top Level Project!!!&lt;br /&gt;&lt;a href="http://incubator.apache.org/projects/cxf.html"&gt;http://incubator.apache.org/projects/cxf.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Y si ven el aviso del 16/4:&lt;br /&gt;&lt;a href="http://www.nabble.com/CXF-has-graduated%21-p16730373.html"&gt;http://www.nabble.com/CXF-has-graduated!-p16730373.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Esto es una gran noticia para todos aquellos que opinaban que Axis 1.4, Axis 2 (en especial), Spring Web Service, JAXRPC y las soluciones del mercado en general eran decepcionantes.&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-6384125242711706545?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/6384125242711706545/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=6384125242711706545' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/6384125242711706545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/6384125242711706545'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/04/cxf-ya-es-top-level-project.html' title='CXF ya es Top Level Project!!!'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7533382755762005328.post-8915930359439086751</id><published>2008-04-24T13:28:00.003-03:00</published><updated>2008-04-25T17:29:10.819-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>main( )</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Hola Mundo!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y  tenia que ser asi nomas :P&lt;br /&gt;Siendo sistemico no podria comenzar un blog de otra forma.&lt;br /&gt;Vamos a ver hasta donde llego con este blog y si tiene un poco mas de suerte que mi lastimoso space de msn :P&lt;br /&gt;&lt;br /&gt;La idea inicial es ir posteando los problemas o cosas nuevas que vaya encontrando en el entorno profesional, pero no voy a tardar en agregar algunas cosas personales.&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7533382755762005328-8915930359439086751?l=ddelyerro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddelyerro.blogspot.com/feeds/8915930359439086751/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7533382755762005328&amp;postID=8915930359439086751' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8915930359439086751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7533382755762005328/posts/default/8915930359439086751'/><link rel='alternate' type='text/html' href='http://ddelyerro.blogspot.com/2008/04/main.html' title='main( )'/><author><name>Diego del Yerro Aprea</name><uri>http://www.blogger.com/profile/12005358058777402025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_reHNbIg9pks/SBC8tvvVZFI/AAAAAAAABH8/o8dMpylPhKQ/S220/DSC00039.JPG'/></author><thr:total>0</thr:total></entry></feed>
