You are on page 1of 30

4

Creación de Lógica de Negocio

Copyright © 2004, Oracle. Todos los derechos reservados.


Objetivos

Al finalizar esta lección, debería estar capacitado para:


• Decidir dónde colocar la lógica de negocio
• Describir el rol de los objetos de entidad en la
implementación de la lógica de negocio
• Crear objetos de entidad
• Describir los distintos métodos para implementar la
lógica de negocio en ADF Business Components
• Agregar la lógica de negocio a una aplicación ADF
Business Components
• Utilizar el modelador de Business Components para
crear y gestionar componentes de negocio

Copyright © 2004, Oracle. Todos los derechos reservados.


Validación de Lógica de Negocio

Capa de cliente Capa media Capa EIS

Web Container

Capa de servicios de negocio


Controlador Modelo de ADF
Módulo de Objeto Objeto de
aplicación de vista entidad Base de
ADF ADF ADF datos

Validación Validación de Validación de


de cliente lógica de negocio base de datos

Copyright © 2004, Oracle. Todos los derechos reservados.


Copyright © 2004, Oracle. Todos los derechos reservados.
Implementación de la Validación en la
Capa de Servicios de Negocio

Capa de lógica de negocio:


• Se utiliza cuando se crean o actualizan datos
• Asume que los datos existentes de la base de
datos son válidos
• Se define en el nivel de objeto de entidad
• Utiliza técnicas de programación o declarativas
– Declarativa: definida en asistentes y editores
– Programación: codificada en Java
• Se especifica en Java, en XML o en ambos

Copyright © 2004, Oracle. Todos los derechos reservados.


Objeto de Entidad: Visión General

Objeto de
entidad Customers

Id
Name
Atributos
Status Status List Regla de
Email (Gold Silver Platinum) validación

CUSTOMERS
Tabla de
ID NAME STATUS Email
base de
datos 201 Steve Gold msmith@company.com
202 Mike Silver dgonzales@company.com

Copyright © 2004, Oracle. Todos los derechos reservados.


Objeto de Entidad

• Representa una tabla de base de datos u otro origen de


datos
• Maneja toda la interacción entre las bases de datos
• Contiene atributos que representan las columnas de la
base de datos
• Encapsula la lógica de validación de nivel de atributo y
nivel de entidad
• Puede contener métodos de negocio personalizados

Cliente Orden

Copyright © 2004, Oracle. Todos los derechos reservados.


Creación de un Objeto de Entidad

• Seleccione el nodo • Haga clic con el botón


Business Components derecho del mouse en el
en New Gallery y, a nombre del paquete en el
continuación, seleccione navegador y seleccione
Entity Object. New Entity Object.

Copyright © 2004, Oracle. Todos los derechos reservados.


Asistente Entity Object

Escriba un
nombre.

Seleccione
un objeto
de base
de datos.

Vaya al paso
siguiente.

Copyright © 2004, Oracle. Todos los derechos reservados.


Archivos Generados para el Objeto de
Entidad Customers

• Customers.xml: metadatos
– El asistente Entity Object obtiene toda la información
de este archivo.
– Se crea por defecto (obligatorio)
• CustomersImpl.java: clase de objeto de entidad
– Amplía la clase EntityImpl
– Es de nivel de fila
– Incluye métodos definidores y de obtención para los
atributos
– Se crea por defecto (opcional)

Copyright © 2004, Oracle. Todos los derechos reservados.


Archivos Opcionales Generados para el
Objeto de Entidad Customers

• CustomersDefImpl.java: clase de definición de


entidad
– Amplía la clase EntityDefImpl
– Contiene metadatos de tiempo de ejecución que
describen el objeto de entidad
– Describe todas las instancias de la entidad
• CustomersImpl.java: clase de recopilación de
entidades
– Amplía la clase EntityCache
– Contiene el tiempo de ejecución consultando la
recopilación de entidades
– Filas consultadas en la caché de la entidad

Copyright © 2004, Oracle. Todos los derechos reservados.


Uso del Modelador de Business
Components para los Objetos de Entidad

1. Cree un diagrama en New Gallery.


2. Arrastre los objetos al diagrama.
– Objetos de entidad
– Definiciones de base de datos

Copyright © 2004, Oracle. Todos los derechos reservados.


Uso del Modelador de Business
Components para los Objetos de Entidad

• Cree objetos de entidad a través de Component


