Buscar
Social
Ofertas laborales ES
miércoles
dic082010

XML 2.0

"XML 2.0" es el título de una entrada en el blog Elliotte Rusty Harold. Para los que no le conozcáis, entre otras cosas, Elliotte Rusty Harold es autor de cerca de 20 libros sobre Java y sobre XML, entre ellos XML Bible, XML 1.1 Bible y Effective XML. 


Es un blog Elliotte argumenta que XML 1.1 ha fallado por no ser compatible con XML 1.0 y por no ofrecer nuevas características que demandaba la gente. Ahora, tras 12 años de XML 1.0, es hora de moverse hacia adelante. Y para ello propone crear XML 2.0. Desde su punto de vista, esta especificación deberá ser compatible con XML 1.0 (no con XML 1.1); deberá de ser simple y más eficiente que la especificación actual; y deberá tender a poner más información en los documentos XML; por ejemplo, incluir en los propios documentos las definiciones de los tipos de los elementos.


Y, por supuesto, XML 2.0 deberá tener nuevas características que le hacen falta, como por ejemplo el soportar estructuras de datos que proporcionen formas estandarizadas de definir listas, conjuntos, mapas... en XML. Por ejemplo, él propone: 

 

<crew type="list">
   <name>Fred</name>
   <name>Jane</name>
   <name>Bob</name>
 </crew> 
 

También deberá soportar tipos de datos, como entero, float, fechas... Por ejemplo: 

 

<dimensions type="map" valuetype="decimal" keytype="string">
  <dimension key="width" units="cm">34.3</dimension>
  <dimension key="length" units="cm">120.0</dimension>
  <dimension key="height" units="cm">3.10</dimension>
</dimensions>


El tipo de dato por defecto sería String, así que la primera definición del listado anterior también podría haberse puesto como: 

 

H647345

 
También hay cosas que propone eliminar del estándar, como las secciones CDATA, los controles C1, DOM y Infoset. Podéis encontrar información más detallada aquí.


Según Elliotte, uno de los motivos por los cuales XML 1.0 triunfó es porque fue diseñado por un comité pequeño de personas con objetivos comunes. Y uno de los motivos por los cuales XML 1.1 fue un fracaso es porque lo definió el W3C, a través de un comité que representaba múltiples entidades con diversos intereses.


Elliotte propone replicar el modelo de XML 1.0. Él, y un conjunto de personas van a realizar la definición, y escribir parsers y Apis para el nuevo estándar.


¿Qué opináis sobre la idea de XML 2.0? ¿Y sobre el definirlo al margen del W3C?

miércoles
dic082010

Android 2.3 SDK (Gingerbread)

Gingerbread, la versión 2.3 de Android, está disponible. Esta versión trae varias mejoras para el desarrollo de juegos que harán que las aplicaciones respondan de un modo más suave. Para ello, ahora usa un recolector de basuras que se ejecuta de modo concurrente con la aplicación, han optimizado la gestión de eventos y permiten a los desarrolladores acceder a nuevas APIs de bajo nivel del sistema.


Además, esta versión añade soporte para giroscopio y otros tipos de sensores y soporte para nuevos protocolos de comunicación. El SDK incluye  un ofuscador de código (ProGuard).


El primer teléfono móvil que saldrá al mercado con este sistema operativo es Nexus S, que estará disponible el 16 diciembre. Aquí tenéis una imagen del terminal: 

 

Y aquí una imagen del "Gingerbread" que recientemente se situó en frente de las oficinas de Google en honor a esta nueva versión de Android (porque si alguien no lo sabe, las versiones de Android tienen nombres de postes en inglés, y por cada versión ponen una estatua gigante del postre en frente de las oficinas de Google). 

 

martes
dic072010

El JCP ratifica Java 7 y 8, ¿Renunciará Apache al JCP?

Con un 75% de los votos, ha sido aprobados el roadmap para Java 7 y 8 propuesto por Oracle al JCP. En contra votaron la Apache Software Foundation, como ya había avisado, y Google, de acuerdo a información en The Register

