Hoy he estado en la primera jornada de los Sun Tech Days, dedicados casi totalmente a Java (que es a lo que yo me dedico y me interesa), algo de Solaris, y un poco de otras tecnologias.
Las siguentes anotaciones son totalmente personales y me van a servir para 'pasar a limpio' lo que tengo a (muy) sucio despues del dia de hoy. Asi que si no entiendes nada es porque estas anotaciones son para mi. Si resulta que a ti, que lees esto, te sirven para algo, pues mejor para todos.
Primera sesion de presentacion de las jornadas y de los ponentes, a cargo de Sang Shin ( www.javapassion.com), que muestra como si fuera una competicion alguno de los proyectos que luego se van a exponer. A destacar Looking Glass, un escritorio en 3D que esta en desarrollo y que parece ser una pasada al estilo XGL pero hecho en Java (¿quien dijo que Java era lento?). Otros enlaces que saco en claro de esta primera exposicion: Mozilla LiveHttpHeaders para monitorizar las cabecereas y respuestas http, DojoToolkit, una herramienta para desarrollo de javascript asociado con AJAX y por ultimo prototype, un framework para javascript que aun no se muy bien para que sirve pero que por si acaso lo apunto por aqui.
Hasta ahora yo buscaba informacion por java.sun.com pero resulta que parece haber bastante mas informacion en www.java.net.
En mi empresa hemos empezado a usar ajax hace unos 6 meses, y la opcion que seleccione fue dwr, de getahead, herramienta de dominio publico. Ahora resulta que Sun lo ha adoptado como uno de los proyectos de comunidad. Que sea para bien.
Mas enlaces: un nuevo servidor de aplicaciones open source glassfish: Building an Open Source Java EE 5 Application Server. Otro para añadir a la lista de estudio tras todo lo que esta sacando jboss y al que me he encontrado hoy JOnAS de Bull (creia que estos ya no existian!).
Me entero tambien de la direccion del grupo java de Madrid, y de la mencion especial que hace Jeff Jackson (Vicepresidente de Java Enterprise Systems) al sitio javahispano.org, otra url para del.icio.us para que no se me olvide mirar cuando tenga tiempo. Durante esta conferencia me entero tambien de que Sun dispone de un servicio de pago ($99 / año) para solucionar dudas sobre como afrontar tal o cual problema, que tecnologia se recomienda para tal situacion y cosas asi: Sun developer expert assistance. Nunca se sabe cuando puede hacer falta.
Y durante esta presentacion, que envian a la gente 6 (puede que 7) camisetas firmadas por el mismisimo James Gosling me toca una!. En la foto podeis ver, para vuestra envidia, la camiseta de James (Power Tools for Power Geeks) junto con otra camiseta estandard y la mochila azul de regalo por entregar el cuestionario. Por cierto, c*j*nuda la mochila.
Despues, la ponencia sobre WSDP de Raghavan "Rags" Sriniva. Impresionante el curriculum, incluyendo el ser el delegado de Sun para comites de estandarizacion. Tiene una columa sobre estandares aqui.
Desgraciadamente, a este hombre es al que peor se le entedia (de largo, segun parece hasta los traductores pedian clemencia) de todos los ponentes, y no pude pillar todo, habra que buscar sobre WSDP por otros lados. Basicamente parece ser un SOAP avanzado que soluciona alguno de los problemas de este, como la falta de cifrado, y tambien mediante JAXB permite la conversion entre esquemas XML y clases Java. Entre los toolkit disponibles recomendables cita Apache Axis. A la saca de del.icio.us.
WSDP permite trabajar tanto en modo polling, que seria lo tradicional y poco util, o en modo Callback, mas en la linea de ajax y todo lo que se mueve ultimamente bajo la denominacion de Web 2.0. Un tipo interesante este Rags, aunque para la proxima no se me olvida el pinganillo de traduccion simultanea.
Despues, la conferencia sobre Java Faces. Nada que destacar, llevan unos años con este tema y no acaba de despegar. Tal vez cuando lo integren con Ajax tenga mas exito, aunque me da la sensacion de estar pensado para casos en los que no es necesaria mucha personalizacion: hace muchas cosas muy facil, pero si quieres salirte de la linea que marca y hacerte algo a medida me temo que debe ser imposible de controlar, y a mi me gusta justo lo contrario: saber como funciona cada linea de codigo y poder modificarla para mi provecho si me hace falta.
Por ultimo la, para mi, mejor presentacion del dia: Ajax avanzado a cargo de Inyoung Cho. Lo primero que no conocia: zimbra, una herramienta colaborativa con calendario, email y mas cosas. Una de las cosas sorprendentes: en un email al posicionarte sobre una url que te hayan enviado, carga un preview de la pagina en cuestion. O si es una cita, te muestra el punto del calendario donde esta. Me ha gustado aunque esta en beta y no se si publica o no.
Por lo demas, de esta conferencia pongo de forma esquematica los puntos que mas me han interesado:
- Problemas que se pueden tener con Ajax: El boton de refresh, que puede machachar nuestra aplicacion. El boton de imprimir, puede que no funcione como se espera. La imposibilidad de guardar una URL como favorito y que represente el estado actual de la pagina.
- De nuevo referencias a DojoToolkit y dwr como herramientas de depuracion y de uso de ajax simplificando cosas como la creacion del objeto XMLHttpRequest que es diferente para Explorer y el resto de navegadores.
- Internacionalizacion: se recomienda usar el charset UTF-8 en el content-type de las respuestas para asegurar la estandarizacion, y usar encondeURI() para construir la llamada.
- Tipos de devolucion de datos:
- XML cuando son datos estructurados
- texto plano que tiene como problema el que hay que tratarlo con javascript en el lado del cliente.
- Codigo javascript, que se puede interpretar con eval()
- Objetos JSON
- XML cuando son datos estructurados
- Problema de Ajax: depuracion al estar mezclado codigo (que ademas es javascript) por varios sitios
- Otro problema: seguridad: el codigo de ida y vuelta va como texto plano en ambos sentidos.
- Usar evento onKeyUp() para capturar eventos de teclado, no onKeyDown()
- Recomendacion final: no sobrecargar de Ajax las aplicaciones, usarlo donde sea necesario pero no como solucion total para todos los problemas.
Para terminar: parece ser que hay un repositorio de soluciones de codigo llamado blueprints solutions catalog y que ademas parece ser integrable con NetBeans de forma automatica. Al final habra tambien que mirar netbeans.
Aqui, la lista de ponentes (aunque a algunos que conozco de otras veces, como Angela Caicedo, Peter Karlsson y sobre todo a Simon Ritter no los he visto el pelo. aqui en castellano, pero no se si este link durara mas de un año.
Y mañana, mas..