SlideShare una empresa de Scribd logo
1 de 53
Plinio Arbizu – Oracle Ace Director
◦ Definición de la Arquitectura ADF.
◦ Metodología de Desarrollo
◦ Recomendaciones Equipos de Trabajo
◦ Recomendación en el modelado de BD
◦ Recomendaciones en la capa de modelo
◦ Recomendaciones en la capa de control
◦ Recomendaciones en la capa de Vista
◦ Recomendaciones      en    el  manejo de
  Versiones
◦ Recomendaciones Generales
Plinio Arbizu

   Oracle ACE Director
   Coautor del libro Web 2.0 solutions with
    Oracle WebCenter
   Certificado :
    ◦ Oracle ADF Certified Implementation Specialist
    ◦ Oracle WebCenter Portal 11g Certified
      Implementation Specialist
   Líder del Grupo de Usuarios Oracle en
    México (ORAMEX)
   Consultor de S&P Solutions de México
   Instructor de Oracle University en Perú
◦ Es un meta-framework que integra diversos
  frameworks para el desarrollo de soluciones
◦ Reduce la complejidad de los desarrollos J2EE
  brindando un desarrollo visual y declarativo
◦ Basado en Java y XML
◦ Incrementa el desarrollo productivo
   Menos codificación y mayor rehúso
   Enfocado en la aplicación y no en lo “Accesorios”
◦ Promueve el uso de buenas practicas J2EE
  implementando Patrones de Diseño J2EE (MVC)
Desktop                                Browser-based

ADF Swing       Office         JSP       JSF ADF Faces / DVT                View



                                                                            Controller
                               Struts         JSF/ADF Task Flow


 ADF Bindings (JSR 227)                                                     Model


Java   EJB    BAM   BPEL   Web          ADF BC BI      Essbase   Portlets
                           Services                                         Business
  TopLink                                                                   Services



                                                                            Data
 Relational         XML Data             Legacy Data
                                                             Packaged       Services
 Data                                                        Apps
Metodología de Desarrollo
Desarrollar
 1 Application
 2 Capa de Modelo (Business
     Components)
      • Persistent Business Object
      • View Object
      • Application Module
 3. Capa Controller
      • Crear el Flujo de páginas
 4. Capa de Vista
      • 7- Crear la página JSF
5. Correr la aplicación
                                     Desarrollo Gradual
   Conocimientos básicos: Java, PL-SQL, JSF.
   Conocimiento del manejo de versiones
   Sí va a cambiar el diseño, Diseñador WEB.
   Incluir un Administrador de Weblogic.
   Puede incluir recien egresados para labores
    sencillas.
   Alineados a usar ADF (Decl + Progr)
   Normalizar
   Usar Sequence y Triggers para los Primary Keys.
   Un diseño generico impacta en los desarrollos.
   Se puede usar Store Procedures, pero no priorizarlo.
   No es necesario crear vistas de BD.
   Nombrado afecta el mapeo de componentes.
   Enterprise Java Beans (EJB)
       Estándar JavaEE
       Orientado a Objetos

   TopLink
       Maduro
       Orientado a Objeto

   Java Beans
       Flexible

   ADF Business Components
       Default
       Soporta características OO, Perspectiva Relacional
◦ Brinda interacción de datos y implementación de
  reglas de negocio.
◦ Mapea las fuentes de datos, ejem : Oracle DB,
  MySql, etc,(JDBC Driver).
◦ Permite un desarrollo 4GL
  Asistente y un desarrollo Visual
  Implementado en metada, no código
◦ Permite la codificación de lógica de negocio.
Contenedores de   Presentación       Lógica de
HTML, Java, and    Aplicaciones y    y Manipulación     Negocio
XML Interfaces     Servicios         de Datos


       L
    XM              Application         View            Entity



                  Sistema de         Alumnos
                                     Cursos MATH      Alumnos
                  Matriculas
                   - matricular()
                                                      Cursos
                                     Profesores
                                     Activos
                                                      Profesores
Empieza con sus tablas
Desarrolle sus Entidades que encapsulen su lógica de
negocio
Elabore sus ViewObjects que
prepara la data para la
interacción con clientes Externos
Desarrolle su Aplication Module
que incluya las VO’S necesarias
en su Aplicación
Finalmente desarrolle su capa de
Presentación en la tecnología de
su preferencia JSF,ADF Faces
   Validaciones Declarativas
   Validaciones Declarativas
   Lista de Valores




                       1   3




                       2   4
   Ideal para colocar lógica
   Maneja Transacciones por Default
   Maneja su propio pool de conexión datos
   Cuenta con su propio cache de entidad.
   Crear un sólo application module para la aplicación
   Crear varios application module aislados
       Se utiliza más conexiones a la base de datos
       No se preserva el mismo cache de entidad
   Se maneja un application module root
   Se cuenta con varios modulos de aplicación “Hijos” asociados a
    un caso de uso.
   Todos comparte el pool de conexiones y el cache de entidades
public void incrementarPrecio(int porcentaje)
{
Row fila = this.getProductoVO1().first();

         while (fila !=null)
         {
         float precio = ((Number)fila.getAttribute("Precio")).floatValue();
         float nuevoPrecio = precio * (100+ porcentaje)/100 ;
         fila.setAttribute("Precio", new Number(nuevoPrecio));

         fila = this.getProductoVO1().next();
         }

this.getDBTransaction().commit();
}
   Mantenga los tipos de datos que sugiere el asistente
   Aproveche las validaciones declarativas y las asociaciones
   Los View Object puede ser basados en SQL, aproveche los
    view criterias y las listas de valores
   Modularizar sí tiene una aplicación grande
   Usar Nested Aplication Module (Nested)
   Usar un App module por conexion a DB
Desktop                                Browser-based

ADF Swing       Office         JSP       JSF ADF Faces / DVT                View



                                                                            Controller
                               Struts         JSF/ADF Task Flow


 ADF Bindings (JSR 227)                                                     Model


