Lesson 04 - Building the Business Logic

download Lesson 04 - Building the Business Logic

of 30

Transcript of Lesson 04 - Building the Business Logic

  • 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