Creando una Aplicación Web usando Oracle ADF Framework en JDeveloper

Creando una Aplicación Web usando Oracle ADF Framework en JDeveloper

En esta ocasión aprenderemos a crear una Aplicación Web en JDeveloper usando el Framework Oracle ADF, donde seguiremos una serie de pasos que nos permitirán ir generando la aplicación de forma ágil sin la necesidad de usar mucho código para crear todo un sistema CRUD.

Requisitos

Software JDeveloper
Oracle Express 11g Edition

Workspace

Oracle express

Crearemos nuestro workspace llamado "BASECOLEGIO" una vez que estemos dentro del Application Express de Oracle.

Creando basecolegio oracle express

Iniciamos sesión con las credenciales que usamos inicialmente.

Application express oracle

Ingresamos a SQL Workshop

Oracle express workshop

Elegimos Object Browser y empezamos a crear nuestras tablas.

Oracle express tables

Nuestra base de datos tendrá el siguiente diagrama:

base escuela

Empezaremos creando la tabla Estado tal como se muestra en la imagen teniendo en cuenta que el primer campo subrayado contiene la clave primaria de cada tabla.

Creando tabla estado oracle

Luego establecemos nuestra clave primaria al campo IDESTADO y creamos una nueva secuencia.

Oracle express clave primaria

Continuamos con la ventana de creación de claves foránea pero en este caso esta tabla no tendrá ninguna.

Clave foranea oracle express

En la siguiente ventana tendremos un formulario de restricciones.

Oracle express restricciones

Solo continuaremos porque no agregaremos ninguna restricción a nuestra tabla, para finalizar terminaremos creando nuestra tabla en el botón create.

Oracle express create table

Continuamos con la creación de la tabla ESTUDIANTE y asignamos la clave primaria al campo IDESTUDIANTE.

Oracle express tabla estudiante

Creamos la clave foránea con la tabla Estado indicando los campos que tendrán la relación.

Oracle express clave foranea estudiante

No creamos ninguna restricción y creamos la tabla. Así vamos realizando el mismo procedimiento sucesivamente para nuestras tablas restantes hasta llegar al modelo final.

Nuestro modelo debe quedar con los siguientes registros en la diferentes tablas:

TABLA ESTADO

IDESTADONOMBRE
1ACTIVO
2INACTIVO
3REALIZADO
4ANULADO

TABLA ESTUDIANTE

IDESTUDIANTENOMBRESAPELLIDOSFECHANACAPODERADOIDESTADO
1JUANPEREZ01/01/1990NIZLEY ARAL1

TABLA EMPLEADO

IDEMPLEADONOMBRESAPELLIDOS
1FERNANDOJIMENEZ
2PEDROHUAMAN

TABLA CURSO

IDCURSONOMBRE
1DESARROLLO RAPIDO DE APLICACIONES WEB
2SENTIMENT ANALYSIS
3MINERIA DE DATOS
4INTERNET DE LAS COSAS IOT
5BIG DATA

TABLA MATRICULA

IDMATRICULAIDESTUDIANTEFECHAIDEMPLEADOMONTO
1110/12/20191400

TABLA DETALLE DE MATRICULA

IDDETALLEMATRICULAIDMATRICULAIDCURSOPRECIO
111400

Una vez terminado abrimos JDeveloper para comenzar a crear la aplicación Web.

Creando la Aplicación en JDeveloper

Jdeveloper interfaz

Hacemos clic en nueva aplicación y seleccionamos Fusion Web Application (ADF).

Jdeveloper fusion web application

Creamos la aplicación con el nombre ApplicationColegio con la ruta predeterminada

Creando aplicacion adf jdeveloper

Model

Nos pedirá colocar el nombre del proyecto para el Modelo usamos el que nos coloca como predeterminado.

Jdeveloper project name

De igual forma al crear los paquetes.

Jdeveloper package project model

ViewController

Ahora crearemos el segundo proyecto llamado ViewController.

Jdeveloper project viewcontroller

De igual forma para el package con su nombre view.

Jdeveloper view package

Click en finalizar y esperamos a que se carguen los proyectos. Cuando todo termine tendremos una ventana como la siguiente:

Jdeveloper start checklist

Conexión a la Base de Datos

Ingresamos al checklist y vamos a la sección de Conectar una base de datos, desplegamos la opción y creamos nuestra conexión usando el nombre del workspace y el usuario que habiamos creado y procedemos haciendo clic para probar la conexión. Si la prueba es existosa continuamos.

