Archive for febrero, 2010

¡Funciona!

Bueno, me ha dado tiempo a hacer una prueba del método que se me ocurrió para solucionar lo de OSGi y Web Services en la misma aplicación y funciona. Ahora sólo necesito un hueco para hacerlo bien hecho.

En realidad el proyecto me está volviendo loco porque poco a poco se está convirtiendo en una especie de cosa monstruosa que está devorando mi vida (menos mal que vivo solo). Ahora que llevo un tiempo con la parte hardware y triposa del proyecto se me olvidan los detalles de la parte Java. Y ahora que tengo que regresar a la parte Java no puedo porque tengo que atender a la parte documentación. Aargh.

En fin, la solución en sí es tonta de sencilla que es (en esencia, por lo menos). No puedo tener una aplicación con OSGi y Web Services al mismo tiempo que funcione sólo con el framework Felix y no con un bicharraco como GlassFish. Pues separo la parte OSGi por un lado y la parte Web Services por otro.

La cosa es mantener Oolong tal y como está ahora. Hacer un pequeño cliente de Web Services que se ejecute junto con Oolong y coja los datos publicados por la placa. Este cliente a su vez es un servidor al que se conecta Oolong por sockets (dentro de la misma máquina, se supone), y que envía objetos serializados que son recogidos por Oolong y que contienen los datos publicados por la estación. Tachán.

Por supuesto, habrá que ver la mejor forma de implementar esto, pero por lo menos ya es algo. Y funciona.

Anuncios

Dejar un comentario

Web Services y OSGi (¡por los pelos!)

A falta de unos pocos días para el Hackatón, donde se supone que tendría que presentar mi maravillosa aplicación que utiliza OSGi y JAX-WS para hacer cosas chulísimas voy y me quedo atascado.

Resulta que tengo por un lado una aplicación que se ejecuta con un framework de OSGi y que funciona bien. Por otro lado tengo un servidor y un cliente de web services que también funcionan bien. ¿Qué ocurre cuando junto ambas cosas? que no tira.

Después de una tarde entera y una noche buscando el error y una solución llego a la conclusión de que las cosas pintan mal. Parece que la biblioteca JAX-WS que viene de serie con la JVM de Sun no funciona bajo OSGi. No parece estar hecha para lanzar servicios dinámicamente que podrían estar o no estar en un momento dado.

Una solución es coger otra implementación de JAX-WS (hay como cuarenta) y ponerla en el directorio de “endorsed libs” del entorno Java para que se utilicen estas en lugar de las que trae la máquina de serie. A mí no me funcionó ni con las de Metro ni con ninguna.

Otra solución es tirar el código de web services que tengo y reimplementarlo bajo un framework para web services compatible con OSGi como Glassfish, Axis2 o cualquiera de estos. Lo cual haría que una aplicación que en principio es una chorrada se convirtirera en un monstruo, de complicada, de grande y de … (esto no sé cómo decirlo en español) … overengineered.

Así que he echado a andar la cabeza y se me ha ocurrido una alternativa que tiene pinta de funcionar. Esta tarde la pruebo y si va bien ¡alegría! ya puedo seguir adelante.

Seguiremos informando

Comments (1)

Lista la presentación de Tea para el Hackatón

Ya tengo listas las transparencias para el día 5. Aunque seguramente cambie algo, ya que algunas cosas no las he podido hacer como me gustaría (las he hecho en otro equipo, no en el mío). Pero me gusta cómo ha quedado.

Ya tenemos el sitio asignado cada uno. Al final seremos 5 los que presentemos. Y os recuerdo que todavía quedan un montón de plazas. De todas formas se publicarán los horarios y el lugar de cada presentación individual para que quien pase por allí pueda asistir a lo que quiera.

Bueno, dejo el enlace de las transparencias para quien tenga la curiosidad: tea_hackaton

Un saludo

Dejar un comentario

¡Se acerca el Hackatón!

Como ya comenté hace un tiempo, voy a participar en el Hackatón que se va a realizar en la ETSIIT de Granada para presentar el proyecto y ver si se une alguien, aunque sea por entretenimiento (y un crédito de libre).

