miércoles, diciembre 31, 2008

Año viejo, Año Nuevo

2008 toca a su fin.
Dentro de unas horas daremos por terminado este año y comenzaremos un 2009 cargados de ilusiones, propósitos, aventuras y, por que no, despropósitos también :). Desde este pequeño blog me gustaría desearos a tod@s un nuevo año inmejorable en todos los aspectos.

Para terminar el año, no voy a poner nada relacionado con la informática, programación,diseño, etc ni nada que se le parezca :).

Únicamente os dejo uno de los últimos vídeos de uno de los raperos españoles que más me gustan:




Feliz Nochevieja y Año Nuevo para tod@s!!

Un abrazo.

jueves, diciembre 25, 2008

Spring DM and Eclipse RCP

He creado un pequeño screencast en el que se puede ver un modo sencillo de interacción entre una aplicación Eclipse RCP y Spring Dynamic Modules.

Es mi primer screencast y no tengo demasiada pericia con los programas de video, por lo que no he modificado el video para añadirle algún comentario explicativo. Probaré algún programilla como VirutalDub o las propias anotaciones disponibles en YouTube con el objetivo de ir mejorando de cara al futuro.

De momento os dejo con esta primera entrega. Espero que os guste:




En el equipo local se ve mucho mejor que colgado en la web. Desde YouTube se puede descargar el archivo original.

Hasta pronto.

miércoles, diciembre 24, 2008

Feliz Navidad

Desear feliz Navidad a todos los que, a pesar de actulizar una vez cada mucho tiempo, alguna vez se pasan por aquí.

A ver si de ahora en adelante puedo aumentar la frecuencia de actualización :)

¡¡¡Feliz Navidad!!!

martes, septiembre 09, 2008

London Trip

El fin de semana pasado, aprovechando que el lunes era festivo con motivo de la festividad del día de Asturias, nos escapamos el fin de semana a Londres. Yo ya había estado pero la verdad es que es una ciudad que me gusta y me apetecía volver.

El viernes por la tarde arrancamos el viaje desde el CIDI dirección al aeropuerto de Santander. A la llegada a London Stansted tuvimos que esperar un ratillo por el bus con destino al centro:


Una vez llegamos a nuestro destino nos llevamos la sorpresa desagradable del viaje: el hostel. La verdad es que era una auténtica basura; sucio,desordenado, carente de organización, el desayuno horrible . . . mejor no sigo porque se me terminan los adjetivos. Con creces, el pero de todos los bed & breakfast de los que he estado. No se lo recomiendo a nadie: Astor Quest.

Tras cenar la noche anterior en un restaurante cercano, iratxe y yo "decidimos" (verdad peque?) madrugar un rato y darnos un paseo por Hyde Park:


Tras recoger a Ángel,Cristina y Juanjo iniciamos el viaje por el centro de Londres: largas caminatas, destinos turísticos, una increíble mojadura, pantalones para la nieve (ya estoy sentenciado :) ). No tengo todas las fotos puesto que las repartimos entre las tres cámaras del viaje:


A la noche cenamos en un restaurante indio y tomamos una cervecita antes de regresar a nuestro lujoso alojamiento.

Ya el domingo, otro pequeño madrugón para continuar nuestra visita turística: el mercadillo de Candem Town, London Eye, la torre de Londres, . . . . (cuando tenga todas las fotos recolectadas subiré alguna más).

El lunes, tras un paseo por Hyde Park y un sandwich partimos rumbo a London Stansted para tomar el avión que nos traería de regreso a casa.

Y hoy, vuelta al trabajo, a continuar con el montonazo de cosas que nos quedan por terminar.

Hasta pronto!

miércoles, septiembre 03, 2008

Asturias,CIDI,CMMI y resto de cosas

Postear aquí de manera asidua se ha convertido en una tarea complicada, por no decir imposible, por lo que cada vez que tengo un hueco para escribir me cuesta decidirme por donde voy a empezar) . Dicen que se suele comenzar por el principio, así que alla vamos.

He decidido quedarme a trabajar en el CIDI; era una idea que llevaba dando vueltas en mi cabeza durante bastante tiempo y finalmente me he decidido a dar el paso. ¿Y por qué os estaréis preguntando? Pues bien, el principal motivo, que no el único, es que realmente me gusta todo el trabajo que realizamos aquí: desarrollo de productos, metodología de software desde un punto de vista industrial, ganas de aprender, interés por hacer las cosas bien (las cosas bien hechas, bien parecen), . . . .

Siguiendo con mi trabajo aquí, ahora estamos comenzando a obtener la certificación CMMI de nivel 2, y parece que ésto promete, aunque para sacar ésto adelante vamos a tener que trabajar bastante. Al menos eso es la impresión que me ha quedado tras la realización del proceso inicial.