Java   EJB    BAM   BPEL   Web          ADF BC BI      Essbase   Portlets
                           Services                                         Business
  TopLink                                                                   Services



                                                                            Data
 Relational         XML Data             Legacy Data
                                                             Packaged       Services
 Data                                                        Apps
Database table        ADF BC          ADF BC              ADF BC
                      Entity Object   View Object         Application
                                                          Module




                                                               ADF Model
   Databound components on a JSP      Binding Container        Data Control
   Data Controls panel:
    ◦ Es una representación de la
      capa de business service
      que contiene
       Métodos
       Parametros y valores de
        retorno
       Atributos
       Colecciones
    ◦ Se genera automáticamente
      basado en cada módulo de
      aplicaciones.
Executables
- Iteradores

Bindings
- Value Bindigs
- Action Bindings
- Tree Bindings
- Etc
◦ Las expressiones asociadas a los bindings son
  escritas usando EL.
◦ Estas son evaluadas en tiempo de ejecución para
  determinar que mostrar
◦ ADF EL expressions tipicamente tienene esta
  forma:
 #{bindingVariable.BindingObject.propertyName}
  Ejemplo de un inputText component en una página
   JSF
     <af:inputText
         value="#{bindings.Ename.inputValue}”
         label="#{bindings.Ename.label}”
         required="#{bindings.Ename.mandatory}">
Structure
 Page                                             definition file
                 Binding           Data
 definition
                 Container         Control
 file
                                                    *.xml
*PageDef.xml


                   Binding Context                 Data
                                                   Controls
                                                   definition file
                 Binding context
                 definition file
                                             DataControls.dcx


               DataBindings.cpx
public String calcular() {
    // Add event code here...
    BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
    AttributeBinding dato= (AttributeBinding)bindings.getControlBinding("empleadoParametro");
    AttributeBinding resultado = (AttributeBinding)bindings.getControlBinding("totalResultado");

     OperationBinding operationBinding =
          bindings.getOperationBinding("obtenerTotal");

         Map parametros = operationBinding.getParamsMap();

         parametros.put("cod", dato.getInputValue());

     Double retorno= (Double)operationBinding.execute();

     resultado.setInputValue(retorno);

     if (!operationBinding.getErrors().isEmpty()) {



     }


     return null;
 }
   Controle los descriptores en las integraciones.
   Los Bindigs también se programan. ( Ver más adelante)
   Inicialmente use siempre bindings para acceder a los business
   Manipule los bindigs según sus necesidades.
   Inicialmente use esta forma

de integración
   ADF task flows son unidades lógicas de
    flujos de paginas
    ◦ Ofrece ventajas sobre los flujos JSF :
      La aplicación puede ser dividida en tareas (Task)
      Puede contener otros tipos de elementos además de
       páginas
      Reusables
      Comparte el mismo scope de memoria.
    ◦ Pueden ser del tipo unbounded o bounded
UnBounded Task Flow



               Registro           Confirma
 login
                Venta              Venta




Principal      Clientes
UnBounded Task Flow       Bounded Task Flow


                      Registro          Confirma
                       Venta             Venta
       login




      Principal       Clientes
Bounded Task Flow




UnBounded Task Flow                           Confirma
                                               Venta
                                    Valid
                                      ar
                      Registro      tarjet
                                      a?
                       Venta                  Rechaza
       login
                                               Venta




      Principal       Clientes
Usando Páginas

                  UnBounded Task Flow ( adfc – config)



                            Registro            Confirma
        login                Venta               Venta




      Principal               Registro             Confirma
                              Compra               Compra
Usando Fragmentos

              UnBounded Task Flow ( adfc – config)



                                      Principal.jspx




     login                       Flujo de Venta, Compra..
                                 (bounded - fragmentos)
   Usar un sólo flujo unbounded (adfc-config.xml)
   Modularizar las páginas en flujos del tipo bounded
   Los elementos de los flujos son reusables (doble reuso)
   Recuede que no son sólo pagínas sino pueden ser decisiones
    ó invocación a metodos.
   Puede usar páginas ó fragmentos
   Fragmentos son altamente reusables y pueden ser exportados
    a componentes personalizables ó portlets
Desktop                                Browser-based

ADF Swing       Office         JSP       JSF ADF Faces / DVT                View



                                                                            Controller
                               Struts         JSF/ADF Task Flow


 ADF Bindings (JSR 227)                                                     Model


Java   EJB    BAM   BPEL   Web          ADF BC BI      Essbase   Portlets
                           Services                                         Business
  TopLink                                                                   Services



                                                                            Data
 Relational         XML Data             Legacy Data
                                                             Packaged       Services
 Data                                                        Apps
   Deberá crear su template
   El trabajo se realiza basado en Layout
    (Contenedores)
    ◦ Panel Group Layout (Horizontal, Vertical)
    ◦ Panel Form Layout (Almacenar componentes en
      formato formulario)
   Existe una gran variedad de componentes
    “out of the box” (Combos, Input Text, Grillas)
    ◦ Generalmente sugeridos por el asistente.
   Generalmente se utiliza un managed bean
    para soportar los eventos de la página.
    ◦ Los eventos ó Listeners dependen del componente
   ADF Library permite que reuse
    componentes:
    ◦ Se empaqueta en un ADF Library JAR files.
    ◦ Incluya estos en un catalogo de recursos.
    ◦ Incluya la libreria en el proyecto que usted este
      trabajando
1




            3
