blog de benek

Screencasts en SpringHispano

La comunidad hermana SpringHispano acaba de lanzar uno de sus nuevos proyectos, el cual consta de elaborar Screencasts para enseñar el uso de las tecnologías del Spring Framework.

La idea me parece excelente de su parte, es una verdadera muestra del ánimo de compartir conocimiento.

Hace un par de días fue publicado el primer episodio de esta serie de ScreenCasts, episodio que es una "Introducción a Spring Framework", excelente para iniciados en la tecnología Spring e incluso en Java.

El Episodio 0 - Temporada 0 de los screencasts, Introducción a Spring Framework, pueden encontrarlo desde el siguiente enlace en la página de SpringHispano:

Saludos a todos!

Javier Ramírez Jr.

Grails 1.2 liberado!

Este fin de año se ha cubierto de releases importantes.

Toca el turo a Grails, el framework para desarrollo de aplicaciones web con Groovy, que hace unos minutos fue liberado en su versión 1.2

El anuncio oficial lo pueden encontrar en este enlace.

También pueden revisar a detalle las Release Notes y la Documentación.

Ya está disponible en la página de descarga del sitio de Grails: .

Saludos a todos.

Javier Ramírez Jr.

Groovy 1.7 liberado!

Hace unos minutos fue lanzada la versión 1.7 de este ya popular lenguaje dinámico para la JVM.

Algunas de las características de esta nueva versión son:

  • Clases internas anónimas y clases anidadas.
  • Mejoras en anotaciones, con habilidad para poner anotaciones en imports, paquetes y declaraciones de variables.
  • Mejoras en Grape.
  • Power Assert, para assertions más legibles.
  • Mejoras al AST (Abstract Syntax Tree) con AST Viewer y AST Builder.
  • Reescritura del GroovyScriptEngine para mejorar flexibilidad y rapidez.
  • Mejoras en GroovyConsole, como números de línea, mejoras en la vista, etc.
  • Mejoras en manejo de SQL, como batch updates y soporte de transacciones.

Para ver más detalles revisen las release notes.

Groovy 1.7 está disponible a la descarga desde su sitio web oficial:

Saludos a todos.

Javier Ramírez Jr.

Con información de DZone.

Un poco de humor Javero

Casi siempre el contenido aquí es informativo y útil, sin embargo no está de más de vez en cuando salir de la rutina y que mejor ahora que es viernes :-)

¿Qué es lo que pasaría si Chuck Norris programara en Java?

  • Sólo Chuck Norris puede hacer una clase abstracta y final.
  • Chuck Norris serializa los objetos directamente en cráneos humanos.
  • Chuck Norris no despliega aplicaciones web, él las mete a patadas en el servidor.
  • Chuck Norris siempre utiliza sus propios patrones de diseño, y su favorito es la Patada Voladora Chuck.
  • Chuck Norris puede usar para matarte cualquier clase de java.util, incluido el javadoc.
  • Chuck Norris puede golpear tan fuerte que tu aplicación web se convierta en una aplicación swing, y es muy probable que sea una aplicación swing con una gran cantidad de iconos de cráneos humanos.
  • Chuck Norris demostró el significado de Float.POSITIVE_INFINITY contando hasta él, dos veces.
  • La sincronización no protege frente a Chuck Norris, si quiere el objeto, él lo toma.

Java EE 6 ya está disponible

Después de más de 3 años de trabajo por fin ha conseguido la aprobación final la especificación de Java EE 6 (JSR 316).

Entre las novedades la más discutida y comentada son los perfiles, funcionalidad que permite crear una configuración personalizada al entorno específico de cada aplicación, de esta manera habrá perfiles para ambientes web, telecomunicaciones, etc.

Java EE 6 también integra Inyección de Dependencia, Servlet 3.0 (JSR 315) que soporta ya procesamiento asíncrono, de esta manera no tiene un servlet que esperar respuesta de algún recurso como alguna base de datos, y puede continuar con su procesamiento. Sevlet 3.0 también incluye ya anotaciones.

En Java EE 6 también se encuentra ya disponible JSF 2.0 (JSR 314), la nueva versión de esta tecnología JavaServer Faces, que entre otras características ya incluye anotaciones para manejar los beans y soporte Ajax embebido. Además de esto Java EE 6 también incluye JSP 2.2.

Otra característica más es la inclusión de la especificación Bean Validation (JSR 303), que es una API para validación en Java Beans basada en anotaciones, que simplifica las validaciones y reduce duplicidad y errores en beans.

EJB 3.1 (JSR 318) también es parte del release de Java EE 6, que integra novedades como:

  • Un nuevo diseño de Singletons con la anotación @Singleton.
  • Invocación de beans asíncronos con @Asynchronous.
  • Un nuevo sistema de empaquetamiento que deja atrás la restricción de que las clases EJB se tengan que empaquetar en un ejb-jar, ahora ya pueden ser incluidas sin problema en un WAR file.
  • EJB Lite, que es un subset de EJB 3.1.

También se incluye la API para RESTful Web Services, JAX-RS (JSR 311)

En cuanto a persistencia Java EE 6 incluye JPA versión 2.0 (JSR 317), que provee mejoras a JPQL y ofrece una nueva Criteria API, entre otras cosas.

Java EE 6 puede ser descargado de aquí. Si les interesa conocer más en InfoQ están haciendo un seguimiento muy bueno del tema.

Saludos a todos.

Con información de InfoQ.

Javier Ramírez Jr.

Glassfish v3 ya fue liberado!

El tan esperado Glassfish v3 fue liberado el día de hoy!

Es el primero en implementar en su totalidad la especificación Java EE 6, lo cual significa: EJB 3.1, Servlet 3, JAX-RS, JPA 2, Inyección de Dependencias para Java EE, Bean validation, Java EE profiles y más.

Chequen la lista completa de features:

Feature

Included in
GlassFish v3 

Included in
GlassFish v3
Web Profile

Java Platform, Enterprise Edition 6

X

X

EJB 3.1 Lite (Support for Local Container only)

X

X

JTS/JTA 1.1 **

X

X

OSGi-based microkernel

X

X

Java Web Technologies (Servlet 3.0, JSP 2.2, JSF 2.0, JSTL
1.2, EL 2.2)

X

X

Grizzly/Comet

X

X

JPA 2.0, (EclipseLink), JDBC Connection Pooling

X

X

JDBC 4.0

X

X

JavaDB 10.5.3

X

X

Web Administration Console and CLI

X

X

Rapid Redeployment (Maintain session state on application
redeploy)

X

X

OMG CORBA APIs 3.0

X

X

Debugging Support for Other Languages 1.0

X

X

Common Annotations for Java 1.1

X

X

Dependency Injection for Java 1.0

X

X

Managed Beans 1.0

X

X

Interceptors 1.1

X

X

Contexts and Dependency Injection for Java 1.0 (CDI, ex-Web
Beans)

X

X

Bean Validation 1.0

X

X

JAX-RS 1.1 (Jersey)

X

X

EJB 3.1 Full API (Support for Remote Container)

X


Java EE Connector Architecture 1.6

X


JAX-WS 2.2

X


JAXB 2.2

X


Implementing Java Web Services 1.3

X


Web Services Metadata for the Java Platform 2.1

X


JMS 1.1

X


JavaMail 1.4

X


JACC 1.4

X


Java Authentication Service Provider Interface for Containers
1.1

X


Java EE Application Deployment 1.2

X


J2EE Management 1.1

X


JAX-RPC 1.1

X


JAXR 1.0

X


CORBA 3.0.0

X

*

Metro

X


No estaría mal que le den un vistazo al Refcard publicado en DZone que en lo personal se me hizo bastante bueno como introducción.

Glassfish v3 puede ser descargado de aquí.

Javier Ramírez Jr.

Última reunión del año!!

Y bien, quizá pensaron que ya no habría reuniones hasta entrando 2010, pero no es así, ya viene la próxima reunión de la comunidad y la última del año!

En esta ocasión tenemos las siguientes dos ponencias:

  • Mundo Java. - Gerardo Horvilleur presentará los proyectos que ha realizado en los últimos años, además de presentar Mundo Java, su nuevo proyecto acerca de comunidades 3D en línea.
  • Integración de Flex + SpringBlazeDS - Erick Camacho e Ivan Álvarez Frías nos mostrarán como integrar la tecnología RIA Adobe Flex con el componente SpringBlazeDS.

Fecha: 12 de Diciembre de 2009.
Lugar: Ave. San Lorenzo 1009 Piso 4. Col. del Valle, México, D.F.

Mapa en vista de calle:

Ver mapa más grande

Recuerden que el evento es totalmente gratuito, solo necesitan registrar su asistencia aquí.

Los esperamos!

¿Closures en Java? ... aún podrían incluirse en la JDK7

Ya que se avivó la discusión en este tema acerca de si los 'Closures' son necesarios o no en Java pongo este tema.

A pesar de las varias propuestas que ha habido mediante JSR para incluír Closures en la JDK7 parecían haber sido todas rechazadas, e incluso algunos intentos por emularlos como este, el tema sigue dando de que hablar.

¿Son los closures realmente necesarios para el lenguaje Java? (expresen su opinión al respecto en un comentario).

El principal problema que yo veo, es el hecho de que Java es un lenguaje imperativo, y el concepto de un closure va más hacia lo funcional, de alguna manera no encaja y en mi opinión al incluírlos se cambiaría de alguna manera la manera de codificar.

El día de hoy se avivó de nuevo el tema, ya que Mark Reinhold (quien apenas hace unos días anunció el Milestone 5 de la JDK7) en su conferencia en Devoxx anunció lo que podría ser la inclusión (aún no confirmada oficialmente) de Closures en la JDK7.

Chequen:

Si esto es cierto el debate se avivará, más por el hecho de que pareciera que todo mundo se había hecho la idea de que no serían incluídos.

ICEfaces Webinar - Introducción a ICEfaces en español

Como algunos ya saben, ICEsoft imparte regularmente "webinars" en línea y sin costo.

En esta ocasión me acaba de llegar el correo de que impartirán su primer webinar en español, el cual no puedo dejar de compartir para que quien le interese este framework lo pueda aprovechar.

Le invitamos a participar a un Webinar el 26 de Noviembre. Este webinar de 50 minutos proveerán a los asistentes una introducción completa a ICEfaces, el principal open source Ajax framework. Este webinar demostrará las características y capacidades del framework desde la instalación hasta el desarrollo de aplicaciones. Atención particular será prestada a la arquitectura única del producto basado en "server based arquitectura" y las ventajas que esto rinde en términos de eficacias del diseño, interoperabilidad, seguridad de uso y ahorro en costes del desarrollo.
Date: Thursday, November 26, 2009
Time: 4:00 PM - 5:00 PM Central European Time (GMT +1) España
Register: https://www1.gotomeeting.com/register/286686176

Si les interesa regístrense pronto porque según el correo que me llegó el número de asistentes será limitado.

Saludos a todos!

10a. Reunión de la Comunidad!!

Hacemos la cordial invitación a todos los desarrolladores interesados, miembros de la comunidad, redes sociales y publico que le apasione el desarrollo de software a la 10a. Reunión de la comunidad que se llevará a cabo el día 31 de octubre a las 10:00 A.M., en donde presentaremos el siguiente Taller:

Hands-on Spring 3: The next generation

Impartido por Sergi Almar(@sergialmar) -

Descripción:
El taller pretende descubrir las nuevas funcionalidades de Spring 3
dando un previo repaso a lo tenemos hasta ahora con Spring 2.5. Se van
a cubrir aspectos como el nuevo Spring EL, el soporte para REST,configuración al estilo JavaConfig... Todo ello implementando una aplicación real que va a poner en práctica todo lo nuevo!

Acerca del ponente:
Sergi Almar es un ingeniero senior de software apasionado por Java /
JEE. Durante los últimos 4 años, ha estado trabajando en sistemas
desarrollados con Spring. Actualmente, invierte su tiempo impartiendo
cursos oficiales de Spring principalmente en España y latino América
como instructor certificado de SpringSource y desarrollando sus
diferentes proyectos personales.

Requerimientos para aprovechar al máximo el taller:

Los asistentes deberán llevar su propio equipo(laptop) con Java y SpringSource Tool Suite instalado.

Recordandoles que la entrada es totalmente gratuita y que habrá algunas sorpresas para los asistentes...

El lugar de la reunión es en:

Ave. San Lorenzo 1009 Piso 4. Col. del Valle, México, D.F.

El registro es importante que se realice en Coetus, ya que es requerido saber la cantidad de asistentes a la reunión.

La liga del registro es:

De antemano agradecemos su asistencia y participación...

Atentamente.

Staff de SH.org, grails.org.mx y JavaMexico.org

Distribuir contenido