Bibliografía y recursos Java

A estas alturas tengo ya recopilada o identificada una buena cantidad de documentación y recursos interesantes relacionados con Java, más concretamente con J2EE. El caso es que cuando realmente los necesito me cuesta encontrarlos por que los tengo desperdigados por distintas ubicaciones. Así que me he decidido a crear esta entrada para recopilarlos todos y que me sirva de página de inicio cuando de Java se trata.

La documentación que aquí recojo es toda pública, gratuita y accesible. Está más orientada hacia el arquitecto de aplicaciones que hacia el programador y está además claramente orientada hacia aplicaciones J2EE empresariales.

Debéis considerar esta recopilación como un trabajo indefinidamente inacabado. Intentaré ir manteniendola actualizada.

La he dividido en las siguientes secciones:

  • Documentación
  • Páginas web
  • Blogs
  • Herramientas

Documentación

  • «The J2EE Architects Handbook«, de Derek C. Ashmore. Este libro lo acabo de descubrir y es de lo mejor que he leido, os lo recomiendo encarecidamente. Lo toca todo, desde la composición de los equipos de trabajo, el ciclo de desarrollo, la planificación del desarrollo, la arquitectura de las aplicaciones, la construcción de las aplicaciones y el proceso de pruebas. Y además lo hace desde una perspectiva eminentemente práctica.
  • «The J2EE 1.4 Tutorial«, de Eric Amstrong, Jennifer Ball, Stephanie Bodoff, Debbie Bode Carson, Ian Evans, Dale Green, Kim Haase y Eric Jendrok.
  • «Spring. Reference documentation«, de Rod Johnson, Juergen Hoeller, Alef Arendsen, Colin Sampaleanu, Rob Harrop, Thomas Risberg, Darren Davison, Dmitriy Kopylenko, Mark Pollack, ThierryTemplier y Erwin Vervaet.

Páginas web

Blogs

Herramientas

Por ahora voy a poner solo la lista de «herramientas que hay que conocer», la iré completando con los enlaces y comentarios. También las iré estructurando en categorías. Si creéis que algún «imprescindible» se me ha quedado en el tintero avisadme. 🙂

  • Infraestructura

  • Struts Framework
  • SiteMesh. SiteMesh es un framework para la gestión de la organización (layout) y presentación de las páginas web de una aplicación. SiteMesh intercepta todas páginas que la aplicación genera, las analiza y las transforma para ajustarlas al diseño definido. Su funcionalidad es similar a la ofrecida por Tiles que está incluido en Struts.
  • Spring Framework
  • Hibernate
  • iBATIS
  • Acegi Security System for Spring
  • Mule Enterprise Service Bus (ESB) messaging framework
  • JBoss
  • JBoss JBPM
  • Quartz
  • Eclipse BIRT
  • Ciclo de vida del sofware

Instalinux. Generación de imágenes Linux personalizadas

Untitled document

[lang_es]Acabo de descubrir Instalinux. Se trata de una herramienta web que permite la creación personalizada de imágenes ISO para la instalación de Linux.

Soporta la creación de CD's de instalación personalizados de: CentOS, Debian, Fedora Core, Ubuntu, Kubuntu, SuSE; tanto para arquitectura i386 como para arquitectura x86_64.

El proceso es el siguiente. A través de un interface web seleccionas la distribución deseada, defines (opcional) el nombre de máquina, la configuración de red (si la quieres estática), cómo se van a particionar los discos, el nombre y contraseña del usuario, el perfil de instalación, los idiomas soportados, etc.. Una vez contestadas todas las preguntas la herramienta genera una imágen ISO a la medida que puedes descargar a tu máquina y utilizar para instalar.[/lang_es]

Super Glue, último grito en seguridad informática

Untitled document

[lang_es]En el artículo "Super Glue, último grito en seguridad informática" que ha publicado Kriptopolis se pone en evidencia una de esas verdades que nunca deberíamos olvidar: la primera y más básica línea de defensa es la física 😀 [/lang_es]

