viernes, junio 27, 2008

IONA

viernes, junio 27, 2008 por Martín


IONA (Technologies) es una de esas compañías que ha marcado una era. Surgida del Trinity College en Dublin como startup allá por el 1991, es una de esas compañías que a los de mi época comenzaba a sonarnos un poquillo cuando andábamos por la Universidad, y que al salir y descubrir un poco el mundo exterior y empezar a leer las revistillas, y las páginas web, pues descubrías que era la empresa donde más se innovaba en el momento. La empresa donde cualquier ingeniero de software le gustaría trabajar, la empresa que acaparabalos titulares de los TheServerSide de la época.

En Answers.com tienen una biografía excepcional de la compañía. Su mayor éxito fue Orbix ORB. Top ventas donde los haya y que todavía se vende. La primera implementación comercial de un estándar, que empezaba a sonar en la época, llamado CORBA. Esa innovación, el ser los primeros en adoptar un estándar avalado por HP, IBM, Sun, Apple, y todo el resto de miembros del OMG, les valió el convertirse en la empresa del momento, y una de las de mayor éxito de la década de los 90.

Un Object Request Broker, nada más y nada menos, lo que ahora mirado desde lejos parece lo más sencillo del mundo, pero que en aquella época era algo que daba vértigo sólo de pensarlo. ¡O al menos a mi me lo daba en las prácticas de CORBA! Leyendo la biografía es sorprendente todo lo que crearon durante esa época. OrbixTalk lo que suena a los modernos Event Driven Servers que nos venden hoy en día, Orbix Transaction Monitor, Orbix MX (multimedia, video streaming, ...), Orbix COMet (para crear aplicaciones Windows y ejecutarlas en otros sistemas operativos), partnetship con Visual Cafe (¿quién se acuerda de ese IDE?), Homebase EJB, ... y otro montón de productos que supongo que pasaron con más pena que gloria.

Según comentan los irlandeses, y en general todo el sector, el golpe del 2000 fue demasiado para ellos. Nunca consiguieron levantar cabeza al nivel de antes (5ª compañía en el Nasdaq 1997), y muchos de los miembros aprovecharon para canjear las acciones y comprarse unas buenas casitas como cuenta Joe Drumgoole en su blog. Como también comenta, el gran fallo es que nunca supieron realmente como unirse al carro de Java y EJB, y probablemente hayan lamentado el no comprar WebLogic en su momento si son ciertos los rumores.

En los últimos años la esperanza de IONA ha sido el Open Source, pero siempre dando esa impresión de no tener un rumbo fijo. La compra de C24 y ServiceMix parece haber enfocado su negocio en el mundo de la integración, interoperabilidad entre estándares y el Open Source. Tiene productos interesantes (casualmente esta semana he estado en un seminario sobre uno de ellos), pero siguen dando exactamente esa impresión de no saber realmente donde está su negocio.

Esta semana IONA ha sido comprada por Progress, por un precio de 163 millones de dólares, o lo que es lo mismo sobre 4 dólares por acción, en lo que claramente es una operación para deshacerse de la compañía. Un precio bastante miserable para una compañía que en el 1997 valía 1 billón de dólares. Mucho me temo que en la oficina estarán ya pensando en cuando caerán los despidos. Malos tiempos para Irlanda que pierde a lo que ha sido la compañía de software más importante que ha salido de la isla.

miércoles, junio 25, 2008

Slides SpringOne 2008

miércoles, junio 25, 2008 por Martín

Hoy alguien del trabajo me pasaba este enlace que aprovecho para postear por aquí. Que aprovechado soy :-)

Se trata de la página con todas las transparencias publicadas en la Spring One 2008 de la semana pasada. Sergi Almar comparte su experiencia en javaHispano. Enterprise Integration Patterns with Spring, Enterprise Integration Management y Restful Web Services son mis elegidos para leer.

sábado, junio 21, 2008

Charlas de escalabilidad en Google, 2008

sábado, junio 21, 2008 por Martín



El año pasado hice un par de referencia a las conferencias de escalabilidad que celebraba Google en Seattle en el 2007.

Este año las han vuelto a repetir. Fueron exactamente hace una semana y los videos ya están disponibles en YouTube por si a alguien le interesa echarles un vistazo.

jueves, junio 19, 2008

La nueva web de RTVE no rinde como la selección

jueves, junio 19, 2008 por Martín

Ayer jugaba España, y como buen aficionado al fútbol que soy no me debería perder este partido. Lo malo es que como España estaba ya clasificada, en la televisión irlandesa retransmitieron el partido de Rusia y Suecia. Así que como no tengo antena parabólica no me quedaba más remedio que bucear en Internet intentando ver si lo retransmitía alguien, y que mejor lugar que la nueva y flamante beta de RTVE.

