Este fin de semanam, he estado casi luchando y leyendo sobre Multihilos. en la universidad te enseñan algo básico. Pero aplicarlos en casos reales es diferente. Recuerdo que aprendi hilos haciendo Applet, todo un caso.
Igual me ha ayudado mucho el video que presentó en este blog y el libro Java Threads 2nd Edition. Realmente vean el video tiene buenos ejemplos
Creo que este video, debia haberlo visto antes de tomar mi primer examen de Java. La mayoría fallamos en preguntas simples y lógicas como verán en el video de abajo. Además que la exposición es interesante!!!
Encontre este artículo, para ser sincera me desplomo; algo asi como cuando alguien te decepciona :S. Es que yo ando con todas las de seguidora de Spring, sin embargo ya era hora de que lea tambien sobre criticas a Spring.
Se dan 5 razones del Porque no usar Spring y son las siguientes:
1. La primera dice que la configuración de Spring está inflada y que si se tienen 100 acciones que trabajan con 100 servicios hace falta configurar cada uno de ellos.
2. Es una crítica a los archivos XML de configuración en sí mismos.
3. Perdida de las ventajas del tipado fuerte, ya que al injectar objetos los fallos sólo pueden dectarse en tiempo de ejecución.
4. El container de Spring no es ligero.
5. Spring promete un software poco acoplado, pero en realidad (según la opinión del autor) , no se preocupa mucho por ello y cree que una vez introducido en la aplicación ésta no puede vivir sin él.
Para variar encontre esta lista de comentarios en uno de mis rss:
* Es verdad que la configuración de Spring es un poco inflada, pero si se utiliza un archivo XML de configuración siempre vamos a tener este problema. El de Spring, en concreto, no es de los peores. Yo abogo por utilizar en Java Conventions como Ruby on Rails, pero todavía no hay ningún framework que ofrezca inyección de dependencias por Conventions.De paso también contesto al punto 2.
* Es verdad que no se puede evaluar si un objeto ha sido bien inyectado, más que en tiempo de ejecución, pero hoy por hoy no hay otra forma de inyectar objetos y Spring proporciona otra serie de ventajas que tambíen tienen que ver con la inyección de dependencias muy interesantes como las plantillas para los frameworks ORM u otras plantillas para otros servicios, yo creo que merece la pena pagar el precio.
* Tiene razón que el container de Spring no es ligero, pero Spring está pensado para ser utilizado en aplicaciones en las que te lo puedas permitir, no tiene sentido utilizar Spring en una aplicación de tiempo real o en una aplicación para un móvil.
* En cuanto a lo de que no sea desacoplado no estoy de acuerdo, ya si Spring obliga a programar contra Interfaces, si un día se decide no utilizar Spring basta con reimplementar esas interfaces y listo. Por otro, lado Spring no tiene los problemas que tenían los EJB ya que sólo eran ejecutables dentro del Container de EJB, Spring se puede ejecutar dentro de un Container Web o fuera de él en una aplicación Swing normal y corriente. Si se refiere a la implentación de las interfaces claro que queda ligada a Spring, ya que no se puede implementar algo con un framework sin que quede ligado a él, pero me parece una solución mucho mejor a EJB 2.0. El grado de desacoplamiento me parece bueno.
Es increible pero ya lo imaginaba; es lo mismo que cuando empece con struts y parecia que todo era más simple y ordenado; ahora spring y asi seguiremos con mas frameworks creo, hasta que termine como Gerente y solo tenga que firmar papelitos y hacer que mi dinero generé mas dinero
… eso ya lo seguire contando en mi blog personal.
Me sería util saber la opinion de los programadores de spring!!! ya me andan confundiendo y soy iniciante 
Direct Web Remoting(DWR) llamado por algunos el Ajax para Java, simplifica la interacción de aplicaciones AJAX con nuestros servlets.

