Vista ADF: Maestro/Detalle editable con LOV, y exportado a Excel

Basándonos en un artículo anterior en el que mostrábamos como hacer una pantalla maestro detalle, hoy le vamos a añadir una caja donde se mostrará el detalle donde podremos modificar los datos de los empleados.

También es útil saber como se hacen las Listas de Valores con esta tecnología, y veremos un ejemplo de como exportar la tabla detalle a Excel.

Aplicación ejemplo en HRApplication.zip.

Read the rest of this entry »

Formulario Navegable (Maestro/detalle)

En entornos administrativos nos podemos encontrar con la exigencia de un tipo de formulario master/detail. Por ejemplo para navegar los empleados que tienen cierto departamento, o los clientes que adquirieron cada uno de nuestros productos.

Basándonos en la aplicación de Recursos Humanos de Oracle haremos un maestro detalle para navegar por los departamentos de la empresa.

Aplicación ejemplo en HRApplication.zip.

Read the rest of this entry »

Diseño: plantillas y estilos con ADF

Normalmente en todos los proyectos web, queremos que todas las páginas tengan una apariencia coherente en todo nuestro sitio, para mejorar la usabilidad. Lo más habitual en web es poner como parte fija la cabecera (con el login por ejemplo), un menú en la parte superior o lateral, y un pié:

  • Y que estas partes (que forman la plantilla) se incluyan en todas las páginas que desarrollemos sin necesidad de volver a repetir todo.
  • Que cualquier modificación sobre la plantilla se refleje automaticamente en todo nuestro sitio, sin tocar el resto.
  • Y, si es posible, en mi editor WYSIWYG se vea todo (esto en Eclipse no es posible de momento).

Read the rest of this entry »

JDeveloper Data Controls

Los Data Controls son objetos que actúan como una capa intermedia entre la capa de vista y la de negocio en la arquitectura de JDeveloper. Estos dan una forma consistente de manejar las colecciones de datos para mostrarse en la vista. Manejan el modelo, y los servicios de negocio, capturando los datos, manejando la transaccionalidad a través de la vista.

Read the rest of this entry »

EJB 3.0: Capa de Negocio

En este post nos ocuparemos de como resuelve JDeveloper la capa de negocio. EJB 3.0 es el estándar para resolver esta capa. Se trata de construir los procesos de negocio, que luego serán llamados por la vista, los servicios web, ….

Nos basaremos en el post anterior, donde creamos la capa de persistencia para nuestra pequeña aplicación.

Read the rest of this entry »

JPA: modelo de persistencia

En este artículo crearemos un modelo de persistencia para nuestra pequeña aplicación de gestión de empleados. Basado en un anterior post donde creamos una aplicación básica de JDeveloper.

Sobre el proyecto en el menú contextual, New > EJB > Entities From Tables. Vamos a utilizar la tecnología EJB 3.0, anotando los beans de entidad como JPA 2.0:

Creating persistence model

Seleccionamos las tablas Departaments y Employees.

Como vimos en un artículo anterior, se puede obtener el diagrama de una base de datos ya hecha. Yo me lo he creado en el paquete lebrijo.diagrams:

Entity-RelationShip diagram

Podemos crear un New > EJB Diagram, y arrastrando las entidades anteriormente creada, tendremos el dibujo entero:

EJB diagram

En los dos beans refactorizaré el atributo employees por manager, ya que define más claramente la relación.

Refactoring manage relation

Esto se actualiza automáticamente en el diagrama de EJB (en teoria, en realidad hay que volver a arrastrar las entidades).

Como último ejercicio, podemos crear la consulta de encontrar por nombre, ampliando la anotación de consultas de la entidad Employees:

@Entity
@NamedQueries({
@NamedQuery(name = "Employees.findAll", query = "select o from Employees o")
,
@NamedQuery(name = "Employees.findByName", query = "select o from Employees o where o.firstName like :p_name")
})

Weblogic / JDeveloper: Creando la aplicación base

Abrimos JDeveloper con al opción “Default role”, para que active todas las características del entorno. A nosotros nos interesan las de JEE Development y las de base de datos.

File > New > Java EE Web Appliation, con lo que creamos una nueva estructura de aplicación:

Creating app

Llamamos a la aplicación HRApplication, y nos va a crear dos projectos dentro de ella:

  • ViewController: que contendrá la capa de vista de nuestra applicación, correspondiente con la tecnología ADF basada en el estandar JSF.
  • Model: contendrá los beans EJB y las entidades JPA

Para crear la conexión a la BBDD en la pestaña Database Navigator con botón derecho > New, introducimos los datos:

Creating db connection

Y arrastramos la conexión a nuestra aplicación:

Adding HR connection to our application

Con esto tenemos la aplicación para empezar a modelarla y a construirla.

Arquitectura JDeveloper con Weblogic

Parece una obviedad que la mejor herramienta para desarrollar sobre Weblogic/OracleDB es JDeveloper. Pero para mi, hasta ahora, no era tan obvio, ya que Eclipse es mi IDE preferido, ya que es el estándar para el desarrollo JAVA (Jboss, Spring, Android,…).

Si tu arquitectura es Oracle/Weblogic, no tienes miedo al cambio y tu obsesión es incrementar tu productividad, tu herramienta es JDeveloper. Voy a hacer una serie de artículos tratando de demostrar este punto. Pero si quieres ir abriendo boca te recomiendo que veas este video, veras como puede ser realmente sencillo hacer aplicaciones RIA en entornos empresariales muy complejos.

Read the rest of this entry »

Diseñando el Modelo de Datos con JDeveloper

Considero JDeveloper como una buena herramienta para el diseño de bases de datos por algunas razones:

  • Es capaz de navegar muy bien las bases de datos Oracle.
  • Tiene un editor de esquema ER muy bueno.
  • Es capaz de modificar la base de datos cuando estás modificando el esquema.

De la misma web de Oracle podemos descargar la última versión de JDeveloper para nuestro sistema operativo. Instalarlo no implica mucha dificultad, basta con tener la JDK de Java.

Read the rest of this entry »