ADF para principiantes veteranos de forms

Desde hace unos meses, me estoy introduciendo en el maravilloso mundo
de ADF. Lo cierto es que yo vengo del mundo Oracle forms y estoy un poco
bastante perdido. Para los que no lo sepan, ADF significa Application Development Framework. También lo veréis como ADF BC. Lo del BC es por business componet.

Desde hace unos meses, me estoy introduciendo en el maravilloso mundo
de ADF. Lo cierto es que yo vengo del mundo Oracle forms y estoy un poco
bastante perdido. Para los que no lo sepan, ADF significa Application Development Framework. También lo veréis como ADF BC. Lo del BC es por business componet. Supongo que no es lo mismo ADF que ADF BC, ¿Pa qué sirve un ADF si no lleva BC?. Tenemos por un lado el marco de trabajo (ADF). Por otro los componentes de negocio. ¿Qué son los componentes de negocio? Os preguntaréis (yo me lo preguntaba). Pues son “envolturas” de tablas y vistas de base de datos. Y ¿Qué es una envoltura?. Pues básicamente se compone de un fichero xml donde se mapean las tablas (campos, tipo de dato de cada campo, restricciones de integridad, foreign keys, etc), y una serie de clases java para implementar el comportamiento de cada envoltura. Así, por ejemplo, si “envolviésemos” las tablas EMP y DEPT del viejo Scott, se nos crearía una envoltura para cada una de las tablas. A esto lo llaman Entity Object. No se puede trabajar directamente con estas entidades. Para hacer un mantenimiento de la tabla emp necesitamos otra envoltura que es un objeto de vista de modificación sobre la entidad emp. Para hacer un listado de empleados necesitamos una envoltura de tipo vista de sólo consulta. Adicionalmente, el Jdeveloper nos creará objetos de foreign key entre emp y dept. De esta forma el sistema se aseguara de la consistencia padre-hijo.

¿Por qué necesitamos envolturas?. Hay que pensar que esto no es forms.
En el mundo java, lo suyo es no tirar consultas contra la base de datos directamente. Lo normal en el mundo java es acceder a métodos, clases y objetos. A ver, poderse se puede, pero no es… no es lo suyo. El sistema se encarga de ir refrescando la envoltura. En la aplicación accedes a la envoltura para hacer las selects, para navegar y par operar.
Podríamos asimilar una envoltura a un bloque de formulario. Bueno, en realidad sólo los objetos de vista podrían asimilarse a un bloque. Para los objetos de entidad no encuentro símil. Si tuviésemos que hacer un <lo que sea>-commit o un <lo que sea>-insert por ejemplo, lo pondríamos en la parte java de la envoltura de la entidad.

Las envolturas y todas las clases de lógica de negocio constituyen el modelo. Jdeveloper, para aplicaciones web, pemite utilizar Struts. La versión con la que estoy probando es JDeveloper 9.0.3 extension manifest to 10.1.2. Esta versión utiliza Struts 1.1 . La siguiente versión de Jdeveloper, la uno tres early acces ya se pasa de versión de Struts a la de… bueno, me estoy llendo del tema. Ya hablaré de struts en otros post. ¿Qué es Struts?. Pues es un marco de trabajo que permite el desarrollo según el paradigma Modelo-Vista-Controlador (MVC) en adelante. A grandes rasgos trata de separar el modelo (tablas+negocio) de la vista (pintar las pantallas) y del controlador (flujo de la aplicación). Si vienes del mundo forms y esto del MVC te suena a chino, puedes leer el artículo de no-te-preocupes-que-tu-también-sabes-MVC.

La parte de la vista y el controlador… eso es otro post.

Anuncios

2 comentarios en “ADF para principiantes veteranos de forms

Los comentarios están cerrados.