Jdeveloper conexion bd oracle

Build Business Services

Ahora nos dirigimos a la sección Build Business Services y hacemos click en "Go to Substeps".

Jdeveloper build business services

Escogemos la opción "Create Entity Objects and Associations" y click en el botón con el mismo nombre.

Jdeveloper entity objects business services

Nos aparecerá una ventana emergente escogemos el proyecto Model, posteriormente seleccionamos la conexión y click en Ok. Después visualizaremos una ventana como la siguiente:

Jdeveloper emergente entity objects

Click en query y seleccionamos las tablas de nuestra base de datos pasándolas al lado derecho.

Jdeveloper pass tables query

En la ventana que aparece a continuación hacemos el mismo procedimiento de pasar los objects view al lado derecho. Luego click en siguiente hasta finalizar. Esperamos que se creen los componentes de negocio y creamos una pagina en el proyecto ViewController abriendo el archivo faces-config-xml dentro de la carpeta Web-Content / WEB-INF.

Jdeveloper faces config

JSF Page

Del lado derecho tenemos una paleta de componentes arrastramos el componente JSF Page a la ventana.

Jdeveloper adf jsf page

Hacemos doble click sobre el componente creado y nos aparecerá una ventana emergente para realizar configuraciones.

Plantilla JSF

Jdeveloper config jsf page

Seleccionamos la plantilla Oracle Three Column Layout y esperamos a que se cree la pagina con la plantilla seleccionada.

Jdeveloper execute adf application

Ahora agregamos un Panel Tabbed a nuestra pagina arrastrándolo desde la paleta de componentes y luego un Panel Collection.

Jdeveloper panel tabbed collection

Configuración de Atributos

Ingresamos al proyecto Model y seleccionamos el archivo MatriculaView hacemos doble click y nos dirigimos hacia la opción de atributos. Ahora configuramos los campos que sean clave foranea a través de lista de valores para que se muestren los datos relacionados. Empezamos por el campo Idestudiante lo seleccionamos y agregamos una nueva lista de valores.

Jdeveloper list values

De tal forma que nos aparecerá la siguiente ventana emergente:

Jdeveloper emergente list values

Agregamos una lista de origen de datos y seleccionamos la vista de estudiante.

Jdeveloper view accesors

De la nueva lista de atributos seleccionamos el campo IdEstudiante y agregamos en la lista inferior.

Jdeveloper lista valores

Luego tenemos una segunda pestaña llamada UI Hint, aquí también nos aparecerá una lista de valores, seleccionamos el atributo que se mostrará en nuestro combo box.

Jdeveloper ui hints

Hacemos el mismo procedimiento con idempleado y de igual forma configuramos en el archivo para el detalle de matricula el Idcurso.

AppModuleDataControl

Nos dirigimos a la sección del AppModuleDataControl y seleccionamos la vista MatriculaView1 la arrastramos hacia el Panel Collection y creamos una tabla de solo lectura.

Jdeveloper panel tabbed collection
Jdeveloper table matricula

Debajo agregamos un formulario arrastrando la misma Vista, creando un ADF Form.

Jdeveloper buttons adf

Commit - Rollback

Dentro de la carpeta Operations encontramos diversas funciones que nos permiten crear botones cuando lo arrastramos al ADF Form. Agregamos el boton Delete, Create, Commit y Rollback.

Jdeveloper crud matricula

Debemos tener en cuenta que Rollback y Commit se encuentran en la carpeta Operations de forma general. Debajo del ultimo formulario agregamos la tabla detalle matricula haciendo los mismos procedimientos de igual forma con su propio ADF Form. Tenemos que usar la Vista detalle de Matricula que se encuentra dentro de MatriculaView1.

Jdeveloper detalle matricula crud

Finalmente ejecutamos nuestra aplicación en el navegador y visualizamos.

Jdeveloper adf finish

Tenemos diversos botones para realizar los mantenimientos y dos botones commit y rollback para confirmar los cambios y deshacer cambios en la base de datos. Nuestro sistema funciona a la perfección pero podemos ir puliéndolo a través de validaciones en los campos. Si necesitas realizar algo más amplio tendrías que modificar el modelo de base de datos y seguir los mismos pasos.

Publicar un comentario

Guardar mi nombre, correo electrónico y sitio web en este navegador la próxima vez que comente

0 Comentarios