miércoles, 29 de marzo de 2006

Apple contra Apple


Por tercera vez la casa de discos Apple Records (propiedad de los Beatles y herederos) vuelve a poner una demanda a la compañia de informatica Apple.

Apple Records fue fundada por los Beatles en 1968 para editar sus propio albumes y de paso los de algunos amigos. En 1980 se produjo la primera demanda contra Apple a raiz de que George Harrison protestara por un anuncio de Apple que podia inducir a la gente a pensar que ambas compañias tenian algo en comun. La demanda se saldó con un acuerdo de importe no especificado por el que Apple no podia competir con Apple Records en el negocio de la musica.

La segunda demanda ocurrio en 1989 cuando Apple comenzo a meter sintetizadores y reproductores de sonido en sus equipos. Por segunda vez se llego a un acuerdo por el que Apple podia seguir 'produciendo' musica en sus equipos pero no podia venderla

Y ahora estamos en la tercera, en la que Apple, efectivamente, ha entrado en el negocio de la venta de musica con iTunes, asi que demanda al canto.

El punto de discordia parece estar porque en el segundo acuerdo habia alguna clausula que especificaba que Apple no podia vender musica en ningun soporte, pero estos ahora dicen que no estan vendiendo ningun soporte, solo archivos informaticos que casualmente son canciones.

¿En que acabara todo?. La respuesta, supongo, en un par de años.

 

domingo, 26 de marzo de 2006

Sun Tech Days - Resumen y lista de presentaciones


Bueno, pues ya he terminado de poner a limpio las notas tomadas rapidamente (y del ingles, porque despues de que en la primera charla los traductores (Dios me libre de meterme con ellos!) se empeñaran en traducir bug como virus decidi que tal vez era mejor que yo mismo cometiera mis propios errores).

Como resumen final quiero destacar la muy buena organizacion del evento (habia realmente bastante gente de Sun pendiente de que todo funcionara bien). No hubo problemas importantes de puntualidad tampoco, que a veces hacen que se alargen las cosas demasiado y el contenido de la sesiones las que asisti fue mas que correcto. parecieron excelentes y de muy alto contenide tecnico (que es lo que yo iba buscando) los codecamps de Inyoung Cho y de Sang Shin.

A continuacion esta la lista de ficheros (pdf) con las diapositivas de las ponencias enlazadas en el sitio oficial. Si algun dia desaparecieran los enlaces, mandame un mensaje, tengo copia.

La pagina oficial esta aqui y a continuacion la lista de ponencias:

Dia 1

Dia 2
Para terminar esta serie de anotaciones: hay tambien comentarios y fotos de esta javaexpo en el blog de Jaime Cid

Por ultimo, ayer mirando en The Aquarium, el lugar de referencia de GlassFish, me encontre con que Eduard/o Pelegrí habia enlazado a mi pagina!. No me lo podia creer, creo que es el primer enlace de alguien a este reciente blog y desde luego no podia haber pedido mejor recomendador. Sin duda ese enlace ha tenido parte de la culpa de que hoy, sabado sabadete, este aqui dandole a la tecla a las 3:25 a.m.. Gracias Eduard/o

Si estas anotaciones (que como decia en la primera de ellas, son en principio para mi uso) te han sido de algun utilidad, te agradeceria que dejaras un comentario, mas que nada para saber si esto lo ha leido alguien :-)

Sun Tech Days - Dia 2 - Netbeans Code Camp


Bien, lo primero que me gustaria decir es que la descripcion en la agenda de esta presentacion (Ajuste del Rendimiento de las Aplicaciones Java de Extremo a Extremo) no era en absoluto adecuada. No encontre a nadie que supiera decirme que era eso de 'extremo a extremo'. Las apuestas iban por la optimizacion de aplicaciones desde el extremo de la base de datos->EJBs hasta el extremo del cliente. Nada mas lejos de la realidad: con haber llamado a la conferencia Netbeans extremo o incluso Netbeans en profundidad hubiera sido mas claro.
Al grano: lo primero que vimos (todo esto fue sobre Netbeans 5.0, la ultima release oficial) fue el diseñador de GUI Matisse. Debo reconocer que me gusto mucho el feeling del producto y algunas de las cosas que nos enseñaron, como el alineamiento (tipica cosa que costaba trabajo hacer) o el auto-size de los componentes al cambiar el contenedor (tipicamente una ventana) donde estan. Tambien incluye mejoras de internacionalizacion.
Sang Shin at Madrid TechDays 2006
Una de las cosas mas espectaculares que nos enseñaron: como hacer desarrollo simultaneo cooperativo entre dos desarrolladores. Sin extenderme mucho (lastima de fotos que no hice por estar con la boca abierta), nos enseñaron como un programador, con un error en su codigo, puede abrir desde el propio netbeans un chat con otro programador, enviarle el codigo 'ofensivo', dejar que el otro lo toque (todo el proyecto consolidado), y ver la ejecucion en su propia maquina lanzada por el segundo programador (no es vnc aunque suene a algo parecido :-)).

Mas cosas. Nuevo Application Profiling (¿como traduzco esto?). Permite depurar sin recompilar mediante el metodo de cambiar los bytecodes de la maquina virtual corriendo por otros propios. Muy interesante. Permite tambien filtrar para ver solamente los packages que nos interesen, no toda la aplicacion.
Mas: busqueda de memory leaks (tipico error por declarar variables dentro de un bucle, y asignarlas a una estructura (ArrayList, Hashtable..) que no muere pronto: hasta que no muere la estructura el gc no puede hacer su trabajo y puede dar out of memory. Netbeans 5 nos ayuda tambien a detectar eso con un profiler bastante completito.
Hay tambien soporte para Struts, JSF y Ajax. Completado de codigo para JavaScript y JSP, chequeo automatico de errores y depuracion de JSP.
Importante: el debugger permite cambiar los valores de las variables en tiempo de ejecucion. No todos lo permiten y a veces viene bastante bien (bueno, siempre hay trucos para hacerlo de todas formas.... :-)).
Importante: permite la generacion de test de junit para automatizar la generacion de estos pseudo-programas de test que no se suelen hacer por se una c*ñaz*.