2




        4
   Todo es Java y XML
   Utilice SVN, se integra a Jdeveloper
   Puede hacer commit, update, revert
   Puede comparar su versión contra la que esta
    desplegada en el server..
   Defina un integrador que sea el encargado de
    los despliegues y archivos sensibles
   Cuide archivos “Sensibles”
    ◦   adfc_config.xml
    ◦   Databindings.cpx
    ◦   Proyectos (*.jpr)
    ◦   Faces_config.xml
   Si esta empezando, cree el esqueleto del
    proyecto y que los desarrolladores sólo hagan
    actualizaciones
   ADF es un framework integral para realizar aplicaciones de
    negocio
   ADF no es un framework para hacer sólo mantenimientos
   ADF trabaja declarativamente y programaticamente
   ADF permite personalizar. No es rigido.
   ADF soporte el trabajo de aplicaciones “Grandes”.
   ADF permite el trabajo de equipos.
   ADF es la base de Fusion y puede ser el inicio para escalar a
    otras tecnologías (WebCenter, BPM, Applications)
www.oracle.com/technetwork/jdev
• Tutorials
• Demos
• Software
• Discussions
• Blogs
• And more

plinioa.blogspot.com
• Curso en Español
• Artículos (avanzado)
• Eventos
Preguntas y Respuestas

Más contenido relacionado

La actualidad más candente

De Forms a Oracle Fusion Middleware
De Forms a Oracle Fusion MiddlewareDe Forms a Oracle Fusion Middleware
De Forms a Oracle Fusion MiddlewareJC_Diaz_Belmonte
 
Mecanismos de Persistencia en Android
Mecanismos de Persistencia en AndroidMecanismos de Persistencia en Android
Mecanismos de Persistencia en AndroidJavier Muñoz
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de DatosRonny Parra
 
Inteligencia De Negocios En Sql Server 2008
Inteligencia De Negocios En Sql Server 2008Inteligencia De Negocios En Sql Server 2008
Inteligencia De Negocios En Sql Server 2008Eduardo Castro
 
Hoja de ruta. de donde venimos y a donde vamos | SolidQ Summit 2012
Hoja de ruta. de donde venimos y a donde vamos | SolidQ Summit 2012Hoja de ruta. de donde venimos y a donde vamos | SolidQ Summit 2012
Hoja de ruta. de donde venimos y a donde vamos | SolidQ Summit 2012SolidQ
 
Presentación Webinar Oracle APEX
Presentación Webinar Oracle APEXPresentación Webinar Oracle APEX
Presentación Webinar Oracle APEXjftorres92
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresJoseph Lopez
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006Samuel Marrero
 
J Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfJ Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfPedro Gallardo
 
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, PrimefacesSeminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, PrimefacesAlejandro Bolaños Ussa
 
Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Rodrigo Zottola Pareja
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EECarlos Gavidia-Calderon
 
Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql serverIsabel_Samir
 
Evolución a oracle weblogic server 11g
Evolución a oracle weblogic server 11g Evolución a oracle weblogic server 11g
Evolución a oracle weblogic server 11g OracleIberia
 

La actualidad más candente (20)

De Forms a Oracle Fusion Middleware
De Forms a Oracle Fusion MiddlewareDe Forms a Oracle Fusion Middleware
De Forms a Oracle Fusion Middleware
 
Mecanismos de Persistencia en Android
Mecanismos de Persistencia en AndroidMecanismos de Persistencia en Android
Mecanismos de Persistencia en Android
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Inteligencia De Negocios En Sql Server 2008
Inteligencia De Negocios En Sql Server 2008Inteligencia De Negocios En Sql Server 2008
Inteligencia De Negocios En Sql Server 2008
 
Oracle APEX
Oracle APEXOracle APEX
Oracle APEX
 
Hoja de ruta. de donde venimos y a donde vamos | SolidQ Summit 2012
Hoja de ruta. de donde venimos y a donde vamos | SolidQ Summit 2012Hoja de ruta. de donde venimos y a donde vamos | SolidQ Summit 2012
Hoja de ruta. de donde venimos y a donde vamos | SolidQ Summit 2012
 
Presentación Webinar Oracle APEX
Presentación Webinar Oracle APEXPresentación Webinar Oracle APEX
Presentación Webinar Oracle APEX
 
4 Jhs J Developer Adf
4  Jhs J Developer Adf4  Jhs J Developer Adf
4 Jhs J Developer Adf
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladores
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
 
J Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfJ Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A Adf
 
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, PrimefacesSeminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
 
Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Introdución a aplicaciones web en java
Introdución a aplicaciones web en java
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
Jdbc
JdbcJdbc
Jdbc
 
Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql server
 
Migacion forms apex
Migacion forms   apexMigacion forms   apex
Migacion forms apex
 
Curso Básico de JDBC
Curso Básico de JDBCCurso Básico de JDBC
Curso Básico de JDBC
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Evolución a oracle weblogic server 11g
Evolución a oracle weblogic server 11g Evolución a oracle weblogic server 11g
Evolución a oracle weblogic server 11g
 

Destacado

BPEL_sio2009
BPEL_sio2009BPEL_sio2009
BPEL_sio2009JXCP.86
 
Soa y los sevicios web tradicionales
Soa y los sevicios web tradicionalesSoa y los sevicios web tradicionales
Soa y los sevicios web tradicionaleswachu wachu pi
 
Soa
SoaSoa
SoaUJAP
 
Soa y los servicios web de segunda generacion
Soa y los servicios web de segunda generacionSoa y los servicios web de segunda generacion
Soa y los servicios web de segunda generacionwachu wachu pi
 
Implementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOAImplementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOALucio Marcelo Quispe Ortega
 
Conceptos básicos de la arquitectura orientada a servicios
Conceptos básicos de la arquitectura orientada a serviciosConceptos básicos de la arquitectura orientada a servicios
Conceptos básicos de la arquitectura orientada a servicioswachu wachu pi
 
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...CLEFormación
 
Quién define las pautas de soa
Quién define las pautas de soaQuién define las pautas de soa
Quién define las pautas de soawachu wachu pi
 
Elementos esenciales de una arquitectura orientada a servicios
Elementos esenciales de una arquitectura orientada a serviciosElementos esenciales de una arquitectura orientada a servicios
Elementos esenciales de una arquitectura orientada a servicioswachu wachu pi
 