Microsoft modifica, sin avisar, el comportamiento del cliente DNS de sus sistemas operativos

Untitled document

[lang_es]Leyendo distintos blogs (aquí, aquí y aquí) me he encontrado con una noticia interesante y reveladora.

La situación es la siguiente.

El sistema operativo incluye un cliente DNS. Un cliente DNS es programa responsable de traducir (resolver) los nombres de host, por ejemplo www.jorgetome.info, en su dirección IP correspondiente.

Estos clientes DNS para ello consultan los distintos servidores DNS existentes en Internet, pero antes de hacerlo consultan un fichero de texto que existe en todos los ordenadores y que se llama hosts. En el caso de los sistemas operativos de Microsoft este fichero de texto está ubicado dentro del directorio del sistema operativo (WinNT, Windows, etc., depende de la instalación) y dentro de los subdirectorios System32, Drivers, Etc. (en mi caso, por ejemplo, está en "C:\windows\system32\drivers\etc").

El caso es que los clientes DNS primero buscan el nombre de hosts en este fichero y solo si no lo encuentran y solo en ese caso, realizan una petición a los servidores DNS para obtener la dirección IP del host en cuestión.

Pues bien, Microsoft ha modificado el cliente DNS incorporado en sus sistemas operativos para que "hagan excepciones" y en el caso de determinados nombres de hosts ignoren el contenido del fichero hosts.

En principio la lista de hosts "especiales" es la siguiente:

  • windowsupdate.microsoft.com
  • windowsupdate.com
  • microsoftupdate.com
  • download.microsoft.com
  • update.microsoft.com
  • microsoft.com
  • www.microsoft.com
  • support.microsoft.com
  • wustats.microsoft.com
  • microsoftupdate.microsoft.com
  • office.microsoft.com
  • msdn.microsoft.com
  • go.microsoft.com
  • msn.com
  • www.msn.com
  • msdn.com
  • www.msdn.com

Lo peor de esto es que parece ser, yo no he podido confirmarlo, que Microsoft no ha comunicado ni documentado de ninguna forma este comportamiento. Aunque en su descargo hay que decir que esta modificación parece ser un intento de luchar contra determinados virus y spyware que modifica el fichero hosts para evitar que el ordenador pueda acceder a determinados sitios.[/lang_es]

StarUML – The Open Source UML/MDA Platform

Untitled document [lang_es]StarUML es un proyecto de código abierto que tiene como objetivo desarrollar una herramienta de modelado de software del estilo de RationalRose o Together. Alguna de sus principales características son:

  • UML 2.0
  • MDA (Model Driven Architecture)
  • Plug-in architecture
  • Usabilidad

Todavía no lo he probado, el modelado de software no está en las primeras posiciones de mi lista de prioridades, pero lo haré. Una cosa que no me gusta es que solo funciona en plataformas Win32, esto es una limitación que, en mi opinión, hoy por hoy es poco justificable. Una cosa que me gusta y mucho, es que es un proyecto nacido en 1996, ¡hace 10 años!, y que va ya por su quinta versión. Anteriormente se llamó Plastic o Agora Plastic. [/lang_es]

[lang_en]StarUML is an open source project which aim is to develop a UML/MDA platform running on Win32 platform. StartUML has the goal of build a software modeling tool and also platform that is a compelling replacement of commercial modeling tools such as Rational Rose, Together and so on. Some of its main characteristics are:

  • UML 2.0
  • MDA (Model Driver Architecture)
  • Plug-in architecture
  • Usability

I have not tried it yet, software modelling is not in the first places of my ToDo list, but i will do it. One thing that i don't like is that StartUML only runs on Win32 platforms. I think that nowadays this is a unacceptable limitation. And one thing i like a lot is that this project is live since 1996, ten years ago!. StarUML is formerly known as "Plastic" or "Agora Plastic" [/lang_es]