InfoQ publica una entrevista con Javier Paniza, desarrollador de OpenXava

InfoQ publica hoy una entrevista con Javier Paniza, uno de los desarrolladores del proyecto OpenXava.

Literalmente extraido de la página web de OpenXava…

OpenXava es un marco de trabajo para desarrollar aplicaciones web basadas en bases de datos, como Ruby on Rails, pero OpenXava produce aplicaciones J2EE / JavaEE estándars que pueden ser desplegadas en cualquier servidor de aplicaciones Java estándar (o portal Java estándar)

OpenXava es una iniciativa ¿española? (no estoy seguro de que esta afirmación tenga ningún sentido en el mundo Internet) por lo que toda la información al respecto está disponible en castellano, además de en inglés.

Es muy refrescante ver que proyectos iniciados en nuestro país crecen y llegan a tener un impacto importante en los medios internacionales de peso en el mundo Java.

Todavía no he tenido oportunidad de echar un vistazo al producto, pero si acerca algo el desarrollo de aplicaciones Java 2 EE a la facilidad de Ruby On Rails seguro que me gusta. También tengo en mi lista de tareas pendientes revisar Groovy, que también pretente el mismo objetivo: simplificar (enormemente) la construcción de aplicaciones Java.

Java EE. Mejores prácticas

IBM ha actualizado un artículo publicado por primera vez en el año 2004 y en el que se recogen 19 mejores prácticas de construcción de aplicaciones utilizando Java EE.

La lista completa es la siguiente (en inglés, hoy estoy vago y no me apetece traducirla):

  1. Always use MVC.
  2. Don’t reinvent the wheel.
  3. Apply automated unit tests and test harnesses at every layer.
  4. Develop to the specifications, not the application server.
  5. Plan for using Java EE security from Day One.
  6. Build what you know.
  7. Always use session facades whenever you use EJB components.
  8. Use stateless session beans instead of stateful session beans.
  9. Use container-managed transactions.
  10. Prefer JSPs as your first choice of presentation technology.
  11. When using HttpSessions, store only as much state as you need for the current business transaction and no more.
  12. Take advantage of application server features that do not require your code to be modified.
  13. Play nice within existing environments.
  14. Embrace the qualities of service provided by the application server environment.
  15. Embrace Java EE, don’t fake it.
  16. Plan for version updates.
  17. At all points of interest in your code, log your program state using a standard logging framework.
  18. Always clean up after yourself.
  19. Follow rigorous procedures for development and testing.

Yo no estoy totalmente de acuerdo con esta lista. En mi opinión los dos primeros puntos deberían intercambiarse. Para mi, con diferencia, la mejor práctica es no reinventar la rueda.

Y me pregunto, ¿porqué nos empecinamos en reinventar la rueda una y otra vez?. Pues por que cuando empezamos un proyecto dedicar una semana de un equipo competente a investigar que hay ya hecho que podemos reutilizar parece un despilfarro y una pérdida de tiempo. Este es posiblemenente el error más caro que un equipo de desarrollo puede cometer.

Via: InfoQ.com

Liberada la versión 1.9.3 de AppFuse

Matt Raible anuncia en su blog Raible Designs la liberación de la versión 1.9.3 de AppFuse.

Esta versión incluye, principalmente, correcciones a defectos encontrados pero también la actualización de alguna de las librerías de las que depende; por ejemplo la actualización de Acegi Security a la versión 1.0.1. En las notas de la versión encontraréis el detalle de todos los cambios.

Buildix

Leyendo el blog de Matt Raible me he encontrado con un artículo acerca de Buildix.

Buildix es un desarrollo de ThoughWorks, una consultora especializada en el desarrollo de software, que describe Buildix como “The agile development platform in a disk”.

Se trata de una distribución Linux, basada en Knoppix (y por lo tanto en Debian ), a la que han quitado todo lo que ellos consideraban innecesario y han añadido un conjunto de herramientas de desarrollo. Concretamente la actual versión de Buildix incluye preinstaladas y configuradas:

  • Subversión para el control del código fuente.
  • Trac : Wiki, Bug-tracker y gestión de proyectos.
  • CruiseControl para la gestión del ciclo de integración contínua del software.

Además ThoughWorks ha añadido algunas pequeñas herramientas propias e incluso un proyecto de ejemplo.

Están disponibles para bajárselas tanto un Live-CD como una máquina VMWare, tanto via http, como via Torrent. No hay excusa para no bajar alguna de las versiones y probarla (yo ya lo estoy haciendo).

Buildix incluye un ayudante que permite crear un proyecto nuevo desde cero con un único click. La idea es poder tener a un equipo de desarrollo trabajando sobre un entorno totalmente profesional en apenas unos segundos.