ENGLISH VERSION          

| Inicio | Perfil | Servicios | Offshore | Recursos | Mapa del sitio | Contáctenos |          
Descargas

En esta página, Aurum Solutions provee información sobre herramientas útiles para un mejor y más sencillo desarrollo de software. La información no se limita a enlaces que permiten descargar las herramientas, sino que también incluye la descripción de la naturaleza y utilidad de cada descarga.

   
Volver a Recursos
Volver a Inicio
   
   

A continuación, se muestran enlaces a descargas de herramientas de análisis, diseño y/o programación de sistemas. El objetivo de cada una de estas herramientas es mejorar el proceso de desarrollo de software y los resultados que se obtienen mediante dicho proceso.

Para poner en un contexto temporal la información que se presenta en esta página, a cada descarga se le asocia una fecha, la cual coincide con la fecha del boletín en que se incluyó. Además, se describe en qué consiste cada descarga así como su utilidad para el desarrollo del software.

A continuación, se muestra la lista de descargas disponibles:

Enero 2004: Descarga de Spring

En el trabajo con la plataforma J2EE, un desarrollador encuentra diariamente una serie de problemas que, hasta el momento presente, no tienen solución o bien su solución es innecesariamente compleja. Entre estos problemas, se encuentran los siguientes:

  • Configuración de aplicaciones con un enfoque sencillo y universal.

  • Uso de interfaces como base de la programación sin costo adicional.
  • Uso de Enterprise Javabeans como una decisión de implementación que no afecte el diseño global del programa.
  • Utilización de JDBC de forma sencilla.
  • Arquitectura MVC sin frameworks complicados de difícil aprendizaje.
  • Una alternativa sencilla a EJB, que permita obtener la mayoría de los servicios del mismo sin su complejidad.
    Conseguir todo lo anterior con clases tradicionales de Java y sin dependencia de ninguna API especial y con facilidades para las pruebas.

Spring, iniciado por Rod Johnson, es un framework que consigue resolver todos estos problemas de una forma sencilla, elegante y flexible. A pesar de estar en sus primeras etapas, Spring ha generado notable interés en la comunidad Java y ha sido usado en proyectos desarrollados por Aurum Solutions con gran éxito.

Spring se distribuye bajo la licencia Apache, que permite usarlo gratuitamente para cualquier aplicación, incluso si es comercial. Puede descargarse desde aquí.

Es generalmente conocido que una de las causas más comunes de fracaso en los proyectos de desarrollo es un pobre rendimiento de la aplicación. Esto es especialmente crítico en aplicaciones Web, dada la lentitud de la red y el elevado número de potenciales usuarios de la aplicación.

Para optimizar el rendimiento, se necesita contar con una herramienta de pruebas de carga (“load testing”) que permita simular el uso de una aplicación por numerosos usuarios, medir el rendimiento de los diversos fragmentos de código y extraer información útil para la optimización. Estas herramientas suelen ser costosas, aunque la inversión vale la pena.

En este boletín, presentamos una buena herramienta de pruebas de carga que es gratuita y de código abierto. Se trata de JMeter, que, aunque fue concebida inicialmente sólo para aplicaciones Web, en la actualidad soporta también pruebas de carga de una amplia gama de recursos (archivos HTML, servlets, JSPs, guiones en Perl, objetos Java, bases de datos y consultas, servidores FTP, etc.).

JMeter se distribuye bajo la licencia Apache, que permite usarla gratuitamente para cualquier aplicación, incluso si es comercial. Puede descargarse mirar en los enlaces bajo el título "JMeter" que aparecen haciendo clic aquí.

El proceso de construcción de una aplicación Java (y, en especial, de las que usan la plataforma J2EE) es particularmente complejo. Entre las tareas que puede incluir se encuentran la compilación del código, la copia de archivos en los directorios de despliegue, la generación de comentarios Javadoc, la ejecución de casos de prueba, la generación de stubs y skeletons RMI, la creación de archivos JAR, WAR y EAR, la “mejora” de los programas con JDO, etc. Cada una de las tareas suele implicar la escritura de líneas de código extremadamente largas, algunas de las cuales deben parametrizarse. Además, para que el proceso tenga éxito, las tareas han de ejecutarse en un determinado orden.

La mejor forma de ejecutar este complejo proceso de construcción es de forma automática. Para ello, se usan herramientas especializadas, entre las cuales se encuentra Ant, que se ha convertido en el estándar en esta área. Con Ant se puede automatizar el proceso de construcción de forma sencilla, consiguiendo una mejor productividad y mayor facilidad en el mismo.

Ant se distribuye bajo la licencia Apache, que permite usarlo para cualquier aplicación gratuita o comercial. Puede descargarse desde aquí.

Octubre 2003: Descarga de JUnit

Es generalmente conocido que la fase de pruebas (“testing”, en inglés) es absolutamente necesaria para minimizar los errores de programación en los proyectos de desarrollo. Aunque hay muchas clases de pruebas (de aceptación, de integración, de unidad, “de caja blanca”, “de caja negra”, etc.), en los últimos años se ha llegado al consenso de que las más importantes de todas son las pruebas de unidad (“unit testing”), que prueban cada componente del software (clase, en los lenguajes orientados a objetos) para determinar si devuelve el resultado que se espera de él.

En el mundo Java, para ejecutar las pruebas de unidad, se utiliza el “framework” llamado JUnit, que se ha convertido en el estándar universal para este tipo de tarea. JUnit es sencillo y potente a la vez y, si se usa correctamente, aumenta considerablemente la calidad del código, detectando los errores que se producen en la programación y el mantenimiento. Como el prestigioso autor Martin Fowler afirma, “Nunca en el campo del desarrollo de software tanta gente debió tanto a tan pocas líneas de código”.

JUnit tiene licencia CPL, que permite usarlo de forma gratuita para cualquier aplicación, sea ésta comercial o de código abierto. Puede descargarse siguiendo el enlace “Download” que aparece en esta página.

Septiembre 2003: Descarga de JBoss

En los sistemas empresariales distribuidos, es necesario asegurar la correcta concurrencia del sistema, su estabilidad, seguridad, control de transacciones y la caché de objetos, entre otros aspectos. Para algunos de estos sistemas (pero no para todos), la mejor forma de conseguir todo ello es usar un servidor de aplicaciones, que implementa estas tareas, para que el programador se concentre solamente en la lógica de negocio.

El estándar para estos servidores de aplicaciones en el mundo J2EE (“Java 2 Enterprise Edition”) es la especificación Enterprise JavaBeans (EJB). EJB es un estándar maduro, que es soportado por la práctica totalidad de los vendedores de servidores de aplicaciones Java y que goza además de varias implementaciones de código abierto.

JBoss es el líder entre estas últimas. En la versión 4.0, JBoss trae importantes y originales novedades. Por una parte, es uno de los primeros servidores EJB que incorpora una plataforma para la programación orientada a aspectos. Por otra parte, incluye JBossDO, un motor de persistencia basado en el estándar JDO.

JBoss se distribuye bajo la licencia LGPL, que permite usarlo para cualquier aplicación gratuita o comercial. Puede descargarse desde aquí.

Agosto 2003: Descarga de Hibernate

Como se ve en el artículo que incluimos en el boletín del mes de agosto de 2003, el uso de un motor de persistencia no sólo puede reducir significativamente la cantidad de código de una aplicación, sino que además mejora su calidad, flexibilidad y robustez.

Como programar un motor de persistencia es una tarea compleja y consumidora de recursos y dado que un mismo motor de persistencia sirve para todas las aplicaciones posibles, la opción inteligente es conseguir un motor de persistencia ya programado. Es decir, comprarlo a un vendedor o bien usar un motor gratuito.

De todos los motores de persistencia gratuitos para el lenguaje Java, Hibernate goza de reconocimiento por ser eficiente, completo y fácil de usar, siendo uno de los motores de código abierto más utilizados y valorados.

Hibernate todavía no cumple con el estándar JDO, aunque es notablemente parecido a dicho estándar. Por otra parte, el creador de este motor de persistencia no descarta implementar JDO si éste se generaliza.

Hibernate tiene licencia LGPL, que permite usarlo para cualquier aplicación gratuita o comercial. Puede descargarse desde aquí.

Julio 2003: Descarga de C-JDBC

La técnica de clustering de bases de datos consiste en repetir los datos de una aplicación en varias bases de datos diferentes. De esta forma, se hace más rápido el acceso a los datos, al poder balancear la carga de las consultas entre las diferentes bases de datos. También se obtiene una mayor confiabilidad, ya que, si una base de datos falla, el resto puede asumir las consultas dirigidas a ella. Además, la replicación de los datos sirve como copia de seguridad. Sin embargo, el mayor beneficio del clustering es la escalabilidad de las aplicaciones que se basan en él.

Aunque el clustering no es una técnica nueva, la programación del código necesario para implementarlo ha sido tradicionalmente compleja y sujeta a errores. La biblioteca que presentamos hoy, llamada C-JDBC, es un controlador (“driver”) JDBC que permite implementar clustering de forma tan sencilla como lo es acceder a una única base de datos. A pesar que, a dicho controlador, se le pueden aplicar cualquier número de bases de datos de cualquier marca, se programa como si fuera una única base de datos, pues es operado mediante JDBC, la API estándar en Java para acceso a bases de datos.

C-JDBC es una biblioteca de código abierto, bajo la licencia LGPL, que permite usarla para cualquier aplicación gratuita o comercial. Puede descargarse desde aquí.

Junio 2003: Descarga de Jakarta Struts

La programación y mantenimiento de una aplicación para el Web es una tarea que requiere el máximo de los rigores. En la plataforma Java, las aplicaciones Web se implementan con la ayuda de servlets y JSPs y, opcionalmente, con el uso de Enterprise Javabeans y otras clases (clases de persistencia, clases planas Java, etc.). Sin embargo, la práctica enseña que este método de programación implica la ejecución de tareas difíciles y/o tediosas, entre las que se encuentran:

  • Coordinar los servlets, JSPs, Enterprise Javabeans y otras clases para que implementen los casos de uso de la aplicación.

  • Asegurar que la aplicación sigue una estructura MVC (modelo-vista-controlador) en sus capas superiores.

  • Realizar la validación de los datos introducidos en los formularios.

  • Preparar las aplicaciones para su internacionalización.

  • Asegurar la flexibilidad del sistema en vista a su modificación y ampliación en el futuro.

Dado que todo ello es difícil y tedioso de implementar por cuenta propia, han surgido los llamados “frameworks”, que son bibliotecas con clases que simplifican la programación de todas estas tareas. Los “frameworks” implican una forma de programar diferente, que es, al mismo tiempo, más sencilla y más robusta que la tradicional.

El “framework” más popular en la plataforma Java es Struts, que está incluido en el proyecto Jakarta de la fundación Apache. Es gratuito y de código abierto. Tanto binarios como fuentes pueden descargarse desde aquí.

 

 

 
   

 

| Inicio | Perfil | Servicios | Offshore | Recursos | Mapa del sitio | Contáctenos|