Total, que depues de haber descartado hace dos años Netbeans como IDE para la empresa (en parte por lento) ahora creo que habria que echale otro ojo porque ha mejorado considerablemente.

Sun Tech Days - Dia 2 - SOA, JBI y BPEL: Estrategia, Diseño y las Mejores Practicas


Problamente esta fue la conferecia que me abrio un poco los ojos en lo referente a BPEL. En estas reuniones de Sun normalmente veo cosas que no usare en el mundo real hasta dentro de 3 o 4 años. BPEL puede que mas, tal vez por el volumen o el negocio de mi empresa, pero desde luego el tema parece interesante de cara a un futuro automatizado donde las maquinas hablen con las maquinas sin que los programadores humanos tengamos que preocuparnos mucho de como usar un sistema al que queremos acceder para nuestro beneficio.

Sang Shin at Madrid TechDays 2006Sang Shin comienza describiendo un poco en que consiste SOA (visto que en el auditorio hay poca gente que reconozca saberlo) y dando la clave para el exito con SOA: antes de tocar una linea de codigo, pensar como hacer para que el servicio que diseñemos sea reutilizable. Entre los beneficios de SOA: Flexilibidad (y cada vez mas dado que aparecen nuevas necesidades), rapidez por reusabilidad y rapido retorno de inversion.

¿Para que sirve BPEL?. Bueno, con los servicios web tenemos los descriptores WSDL que nos indican como acceder a un determinado servicio, pero nos falta, para automatizar todo, algo que nos indique el orden y las condiciones que se tienen que cumplir para las llamadas a los servicios: esto es lo que se llama orquestacion (tambien alguien lo llamo coreografia) y aqui es donde interviene BPEL. Es decir, una vez descritos los procesos de negocio, BPEL nos permite describir la logica.

HPIM3949


En la foto anterior se pueden ver algunas de las cosas para las que sirve BPEL.

JBI es el nombre de una nueva tecnologia orientada a permitir la integracion de aplicaciones hetereogeneas. Segun dijo Sang, JBI es a la integracion lo que J2EE al desarrollo de aplicaciones: antes de las especificaciones JE22 cada servidor web (aun recuerdo a Spinner luego llamado Roxen) iba por su lado, el estandar de facto era Tomcat pero no habia ningun horizonte claro. JEE acabo con esto, y esto mismo es lo que pretende JBI hacer en cuanto a la integracion de aplicaciones.

Mas informacion sobre esta conferencia: aqui (sitio oficial) o en mi copia

sábado, 25 de marzo de 2006

Sun Tech Days - Dia 2 - Mustang, Derby y java.net: Colaboracion y comunidades abiertas


Siguiente conferencia: Raghavan "Rags" Srinivas nos va a avanzar informacion sobre las tecnologias que se estan desarrollando actualmente y como se estan desarrolloando: en su mayor parte como desarrollo comunitario (obviamente, dirigido por Sun). Lo primero: java.net como punto de encuentro de los desarrolladores java. En este sitio es donde se dan cita mas de 22 comunidades de desarrolladores y hay soporte para blogs, wikis y otras herramientas de cooperacion. Aunque la mayor parte de las licencias de software de Sun (e incluso el ultimo micro!) son OpenSource, se admite cualquier otro tipo de licencia en estas comunidades. En ellas colaboran tambien los lideres de cada uno de los proyectos.

Rags: Colaboration conference

Mustang (o J6SE) es el nombre clave (mira que me gusta poco esa denominacion) de la siguiente version de Java, esperada para el tercer cuarto de 2006. La siguiente, conocida como Dolphin, se espera para principios de 2008.

Entre las novedades (copio y pego miserablemente:)

202: Class File Update
199: Compiler API
269: Annotation Processors
260: Javadoc™ Tag Update Ease of Development
221: JDBC™ 4.0
223: Scripting
105: XML Digital Signature
173: Streaming API for XML
222: JAXB 2.0
250: Common Annotations
181: WS Metadata - Web Services
224: JAX-WS 2.0

Como cosa a destacar: el JSE incluira soporte parcial para herramientas de servidor por peticion de la comunidad: soporte de servicios/servidor web, callbacks a las aplicaciones, etc.
Derby db como base de datos embebida
Siguiente tema: Derby, la nueva base de datos de Sun, completamente hecha en Java, embebible en programas, ligera y por supuesto con completo soporte de jdbc. Esta basada en sus origenes en Cloudscape, que luego paso a Informix y acabo en manos de la gente del proyecto apache

El motor de base de datos (los jar) ocupan menos de 2 Mb, lo que hace que puedan ser ejecutados desde practicamente cualquier dispositivo. Soporta los estandares de SLQ/92, SQL/99, SQL/XML...
Derby db como cliente/servidor
Como dato tambien a tener en cuenta, soporta la encriptacion de la base de datos (lo que suele ser muy util para que los clientes confien en que les mantengas sus datos) y tambien la posibilidad de que la base de datos se use en modo solo lectura (lo que tambien puede ser muy util para demos, presentaciones..). Se esta incluso intentando usar Derby como extension de Firefox!