07 May 2012

Publicando servicios de Spring como ADF Data Controls

El título de este post en inglés sería algo como: "Exposing Spring Services with ADF Data Controls".

Una de las características de ADF es que nos permite exponer cualquier clase java como un "Data Control"; por otra parte Spring mediante su API nos permite acceder al contexto de la aplicación mediante la clase FacesContextUtils, ahora solo nos queda el como pegarlas para que funcionen al unísono, y de eso va este post.

Para quienes me conocen, utilizaré un ejemplo que seguro les será familiar, la implementación de una calculadora :-)

Lo primero es crear nuestra clase de negocio que publicaremos como un bean de Spring.


Lo segundo es registrar la clase dentro del fichero de configuración de Spring.


Lo tercero es crear una clase "facade"/"delegate" que nos permitira conectar Spring con ADF. Esta clase implementa la interfaz "Calculadora" (que corresponde a este ejemplo), en su constructor obtiene el contexto de spring mediante la utilización de la clase FacesContextUtils y recupera el bean que queremos publicar ("myCalculadora"), finalmente en sus métodos publicados, invocamos al bean recuperado de spring.


Ahora, sobre esta clase "facade"/"delegate" crearemos el "Data Control" (Debemos hacer click con el boton derecho del ratón y elegir la opción "Create Data Control").


A partir de este momento la clase esta accesible como un data control (es decir: aparece en la paleta de data controls); a partir de este punto podemos crear una página, luego arrastramos y soltamos, por ejemplo, el método de suma en la página y se crearan los controles visuales de Faces que nos permiten invocar a la funcionalidad.


Ahora solo queda ejecutar la aplicación; en la siguiente imagen, se muestra el resultado de la ejecución de la página.


Enlaces relacionados:
- FIN -

No comments: