Skip navigation

Tag Archives: jsr299

Construido por usuarios y desarrolladores de proyectos de la comunidad JBoss y dedicado para cada uno de los miembros de la comunidad. 

He aquí… con ustedes… les presento…

Desplegar cortinas

Buenas, habrán notado que tuve un pico de blogs y ahora bajo un poco… no crean que esto va a terminar tan rápido. Simplemente estuve trabajando en algunas cosillas que por supuesto tienen que ver con esta bitácora. 

Una de ellas es tener un mirror del blog en inglés, también en wordpresss.

Y otra es que me envicié portando la implementación de Sun de JSF para J2SE =D . See, hay una nueva moda, cuestionar JEE y preguntar porque estas funcionalidades no lo puedo tener en mis aplicaciones. Esto empezó con Context and Dependecy Injection for Java ( aka jsr-299 ( aka WebBeans ) ) que con mucha lógica dijeron “Gavin, ¿Qué tiene que ver contextos y DI con JSF y EJB?” o algo similar, ahora me toca a mi seguir con la moda.

Me hice la pregunta ( hace tiempo ya, pero no tengo pruebas =P ) ¿Por qué no puedo utilizar las ventajas de la programación declarativa en mis aplicaciones desktops y dejar de romperme la cabeza ( aka marote ) en pensar si voy a usar Swing, SWT o similares? Por cierto para tener en cuenta, parece que Sun bajó los brazos en este area.

Y el proyecto está avanzando, ayer casi logro levantar un ejemplo pero el spec de JSF parece estar muy ligado al paquete javax.servlet.http y voy a tener que hacer un poco de magia negra, pero de la buena. En cuanto tenga un ejemplo se los muestro, la idea es definir las vistas con JSF/Facelets y implementar un RenderKit para dibujar con la tecnología que queramos. Una vez superado eso agregar Seam, aunque sería óptimo tener una versión GA de OWB ó WB para entonces.

 

Salut

Buenas, ya más de una vez me preguntaron y varias veces escuche definiciones no del todo exactas acerca de…

qué es Seam?

Antes de escuchar de mis palabras que es Seam, veamos un poco que dice el sitio oficial.( con mis comentarios )

“Seam is a powerful open source development platform…” ( de lo que solo se desprende que es una plataforma =D )

“Seam integrates technologies such as …. “ ( integra tecnologías )

“… has been designed from the ground up to eliminate complexity at both architecture and API levels.”

Si vamos al doc oficial, en la introducción nos cuentan que:

  • [Seam is] One kind of “stuff” ( no nos dice mucho )
  • Integrate JSF with EJB 3.0 ( integración de tecnologías )
  • Integrated AJAX ( integración de tecnologías )
  • Business process as a first class construct ( integración de tecnologías )
  • Declarative state management ( programación declarativa utilizando meta-información )
  • Bijection ( motor de dependency injection ( … que sirve para integrar ) )
  • Workspace management and multi-window browsing ( producto del nuevo manejo de contextos )
  • Prefer annotations to XML ( marketing )
  • Integration testing is easy ( … marketing )
  • y un par de cosas mas…

Seguir leyendo

Como había comentado en el anterior post, mas de un grupo está trabajando en una implementación de Java Context and Dependency Injection ( aka jsr-299 ) por un lado lo tenemos al grupo de Apache con Gurkan Erdogdu a la cabeza y por otro al grupo de JBoss con Pete Muir.

Lo que no esperaba encontrarme es que ambos tengan diferencias en los fuentes de la interfaces, y no me refiero a la implementación lo cual es completamente entendible, pero si no nos ponemos de acuerdo en las interfaces de entrada… stamo fritos stamo.

Importante, tener en cuenta las versiones que tomé como referencia:

  • De la implementación de referencia ( RI ) de Pete Muir utilicé la version 1.0.0.BETA1 ya que es la última que cerraron
  • De la RI de Gurkan Erdogdu tomé la última revisión trunk del SVN público al día de la fecha

Pero ¿Qué tipo de diferencias podemos llegar a tener en las interfaces, clases y anotaciones ( teniendo un documento q regule esto ) que influyan en el comportamiento? Hasta ayer me animaba a decir ninguna, pero no es este el caso. Veamos las diferencias:

*Nota: Cuando quiera referirme a la diferencia de códigos voy a utilizar “gurkan” para el código de de OpenWebBeans y “pete” para el código de WebBeans.

 

En las clases

Es lo mas difícil de analizar, ya que no solo tienen que mantener el mismo contrato público ( nombre de métodos, cantidad y tipo de parámetros ) si no que su implementación, sin necesidad de tener las mismas lineas de código debe tener el mismo resultado. Por suerte, solo tenemos dos clases y son fácil de analizar :D.

javax.inject.AnnotationLiteral

Esta clase ayuda a representar una anotación en forma de una instancia para poder usarla como parámetro de un inyección manual de un componente.

public boolean equals(Object other)

gurkan – tiene mejores validaciones
pete – posible NullPointerException en linea 141 cuando el método de una anotación devuelva un valor nulo.

Seguir leyendo

Una buena noticia para mi, una muy buena para todos los que seguimos de cerca la JSR-299 y que solo conocían de la implementación del equipo de JBoss de esta especificación.

Navegando por la web encontré que Gurkan Erdogdu viene trabajando este tema desde hace rato en su blog y hasta tiene su propia implementación: OpenWebBeans

Habrá que seguirla de cerca para ver como evoluciona, groso.

P.D.: Al parecer tiene otro blog

Salut