lesson 04 - building the business logic
TRANSCRIPT
-
8/14/2019 Lesson 04 - Building the Business Logic
1/30
4Copyright 2004, Oracle. Todos los derechos reservados.
Creacin de Lgica de Negocio
-
8/14/2019 Lesson 04 - Building the Business Logic
2/30
Copyright 2004, Oracle. Todos los derechos reservados.
Objetivos
Al finalizar esta leccin, debera estar capacitado para:
Decidir dnde colocar la lgica de negocio
Describir el rol de los objetos de entidad en la
implementacin de la lgica de negocio Crear objetos de entidad
Describir los distintos mtodos para implementar la
lgica de negocio en ADF Business Components
Agregar la lgica de negocio a una aplicacin ADFBusiness Components
Utilizar el modelador de Business Components para
crear y gestionar componentes de negocio
-
8/14/2019 Lesson 04 - Building the Business Logic
3/30
Copyright 2004, Oracle. Todos los derechos reservados.
Capa media
Web Container
Controlador
Capa EIS
Capa de servicios de negociode ADF
Capa de cliente
Objeto deentidad
ADF
Mdulo deaplicacin
ADF
Objetode vista
ADF
Validacin de
base de datos
Validacin de
lgica de negocio
Validacin
de cliente
Mo
de
lo
Base de
datos
Validacin de Lgica de Negocio
-
8/14/2019 Lesson 04 - Building the Business Logic
4/30
Copyright 2004, Oracle. Todos los derechos reservados.
-
8/14/2019 Lesson 04 - Building the Business Logic
5/30
Copyright 2004, Oracle. Todos los derechos reservados.
Implementacin de la Validacin en la
Capa de Servicios de Negocio
Capa de lgica de negocio:
Se utiliza cuando se crean o actualizan datos
Asume que los datos existentes de la base de
datos son vlidos Se define en el nivel de objeto de entidad
Utiliza tcnicas de programacin o declarativas
Declarativa: definida en asistentes y editores
Programacin: codificada en Java
Se especifica en Java, en XML o en ambos
-
8/14/2019 Lesson 04 - Building the Business Logic
6/30
Copyright 2004, Oracle. Todos los derechos reservados.
Customers
Id
Name
StatusEmail
Objeto de
entidad
Atributos
Tabla de
base de
datos
Status List(Gold Silver Platinum)
Regla devalidacin
ID
201
NAME
Steve
STATUS
Gold
Email
[email protected] Mike Silver [email protected]
CUSTOMERS
Objeto de Entidad: Visin General
-
8/14/2019 Lesson 04 - Building the Business Logic
7/30Copyright 2004, Oracle. Todos los derechos reservados.
Cliente Orden
Objeto de Entidad
Representa una tabla de base de datos u otro origen de
datos
Maneja toda la interaccin entre las bases de datos
Contiene atributos que representan las columnas de labase de datos
Encapsula la lgica de validacin de nivel de atributo y
nivel de entidad
Puede contener mtodos de negocio personalizados
-
8/14/2019 Lesson 04 - Building the Business Logic
8/30Copyright 2004, Oracle. Todos los derechos reservados.
Creacin de un Objeto de Entidad
Seleccione el nodoBusiness Components
en New Gallery y, a
continuacin, seleccione
Entity Object.
Haga clic con el botnderecho del mouse en el
nombre del paquete en el
navegador y seleccione
New Entity Object.
-
8/14/2019 Lesson 04 - Building the Business Logic
9/30Copyright 2004, Oracle. Todos los derechos reservados.
Asistente Entity Object
Seleccioneun objetode basede datos.
Vaya al pasosiguiente.
Escriba unnombre.
-
8/14/2019 Lesson 04 - Building the Business Logic
10/30Copyright 2004, Oracle. Todos los derechos reservados.
Archivos Generados para el Objeto de
Entidad Customers
Customers.xml: metadatos
El asistente Entity Object obtiene toda la informacin
de este archivo.
Se crea por defecto (obligatorio)
CustomersImpl.java: clase de objeto de entidad
Ampla la clase EntityImpl
Es de nivel de fila
Incluye mtodos definidores y de obtencin para los
atributos Se crea por defecto (opcional)
-
8/14/2019 Lesson 04 - Building the Business Logic
11/30Copyright 2004, Oracle. Todos los derechos reservados.
Archivos Opcionales Generados para el
Objeto de Entidad Customers
CustomersDefImpl.java: clase de definicin de
entidad
Ampla la claseEntityDefImpl Contiene metadatos de tiempo de ejecucin quedescriben el objeto de entidad
Describe todas las instancias de la entidad
CustomersImpl.java: clase de recopilacin de
entidades
Ampla la claseEntityCache Contiene el tiempo de ejecucin consultando la
recopilacin de entidades
Filas consultadas en la cach de la entidad
-
8/14/2019 Lesson 04 - Building the Business Logic
12/30Copyright 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
-
8/14/2019 Lesson 04 - Building the Business Logic
13/30Copyright 2004, Oracle. Todos los derechos reservados.
Uso del Modelador de Business
Components para los Objetos de Entidad
Cree objetos de entidad a travs de Component
Palette.
Utilice el editor Entity Object para las propiedades
de los objetos de entidad.
-
8/14/2019 Lesson 04 - Building the Business Logic
14/30Copyright 2004, Oracle. Todos los derechos reservados.
Agregue cdigo al mtodo create() enEntityImpl.java.
create() se ejecuta automticamente cuando laentidad se ha instanciado.
Asignacin de un Valor Inicial
a un Atributo de Entidad
Active la casilla decontrol CreateMethod paragenerar unmtodo create().
Seleccin dearchivos Javaopcionales
-
8/14/2019 Lesson 04 - Building the Business Logic
15/30Copyright 2004, Oracle. Todos los derechos reservados.
Asignacin de un Atributo a
una Secuencia de Base de Datos
1. Cree un disparador
de base de datos.
create or replace triggerinsert_ord_id
BEFORE INSERT ON ordersFOR EACH ROW
DECLAREnew_id number;
BEGINSELECT orders_seq.NextVal
INTO new_id from Dual;:new.order_id := new_id;
END;
2. Defina el tipo de atributo
en DBSequence.
-
8/14/2019 Lesson 04 - Building the Business Logic
16/30Copyright 2004, Oracle. Todos los derechos reservados.
Prctica 4-1: Visin General
Esta prctica cubre los siguientes temas:
Inicializacin de un atributo en un valor por defecto
Asignacin de una secuencia de base de datos a un
atributo
-
8/14/2019 Lesson 04 - Building the Business Logic
17/30Copyright 2004, Oracle. Todos los derechos reservados.
Prctica 4-1
-
8/14/2019 Lesson 04 - Building the Business Logic
18/30Copyright 2004, Oracle. Todos los derechos reservados.
Prctica 4-1
-
8/14/2019 Lesson 04 - Building the Business Logic
19/30Copyright 2004, Oracle. Todos los derechos reservados.
Prctica 4-1
-
8/14/2019 Lesson 04 - Building the Business Logic
20/30Copyright 2004, Oracle. Todos los derechos reservados.
Adicin de Validacin
Validacin de
nivel de entidad
Validacin de
nivel de atributo
-
8/14/2019 Lesson 04 - Building the Business Logic
21/30Copyright 2004, Oracle. Todos los derechos reservados.
Reglas de Validacin Declarativas
Utilice las reglas de validacin declarativas para validar
un atributo de entidad.
Utilice el asistente Entity Object para agregar y editar
reglas.
El asistente Entity Object proporciona distintos tiposde reglas declarativas:
Comparar con un nico valor
Comparar con una lista de valores vlidos, codificados o
los resultados de una consulta SQL
Comparar con el valor mnimo, el valor mximo o un
rango de valores
Validar utilizando un mtodo personalizado
La validacin declarativa se basa en XML.
-
8/14/2019 Lesson 04 - Building the Business Logic
22/30Copyright 2004, Oracle. Todos los derechos reservados.
ListValidator: Ejemplo
Especifique una lista de valores para Customers.Status.
Customers.xml
-
8/14/2019 Lesson 04 - Building the Business Logic
23/30Copyright 2004, Oracle. Todos los derechos reservados.
Adicin de UniqueKeyValidator a una Entidad
UniqueKeyValidator:
Implementa la validacin 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
-
8/14/2019 Lesson 04 - Building the Business Logic
24/30Copyright 2004, Oracle. Todos los derechos reservados.
Dominios
Utilice dominios para validaciones ms complejas:
Formato de un nmero de telfono
Validez de una URL
Validez de una direccin de correo electrnico
El total de control de dgitos de un nmero de tarjeta de
crdito
La validacin se realiza a travs del constructor de
dominios.
Un dominio no est ligado a un atributo o entidad enparticular.
Puede utilizar los dominios para validar varios
atributos en distintos objetos de entidad.
-
8/14/2019 Lesson 04 - Building the Business Logic
25/30Copyright 2004, Oracle. Todos los derechos reservados.
protected void validate(){try {// Make sure the user entered a valid URLjava.net.URL u = new java.net.URL(mData);
}catch (java.net.MalformedURLException e){throw new
oracle.jbo.domain.DomainValidationException("Invalid URL");
}
Dominios: Ejemplo
URLDomain verifica que un atributo es una URL vlida.
El mtodovalidate() se llama mediante elconstructor del dominio.
URLDomain.java
-
8/14/2019 Lesson 04 - Building the Business Logic
26/30
Copyright 2004, Oracle. Todos los derechos reservados.
Cmo Crear un Dominio
1. Cree un dominio en New Gallery.2. Agregue el cdigo de validacin al mtodovalidate()
automticamente creado en URLDomain.java.
-
8/14/2019 Lesson 04 - Building the Business Logic
27/30
Copyright 2004, Oracle. Todos los derechos reservados.
Cmo Utilizar un Dominio
Edite el objeto de entidad y cambie el tipo de atributo aURLDomain.
URLDomainURLDomainaparece en laaparece en la
lista de tiposlista de tipos..
-
8/14/2019 Lesson 04 - Building the Business Logic
28/30
Copyright 2004, Oracle. Todos los derechos reservados.
Resumen
En esta leccin ha aprendido a:
Implementar la lgica de negocio declarativa
Crear objetos de entidad
Crear cdigo Java para los objetos de entidad Validar atributos de entidad mediante reglas de
validacin u objetos de dominio
Utilizar el modelador de Business Components
-
8/14/2019 Lesson 04 - Building the Business Logic
29/30
Copyright 2004, Oracle. Todos los derechos reservados.
Prctica 4-2: Visin General
Esta prctica cubre los siguientes temas:
Adicin de un validador de listas a un atributo
Creacin de un dominio
Asignacin de un atributo a un dominio
-
8/14/2019 Lesson 04 - Building the Business Logic
30/30
Prctica 4-2