Ya se ha abierto la participación, aquí está toda la planificación y aquí el formulario de registro para confirmar la asistencia.

Así que si vas a estar por allí los días 5 y 8 de Marzo apúntate y aunque sea ves lo que hay por ahí. De momento estamos sólo cuatro gatos presentando proyectos, pero bueno, así da más tiempo a explicar las ideas y las técnicas que se utilizarán. Además, por mi parte intentaré hacerlo todo muy didáctico y muy sencillo, para que pueda participar cualquiera.

Gracias desde aquí a JJ Melero por organizar estas cosillas.

Dejar un comentario

Experimentos en ensamblador

Tradicionalmente siempre he preferido las cosas relacionadas con el software que las de hardware, siempre he preferido la programación a alto nivel. Pero desde que cursé la asignatura de Arquitecturas Especializadas me viene picando cada vez un poco más el gusanillo de la programación de sistemas. Eso de conocer al detalle cómo se programa un micro y hacer cosas que son imposibles en un lenguaje de alto nivel, o programar para máquinas con muy pocos recursos a ver cuánto se puede sacar de ellas cada vez me gusta más.

Últimamente vengo mirando cantidad de información en Internet acerca de cosas que siempre quise aprender, y aquí estoy interesándome a nivel técnico por el Z80, la Master System, el MSX y todas esas cosas que me gustaban de pequeño (y que nunca me han dejado de gustar), 20 años después.

En fin, que ando haciendo algunos experimentos en ensamblador porque me servirán para aplicarlos a la placa del proyecto y conocer mejor su hardware y sus posibilidades. Además así tendré más material para incluir, por ejemplo, en el primer informe técnico

Dejar un comentario

Planificación para los próximos días

Ayer me reuní con Jesús, mi tutor, por primera vez este año, y estuvimos poniendo algunos puntos en común, sobre todo con respecto a las cosas que quedan por hacer y todo eso.

Esta semana estaré atareado sobre todo preparándome un par de exámenes, pero me gustaría hacer unas cuantas cosillas que tengo pendientes y que no llevan mucho tiempo:

  • Comenzar la implementación de esos dos clientes en modo texto, a los que les tengo que buscar un nombre
  • Probar el cliente de Tea en la placa y realizar la primera prueba real de comunicación BeagleBoard – PC con web services

Aparte, he decidido de qué haré el primer technical report, ya que desde el cambio de soporte en el proyecto este informe se había quedado huérfano. La planificación de la documentación será por ahora la siguiente:

  • Technical report 1: El hardware del proyecto. Se detallará la arquitectura de la BeagleBoard, del ARM cortex A8 y del DSP que hay en el OMAP 3530, entre otras cosas. Además explicará cómo desarrollar para la placa sin sistema operativo (bare metal)
  • Technical report 2: El kernel Linux. Este ya está hecho. Tiene dos partes, una que da una visión general del kernel y de cómo construirlo, y otra que trata los detalles de implementación más importantes de cara a trabajar con sistemas empotrados.
  • Technical report 3: Instalación de GNU/Linux en la BeagleBoard. Explica cómo hacer una instalación básica basada en Debian y utilizando Qemu, y luego pasa a una instalación avanzada donde se hace todo desde cero. Me queda poco para terminarlo
  • Technical report 4: Oolong. Explica todo acerca de este cliente de Tea.

Aparte está la guía de montaje de la placa y tendré que hacer al menos tres presentaciones: una para Seven Solutions, que me están patrocinando el proyecto,  otra para una charla que daré en el curso de master de Jesús el día 8 de Abril y otra para el hackaton que se hará en la ETSIIT de Granada el 5 de Marzo. Vamos, que me voy a hinchar a escribir.

Un saludo

Comments (2)

Hi, BeagleBoard.org!

Today I noticed a dramatic increase in the blog’s visits and that it’s due to being linked from beagleboard.org (I don’t know how, but thanks). So from now on I’ll try to make every update bilingual, since I suppose it’s more useful for most people coming from there to read things in english rather than spanish.

Greetings and thanks for the interest

Comments (2)