Lo malo es que al intentar pinchar en el enlace del seguimiento en tiempo real del partido, me quedé con las ganas de saber si era el video en tiempo real, o una narración porque salía lo que salía era lo siguiente:



Varios tirones de orejas para la cadena pública aquí. El primero por no planear la escalabilidad para momentos tan importantes como los partidos de España donde todos los expatriados, y otros, nos volcamos en la web para intentar seguir a nuestro equipo del alma.

El segundo, por no planear una estrategia de degradación (¿se dice así?), no me hubiese importado que en caso de no entrar dentro de los huecos libres para este servicio se me redireccionase a una página con texto en lugar de video por ejemplo.

Y el tercero es por mostrar las trazas de los errores en lugar de cualquier otro mensaje de error.



Especialmente en Java, las trazas de error nos dan una enorme cantidad de información que cualquiera podría utilizar para atacar un sitio web. De las imágenes anteriores podemos saber algunas cosillas:


  • Que están usando Tomcat 5.5.25. No estaría de más actualizar a la versión más estable.

  • Podemos saber quien ha hecho la plataforma. Asumo que será Microgénesis ya que eso es lo que sugiere una búsqueda del stacktrace en google. En este caso se ve que los desarrolladores han tenido el cuidado (o no) de no poner trazas en foros, etc. ya que la búsqueda nos podría ofrecer mucha más información.

  • Nos dice que a alguien se le olvidó capturar excepciones no esperadas. Normalmente cuando se accede a un sistema externo, no está demás capturar RuntimeExceptions por eso de que cualquier cosa pueda ir mal.

  • Nos dice que utilizan un framework propio, al menos para esta funcionalidad en concreto. No hay rastro de Struts, Spring, etc. así que todo sugiere que se trata de una aplicación de Servlets "a pelo".

  • Nos dice que utilizan XML-RPC y más concretamente las librerías de apache, Apache XML-RPC.

  • Y ya por último, esa llamada XML-RPC desde un método llamado getRelatedCotents y una clase ContentManager sugiere que la aplicación no es más que una fachada a un sistema de gestión de contenidos externo al que accederán con servicios web.



Creo que más o menos es lo que se puede averiguar, ¿me he olvidado de algo o he deducido algo mal? Ya me lo comentaréis. De todos modos, no está nada mal para una simple traza. Al menos no sale la base de datos por ahí :)

Por cierto que lo que no nos dice la excepción es ¡¡si España va a pasar de cuartos o no!!

martes, junio 17, 2008

Los peligros de los patrones de diseño

martes, junio 17, 2008 por Martín


Ayer, en una conversación telefónica, en la busca de nuevo contrato, me sorprendieron con algo que no me esperaba porque por mi experiencia la mayoría de las personas no se para demasiado a leer tu CV. Más concretamente me comentaban que les había chocado un artículo con el nombre "The Dangers of Design Patterns".

Los peligros de los patrones de diseño es un artículo que escribí hace casi ya seis años y que sigue todavía vivo gracias a javaHispano. La verdad es que a diferencia con otros artículos que he escrito, y que van caducando con los años, creo que a medida que pasa el tiempo este artículo es más y más válido.

Parafraseando una de las partes del artículo, y pidiendo perdón por adelantado por "quotearme" a mi mismo lo que me resulta algo pedante:

Las empresas no buscan arte sino pragmatismo.


La sobreingeniería creo que es algo en lo que muchos hemos caído. Al menos a mi, mirando hacia atrás, me es fácil recordar ocasiones en las que he pecado de diseño exagerado y utilizado abstracciones y patrones que no eran necesarios, simplemente por la razón de que la aplicación no necesitaba ninguna extensibilidad, no se iba a integrar realmente con ningún sistema externo, no iba a funcionar como un framework sobre el que se construirían nuevas aplicaciones, y en resumen no entraba dentro de esos casos donde sí que es realmente importante aprovechar toda la potencia creativa que nos ofrecen los patrones de diseño. Eran simplemente aplicaciones que había que crear rápido y en las que está bien aprovechar los patrones más útiles, pero en las que quizás el encadenar 10 patrones seguidos puede complicar bastante las cosas, especialmente cuando llegan programadores junior a mantener la aplicación.

Personalmente creo que el encontrarse con desarrolladores que practican sobreingeniería no es algo malo. Creo que muestra una cosa: interés. Me encanta encontrarme con desarrolladores excitados con la creación de nuevas obras de arte en el software porque indica una cualidad muy importante que la mayor parte de la gente que se dedica a esta profesión carece: pasión por el software. Definitivamente prefiero encontrarme con alguien que practique sobreingeniería que con alguien al que le importe un comino lo que está escribiendo.