Enterprise 2.0 & SocialBPM
Enterprise 2.0 & SocialBPMEnterprise 2.0 & SocialBPM
Enterprise 2.0 & SocialBPMJaime Cid
 
2 Integracion Forms Bpel
2  Integracion Forms Bpel2  Integracion Forms Bpel
2 Integracion Forms BpelPedro Gallardo
 
Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2Snoop Consulting
 
Modelado Avanzado - Arquitecturas Orientadas a Servicios
Modelado Avanzado - Arquitecturas Orientadas a ServiciosModelado Avanzado - Arquitecturas Orientadas a Servicios
Modelado Avanzado - Arquitecturas Orientadas a ServiciosGrial - University of Salamanca
 
Aplicaciones prácticas de las arquitecturas orientadas al servicio
Aplicaciones prácticas de las arquitecturas orientadas al servicioAplicaciones prácticas de las arquitecturas orientadas al servicio
Aplicaciones prácticas de las arquitecturas orientadas al servicioGrial - University of Salamanca
 

Destacado (20)

BPEL_sio2009
BPEL_sio2009BPEL_sio2009
BPEL_sio2009
 
Soa y los sevicios web tradicionales
Soa y los sevicios web tradicionalesSoa y los sevicios web tradicionales
Soa y los sevicios web tradicionales
 
Soa
SoaSoa
Soa
 
Soa y los servicios web de segunda generacion
Soa y los servicios web de segunda generacionSoa y los servicios web de segunda generacion
Soa y los servicios web de segunda generacion
 
Wid bpel
Wid bpelWid bpel
Wid bpel
 
Implementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOAImplementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOA
 
Tema 3 3
Tema 3 3Tema 3 3
Tema 3 3
 
Conceptos básicos de la arquitectura orientada a servicios
Conceptos básicos de la arquitectura orientada a serviciosConceptos básicos de la arquitectura orientada a servicios
Conceptos básicos de la arquitectura orientada a servicios
 
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
 
Quién define las pautas de soa
Quién define las pautas de soaQuién define las pautas de soa
Quién define las pautas de soa
 
BPEL Project
BPEL ProjectBPEL Project
BPEL Project
 
Bbrsoa
BbrsoaBbrsoa
Bbrsoa
 
Elementos esenciales de una arquitectura orientada a servicios
Elementos esenciales de una arquitectura orientada a serviciosElementos esenciales de una arquitectura orientada a servicios
Elementos esenciales de una arquitectura orientada a servicios
 
Enterprise 2.0 & SocialBPM
Enterprise 2.0 & SocialBPMEnterprise 2.0 & SocialBPM
Enterprise 2.0 & SocialBPM
 
2 Integracion Forms Bpel
2  Integracion Forms Bpel2  Integracion Forms Bpel
2 Integracion Forms Bpel
 
Soa Y Bpel
Soa Y BpelSoa Y Bpel
Soa Y Bpel
 
Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2
 
Modelado Avanzado - Arquitecturas Orientadas a Servicios
Modelado Avanzado - Arquitecturas Orientadas a ServiciosModelado Avanzado - Arquitecturas Orientadas a Servicios
Modelado Avanzado - Arquitecturas Orientadas a Servicios
 
Aplicaciones prácticas de las arquitecturas orientadas al servicio
Aplicaciones prácticas de las arquitecturas orientadas al servicioAplicaciones prácticas de las arquitecturas orientadas al servicio
Aplicaciones prácticas de las arquitecturas orientadas al servicio
 
BPMN y BPEL
BPMN y BPELBPMN y BPEL
BPMN y BPEL
 

Similar a Experiencias Usando la Tecnología ADF

[ES] Introduccion a ADF Framework
[ES] Introduccion a ADF Framework[ES] Introduccion a ADF Framework
[ES] Introduccion a ADF FrameworkEudris Cabrera
 
01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdfMarvelNanosoft
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEFernando Montaño
 
ADO NET Entity FrameWork
ADO NET Entity FrameWorkADO NET Entity FrameWork
ADO NET Entity FrameWorkmascodigo
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentesUTN
 
How To Split The Monolith - From monolith to microservices
How To Split The Monolith - From monolith to microservicesHow To Split The Monolith - From monolith to microservices
How To Split The Monolith - From monolith to microservicesOliver Fierro
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)Eudris Cabrera
 
Introducción a Live Cycle Data Services - Michael Borbór
Introducción a Live Cycle Data Services - Michael BorbórIntroducción a Live Cycle Data Services - Michael Borbór
Introducción a Live Cycle Data Services - Michael BorbórBarcamp Ecuador
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)josecuartas
 
5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_webJuy JLopez
 
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...SolidQ
 
Motor de persistencia nhibernate
Motor de persistencia nhibernateMotor de persistencia nhibernate
Motor de persistencia nhibernateDamian Palacios
 

Similar a Experiencias Usando la Tecnología ADF (20)

[ES] Introduccion a ADF Framework
[ES] Introduccion a ADF Framework[ES] Introduccion a ADF Framework
[ES] Introduccion a ADF Framework
 
01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf
 
Clase xiii
Clase xiiiClase xiii
Clase xiii
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
 
JDBC
JDBCJDBC
JDBC
 
ADO NET Entity FrameWork
ADO NET Entity FrameWorkADO NET Entity FrameWork
ADO NET Entity FrameWork
 
J2 ee
J2 eeJ2 ee
J2 ee
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentes
 
How To Split The Monolith - From monolith to microservices
How To Split The Monolith - From monolith to microservicesHow To Split The Monolith - From monolith to microservices
How To Split The Monolith - From monolith to microservices
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Aplicaciones En Capas
Aplicaciones En CapasAplicaciones En Capas
Aplicaciones En Capas
 
spring
springspring
spring
 