La ASF ya había anunciado su plan de bloquear estas propuestas no por méritos técnicos sino por temas de la licencia del Kit de compatibilidad de Java (TCK), kit que no ha podido obtener de Sun/Oracle bajo términos que concuerden con su filosofía open source y ha impedido certificar a Apache Harmony como una implementación de la plataforma Java.

En el comunicado, la ASF anunciaba que bloquearía java 7 y 8 hasta obtener un cambio que le permitiera usar el kit de certificación y pedia el apoyo de otras organizaciones. Al parecer sólo Google se unió a este boicot. En ese comunicado, la ASF anunciaba que si sus derechos no eran respetados, abandonaría el JCP; organismo al que pertenece desde hace 10 años. 

Todo parece indicar que Oracle no cambiará su postura sobe los términos para otorgar el TCK y este pulso que supuso la aprobación de Java 7 y 8, parece indicar que la ASF no tiene la fuerza suficiente dentro del JCP para presionar a Oracle a hacer lo contrario. Aún más, en los últimos meses, Oracle consiguió el apoyo de IBM y de Apple al OpenJDK; fortaleciendo más su posición.

Ahora parece que el ASF tendrá que tomar la decisión de abandonar el JCP o no. ¿Qué opináis de este posible escenario? ¿Cómo sería el JCP sin la participación de uno de los baluartes del opensource y responsable de proyectos tan importantes para Java como Tomcat y Jakarta? 

martes
dic072010

Tutorial y Screencast de introducción a Maven 3 por Erick Camacho

He elaborado un tutorial de introducción a Maven 3, pensado para aquellos que quieren empezar a usar esta herramienta de construcción de proyectos Java. Además, he hecho un screencast que es una versión reducida del contenido del tutorial y pensado para que sirva de quickstart a la herramienta.

Maven es una herramienta que permite gestionar proyectos Java, define una estructura común para los proyectos, un interesante manejo de las librerías basado en dependencias que se descargan automáticamente de internet y un cuidadoso ciclo de vida para compilar, probar y generar un binario de tus aplicaciones.

A pesar de que en mi opinión no es la mejor opción en el mundo Java (ya publicaré otro material sobre otras herramientas alternativas) , sí es la opción que se ha convertido  en el estándar en el mundo empresarial y cómo punto fuerte, tiene soporte en todos los IDEs, en servidores de Integración Continua y cuenta con un amplio ecosistema de plugins. Lo que lo hace una gran opción para tus proyectos Java.

En el tutorial hago una introducción a la herramienta y mientras se construye un proyecto web multimódulo, aprovecho para explicar conceptos como el sistema de dependencias, los plugins, etc. Espero que les sea de utilidad y espero seguir publicando tutoriales sobre herramientas para un ecosistema de desarrollo Java.

lunes
dic062010

JavaHispano Podcast - 100 - Especial número 100

Publicado el número 100 del podcast de javaHispano. En esta ocasión hemos realizado un podcast especial homenaje a las personas que han participado en los números realizados hasta la fecha. Para ello, hemos agrupado fragmentos de audios en los siguientes temas:

  • Audios de oyentes
  • Compra de SUN por Oracle
  • Test y análisis automáticos
  • Servidores de aplicaciones
  • Comenzar JEE y herramientas o frameworks
  • Spring
  • JavaOne
  • Seguridad informática
  • Tecnología, personas y expresión en el código
  • Control de versiones
  • Enterprise 2.0
  • JSF
  • Arquitectura SOA
  • Ajax
  • JME y Android
  • Groovy y Grails
  • Reuniones en Mexico
  • Entornos de desarrollo integrados (IDEs)
  • Desarrollo de videojuegos
  • Desarrollo Agil
  • Emprendedores de empresas y productos
  • Relevancia internacional
  • Test y análisis automáticos II
  • Información legal
  • Software libre
  • Otros temas