Y como no, también tengo un montón de cosas pendientes, unas más prioritarias que otras claro está: terminar mi proyecto (tengo unas negociaciones en marcha . . .), volver a surfear de manera constante, trabajar menos, escribir más aquí sobre temas interesantes, quedar más a menudo con mis amigos, . . . .

Parece que tampoco era tanto lo que tenía que contar :). Se me olvidaba; este fin de semana me marcho a Londres con Iratxe y unos amigos; prometo fotos y un post a la vuelta.

Un abrazo para tod@s!

miércoles, julio 23, 2008

SpringDM,Maven y Eclipse: Introduction

No pretendo ni mucho menos dar una explicación detallada (tampoco podría) de la especificación OSGI, ni de maven ni Spring Dynamic Modules. Únicamente me gustaría dar una brevísima introducción y un pequeño ejemplo de uso de estas tecnologías para la construcción de aplicaciones distribuidas.

OSGI Service Platform determina una arquitectura común para proveedores de servicios,desarrolladores, . . . . para desarrollar, desplegar y trabajar con servicios de manera coordinada.

OSGI Framework compone el núcleo de las especificaciones, facilitando un framework Java de propósito general que permite el despliegue de aplicaciones (conocidas como bundles). De manera muy simplificada, nos facilita un entorno dinámico de ejecución de aplicaciones en que podemos instalar,actualizar o eliminar aplicaciones "en caliente". Modularidad y versionamiento son otras de las características principales de esta especificación.

La arquitectura establecida por el framework anterior es la siguiente:

Spring Dynamic Modules, de ahora en adelante SpringDM, nos permite construir aplicaciones basadas en Spring de modo que puedan ser desplegadas en un entorno OSGI (trabaja con Equinox,Felix y Knopflerfish) ya hacer uso de todoos los servicios ofrecidos por el mismo.

La combinación de estas dos tecnologías nos ofrece innumerables ventajas de las que podríamos enumerar algunas de ellas:
  • Modelo de programación sencillo (y al que estamos habituados) el cual nos permitirá explotar todas las capacidades de la plataforma OSGI.
  • Capacidad de desplegar múltiples versiones de un mismo módulo de manera concurrente.
  • Instalación, actualización y eliminación dinámica en el entorno de ejecución.
  • Búsqueda y utilización de servicios ofrecidos por otros módulos desplegados en el sistema
  • . . . . . . (muchísimos más)
Como ya os supondreis, ésto no es ni una millonésima parte de las capacidades ofrecidas por estas tecnologías aunque creo que es una visión un poquito genérica que podría servir como punto intrductorio.
En la siguiente entrega construiremos un bundle que correrá bajo Equinox y ofrecerá un servicio. Asimismo construiremos otro bundle adicional, que correrá bajo el mismo entorno, y utilizará el servicio ofrecido por el primero de ellos.

En el futuro, espero que no demasiado lejano, intentaremos adentrarnos un poquito en el usode estas tecnologías para la construcción de clientes ricos distribuidos basados en Eclipse RCP.

lunes, julio 07, 2008

Ya tengo internet

La verdad es que en esta ocasión el servicio de Telefónica ha sido impecable: contratamos internet un martes en una tienda oficial y a los dos días nos llamo el instalador para decirnos que se pasaba por aquí cuando nosotros quisiéramos. Ha terminado de instalarlo hace menos una hora y ya está todo listo; el telefóno y la conexión internet. Sólo espero que a partir de ahora pueda actualizar el blog con una frecuencia mucho mayor.

Hasta pronto!



jueves, junio 26, 2008

No Internet, No blog

Pues eso, que no tengo Internet (ahora mismo se la estoy pirateando un poquito al vecino :) ) y no puedo actualizar esto. El próximo mes cambiaremos de piso (en el que estamos ahora era temporal) y podré disponer de una conexión estable ( y propia jejejej).

Hasta pronto!

Un abrazo!

jueves, mayo 22, 2008

Regreso a Asturias

El próxima día 3 de Junio, si no hay contratiempo, regresaré a Asturias durante, al menos, los próximos cinco meses. Regreso para echar una mano, espero que sea así :), y sobre todo, hacer y estar entre lo que más me gusta: el mundo del desarrollo.

Cambiando de tema, espero que dentro de poco pueda tener disponible la segunda entrega de la serie de capítulos dedicados a AOP.

Hasta pronto!

jueves, mayo 15, 2008

Aspect Oriented Programming (I): Introducción

Me gustaría iniciar una serie de posts relacionados con la programación orientada a aspectos (AOP programming) y este es el primer paso (esperemos que no sea el último ;) ). Tal y como podría esperarse, los ejemplos que aquí veremos serán muy sencillos, pero nos darán una idea de las capacidades que AOP nos ofrece.