Introducción a Live Cycle Data Services - Michael Borbór
Introducción a Live Cycle Data Services - Michael BorbórIntroducción a Live Cycle Data Services - Michael Borbór
Introducción a Live Cycle Data Services - Michael Borbór
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web
 
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
 
Capitulo_3_1.pptx
Capitulo_3_1.pptxCapitulo_3_1.pptx
Capitulo_3_1.pptx
 
Motor de persistencia nhibernate
Motor de persistencia nhibernateMotor de persistencia nhibernate
Motor de persistencia nhibernate
 

Experiencias Usando la Tecnología ADF

  • 1. Plinio Arbizu – Oracle Ace Director
  • 2. ◦ Definición de la Arquitectura ADF. ◦ Metodología de Desarrollo ◦ Recomendaciones Equipos de Trabajo ◦ Recomendación en el modelado de BD ◦ Recomendaciones en la capa de modelo ◦ Recomendaciones en la capa de control ◦ Recomendaciones en la capa de Vista ◦ Recomendaciones en el manejo de Versiones ◦ Recomendaciones Generales
  • 3. Plinio Arbizu  Oracle ACE Director  Coautor del libro Web 2.0 solutions with Oracle WebCenter  Certificado : ◦ Oracle ADF Certified Implementation Specialist ◦ Oracle WebCenter Portal 11g Certified Implementation Specialist  Líder del Grupo de Usuarios Oracle en México (ORAMEX)  Consultor de S&P Solutions de México  Instructor de Oracle University en Perú
  • 4. ◦ Es un meta-framework que integra diversos frameworks para el desarrollo de soluciones ◦ Reduce la complejidad de los desarrollos J2EE brindando un desarrollo visual y declarativo ◦ Basado en Java y XML ◦ Incrementa el desarrollo productivo  Menos codificación y mayor rehúso  Enfocado en la aplicación y no en lo “Accesorios” ◦ Promueve el uso de buenas practicas J2EE implementando Patrones de Diseño J2EE (MVC)
  • 5. Desktop Browser-based ADF Swing Office JSP JSF ADF Faces / DVT View Controller Struts JSF/ADF Task Flow ADF Bindings (JSR 227) Model Java EJB BAM BPEL Web ADF BC BI Essbase Portlets Services Business TopLink Services Data Relational XML Data Legacy Data Packaged Services Data Apps
  • 6. Metodología de Desarrollo Desarrollar 1 Application 2 Capa de Modelo (Business Components) • Persistent Business Object • View Object • Application Module 3. Capa Controller • Crear el Flujo de páginas 4. Capa de Vista • 7- Crear la página JSF 5. Correr la aplicación Desarrollo Gradual
  • 7. Conocimientos básicos: Java, PL-SQL, JSF.  Conocimiento del manejo de versiones  Sí va a cambiar el diseño, Diseñador WEB.  Incluir un Administrador de Weblogic.  Puede incluir recien egresados para labores sencillas.  Alineados a usar ADF (Decl + Progr)
  • 8. Normalizar  Usar Sequence y Triggers para los Primary Keys.  Un diseño generico impacta en los desarrollos.  Se puede usar Store Procedures, pero no priorizarlo.  No es necesario crear vistas de BD.  Nombrado afecta el mapeo de componentes.
  • 9. Enterprise Java Beans (EJB)  Estándar JavaEE  Orientado a Objetos  TopLink  Maduro  Orientado a Objeto  Java Beans  Flexible  ADF Business Components  Default  Soporta características OO, Perspectiva Relacional
  • 10. ◦ Brinda interacción de datos y implementación de reglas de negocio. ◦ Mapea las fuentes de datos, ejem : Oracle DB, MySql, etc,(JDBC Driver). ◦ Permite un desarrollo 4GL  Asistente y un desarrollo Visual  Implementado en metada, no código ◦ Permite la codificación de lógica de negocio.
  • 11. Contenedores de Presentación Lógica de HTML, Java, and Aplicaciones y y Manipulación Negocio XML Interfaces Servicios de Datos L XM Application View Entity Sistema de Alumnos Cursos MATH Alumnos Matriculas - matricular() Cursos Profesores Activos Profesores
  • 12. Empieza con sus tablas
  • 13. Desarrolle sus Entidades que encapsulen su lógica de negocio
  • 14. Elabore sus ViewObjects que prepara la data para la interacción con clientes Externos
  • 15. Desarrolle su Aplication Module que incluya las VO’S necesarias en su Aplicación
  • 16. Finalmente desarrolle su capa de Presentación en la tecnología de su preferencia JSF,ADF Faces
  • 17. Validaciones Declarativas
  • 18. Validaciones Declarativas
  • 19. Lista de Valores 1 3 2 4
  • 20. Ideal para colocar lógica  Maneja Transacciones por Default  Maneja su propio pool de conexión datos  Cuenta con su propio cache de entidad.
  • 21. Crear un sólo application module para la aplicación  Crear varios application module aislados  Se utiliza más conexiones a la base de datos  No se preserva el mismo cache de entidad
  • 22.
  • 23.
  • 24. Se maneja un application module root  Se cuenta con varios modulos de aplicación “Hijos” asociados a un caso de uso.  Todos comparte el pool de conexiones y el cache de entidades
  • 25. public void incrementarPrecio(int porcentaje) { Row fila = this.getProductoVO1().first(); while (fila !=null) { float precio = ((Number)fila.getAttribute("Precio")).floatValue(); float nuevoPrecio = precio * (100+ porcentaje)/100 ; fila.setAttribute("Precio", new Number(nuevoPrecio)); fila = this.getProductoVO1().next(); } this.getDBTransaction().commit(); }
  • 26.
  • 27. Mantenga los tipos de datos que sugiere el asistente  Aproveche las validaciones declarativas y las asociaciones  Los View Object puede ser basados en SQL, aproveche los view criterias y las listas de valores  Modularizar sí tiene una aplicación grande  Usar Nested Aplication Module (Nested)  Usar un App module por conexion a DB
  • 28. Desktop Browser-based ADF Swing Office JSP JSF ADF Faces / DVT View Controller Struts JSF/ADF Task Flow ADF Bindings (JSR 227) Model Java EJB BAM BPEL Web ADF BC BI Essbase Portlets Services Business TopLink Services Data Relational XML Data Legacy Data Packaged Services Data Apps
  • 29. Database table ADF BC ADF BC ADF BC Entity Object View Object Application Module ADF Model Databound components on a JSP Binding Container Data Control
  • 30. Data Controls panel: ◦ Es una representación de la capa de business service que contiene  Métodos  Parametros y valores de retorno  Atributos  Colecciones ◦ Se genera automáticamente basado en cada módulo de aplicaciones.
  • 31. Executables - Iteradores Bindings - Value Bindigs - Action Bindings - Tree Bindings - Etc
  • 32. ◦ Las expressiones asociadas a los bindings son escritas usando EL. ◦ Estas son evaluadas en tiempo de ejecución para determinar que mostrar ◦ ADF EL expressions tipicamente tienene esta forma: #{bindingVariable.BindingObject.propertyName}  Ejemplo de un inputText component en una página JSF <af:inputText value="#{bindings.Ename.inputValue}” label="#{bindings.Ename.label}” required="#{bindings.Ename.mandatory}">
  • 33. Structure Page definition file Binding Data definition Container Control file *.xml *PageDef.xml Binding Context Data Controls definition file Binding context definition file DataControls.dcx DataBindings.cpx
  • 34. public String calcular() { // Add event code here... BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry(); AttributeBinding dato= (AttributeBinding)bindings.getControlBinding("empleadoParametro"); AttributeBinding resultado = (AttributeBinding)bindings.getControlBinding("totalResultado"); OperationBinding operationBinding = bindings.getOperationBinding("obtenerTotal"); Map parametros = operationBinding.getParamsMap(); parametros.put("cod", dato.getInputValue()); Double retorno= (Double)operationBinding.execute(); resultado.setInputValue(retorno); if (!operationBinding.getErrors().isEmpty()) { } return null; }
  • 35. Controle los descriptores en las integraciones.  Los Bindigs también se programan. ( Ver más adelante)  Inicialmente use siempre bindings para acceder a los business  Manipule los bindigs según sus necesidades.  Inicialmente use esta forma de integración
  • 36. ADF task flows son unidades lógicas de flujos de paginas ◦ Ofrece ventajas sobre los flujos JSF :  La aplicación puede ser dividida en tareas (Task)  Puede contener otros tipos de elementos además de páginas  Reusables  Comparte el mismo scope de memoria. ◦ Pueden ser del tipo unbounded o bounded
  • 37. UnBounded Task Flow Registro Confirma login Venta Venta Principal Clientes
  • 38. UnBounded Task Flow Bounded Task Flow Registro Confirma Venta Venta login Principal Clientes
  • 39. Bounded Task Flow UnBounded Task Flow Confirma Venta Valid ar Registro tarjet a? Venta Rechaza login Venta Principal Clientes
  • 40.
  • 41.
  • 42. Usando Páginas UnBounded Task Flow ( adfc – config) Registro Confirma login Venta Venta Principal Registro Confirma Compra Compra
  • 43. Usando Fragmentos UnBounded Task Flow ( adfc – config) Principal.jspx login Flujo de Venta, Compra.. (bounded - fragmentos)
  • 44. Usar un sólo flujo unbounded (adfc-config.xml)  Modularizar las páginas en flujos del tipo bounded  Los elementos de los flujos son reusables (doble reuso)  Recuede que no son sólo pagínas sino pueden ser decisiones ó invocación a metodos.  Puede usar páginas ó fragmentos  Fragmentos son altamente reusables y pueden ser exportados a componentes personalizables ó portlets
  • 45. Desktop Browser-based ADF Swing Office JSP JSF ADF Faces / DVT View Controller Struts JSF/ADF Task Flow ADF Bindings (JSR 227) Model Java EJB BAM BPEL Web ADF BC BI Essbase Portlets Services Business TopLink Services Data Relational XML Data Legacy Data Packaged Services Data Apps
  • 46. Deberá crear su template  El trabajo se realiza basado en Layout (Contenedores) ◦ Panel Group Layout (Horizontal, Vertical) ◦ Panel Form Layout (Almacenar componentes en formato formulario)  Existe una gran variedad de componentes “out of the box” (Combos, Input Text, Grillas) ◦ Generalmente sugeridos por el asistente.  Generalmente se utiliza un managed bean para soportar los eventos de la página. ◦ Los eventos ó Listeners dependen del componente
  • 47. ADF Library permite que reuse componentes: ◦ Se empaqueta en un ADF Library JAR files. ◦ Incluya estos en un catalogo de recursos. ◦ Incluya la libreria en el proyecto que usted este trabajando
  • 48. 1 3 2 4
  • 49. Todo es Java y XML  Utilice SVN, se integra a Jdeveloper  Puede hacer commit, update, revert  Puede comparar su versión contra la que esta desplegada en el server..
  • 50. Defina un integrador que sea el encargado de los despliegues y archivos sensibles  Cuide archivos “Sensibles” ◦ adfc_config.xml ◦ Databindings.cpx ◦ Proyectos (*.jpr) ◦ Faces_config.xml  Si esta empezando, cree el esqueleto del proyecto y que los desarrolladores sólo hagan actualizaciones
  • 51. ADF es un framework integral para realizar aplicaciones de negocio  ADF no es un framework para hacer sólo mantenimientos  ADF trabaja declarativamente y programaticamente  ADF permite personalizar. No es rigido.  ADF soporte el trabajo de aplicaciones “Grandes”.  ADF permite el trabajo de equipos.  ADF es la base de Fusion y puede ser el inicio para escalar a otras tecnologías (WebCenter, BPM, Applications)
  • 52. www.oracle.com/technetwork/jdev • Tutorials • Demos • Software • Discussions • Blogs • And more plinioa.blogspot.com • Curso en Español • Artículos (avanzado) • Eventos

Notas del editor

  1. Oracle JDeveloper 10 g : Application Development Framework (ADF) The Oracle ADF architecture follows the MVC design pattern, enabling developers to cleanly separate: Business logic and data access User interface Application flow
  2. Oracle JDeveloper 10 g : Application Development Framework (ADF) The Oracle ADF architecture follows the MVC design pattern, enabling developers to cleanly separate: Business logic and data access User interface Application flow
  3. Oracle JDeveloper 10 g : Application Development Framework (ADF) The Oracle ADF architecture follows the MVC design pattern, enabling developers to cleanly separate: Business logic and data access User interface Application flow
  4. Oracle Fusion Middleware 11 g : Build Applications with ADF I 1 - Technology Choices for ADF BC Applications In this course, you employ the MVC architecture through the use of Oracle ADF and JavaServer Faces: Business Services: ADF Business Components (ADF BC) provides the business services that are responsible for representing database tables and persisting user input values to the database. Model: ADF data binding is accomplished in compliance with JSR-227, a standard data binding and data access facility for Java EE that provides a standard for interactions between UI components and methods available on the business services. With this standard data binding, any Java UI rendering technology can declaratively bind to any business service. Controller: ADF Controller View: Java ServerFaces and ADF Faces; render kits enable the UI components defined by Java ServerFaces or ADF Faces to be rendered differently on different devices. For example, the UI can be rendered on a computer’s browser or on a mobile device such as a cell phone or PDA. Metadata Service: ADF BC applications can also use Metadata Service (MDS) for customization and personalization. This is outside the scope of this course.
  5. Oracle Fusion Middleware 11 g : Build Applications with ADF I 3 - ADF Business Components Oracle ADF Business Components (ADF BC) provides building blocks that help you to create the business services part of your application. That is, it governs interaction between the rest of the application and the data stored in the data source, providing validation, specific services, and other business logic. With ADF BC you can: Write and enforce business application logic in a central way Author and test business logic in components that automatically integrate with databases Reuse business logic in multiple applications and application tasks Access updatable views of business data that are tailored to specific tasks Access and update the views from browser, desktop, mobile, and Web service clients Maintain and modify the business functionality in layers, without requiring modification of the delivered application ADF Business Components are implemented in metadata that you write by using wizards and that you edit declaratively. You can optionally expose framework code to add functionality if needed.
  6. 1,2. De manera mensual, es necesario conocer el estado de la ventas y los pronósticos para el año de trabajo, por ello es necesario todo un proceso de análisis de la información la cual se realiza utilizando hojas de cálculo. Este proceso produce que la manipulación de dichos archivos produzca que la información sea vulnerable de ser modificable. 3. Al usar hojas de cálculo para consolidar sus ventas, provoca la necesidad de realizar la carga manual de datos, lo que involucra un tiempo adicional de trabajo. 4. Para elaborar las hojas de cálculo, muchas veces se recurre a muchas versiones de las hojas de cálculo, lo que provoca un mayor riesgo en mantener segura la información 5. Dado que es necesario analizar la información obtenida considerando diversos indicadores, se hace necesaria el procesamiento de la información capturada para poder visualizarla en diferentes formatos
  7. Oracle Fusion Middleware 11 g : Build Applications with ADF I 1 - Technology Choices for ADF BC Applications In this course, you employ the MVC architecture through the use of Oracle ADF and JavaServer Faces: Business Services: ADF Business Components (ADF BC) provides the business services that are responsible for representing database tables and persisting user input values to the database. Model: ADF data binding is accomplished in compliance with JSR-227, a standard data binding and data access facility for Java EE that provides a standard for interactions between UI components and methods available on the business services. With this standard data binding, any Java UI rendering technology can declaratively bind to any business service. Controller: ADF Controller View: Java ServerFaces and ADF Faces; render kits enable the UI components defined by Java ServerFaces or ADF Faces to be rendered differently on different devices. For example, the UI can be rendered on a computer’s browser or on a mobile device such as a cell phone or PDA. Metadata Service: ADF BC applications can also use Metadata Service (MDS) for customization and personalization. This is outside the scope of this course.
  8. Oracle Fusion Middleware 11 g : Build Applications with ADF I 11 - Tracing Data Binding: From Database to Databound Components It is easy for you as a developer to create databound components, but it is helpful for you to also understand what goes on behind the scenes to enable this simplicity. This slide illustrates the source of data that appears on the page. Its ultimate source in an ADF BC application is a table in the database. An ADF BC entity object represents that table, and a developer creates an ADF BC view object to present a specific view of the EO data that is required by an application. The developer exposes the VO to an application in an ADF BC application module. When you create an AM, JDeveloper automatically creates a data control for it. You then bind data on a page to elements in the data control, thus enabling access to the back-end ADF BC entity object, and through that to the database table. The next several slides examine the concept of data binding in more detail, expounding upon the bottom portion of the above slide.
  9. Oracle Fusion Middleware 11 g : Build Applications with ADF I 11 - Using the Data Controls Panel The Data Controls panel shows all the data controls that have been created for the application’s business services and exposes all the data objects, data collections, methods, and operations that are available for binding to UI components. A different icon is used for each type of data control object. Each root node in the Data Controls panel represents a specific data control. Under each data control is a hierarchical list of objects, collections, methods, and operations. How this hierarchy appears on the Data Controls panel depends on the type of business service represented by the data control and how it was defined. When you use technologies other than ADF Business Components (ADF BC) for the business model, then you must explicitly create data controls for the business service. However, ADF BC automatically creates a data control for each application module in an application. The Data Controls panel enables you to easily create databound components on a page. When you drag a data element to a page, you are given a choice of the type of component to use to contain the data element, based on whatever is appropriate for that particular element. Dragging a collection, such as a view object, to the page gives you the choice of creating the component as an ADF form, table, graph, single selection, tree, navigation component, or geographic map. When you select a category, you are presented with additional choices. After you select a component, JDeveloper automatically creates the various code and objects needed to bind the component to the data control that you selected.
  10. Oracle Fusion Middleware 11 g : Build Applications with ADF I 11 - Expression Language and Bindings When you use the Data Controls panel to create a component, the ADF data binding expressions are created for you. The expressions are added to every component attribute that displays data from or references properties of a binding object. Each expression references the appropriate binding objects defined in the page definition file, the file that contains data bindings for a page. You can edit these binding expressions or create your own, as long as you adhere to the basic ADF binding expression syntax. ADF data binding expressions can be added to any component attribute that you want to populate with data from a binding object. In JSF pages, a typical ADF data binding EL expression uses the following syntax to reference any of the different types of binding objects in the binding container: #{bindings. BindingObject . propertyName } where: bindings is a variable that identifies that the binding object being referenced by the expression is located in the binding container of the current page. All ADF data binding EL expressions must start with the bindings variable.
  11. Oracle Fusion Middleware 11 g : Build Applications with ADF I 11 - Data Binding Objects and Metadata Files All of the bindings used by a particular page or form are grouped in a binding container. In general there is one binding container per page or form. The binding context is the handle through which the client accesses the data binding layer. The DataBindings.cpx file maps each page to its page definition file and the data controls it uses. It lists all of the data controls that are in use. The page definition file is created automatically the first time you create a binding in a page. Alternatively, if you select “Go to Page Definition” for a page that does not currently have a page definition, you are prompted to create the page definition file. Page definition files are named pagename PageDef.xml . If you rename a page definition file you must also change the name of the file in DataBindings.cpx . Use the Refactor  Rename  operation to perform a consistent rename. Each binding context, binding container, and data control has its own metadata file. A metadata file is a .xml file that contains all the application-specific information that the ADF model run time needs. Note that ADF BC is different from other data controls in that it does not have a Data Controls definition file, because each application module automatically becomes a data control.
  12. Oracle Fusion Middleware 11 g : Build Applications with ADF I 12 - Bounded and Unbounded ADF Task Flows: Example The example in the slide shows: An unbounded task flow that consists of two pages; there is no entry or exit point in this task flow. It defines the “top level” flow. The CheckoutFlow bounded task flow, which is a train with a single entry and two exit points. It also includes a global control flow rule. A typical application is a combination of an unbounded and one or more bounded task flows. The application can then call bounded task flows from activities within the unbounded task flow. You can include bounded task flows in a top-level (unbounded) task flow diagram. This has various advantages over putting everything in one diagram: It breaks the diagram into modules and makes it more readable. The individual modules (bounded task flows) make it easier for multiple developers to work on pieces of the application. Bounded task flows can be reused by other application developers.
  13. Oracle Fusion Middleware 11 g : Build Applications with ADF I 1 - Technology Choices for ADF BC Applications In this course, you employ the MVC architecture through the use of Oracle ADF and JavaServer Faces: Business Services: ADF Business Components (ADF BC) provides the business services that are responsible for representing database tables and persisting user input values to the database. Model: ADF data binding is accomplished in compliance with JSR-227, a standard data binding and data access facility for Java EE that provides a standard for interactions between UI components and methods available on the business services. With this standard data binding, any Java UI rendering technology can declaratively bind to any business service. Controller: ADF Controller View: Java ServerFaces and ADF Faces; render kits enable the UI components defined by Java ServerFaces or ADF Faces to be rendered differently on different devices. For example, the UI can be rendered on a computer’s browser or on a mobile device such as a cell phone or PDA. Metadata Service: ADF BC applications can also use Metadata Service (MDS) for customization and personalization. This is outside the scope of this course.
  14. Oracle Fusion Middleware 11 g : Build Applications with ADF I 16 - Reusing Components In the course of application development, certain components are often used more than once. Whether the reuse happens within the same application, or across different applications, it is often advantageous to package these reusable components into a library that can be shared between different developers, across different teams, and even across departments within an organization. ADF Library provides a convenient and practical way to create, deploy, and reuse high-level components. You should design your application with component reusability in mind. If you created components that can be reused, you can package them into JAR files and add them to a resource catalog. If you need a component, you may look into the resource catalog for that component and then add the library into your project or application. For example, you can create an application module for a domain and package it up to be used as the model project in several different applications. Or, if your application consumes components, you may be able to load a page template component from a repository of ADF Library JARs to create common look-and-feel pages. Then you can put your page flow together by stringing several task flows components pulled from the library.
  15. Oracle Fusion Middleware 11 g : Build Applications with ADF I 16 - Creating an ADF Library A project corresponds to one ADF Library JAR. If you create multiple projects and want to reuse components from each of the projects, you may need to create an ADF Library JAR for each project. In other situations, you may be able to involve multiple components under one project to create a single ADF Library JAR. For example, you may be able to create business components, application module, task flow, and page template all under one project and create one ADF Library JAR. To package and deploy a project into the ADF Library JAR, perform the following steps: 1. In the left pane of the Project Properties window for the project that contains the component you want to make reusable, select Deployment and then click New. 2. In the Create Deployment Profile dialog box, select ADF Library JAR file for Archive Type drop-down list and enter a name for the deployment profile. Click OK. 3. Edit the profile you just created. In the ADF Library JAR Deployment Profile Properties dialog box, verify the default directory path or enter a new path to store your ADF Library JAR file. Click OK, and then click OK again. 4. In the Application Navigator, right-click the project and select the followng: from the context menu Deploy &gt; deployment &gt; to ADF Library, where deployment is the name of the deployment profile