Mirando hacia atrás en la época del artículo es interesante ver también como con el paso del tiempo han ido apareciendo frameworks como Spring que nos protegen de complicar nuestros diseños con un uso inadecuado de los patrones de diseño. Spring te ofrece montones de patrones de diseño que están ahí listos para utilizar y lo que es más importante que están correctamente programados y con la complejidad justa y necesaria. Patrones como Singleton, Observer, Proxy u otros como DAO o Dependency Injection y otros muchos están ahí listos para utilizar con su complejidad adecuada, porque aunque a mucha gente patrones como Singleton le podían parecer supersencillos a la hora de la verdad resulta que no era tan fácil implementarlos correctamente. Punto para Spring a este respecto.

Otro punto importante que se me viene a la mente es la importancia de disponer de un buen arquitecto en la empresa. El arquitecto, o los programadores senior, deben ser los encargados de poner ese punto justo de coherencia y sentido común en el desarrollo de las aplicaciones, ya sea a través de diseños ajustados, de revisiones de código, reuniones de desarrollo o cualquier otro método, pero siempre desde un punto de vista constructivo y aportando el valor de la experiencia.

Es muy interesante ver como el desarrollo de software ha evolucionado durante estos últimos años. Palabras como ágil y pragmatismo se han vuelto bastante comunes en el desarrollo de software. Pero ojo que ninguna de ellas significa no utilizar patrones sino utilizarlos en su justa medida, como la sal. Me gustó recordar este artículo ayer.

PS: Que curioso que buscando en Google he descubierto una crítica a mi artículo publicada nada más y nada menos que en el 2003. Me ha parecido muy interesante leerla y tiene también muy buenos puntos, aunque creo que fue una respuesta ligada más al título del artículo (probablemente mal escogido) que al contenido donde se carga continuamente contra la sobreingeniería, el no estudiar profundamente los patrones existentes y los que van apareciendo y el no analizar como aplicarlos adecuadamente. Todas las opiniones tienen valor, pero está claro que los patrones desde el punto de vista de un curso de ingeniería del software, se apliquen como se apliquen, se combinen como se combinen, siempre van a ser buenos :)

lunes, junio 16, 2008

La crisis estimula el interés en el capital de riesgo, al menos en Irlanda

lunes, junio 16, 2008 por Martín

Hoy leía una noticia muy interesante en Silicon Republic, y es que parece que un estudio realizado en las principales firmas de capital de riesgo en Dublín revela que desde que la crisis de las hipotecas subprime ha tomado cuerpo estas firmas han detectado un 70% más de interes sobre inversión en capital de riesgo.

Venture capital has proven to produce greater returns at lower volatility than traditional equity investment


De todos modos, no todo van a ser buenas noticias para los emprendedores-wannabe, como podría ser yo, ya que parece ser que la mayor parte de las propuestas que reciben estas compañías son rechazadas por la falta de un equipo de dirección senior y contrastado para llevarlas adelante.

Joe Drumboole, CEO de PutPlace.com, criticaba exactamente eso en una de sus últimas entradas en su blog, y es que a pesar de que Enterprise Ireland se promocionan como principales impulsores de la inversión de capital de riesgo en Irlanda, lo cierto es que a la hora de la verdad hay muy poco riesgo en sus inversiones, ya que se centran principalmente en empresas que han estado operando durante varios años, empresas que tienen mecenas y equipos directivos importantes, y no en gente que trata de sacar su pequeña startup adelante.

A ver como van las cosas pero espero poderos contaros un poco más sobre estos temas en un futuro.

Celebrando que llega Firefox 3

lunes, junio 16, 2008 por Martín

Ha pasado casi un mes desde la última entrada que escribí en el blog. Lo cierto es que las últimas semanas han sido bastante estresantes. Hace una semana que terminé mi primer contrato como autónomo en Dublín, e imaginaros como habrá sido que me he tomado una semana de "relax" para desestresarme un poco.

Ha sido una semana de relax entre comillas porque todavía he estado trabajando en un proyecto del que espero que muy pronto oigáis hablar. Se trata de algo muy interesante en lo que estoy trabajando con unos amigos y que espero que genere un buen montón de posts, casi tantos como los que podría poner sobre mi último contrato porque de todo se aprende tanto de las buenas como de las malas experiencias :)

Mientras sigo buscando algo en que entretenerme pues como ya le he comentado a algún amigo este Jueves es la fiesta de lanzamiento de Firefox 3 en Dublin. Hay un montón de gente apuntada así que si alguien se anima a pasarse seguro que yo andaré por ahí.