A lo largo de estas entradas (todavía no tengo claros cuántas van a ser) veremos algunas de las posibilidades que AOP nos ofrece, ejemplos sencillos de utilización, terminología, . . . Para el desarrollo de los ejemplos utilizaremos, principalmente Spring AOP, aunque puede que también en algún caso veamos algo de AspectJ.

Creo que un buen punto de partida podría ser la definición de los conceptos propios (y no demasiado comunes) de la programación orientada a aspectos (pongo el nombre del concepto en inglés para no meter la pata en la traducción ;) )
  • Aspect: Representación de una funcionalidad transversal , es decir, un concepto que se utiliza en múltiples clases. Elementos como el log, la seguridad o el manejo de transacciones en aplicaciones empresariales son ejemplos de funcionalidades transversales.
  • JoinPoint: lugar de ejecución de un programa tal y como puede ser la ejecución de un método o el procesamiento de una excepción.
  • Advice: función realizada por un aspecto en un determinado joinpoint.
  • PointCut: predicado a través del cual se asocia la ejecución de un aspecto en un determinado joinpoint.
  • Introduction: declaración de nuevos métodos o atributos en un tipo determinado
  • Target Object: también llamado "advised object", es el objeto al cual se le está aplicando el aspecto.
  • AOP Proxy: objeto creado por el framework AOP tras aplicarle el advice al target object. El objetivo de este proxy es implementar los requerimientos del aspecto.
  • Weaving: Proceso mediante el cual se aplica el aspecto a un target object con el fin de objetner un nuevo proxied object. El proceso de weaving puede llevarse a cabo en distintos puntos.
    • Tiempo de compilación
    • En el momento de la carga de las clases
    • Tiempo de ejecución
Puede que la mayoría de los conceptos suenen extraños, y mucho más después de haberlos descrito yo :) . Las definiciones anteriores las he hecho en función de algunos de los libros que he leído (en realidad son mucho más extensas), intentando explicarme lo mejor que he podido.

De todos modos, esto únicamente pretendía ser una sencilla introducción a los conceptos generales y ,al menos eso espero, poco a poco iremos profundizando en el tema.

Hasta pronto.

PD: La programación orientada a aspectos no es exclusiva de Java, en C++ podríamos realizar una aproximación a la misma (un poco engorrosa, eso si) mediante plantillas y el concepto de plantillas de plantillas o mediante un lenguaje propio de aspectos como puede ser AspectC++.

miércoles, marzo 26, 2008

Sin tiempo a nada

Hace casi un mes que no posteaba nada pero es que el trabajo, ¿qué iba a ser sino ;)?, apenas me deja tiempo ni a respirar con lo que actualizar el blog se convierte en una tarea con una prioridad demasiado baja como para poder ser atentida :). También es cierto que vamos cerrando cosillas pero dichos cierres implican la apertura de nuevos trabajos con lo que . . . . . . ya veremos que nos deparará el futuro.

No puedo decir cuándo volveré a actualizar; intentaré que sea lo más pronto posible (no prometo n ada) y con temas más interesantes.

Hasta pronto chic@s!

Un abrazo!

sábado, marzo 01, 2008

Señales de vida

No he abandonado este site (aunque últimamente lo parezca :) ) aunque si es cierto que he estado bastante ocupado y no he tenido demasiado tiempo para mi mismo (y mucho menos para el blog).

Espero que a partir de la semana que viene pueda actualizar con más frecuencia,contaros como va todo aquí en Madrid y retomar la serie de post técnicos que había comenzado hace tiempo.

Un abrazo y hasta pronto!

lunes, enero 07, 2008

Se abaco lo que se daba

Lo dicho; las vacaciones se terminan y mañana mismo me reincorporo al trabajo en la oficina de Madrid. Me espera una larga tarde-noche de viaje aunque esperemos no encontrar demasiado atasco.

Las vacaciones han estado bastante bien en general; he aprovechado para retomar mi proyecto, terminar de leer alguno de los libros que tenía a medias,descansar,disfrutar de mi familia y de mis amigos y muchas cosas más.

¿Y este año que hemos comenzado hace una semana? No suelo hacer propósitos de nuevo año tales como dejar de fumar (más que nada porque no fumo), adelgazar, ir al gym o cosas por el estilo. Sólo espero gozar de buena salud para intentar llevar a cabo todas las cosas que tengo entre manos: terminar mi proyecto, actualizar el blog con temas interesantes y con mucha más frecuencia, intentar dar forma a un par de ideas/proyectos que tengo entre manos, y, sobre todo, disfrutar de toda la gente que me rodea.

Desde este pequeño espacio me gustaría desearos, tanto a los asiduos como a los ocasionales, un Feliz Año 2008.

Un abrazo a todo@s!