DWR permite Javascript en un browser para interactuar con Java en un servidor y te ayuda a manipular paginas web con los resultados.
A mi me llamo la atención al leer La cara oscura del desarrollo y especialmente este parrafo “Lo que considero más “novedoso” de DWR es que genera dinámicamente código JavaScript basado en clases Java. Esto permite al desarrollador usar código Java desde JavaScript como si este fuese local al web-browser, cuando en realidad el código Java se ejecuta en el servidor. Este enfoque es una alternativa interesante al uso de RMI o SOAP”.
Un ejemplo de codigo para ver las funcionalidades o para empezar a curiosear lo encuentras aquí y toda la documentacion con los pasos y explicación en Java World. Incluso es posible trabajarlo junto a Spring y a Hibernate, asi que no hay excusas para darle una ojeada si quiera.
Hace unos dias atras un amigo Roberto Cotrina me dijo que ya tenia un ejemplo en su página de proyectos y bueno por ahi te contactas con él para aprenderlo.

RSD(Rational Software Development) es una plataforma con la que me ha tocado trabajar. Con esta herramienta tu tienes la ventaja de hacer tu analisis y a la vez desarrollar. Yo he probado otras herramientas como Enterprise Architect, Rational Rose y JDeveloper(casi similar al RSD), pero definitivamente me quedo con RSD.
Yo tengo instalado el eclipse 3.2 junto al IDE Myeclipse, este ultimo por darme la facilidad para trabajar con frameworks como Spring, Hibernate, JSF, Struts, etc.
Anduve buscando un software que me ayude a realizar el analisis y me tope con el RSD, que se integra con el eclipse, asi que no es necesario estar abriendo el MyEclipse, solo tengo que abrir mi RSD y comenzar a analizar y programar.
Puedo armar mi arquitectura, crear paquetes, crear un archivo .java con sus clases y luego arrastrar las clases hacia la interface de Diagramas de Clases o hacer la inversa. Es super facil, cuenta con otras cosillas que aún me falta explorar, pero hasta ahora no he tenido que abrir el MyEclipse, solo importe un proyecto(Spring+Hibernate) direccionando al archivo build.xml y listo ya tenia todo en el RSD.
Aqui les va la mala noticia… uhmm bueno es un software de IBM y por lo tanto es necesario la licencia :). Yo tengo el producto como prueba, bajartelo de la pagina de IBM si tienes una conexion a internet un tanto lenta como la mía pues se demorarà mucho. Lo que hice fue solicitar un CD de pruebas a IBM y me enviaron en una semana. En ese “CD” no solo esta el RSD sino otras herramientas, en realidad te envian dos DVD’s asi que imaginate todo lo que contiene!!!.
Para algunos programadores (me incluyo), siempre hay una brecha al crear y desarrollar aplicaciones de Internet sofisticadas(RIS). Pero para ello Adobe nos presenta una alternativa curiosa Adobe Flex.
Ahora,¿Que podemos hacer con Adobe Flex? un amigo mio Roberto Cotrina muestra una pequeña aplicación realizada con Flex.

Es posible notar que los botones son más personalizados, lo mismo que con flash.
Flex tiene varios componentes y características que aportan funcionalidades tales como, Servicios Web, objetos remotos, arrastrar y soltar, columnas ordenables, gráficas, efectos de animación, y otras interacciones simples.
Productos de Adobe Flex:
Adobe Flex Builder: un entorno basado en Eclipse(especialmente para los que estamos usando como IDE al Eclipse).
Adobe Flex Charting: Nos brinda todo un mundo de graficos y diagramas interactivos que permiten los tableros de datos sofisticados y el análisis interactivo de datos.
Adobe Flex Data Services: Se puede tener un grupo de funciones de gestión de datos para el servidor que permite a los desarrolladores proporcionar rápidamente aplicaciones Flex con grandes volúmenes de datos.
Las aplicaciones desarrolladas con Flex funcionan en todas las plataformas de escritorio habituales, permiten una personalización total de la apariencia de la aplicación y son compatibles con un amplio grupo de métodos de conexión a los datos y servicios del servidor. El SDK gratuito de Flex 2 incluye la librería de clases Flex, así como los compiladores MXML y ActionScript 3.0.
Sé que es todo un tema para revisarlo y les doy dos opciones:
1. Muy básica es que Adobe Flex brinda un seminario free para Java Developers y para PHP Developers.
2. Clases Virtuales de Flex con Spring e Ibatis por Roberto Cotrina.
Aún no lo he probado por completo, pero vale la pena echarle un ojo!!!