Rendimiento de Java 6 en Linux (Ubuntu) y Windows Vista

Aunque hace un año de la comparativa no creo que haya cambiado mucho:

http://www.phoronix.com/scan.php?page=article&item=java_vm_performance

El Resumen:

Well, Java on Ubuntu was pretty much the hands-down winner compared to Microsoft Windows Vista Premium SP1. Running the Java tests on Ubuntu had experienced significant advantages when it came to file encryption, Fast Fourier Transforms, Successive Over Relaxation, Monte Carlo, and the composite Java SciMark performance. In only the Sunflow test were the results between Ubuntu and Windows even close. With the Java 2D Microbenchmark, Windows was faster but that likely falls on the Intel Linux graphics driver having little in the way of performance optimizations and Java on Linux not yet utilizing the X Render extension.

Sharpen: una herramienta para convertir código Java a C#

db4objects (http://www.db4o.com), proveedor de la base de objetos open source db4o tiene una herramienta de conversión de código fuente Java a C# (Sharpen) como software libre.

La herramienta es un plugin de Eclipse y ofrece las siguientes características:

· Mapeo entre los tipos nativos de Java y .NET

· Cumple con las convenciones de código C#

· Mapeos de namespaces/clases/métodos definidos por el usuario

· Mapeo de métodos a propiedades

· Soporta generics

· Conversiones parciales

· Combina código fuente C# convertido y nativo

· Soporta archivos sln de VS

· Integración con Ant

Cómo configurarlo:

http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/How_To_Setup_Sharpen

Comparando IBatis, Hibernate y JPA

La tozuda realidad indica que no pocos clientes han vuelto al SQL (aunque sea a través de un motor como iBatis), tras su paso por los motores de persistencia.

Esto sugiere varias cosas:

· Que no en todos los proyectos el uso de un motor de persistencia (Hibernate, TopLink, JPA) es la mejor opción

· Que con un motor de persistencia es más probable tener problemas con la base de datos: problemas de rendimiento, de transaccionalidad, de saturación,…

El resumen de la comparativa:

Extraido de:

http://www.javaworld.com/javaworld/jw-07-2008/jw-07-orm-comparison.html?page=2

JMaki: framework de frameworks AJAX

es una recopilación y selección de frameworks JavaScript para generar aplicaciones AJAX utilizando JSP 2.0 tag libraries o componentes JSF:

Incluye componentes de Dojo, Scriptaculous, y Yahoo UI Widgets:

· http://ajax.dev.java.net/

· http://developers.sun.com/ajax/

· http://java.sun.com/javascript/

Ejemplos:

https://ajax.dev.java.net/samples/

Algunos componentes integrados:

https://ajax.dev.java.net/nonav/gallery/

Y una demo:

https://ajax.dev.java.net/screencast/jMakiDemo/jMakiDemo.html

Tiene plugins para Eclipse y NetBeans, aunque el de Eclipse no va muy bien…

Librerías Javascript para validación de formularios

Algunas librerías que permiten validar campos de formularios de forma sencilla:

1. iMask: probablemente sería necesario usarlo con uno de los otros. Ofrece máscaras, que se definen en el propio HTML. Este (o su equivalente) será necesario seguro.

http://zendold.lojcomm.com.br/imask/

2. JSValidate: se basa en Prototype. Con este no habría que hacer nada adicional. Todo seguiría siendo HTML, este tiene definido una serie de atributos que pone en el class. Le faltan las máscaras (creo).

http://www.jsvalidate.com/demo/

http://www.jsvalidate.com/docs/

http://tetlaw.id.au/upload/pages/really-easy-field-validation/

http://blog.jc21.com/staging/jsvalidate_yui.php

3. YUI Unobstrusive Javascript Validation: como la anterior, pero sobre YUI (si no estáis en contra, la librería Javascript que usaremos para los componentes). Habría que generar desde Jaxcent esto:

http://stauren.net/uploads/yui-form-validator/example/index.html

4. LiveValidation: con esta utilizaríamos nuestro propio tag para validaciones y no el class, por ejemplo <input type validation=”Presence”>. Evidentemente requiere más curro.

http://www.livevalidation.com/examples

Desde la JaxcentPage le calzaríamos esto, que en un futuro podríamos sacarlo de la información de la entidad

Tampoco tiene máscaras.

5. Form Validation Library: requiere más curro. Esta es la que había usado yo. La pongo sólo por eso J

http://chrysalis.sourceforge.net/javascript/

6. JavaScript Tools: http://javascriptools.sourceforge.net/

Un ejemplo de validación de fechas:

http://javascriptools.sourceforge.net/samples/sample_mask.html

Mecanismos de sincronización y Sincronización con Daffodil

Los mecanismos de sincronización se pueden dividir en 2:

· Aplicaciones de sincronización:

o como el MobiLink de Sybase (sobre el que hemos ganado una oferta para Carburos Metálicos)

http://www.manageability.org/blog/stuff/java-open-source-replication-synchronization

http://www.ianywhere.com/developer/product_manuals/sqlanywhere/1000/en/html/dbmgen10/dbmgen10.html

o Otros

http://sourceforge.net/projects/synchonytool

http://www.sqledit.com/dcmp/

http://www.dbbalance.com/db_studio.htm

· Base de datos federadas: como el DBLink de Oracle, o el de SQL Server, MySQL,…

http://www.dataprix.com/dblink_oracle

http://www.dataprix.com/files/XDAT012006.pdf

De entre los productos gratuitos he probado (y customizado) el Daffodil:

http://opensource.replicator.daffodilsw.com/what-is-replicator.html

El cambio que he hecho en el código permite sincronizar la misma o diferentes bases de datos, yo he hecho dos pruebas de modo satisfactorio: con un Oracle y dos usuarios diferentes y con dos bases de datos diferentes y distintos usuarios.

Por otra parte la herramienta ofrece bastantes funcionalidades y modos de sincronización, tiene hasta una consola para poder ejecutar los diferentes tipos de sincronización:

Algunas de sus características son: