Buscar
Social
Ofertas laborales ES
viernes
jul072006

El mito del clustering transparente

Este es el título de una entrada en el weblog de Manik Surtani, el líder de JBoss cache. En ella afirma que para que una aplicación funcione adecuadamente en un clustering debe haber sido diseñada para tal propósito ya que el clustering transparente es un mito que no existe. El autor reconoce que es posible desplegar una aplicación, que no ha sido diseñada para un cluster, de un modo relativamente transparente.


Sin embargo, la necesidad de serialización de objetos de gran tamaño, ciertos problemas derivados del uso de variables static y transient, llamadas subóptimas entre las distintas capas de la lógica de negocio y los lazos de sincronización pueden degradar considerablemente el rendimiento de un clustering, mientras que en una aplicación que corre en una única máquina todas estas prácticas son aceptables.


Por ello el autor defiende que, incluso aunque inicialmente la aplicación no se vaya a desplegar en un clustering, debemos de diseñarlas siempre pensando en esta opción. ¿Estás de acuerdo con su opinión?
jueves
jul062006

Persiguiendo la calidad del código: herramientas y

En IBM developerWorks, Andrew Glover escribe acerca de como identificar un código "charlatán" o "locuaz" o "garrulo" (exactamente el término utilizado es garrulous, la traducción a garrulo es válida aunque no la más adecuada, pero es sin duda muy interesante empezar a hablar de "código garrulo").



Básicamente Andrew identifica que un método muy largo, o una clase muy grande, o una clase con un montón de dependencias directas con otras clases (estas tres cualidades normalmente están directamente relacionadas), es un código de mala calidad porque lo hace difícil de mantener (y comprender) y testear.



Aunque la solución obvia que implícitamente propone Andrew es la llamada "refactorización", antes de poder refactorizar es preciso detectar qué zonas del código son de mala calidad, para ello introduce conceptos como la complejidad ciclomática y herramientas tal y como PDM y JavaNCSS para detectarlos.



¿Alguien se ha visto en la necesidad de refactorizar un código ajeno?



Yo si, y aunque al principio se te ponen los pelos de punta al final es un auténtico placer ver los resultados. Yo creo que debería existir una especialización en el mundo de los programadores: los refactorizadores. Una especialización que por otra parte debería estar muy bien pagada pues vendrían a ser los poceros que trabajan en las alcantarillas del mundo del software.



¿Experiencias de uso de PMD y/o JavaNCSS o similares?



Por mi parte recomiendo la siguiente herramienta de IBM: Structural Analysis for Java, da un resultado global sobre la calidad de tu código (que algunos podrían considerar injusto) pero aparte de este dato se puede ver la calidad del código desde diferentes perspectivas.

jueves
jul062006

Java y los sanfermines

Se trata de una pequeña anécdota simpática que relaciona la tecnología Java y la fiesta más internacional de España (que comienza hoy y se extenderá durante más de una semana), los sanfermines. Una pequeña empresa de Navarra tuvo la idea y las universidades de Navarra y Zaragoza pusieron la tecnología, y así nació el Encierrómetro . Se trata de un Applet que permite calcular a aquellos que van a correr un encierro la probabilidad de ser cogidos por el toro.



El Applet tiene en cuenta datos estadísticos recopilados de más de 200 encierros realizados desde 1987. Entre los parámetros de entrada se encuentran la forma física del corredor, su experiencia, las horas que ha dormido la noche anterior y el consumo de drogas y alcohol.
miércoles
jul052006

Encuesta sobre IDEs de Evans Data

Evans Data ha publicado los resultados de su encuesta "Developer's Choice" enfocada a IDEs que se aplicó a 1200 desarrolladores en el mundo.





Se evaluaron aspectos como





  • Compilador/Intérprete



  • Debugger



  • Editor



  • Herramientas de modelado



  • Herramientas de diseño web



  • Profiler









Los IDEs evaluados fueron:





  • Adobe/Macromedia Studio 8 (??)



  • Borland Delphi



  • Borland JBuilder



  • Eclipse



  • IBM Rational Application Developer



  • IBM WebSphere Studio



  • Microsoft Visual Studio .NET



  • NetBeans



  • Oracle JDeveloper



  • Sun Java Studio



  • Sybase PowerBuilder (todavia se usa?)







  • Una versión reducida con los resultados del estudio se puede descargar de la página previo registro, mientras que un informe más completo está a la venta en el mismo sitio.
miércoles
jul052006

Las 10 mejores características de Eclipse 3.2

Ed Burnette ha publicado en su blog de ZDnet un artículo mostrando las características que el considera más impresionantes de la nueva versión de Eclipse.



Si necesitas argumentos para cambiar a esta versión, este artículo te puede servir. Por mi parte me gustaron mucho el wizard de limpieza que permite modificar el código de un proyecto para que se apegue a ciertos estándares y las anotaciones CVS que permiten visualizar de forma rápida dentro del código los cambios realizados.



Otro punto a resaltar son las pruebas de desempeño que demuestran que la versión 3.2 es bastante más rápida que la anterior.