Palette.
• Utilice el editor Entity Object para las propiedades
de los objetos de entidad.

Copyright © 2004, Oracle. Todos los derechos reservados.


Asignación de un Valor Inicial
a un Atributo de Entidad

• Agregue código al método create() en


EntityImpl.java.

Selección de
archivos Java
opcionales

Active la casilla de
control Create
Method para
generar un
método create().

• create() se ejecuta automáticamente cuando la


entidad se ha instanciado.

Copyright © 2004, Oracle. Todos los derechos reservados.


Asignación de un Atributo a
una Secuencia de Base de Datos
create or replace trigger
insert_ord_id
BEFORE INSERT ON orders
FOR EACH ROW 1. Cree un disparador
DECLARE de base de datos.
new_id number;
BEGIN
SELECT orders_seq.NextVal
INTO new_id from Dual;
:new.order_id := new_id;
END;

2. Defina el tipo de atributo


en DBSequence.

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 4-1: Visión General

Esta práctica cubre los siguientes temas:


• Inicialización de un atributo en un valor por defecto
• Asignación de una secuencia de base de datos a un
atributo

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 4-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 4-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 4-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Adición de Validación

Validación de
nivel de entidad

Validación de
nivel de atributo

Copyright © 2004, Oracle. Todos los derechos reservados.


Reglas de Validación Declarativas

• Utilice las reglas de validación declarativas para validar


un atributo de entidad.
• Utilice el asistente Entity Object para agregar y editar
reglas.
• El asistente Entity Object proporciona distintos tipos
de reglas declarativas:
– Comparar con un único valor
– Comparar con una lista de valores válidos, codificados o
los resultados de una consulta SQL
– Comparar con el valor mínimo, el valor máximo o un
rango de valores
– Validar utilizando un método personalizado
• La validación declarativa se basa en XML.

Copyright © 2004, Oracle. Todos los derechos reservados.


ListValidator: Ejemplo

Especifique una lista de valores para Customers.Status.

Customers.xml

Copyright © 2004, Oracle. Todos los derechos reservados.


Adición de UniqueKeyValidator a una Entidad

UniqueKeyValidator:
• Implementa la validación en la capa media
• Comprueba la unicidad de la clave primaria para un
objeto de entidad
• Comprueba que los valores sean únicos en la caché de
la entidad

Copyright © 2004, Oracle. Todos los derechos reservados.


Dominios

• Utilice dominios para validaciones más complejas:


– Formato de un número de teléfono
– Validez de una URL
– Validez de una dirección de correo electrónico
– El total de control de dígitos de un número de tarjeta de
crédito
• La validación se realiza a través del constructor de
dominios.
• Un dominio no está ligado a un atributo o entidad en
particular.
• Puede utilizar los dominios para validar varios
atributos en distintos objetos de entidad.

Copyright © 2004, Oracle. Todos los derechos reservados.


Dominios: Ejemplo

• URLDomain verifica que un atributo es una URL válida.


• El método validate() se llama mediante el
constructor del dominio.
URLDomain.java
protected void validate()
{
try {
// Make sure the user entered a valid URL
java.net.URL u = new java.net.URL(mData);
}
catch (java.net.MalformedURLException e)
{throw new
oracle.jbo.domain.DomainValidationException
("Invalid URL");
}

Copyright © 2004, Oracle. Todos los derechos reservados.


Cómo Crear un Dominio

1. Cree un dominio en New Gallery.


2. Agregue el código de validación al método validate()
automáticamente creado en URLDomain.java.

Copyright © 2004, Oracle. Todos los derechos reservados.


Cómo Utilizar un Dominio

Edite el objeto de entidad y cambie el tipo de atributo a


URLDomain.

URLDomain
aparece en la
lista de tipos.

Copyright © 2004, Oracle. Todos los derechos reservados.


Resumen

En esta lección ha aprendido a:


• Implementar la lógica de negocio declarativa
• Crear objetos de entidad
• Crear código Java para los objetos de entidad
• Validar atributos de entidad mediante reglas de
validación u objetos de dominio
• Utilizar el modelador de Business Components

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 4-2: Visión General

Esta práctica cubre los siguientes temas:


• Adición de un validador de listas a un atributo
• Creación de un dominio
• Asignación de un atributo a un dominio

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 4-2

Copyright © 2004, Oracle. Todos los derechos reservados.

You might also like