martes, octubre 30, 2007

Desarrollo e Integración de Aplicaciones Internet

Con tan rimbombante y artificial nombre (¿no suena raro lo de Aplicaciones Internet?) se presenta la segunda asignatura del segundo año del Máster.

En este caso la asignatura se aleja un poco de la programación pura y dura manejada hasta ahora y sube un nivel de abstracción para enseñarnos las técnicas profesionales que se siguen para esos infiernos a los que yo solo ponía nombres ofensivos, pero que la gente que sabe llama "Integración de Aplicaciones".

¿De qué va eso? Imaginemos que uno tiene una Base de Datos. En ella los datos se guardan con un formato concreto (las asignaturas, por ejemplo, tienen una serie de créditos, unos códigos para unas titulaciones...). Además tenemos un programa que genera una salida en XML (...). Lo que necesitamos es tener sincronizados los datos, que lo de decir en un sitio A y en otro B está feo.

Hay bastantes maneras de hacerlo. A medida que la asignatura avanzaba me daba cuenta de que yo ya había hecho cosas así. Seguro que algún amigo también debería reconocerse. Creo que podemos decir que hemos llegado a integrar una aplicación consigo misma, cosas del legacy... de modificar y volver a modificar a lo largo de años.

Pero resulta que, además de escribir ficheros que otras partes lean y resolver situaciones provocadas por la intensa modificación de requisitos sobre una aplicación, la Integración de Aplicaciones es una situación bastante repetida y una disciplina que parece estar en alza (además de resultar interesante).

La asignatura fue coordinada por Daniel Fernández Lanvín e impartida en su totalidad por la gente de CSC Asturias a la que trajeron por su experiencia en proyectos de este tipo. ME gustaría recordar los nombres de los profesores, pero soy muy malo para los nombres. Sólo me acuerdo del último, Daniel.

La primera semana fue eminentemente teórica. Tras una presentación de la asignatura y su planificación el Lunes (a las 19:30 estábamos ya fuera) nos dieron una perspectiva general de las técnicas que más a menudo se usan en el mundo de la Integración de Aplicaciones. Las clases fueron algo animadas y el hombre pretendía que participáramos proponiendo cada poco lluvias de ideas acerca de diversos temas (características de las aplicaciones, criterios de clasificación...), casi como si se hubiera leído de qué va esto del EEES (lo que se agradece).

Si bien hubo compañeros a los que las clases no les gustaron, a mi me pareció bastante ameno e interesante aunque quizás algo repetitivo en la idea de la SOA en el desarrollo de aplicaciones. No es que la idea no sea importante, sino que llega un momento que no puedes hablar más del tema sin repetirte.

La idea de la SOA es orientar el diseño y desarrollo de aplicaciones a ofrecer "servicios", entendiendo éstos como una manera que la aplicación tiene para interactuar con otros sistemas informáticos (dicen que los Servicios Web son el culmen de esta arquitectura). La idea es simple, si desarrollas de esta manera, ofreciendo y consumiendo servicios, será mucho más sencillo que las aplicaciones puedan integrarse.

Tras comentar el aspecto más "filosófico" nos hablaron de los Buses de Integración (elementos desarrollados, específicamente, para llevar a cabo la tarea de integrar aplicaciones). Nos hablaron de sus características y nos comentaron un poco los que había (con demo incorporada).

El viernes... Bueno. El Viernes mi clase se llevó a cabo en otros sitios alejados de la Escuela, y espero poder dar información al respecto algún otro día. No obstante, según me comentaron mis compañeros, no me perdí nada sorprendente.

La semana siguiente el enfoque fue mucho más práctico. Tras la inesperada anulación de una conferencia que se prometía interesante disponíamos de 5 días en los que llevaríamos a cabo un taller práctico (del que luego deberíamos partir para hacer la práctica) y otro taller añadido, si daba tiempo.

Solo pudimos hacer el primero, debido a ciertos problemas de instalación y configuración, que nos pusieron en el Martes sin nada corriendo.

Esta segunda semana fue impartida por un chico que tenía menos tablas de docente que su compañero. El hombre empezó nervioso y vergonzoso, pero a medida que comenzaron a surgir los problemas desapareció (ayudando a la gente, no escapando por la ventana) y no pude verle demasiado.

Lo poco que le vi me llamó la atención porque no es muy habitual que un profesor se tome tantas molestias para involucrarse en un problema que un alumno concreto tiene con una herramienta. A este respecto, este hombre (Daniel), estaba bastante por encima de muchos de los docentes que me han dado clase hasta ahora (no ya solo en el Máster).

La práctica fue avanzando y, gracias a mi desocupación laboral, para el Jueves de tarde, yo ya tenía terminada la versión básica de la práctica, a la que solo tuve que añadir unos detalles más, pero que me impidieron tomarme mi segunda clase libre para ir a ver una una conferencia que pintaba bien.

Además de unos docentes bastante acertados, desde mi punto de vista, la asignatura acertó en su método de evaluación (una modificación de la práctica realizada en clase) que pudo hacerse a medida que avanzaba la semana, dando como resultado que el Viernes el trabajo ya estaba hecho. ¿Podrían habernos pedido más? Sí, claro. Pero me parece muy honrado haber planificado una práctica a la baja, por si acaso, y no haber hecho como en otras ocasiones planificando una práctica desmadrada y sin sentido.

El defecto de la asignatura, para mi, es la excesiva separación que se hizo entre la semana eminentemente teórica y la semana eminentemente práctica. El resultado fue que en la primera semana se dejaran los conceptos en el limbo y la segunda no se relacionaran con los de la semana anterior (sobre todo por el caos de configuración de la herramienta).

No digo, claro, que esto haya sido general. He comprendido los conceptos que, creo, la asignatura pretendía transmitir. Sin embargo, creo que la comunicación habría sido más efectiva mezclando ambas partes.

Por último, le pille el gusto a lo de los Mapas Mentales y realicé uno de los conceptos de la práctica. La nueva versión del freemind hasta trae un exportador a XHTML, a ver si os mola el resultado.

2 comentarios:

Loki dijo...

Están genial estos resúmenes que haces del master, permiten a ignorantes como yo seguir conservando un buen puñado de buzzwords para vacilar sobre lo que sabes de la web :P.

Vamos, que gracias a ti puedo enterarme de un montón de cosas que de otra forma ni de coña.

"Creo que podemos decir que hemos llegado a integrar una aplicación consigo misma, cosas del legacy... de modificar y volver a modificar a lo largo de años."

A veces me levanto por las noches y tengo que correr a ducharme mientras una voz en mi cabeza repite: estás sucio, estás sucio, ¿para que sirve esta tabla?, estás sucio, suuuuuucio.

El Aprendiz dijo...

Vaya gracias, me alegro de ver que a alguien le sirven mis resúmenes (pensaba que los ignorabais :P)

Yo lo hago porque luego muchas visitas de incautos desde Google que piensan que van a aprender. Locos...

A medida que aprendes ciertas cosas es curioso lo sucio que te sientes por cosas hechas en el pasado :S