Está en la página 1de 361

1

2
INTRODUCCIÓN A ORACLE ADF
Y JDEVELOPER

3
Arquitectura de Oracle Fusion Middleware

Oracle Fusion Middleware es


una familia de productos de
infraestructura de aplicaciones
que se utilizan para crear,
ejecutar y administrar
aplicaciones comerciales.

4
Oracle Application Development Framework (ADF)

Orácle ADF también es una tecnología clave utilizada


internamente por Oracle para implementar toda la web de
"próxima generación" interfaces de usuario, incluidas las
aplicaciones Fusion, y todos los componentes de
middleware, como Enterprise, Gerente y consolas de
administración.

5
Cómo ADF encaja en la arquitectura

6
Ejemplo de integración SOA

• Con BAM, puede monitorear todas las órdenes de


compra que pasan por el proceso y establecer umbrales
para rastrear variables que afectan el cumplimiento del
pedido, como cuando un almacén se queda sin
inventario o cuando un servicio web del proveedor no
responde lo suficientemente rápido sobre los precios.

7
Beneficios de Oracle ADF
• Se basa en estándares Java EE
• Apoya exponer los servicios comerciales a través de una variedad de Interfaces de
usuario enriquecidas:
• Web
• Móvil
• Microsoft Office
• Simplifica el desarrollo y aumenta la productividad:
• Proporciona un enfoque de desarrollo visual y declarativo.
• Implementa el código de infraestructura (ORM, seguridad, etc.)
• Crea código reutilizable y mantenible
• Utiliza un marco basado en metadatos
• Implementa las mejores prácticas y patrones de diseño de Java EE, incluyendo MVC y
fachadas de servicio

8
Marco de desarrollo común

Oracle ADF se desarrolló con el objetivo de aumentar la


productividad y la facilidad de uso para los
desarrolladores de aplicaciones. Oracle ADF proporciona
un marco de desarrollo común basado en estándares
Java y tecnologías de código abierto, como Java EE y
arquitectura orientada a servicios (SOA) Con Oracle ADF,
puede crear servicios empresariales reutilizables y
exponerlos a través de una variedad de interfaces de
usuario enriquecidas.

9
Cómo Oracle ADF implementa MVC
Oracle ADF logra una separación limpia de la lógica de negocios, el flujo de
aplicaciones y la interfaz de usuario mediante una arquitectura modelo-vista-
controlador (MVC):
1. La vista representa la interfaz de usuario
2. Cuando un usuario interactúa con la vista,
el controlador maneja la navegación de la página
3. La vista lee los datos del modelo para representar
la interfaz de usuario adecuada.
La separación de los componentes de la interfaz de usuario de la aplicación
subyacente y la lógica empresarial hace que el código sea más flexible y fácil
de mantener.

10
Introducción a Oracle JDeveloper
• Oracle JDeveloper es un entorno de desarrollo integrado (IDE) para
construir en Java Aplicaciones empresariales. JDeveloper admite el ciclo de
vida completo del desarrollo desde el diseño inicial y análisis, codificación y
prueba, hasta el despliegue. Proporciona una serie de características que
simplifican el desarrollo y aumentan la productividad del desarrollador.
• JDeveloper proporciona una combinación de editores visuales, inspectores
de propiedades, asistentes y edición.

11
Marco de desarrollo incorporado

• JDeveloper es el entorno de desarrollo para Oracle ADF. Esto significa que


las mejores prácticas y los estándares para crear aplicaciones ADF están
integrados en las herramientas que utiliza para desarrollar las capas de su
aplicación, que incluye acceso a datos, desarrollo de servicios
empresariales, navegación de páginas, interfaces de cliente, enlaces de
datos y seguridad.

12
Navegador de JDeveloper

El navegador de aplicaciones contiene cuatro paneles,


que son expandibles y plegables.
• Panel de proyectos: muestra todos los proyectos que
forman parte de la aplicación actual, junto con una vista
jerárquica agrupada de los contenidos del proyecto.
• Panel de recursos de la aplicación: muestra recursos
de nivel de aplicación, como descriptores y Conexiones

13
APLICACIÓN EN WINDOWS

14
• Panel de controles de datos: proporciona una vista de
todos los objetos de datos, colecciones de datos,
métodos y operaciones que están disponibles para el
enlace.
• Panel de archivos abiertos recientemente:
proporciona acceso rápido a los archivos de la
aplicación actual que se han abierto recientemente.

15
Editores de JDeveloper
El editor que aparece varía según el tipo de archivo que abra.
Las pestañas en la parte inferior de el editor proporciona
diferentes vistas del archivo para darle acceso completo para
modificar el código de la aplicación, incluidos enlaces de datos.
Por ejemplo, puede editar un archivo en la vista Diseño
visualmente o puede haga clic en la pestaña Fuente para
modificar el código directamente. Puede hacer clic en la
pestaña Historial para ver el historial de un archivo y ver las
diferencias entre dos versiones del archivo.

16
Editores de JDeveloper

17
Tipos de editores

• Editores visuales: le permiten diseñar y editar páginas


y diagramas visualmente.
• Editores de origen: le permiten editar el código fuente
manualmente. Por defecto, los archivos se abren en un
editor visual.
• Editores de descripción general: le permiten ver y
modificar características de varios objetos.

18
Tipos de editores

19
Menú del equipo para la integración del control de
código fuente

20
Menú Teem
JDeveloper integra el popular sistema de control de versiones,
Subversion, en su conjunto de funciones disponibles. Puede
acceder a una serie de comandos de Subversion directamente
desde la interfaz de JDeveloper, a través del menú Teem o a
través del Control de versiones Navegador. Por ejemplo, puede
ver los cambios pendientes, comparar versiones, ver el historial
de código y el código de bifurcación o fusión. Puede ver el
historial de versiones en la pestaña Historial de los editores.

21
Ventana de componentes
La ventana Componentes muestra los componentes que están disponibles en
JDeveloper para construir una interfaz de usuario.

22
Ventana de estructura
La ventana Estructura muestra los elementos del documento seleccionado en
un formato de árbol, con el elemento seleccionado resaltado.

23
Ventana de propiedades
La ventana Propiedades muestra todas las propiedades configurables para un
componente seleccionado.

24
Ventana de registro
• La ventana de registro muestra los resultados de los procesos de
JDeveloper, como la ejecución, la depuración y perfilado.

25
Otras ventanas útiles

Ventana
Ventana Bases Recursos
de datos

26
Comenzando en JDeveloper
ADF

27
Crear una aplicación en JDeveloper

28
Descripción general de la aplicación y lista de
verificación
Cuando crea una aplicación por primera vez,
la página de descripción general de la
aplicación aparece en el área del editor de
JDeveloper. Para las aplicaciones web de
Fusion, la página de descripción general de la
aplicación incluye una lista de verificación
que le guía a través de los pasos necesarios
para compilar la aplicación.

29
Edición de propiedades de la aplicación
Las propiedades de la aplicación incluyen
configuraciones que son válidas a nivel de aplicación.
La ubicación de recursos y bibliotecas a nivel de
aplicación.
Propiedades de implementación
Paquetes de recursos registrados
Las propiedades de la aplicación también incluyen
propiedades de tiempo de ejecución, como:
El nombre de la aplicación y el enlace del servidor
La ubicación para personalizaciones y metadatos de
tiempo de ejecución
La política de implementación en caliente
predeterminada

30
Crear un proyecto en JDeveloper

31
Edición de propiedades del proyecto
• La ubicación de los archivos de origen.
• El comportamiento de herramientas como Ant y
varios compiladores.
• Dependencias del proyecto.
• La conexión de la base de datos a utilizar para
el desarrollo.
• Propiedades de implementación.
• La lista de características que el proyecto está
confiado para usar.
• El classpath para bibliotecas.
• Opciones de paquete de recursos.
• Ejecutar configuraciones para el proyecto.

32
Crear una conexión de base de datos en
JDeveloper
Puede crear una conexión de base de
datos que esté disponible para todos
los proyectos en una aplicación
específica, o puede crear una conexión
IDE que esté disponible para todas las
aplicaciones y proyectos.
Las conexiones IDE se pueden agregar
a un catálogo de recursos y compartir
con otros desarrolladores del equipo

33
CREACIÓN DE UN MODELO COMERCIAL
CON COMPONENTES COMERCIALES ADF

34
Construyendo la Capa de Servicios Empresariales

35
Componentes comerciales de ADF
• El marco de ADF Business Components (ADF BC):
• Maneja el acceso a datos y la ejecución de la lógica de negocios:
• Administra el mapeo relacional de objetos entre los objetos de la aplicación y la base de datos
• Administra la validación de datos y lógica de negocios
• Incluye operaciones integradas y personalizables para manipular datos, incluidos
seleccionar, insertar, actualizar, eliminar, confirmar y Retroceder
• Permite el desarrollo similar a 4GL
• Desarrollo visual basado en asistente
• Impulsado por metadatos
• Permite el desarrollo de reglas de negocio declarativas

36
Tipos de componentes comerciales de ADF

37
Objetos de entidad (EOs)

• Manejar la persistencia de datos


• Asignar a una sola fila en una definición de tabla u otra fuente
de datos.
• Contiene atributos que representan columnas.
• Encapsula la lógica de validación y puede incluir métodos
personalizados.
• Se basan en una representación física de los datos.

38
Asociaciones

39
Tipos de componentes comerciales ADF: Resumen de
objetos de entidad

40
View Objects (VOs)
• Proporcione una vista de los datos configurados para la
interfaz de usuario.
• Se utilizan para unir, filtrar, ordenar y agregar.
• Puede acceder al caché de objetos de la entidad para
aplicar cambios a los datos.
• Se puede construir a partir de un objeto de entidad, una
consulta SQL, una lista de estadísticas o mediante
programación.

41
Tipos de View Objects

42
View Links

43
Relaciones maestro-detalle en la interfaz de usuario

44
Interacción entre View Objects y Entity
Objects: recuperar datos

45
Interacción entre View Objects y Entity
Objects: recuperación de datos de solo lectura

46
Interacción entre View Objects y Entity
Objects: datos persistentes

47
Crear componentes comerciales ADF
• Siga las mejores prácticas utilizando la Lista de
verificación de inicio rápido (seleccione
Aplicación> Mostrar descripción general).
• Cree un primer corte ejecutando el asistente
Crear componentes empresariales a partir de
tablas.
• Cree BC individualmente para un control más
preciso sobre la especificación de propiedades.
• Modelar BC en un diagrama.

48
Asistente para crear componentes empresariales desde tablas:
Entity Objects

49
Crear componentes empresariales a partir de tablas y
asistente: Entity-Based View Objects

50
Crear componentes empresariales a partir de tablas y
asistente: Query-Based View Objects

51
Crear componentes empresariales a partir de tablas y
asistente: Application Module

52
Crear componentes empresariales a partir de tablas y
asistente: Diagram

53
Lanzamiento de asistentes individuales para crear
componentes empresariales

54
Probar el modelo de datos

55
Componentes de refactorización

• Con la refactorización puedes:


• Cambiar el nombre de objetos, como
asociaciones y ver enlaces.
• Mover objetos o paquetes a un paquete
diferente.
• Cambiar todas las referencias a lo largo de
la aplicación.
• Obtenga una vista previa y excluya los usos
individuales antes de aplicar el cambio.

56
CREACIÓN DE COMPONENTES DE UI
UNIDOS A DATOS

57
Construyendo La Capa Vista

58
HTML estático

59
Página Web Dinámica: CGI

60
Página Web Dinámica: Servlets

61
Pagina Web Dinámica: Páginas Java Server (JSP)

62
Pagina Web Dinámica: JavaServer Faces (JSF) 11
y 12 JavaServer Faces (JSF)

63
Java Server Faces (JSF) 2.0
Java Server Faces 2.0 (JSF), es la tecnología estándar de interfaz
de usuario web en Java Platform, Enterprise Edition (Java EE),
estandariza algunas características que anteriormente solo estaban
disponibles en marcos que ampliaban la especificación JSF.
JSF 2.0 presenta varias mejoras que mejoran la experiencia del
desarrollador. Por ejemplo, JSF 2.0 proporciona características
como la integración nativa de JavaScript asíncrono y XML (AJAX) en
el ciclo de vida de solicitud de Java Server Faces, navegación
mejorada, capacidades mejoradas de marcadores y manejo
mejorado de errores.

64
Arquitectura de componentes JSF:
Cuales son los componentes de la
arquitectura de aplicaciones jsf?

65
La arquitectura de componentes JSF:
Componentes de la IU

66
La arquitectura de componentes JSF:
Managed Beans y Expression Language

67
La arquitectura de componentes JSF:
Controlador JSF

68
La arquitectura de componentes JSF:
Renders y kits de Render Renders

69
Componentes estándar de JSF

70
Oracle ADF Faces
ADF Faces proporciona un rico conjunto de componentes de visualización
que son capaces de representar cuadros, gráficos, indicadores y otros
gráficos dinámicos que proporcionan actualizaciones en tiempo real. Los
componentes de visualización tienen incorporada la funcionalidad AJAX, lo
que significa que no tiene que codificar animaciones e interactividad en el
componente; simplemente usa el modelo ADF para vincular el componente
a los datos que mostrará, y luego especifica las propiedades del
componente para configurar cómo se comporta el componente

71
Características
Construido sobre las API de JSF
• Más de 150 componentes habilitados
para AJAX
• Componentes más avanzados y más
avanzados e interesantes
- Representación de página parcial
-Tablas desplazables, ordenables
• Se ejecuta en cualquier implementación
compatible con JSF
• Soporte de modelo ADF
72
Crear una página JSF en JDeveloper

73
Ejemplo: diseño de dos columnas

74
Agregar componentes de IU (página)
Menciona las 4 maneras de
agregar los diferentes
componentes a la IU
(página)?

• Arrastrar un elemento de datos desde el panel Controles de datos al


editor visual, editor de origen o ventana estructura
• Arrastrando un componente desde la ventana Componentes al editor
visual, editor fuente o ventana estructura
• Usando el menú contextual en el editor o la ventana estructura
• Escribir código directamente en el editor de origen

75
Uso del panel de controles de datos
Proporciona una representación visual
de su servicio comercial:
- Métodos
- Consultar parámetros y resultados
- Atributos
- Colecciones
- Operaciones incorporadas
• Proporciona enlace de datos
automático para servicios empresariales.

76
Usar la ventana de componentes

La ventana Componentes
muestra todos los
componentes disponibles
para construir la interfaz de
usuario.
Para agregar componentes a
una página JSF, arrástrelos y
suéltelos en la página en el
editor visual o en la ventana
Estructura

77
Usando el menú contextual
Tanto en la ventana Estructura
como en la vista de diseño del
editor, puede hacer clic con el
botón derecho y seleccionar en el
menú contextual para:
• Insertar otro componente de la
interfaz de usuario dentro, antes o
después del seleccionado
• Rodea el componente
seleccionado con otro componente

78
Usando el editor de código

Dentro del editor de código fuente, puede agregar componentes


arrastrando y soltando controles de datos o componentes a la página
(tal como lo hace en la vista Diseño).

79
Ejecutando y probando la página
• Guarda todos los archivos no guardados
• Compila los archivos de origen y crea los archivos JAR,
WAR y EAR de la aplicación.
• Inicia el servidor de aplicaciones incorporado.
•Implementa los archivos JAR, WAR y EAR de la
aplicación en el servidor de aplicaciones.
• Implementa información de conexión sobre las fuentes
de datos definidas para la aplicación
• Inicia la aplicación en su navegador predeterminado
donde puede probar la aplicación Inicia la aplicación en
su navegador predeterminado, donde puede probar la
aplicación

80
DEFINIR FLUJOS DE TAREAS Y
AGREGAR NAVEGACIÓN

81
Construyendo la capa de controlador

82
Comparación de una navegación tradicional con el
controlador JSF. Menciona la diferencia entre
una navegación tradicional y el
uso de un controlador JSF

83
Navegación Controlador JSF: Ejemplo

84
Controlador ADF

El controlador ADF proporciona un modelo mejorado


de navegación y gestión de estado en la parte
superior del controlador JSF. En lugar de representar
una aplicación como un flujo de página JSF único,
puede dividir el flujo de la página en una colección de
flujos de tareas reutilizables. Cada flujo de tarea
contiene actividades que representan operaciones
lógicas simples, como mostrar una página, ejecutar la
lógica de la aplicación o llamar a un método u otro
flujo de tareas. Las transiciones entre actividades de
flujo de tareas se definen mediante casos de flujo de
control.

85
Ventajas del flujo de tareas
• A diferencia de los flujos de página JSF, que representan la aplicación completa
en un solo archivo de navegación de página, los flujos de tareas ADF se pueden
dividir en una serie de flujos modulares que se llaman entre sí.
• Los flujos de tareas del ADF no se limitan a la navegación de la página; pueden
llamar a métodos, otros flujos de tareas o actividades que realizan otras tareas,
como la navegación condicional.
• Los flujos de tareas de ADF son reutilizables dentro de la misma aplicación o en
una aplicación completamente diferente

86
Controlador ADF: ejemplo de flujo de tareas

87
Crear flujos de tareas

88
Definición de actividades y reglas de flujo de
control

89
Definición de navegación global con
comodines

90
El origen de las reglas de flujo de control de
comodines se ve así:

91
Comparación entre una regla de flujo de tarea normal y
uno con una regla de flujo de control comodín.

92
Definición de una regla de flujo de control de
comodines

93
Componentes de navegación de Páginas ADF

94
Agregar componentes de navegación a una
página

95
DIA 2

96
PERSONALIZACIÓN DECLARATIVA
DE COMPONENTES EMPRESARIALES DE ADF

97
Es posible que deba eliminar
atributos de un objeto de entidad o cambiar el tipo de datos
de un atributo.

98
JDeveloper proporciona dos ventanas principales para editar las
propiedades de los componentes de manera declarativa:
*La ventana principal del editor
*La ventana Propiedades

99
• General: establezca teclas
alternativas, ajustes, propiedades
personalizadas, seguridad y lógica
empresarial grupos para el objeto
de entidad.
• Atributos: modifique o agregue
atributos, agregue reglas de
validación, establezca seguridad y
defina propiedades personalizadas
para el atributo seleccionado.
• Reglas comerciales: Cree y
mantenga reglas comerciales
basadas en configuraciones
declarativas, Expresiones Groovy,
expresiones regulares, consultas
SQL y métodos Java para la
entidad objeto y sus atributos.

100
Sugerencias de atributos UI
Una de las muchas características integradas de ADF
Business Components es la capacidad de definir
sugerencias de IU en atributos
Las sugerencias de IU son configuraciones de atributos
adicionales que la capa de vista puede usar para mostrar
automáticamente los atributos y valores del modelo de
datos al usuario en un entorno local coherente manera
sensible

101
Para agregar sugerencias de IU para un objeto de entidad o
un atributo de objeto de vista

102
Algunas de las sugerencias de IU

• Display: determina si se debe mostrar el atributo


• Label: cambia la etiqueta predeterminada para el atributo. Las etiquetas son
avisos o encabezados de tabla que preceden al valor de un campo.
• Tooltip: establece que el texto aparezca en la información sobre herramientas o
el atributo <ALT> de HTML
• Format Type: establece el formateador a utilizar, como moneda o número (para
un número atributo)
• Control Type: especifica el tipo de control predeterminado que utiliza la IU del
cliente para mostrar atributo (el desarrollador de la interfaz de usuario puede
anular esto para una página en particular).

103
Atributos Transitorios

Los atributos transitorios son simplemente atributos de


solo lectura que no se conservan en la base de datos.
Por ejemplo, puede usar un atributo transitorio para
proporcionar un valor calculado (como un subtotal) que no
está almacenado en la base de datos.

104
105
Valores predeterminados
El valor predeterminado puede ser un valor literal o puede
especificar un Expresión Groovy o instrucción SQL que se
evalúa en tiempo de ejecución para devolver el valor
predeterminado.

106
107
NOTA: Cuando más de un atributo tiene un valor
predeterminado, los valores se asignan en el orden en que
aparecen en el archivo XML del objeto de entidad. Tenga
esto en cuenta si desea el valor predeterminado El valor de
un atributo se basará en otro atributo con un valor
predeterminado.

108
Sincronización con valores asignados por
disparador
Si está utilizando un activador para asignar una clave
primaria de una secuencia de base de datos, puede
configurar el Tipo del atributo de clave principal para
DBSequence.
Cuando elige DBSequence, JDeveloper establece
automáticamente la propiedad Actualizable en Verdadero y
selecciona "Actualizar al insertar".

109
Para usar una secuencia de base de datos para generar una clave
primaria, seleccione el tipo DBSequence.

110
Definición de valores clave alternativos
Las llaves alternativas permiten a los usuarios encontrar
filas de entidades en tiempo de ejecución mediante el uso
de valores que no sean primarios o llaves únicas.

Las claves alternativas son útiles porque no crean índices


en la base de datos. Además, son más eficiente en la
búsqueda del caché de objetos de entidad.

111
112
Sincronizar un objeto de entidad con cambios
en su tabla de base de datos

Si modifica una tabla para la que ya ha creado un objeto de


entidad, la entidad existente no se ve afectado por cambios
menores en la tabla subyacente, como la adición o
eliminación de columnas o cambios en los tipos de datos.

113
114
Edicion de View Objects

115
Ajuste de vista de objetos

116
Realizar Cálculos

117
Restringir y reordenar columnas

118
Crear variables de enlace con nombre

Permiten a los desarrolladores asignar nombres lógicos a


los parámetros de consulta SQL, establecer valores
predeterminados y reutilizar y reordenar los parámetros
según sea necesario. Vincular variables también hace que
las consultas de objetos de vista sean menos susceptibles
a los ataques de inyección SQL.

119
120
Creación de criterios de vista con nombre (cláusulas
estructuradas WHERE)

121
Aplicación de criterios de vista con nombre a una
instancia de objeto de vista
Después de definir un criterio de vista con nombre, puede
aplicarlo a instancias de objeto de vista específicas. Con
este enfoque, puede definir múltiples usos de vista para
un solo objeto de vista en un módulo de aplicación.

122
123
Crear objetos de vista de unión

124
Selección de atributos en objetos de vista de unión

125
Crear consultas más eficientes mediante el uso de
objetos de vista declarativa

Puede hacer que la consulta SQL para un objeto de vista


basado en la entidad sea más eficiente cambiando de
Modo normal al Modo declarativo.

126
127
Crear relaciones maestro-detalle entre objetos
de vista
El enlace de vista asocia una fila de una instancia de objeto
de vista (el objeto maestro) con una o más filas de otro
objeto de vista instancia (el objeto de detalle).

128
129
Crear enlaces de vista

130
List of Values (LOV)

Al crear una aplicación, es posible que desee restringir la


entrada de datos permitiendo que los usuarios seleccionen
de una lista de valores válidos.

131
Definiendo una LOV

132
LOV en cascada (dependientes)
Diferencia entre un LOV regular:
• Los criterios de vista se
utilizan para filtrar la lista
dependiente.
• Las dependencias se definen
en el atributo dependiente.
• Autoenvío está configurado en
VERDADERO en el primer
componente de la IU.

133
134
Modificación de módulos de aplicación

135
Cambiar la conexión de la base de datos

136
Módulo de aplicación de anidamiento

137
Definición de módulos de aplicación anidados

138
Validar la entrada del
usuario

139
Opciones de validación para aplicaciones ADF
BC

140
Tipos de reglas de validación: Entidad y nivel de
atributo

141
Crear reglas de validación

142
Especificando la definición de la regla

143
Especificación de condiciones para la ejecución
Reglas de validación

144
Especificación de mensajes de error para
manejar fallas

145
Introducción a grovvy
• Es un lenguaje de script similar a Java que es dinámicamente
compilado y evaluado en tiempo de ejecución.
• Le permite usar expresiones declarativas en lugar de escribir
código Java
• • Se utiliza para valores en todo el modelo ADF BC, incluso:
• - Valores de atributo predeterminados
• - Variables de enlace
• - Tokens de mensaje de error

146
Uso de la sintaxis Groovy en ADF

147
Hay un nombre reservado de nivel superior, adf, para acceder a los
objetos que crea el marco disponible para el script Groovy. Estos objetos
incluyen:
• adf.context: para hacer referencia al objeto ADFContext
• adf.object: para hacer referencia al objeto en el que se aplica la
expresión
• adf.error: en las reglas de validación, para acceder al controlador de
errores que permite la validación expresión para generar excepciones
(adf.error.raise) o advertencias(adf.error.warn)
• adf.currentDate: para hacer referencia a la fecha actual con la hora
truncada
• adf.currentDateTime: para hacer referencia a la fecha y hora actuales

148
Editar Expresiones groovy

149
Internacionalizando mensajes y textos
La localización es el proceso de adaptar realmente la
aplicación a una configuración regional específica
traduciendo texto y agregando componentes específicos
de la configuración regional.

150
Pasos para internacionalizar una aplicación
1. Cree un paquete de recursos base (o paquetes) en el idioma
predeterminado de su aplicación. Los paquetes de recursos deben
contener todas las cadenas de texto traducibles, excepto el texto
repetitivo traducido previamente en los componentes del ADF. Los
paquetes que crees deberían estar en el idioma predeterminado de la
aplicación.
2. Cree una versión localizada del paquete para cada configuración
regional admitida por la aplicación.
3. Configure la aplicación para admitir configuraciones regionales
específicas.

151
Paquetes de recursos

152
Crear paquetes de recursos: Establecer opciones de
paquete de recursos

153
154
Crear paquetes de recursos: ViewController

155
Configuración de la aplicación para soporte local

156
MODIFICACIÓN DE ENLACES DE DATOS
ENTRE LA INTERFAZ DE USUARIO Y EL
MODELO DE DATOS

157
Modificación de enlaces de datos en la capa
del modelo

158
Capa de modelo ADF de Oracle: Review

• Los controles de datos exponen la interfaz


pública de un servicio comercial.
• Los enlaces se utilizan para conectar
componentes de la interfaz de usuario a
controles de datos.
• Los controles y enlaces de datos se definen
mediante el uso de metadatos XML.
• La ventana Controles de datos permite la
creación de componentes de la interfaz de
usuario que se enlazan automáticamente a
los datos.

159
Controles de datos ADF

160
Crear controles de datos ADF
ADF Business Components
Crea un módulo de aplicación que define el Otros Business Services
modelo de datos y el control de datos está
disponible automáticamente. Seleccione Archivo> Nuevo> Desde galería>
Nivel empresarial> Controles de datos y cree el
control de datos.

161
Uso de controles de datos ADF
1. En el panel Controles de datos,
seleccione un elemento de datos.
2. Arrástrelo a una página en el
editor de página o en la ventana
Estructura.
3. En el menú contextual,
seleccione el tipo de componente
que desea crear.

162
Examinar el archivo de definición de página

163
Edición en el archivo de definición de página

164
Edición en la ventana de propiedades

165
Edición vinculando un componente existente o a
un control de datos
Crea enlaces de datos en el archivo de definición de página y llena los atributos del
componente UI con expresiones de enlace de datos

166
Edición al volver a vincular un componente
existente a un control de datos diferente
El control de datos que seleccione debe ser compatible con el componente que está volviendo
a vincular.

167
Cómo funcionan los enlaces detrás de escena

168
DIA 3

169
AGREGAR FUNCIONALIDAD A
LAS PAGINAS

170
Control General

171
Definición de texto y componentes de selección

172
Definición de listas para componentes de
selección

La lista de valores para un componente de selección puede provenir de:


• Una lista estática de valores.
• Una lista dinámica de valores.
• Una lista de valores basada en modelos
• Un managed bean

173
Definición de listas para componentes de
selección

174
Definición de vistas de datos

175
Definición de Tablas

176
Especificar propiedades de tabla

177
Examinar enlaces de tabla

178
Definición de formularios de consulta

179
Más información sobre los criterios de vista
con nombre utilizados para consultas

180
Especificar un componente de visualización
para un panel de consulta

181
Definición de menús y barras de herramientas

182
Definición de componentes de diseño

183
Definición de componentes de visualización de
datos (DVT)

184
Agregar código de aplicación a Managed Beans
¿Que son y que
uso se les da a los
managed beans?

Managed Bean se usan para validar datos, manejar


eventos, almacenar datos entre páginas y realizar
navegación. Son objetos Java simples que se
registran con el contenedor JSF e incluyen un
constructor sin argumentos.
Un bean de respaldo es un caso de uso especial de
un bean administrado que está asociado con una
página específica, el bean "respalda" la página.

185
Crear un bean de respaldo como un managed
bean
Exponer automáticamente los
componentes de la interfaz de usuario
en un bean de respaldo cuando crea
una nueva página.
Enlace automático de una página
existente a un bean administrado
(Diseño> Propiedades de página>
pestaña Enlace de componentes)
• Crear un bean de respaldo cuando se
vincula la propiedad de acción de un
componente a un método en un bean
de respaldo

186
Registrar una clase de bean como un bean
gestionado

187
Llamar a un Manage Beans desde una página
JSF

188
Ejemplo: habilitar y deshabilitar componentes
Programáticamente

189
Ejemplo: habilitar y deshabilitar componentes
Declarativamente

190
AGREGAR FUNCIONES AVANZADAS A
FLUJOS DE NAVEGACIÓN DE PÁGINA

191
Flujos de tareas de ADF sin límites
Un flujo de tareas ilimitadas es un conjunto de actividades, reglas de flujo de
control y beans administrados que interactúan para permitir que un usuario
complete una tarea.

192
Flujos de tareas limitadas
Un flujo de tareas limitado es una forma especializada de flujo de tareas que,
en contraste con el flujo de tareas ilimitadas, tiene un único punto de entrada y
cero o más puntos de salida. Contiene su propio conjunto de reglas de flujo de
control privado, actividades y beans administrados.

Que es un flujo de tareas


limitado

193
Ejemplo de flujo de tareas

194
Creación de flujos de tareas

195
Trabajando con el Editor de flujo de tareas

196
Actividades de flujo de tareas

Algunas actividades de uso común para crear flujos de


tareas: Tipos de Actividades que se pueden usar
para definir un flujo de tareas de navegación

• Ver actividad
y en que consiste cada uno

• Actividad del enrutador


• Actividad de llamada al método
• Actividad de llamada de flujo de tarea
• Actividad de retorno del flujo de tareas
• Actividad de visualización de URL

197
Agregar navegación condicional a un flujo de
tareas
Actividades de enrutador:
• Use expresiones que evalúen verdadero o falso
• Defina la navegación condicionalmente en función del resultado de la
expresión

198
Definición de actividades del enrutador

199
Llamar a un método desde un flujo de tareas

200
Llamar a otros flujos de tareas desde un flujo
de tareas

201
Regresar de un flujo de tareas

202
Conversión de flujos de tareas entre acotados y
sin límites

203
Convertir un flujo de tareas para usar
fragmentos de página

204
Usar regiones en una página

205
Definición de un flujo de tareas limitado como
una región

206
Crear componentes de navegación
Mencionas las diferentes
bibliotecas de componentes de la
categoría de ADF Faces

207
Definición de menús de navegación

208
Definición de menús en cascada

209
Creando Breadcrumbs

210
Crear un panel de navegación

211
Usando trenes

212
Creando trenes

213
Saltarse una parada de tren

214
PASAR VALORES ENTRE
ELEMENTOS DE LA INTERFAZ DE USUARIO

215
Valores de retención en el modelo de datos

• Puede definir atributos transitorios en componentes empresariales


para guardar un estado adicional o información.
• ADF BC mantiene el estado de la fila seleccionada actualmente, por
lo que aparece un formulario de consulta que muestra los resultados
en una página diferente no tienen que pasar un parámetro a esa
página sino que se basa en la moneda de fila.

216
Valores de mantenimiento Managed Beans
Puede pasar valores entre páginas utilizando managed
beans para mantener los valores. Usted puede almacenar
valores en las propiedades de managed beans que cree y
registre, o puede almacenar valores en atributos con
ámbito de memoria sin definir explícitamente un managed
bean.

217
Almacenamiento de valores en propiedades beans

218
Ámbitos de memoria JSF estándar
• Aplicación: los managed beans con ámbito de aplicación están
disponibles para una aplicación completa y se comparten entre los
usuarios
• Sesión: los managed beans con ámbito de sesión son específicos de la
interfaz de usuario y viven hasta que la sesión del usuario se invalida o
caduca.
• Solicitud: el alcance de solicitud es el alcance JSF estándar más
pequeño disponible. Dura para el tiempo que lleva la transición de una
página a la siguiente.
• Ninguno: el bean gestionado se instancia cada vez que se hace
referencia a él.

219
Duración del alcance de la memoria con un flujo de
tareas

220
Acceso a los ámbitos de memoria del ADF
Puede usar EL para acceder a los siguientes ámbitos de
memoria ADF:
• #{pageFlowScope}
• #{viewScope}
• #{backingBeanScope}

221
Almacenamiento de valores en atributos con alcance de
memoria

222
Establecer el valor de un atributo con alcance de
memoria mediante el uso de un conjunto de ropiedades
Listener

223
Uso de parámetros para pasar valores
 Puedes usar:
• Parámetros de página
• Parámetros de enlace de Task Flow
• Parámetros Task Flow
• Ver parámetros de actividad
• Parámetros de actividad de llamadas de Task Flow
Establece los valores de los parámetros utilizando expresiones.
El objetivo es una mayor reutilización de páginas y flujos de tareas.

224
Pasar Valores

225
Usar parámetros de página
Los parámetros de la página son:
• Parámetros de salida para pasar un valor de una página
• Almacenado en el contenedor de enlace de la página.
• Definido en la ventana Estructura o en la ventana Propiedades para
un archivo de definición de página

226
Usar parámetros de flujo de tareas
Los parámetros del flujo de tareas son:
• Parámetros de entrada para pasar un valor a un flujo de tarea
• Definido en el archivo .xml para el flujo de tareas (puede usar la
Ventana de propiedades para el flujo de tareas).

227
Uso de parámetros de enlace de flujo de tareas
Los parámetros de enlace de flujo de tareas son:
• Parámetros de entrada para pasar un valor a un flujo de tarea
que existe como una región en una página
• Almacenado en el contenedor de enlace de la página.
• Definido en el archivo de definición de página.

228
Uso de los parámetros de vista de actividad

229
Pasar valores a un flujo de tareas de una actividad de
llamada de flujo de tareas

230
Devolución de valores llamando a un flujo de tarea

231
Decidir qué tipos de parámetros usar

• Los parámetros están diseñados para:


 Mejora la reutilización
 Funcionalidad encapsulada
• Puede usar más de un tipo de parámetro para lograr
estos objetivos

232
DIA 4

233
Respuesta a eventos
de aplicación

234
Respuesta a eventos de aplicación

235
Fases del ciclo de vida de JSF

236
Fases del ciclo de vida del ADF

237
PPR nativo • Propósitos de PPR:
– Mejora el rendimiento de la aplicación.
– Mejora la experiencia del usuario.
– No requiere una actualización de página
completa para cambios
– Envía cargas útiles más pequeñas a través de
conexiones a Internet
• PPR no debe usarse en las siguientes situaciones:
– Al navegar a otra página
– Cuando los tiempos de respuesta pueden ser
largos
– Cuando es necesario volver a dibujar varias
secciones de la página
• PPR puede causar problemas de accesibilidad.

238
Habilitar PPR declarativamente

239
Eventos de cambio de valor
• Los componentes de entrada aumentan los eventos de cambio de
valor.
• El código para el escucha de cambio de valor puede estar en el bean
de respaldo.
• El código auxiliar es generado por JDeveloper.
• El evento de cambio de valor se registra en la fuente de la página.
• Los eventos de cambio de valor se procesan en la fase Invocar
aplicación del ciclo de vida.
• Los eventos de cambio de valor se disparan antes que los eventos de
acción.

240
Uso de escuchas de eventos de cambio de
valor
• Seleccione el componente de entrada en el editor visual.
• Edite la propiedad valueChangeListener y seleccione un bean y método, o
cree uno nuevo.
• JDeveloper:
- Crea el método en el bean administrado si no lo hace ya existe
- Agrega el método a la propiedad valueChangeListener en
• la fuente de la página
• Agregue su código.

241
Eventos de acción
• Los componentes del comando generan eventos de acción.
• El código para responder al evento de acción puede estar en el bean de
respaldo o en la clase externa.
• Los métodos llamados por los eventos de acción devuelven una cadena de
resultado que el controlador utiliza para la navegación.
• El código auxiliar es generado por JDeveloper bajo demanda.
• La acción se registra en la fuente de la página.
• Los eventos de acción se llaman en la fase Invocar aplicación del ciclo de vida.
• Los métodos de acción son los últimos en ejecutarse después de otros oyentes,
como los eventos valueChange.

242
Crear métodos de acción
Para crear un método de acción:
1. Invoque el editor de enlace de acciones.
2. Seleccione un existinbean y un método
(o cree uno nuevo).
• JDeveloper hace lo siguiente:
- (Si el bean no existe) Crea una clase Java y la registra como un bean
administrado
- (Si el método no existe) Crea un código auxiliar de método en la clase de
bean administrado
- Agrega el método a la propiedad de acción del componente
• Agregue su propio código.
• Los métodos de acción devuelven un resultado de cadena.

243
Implementación programática de la
funcionalidad del servicio comercial

244
Personalización programática del modelo de datos

245
Decidir dónde agregar un código personalizado
Casos de uso comunes para agregar código personalizado:
Componentes comerciales
• Anular el comportamiento predeterminado.
• Declarar métodos personalizados.
• Definir la lógica de validación.
modelo
• Acceda a datos y operaciones a través de enlaces ADF.
Vista
• Agregar código específico de la interfaz de usuario.
Controlador (no cubierto en esta lección)
• Definir lógica para navegar mediante programación.

246
Descripción general de las clases de Frameworkpara
componentes empresariales ADF

247
Generando clases de Java para agregar código personalizado

Para generar una clase Java para


un componente empresarial:
• 1. En la pestaña Java del editor
de información general, haga clic
en Editar.
• 2. Seleccione las clases para
generar.

248
Crear un validador de métodos para un objeto o atributo de
entidad
• Defina un validador de métodos en el • Agregue su propio código al método
objeto de entidad. validateXXX ().

249
Usando el código Insight
• Utilice la información del código para ver los métodos a los que
puede llamar desde una clase

250
Uso de criterios de vista con objetos de vista

251
Personalizar módulos de aplicación
• Casos de uso común:
• Realizar operaciones comunes de módulos de aplicación.
• Anular métodos para agregar código de configuración personalizado.
• Declarar métodos de servicio personalizados.

252
Crear métodos de servicio personalizados
Métodos de servicio:
• Son útiles para:
• Código que no es específico para un objeto de vista particular
• Realización de operaciones en instancias de objetos de vista
• Gestionar transacciones
• Cambiar dinámicamente el modelo de datos
• Se puede llamar desde el cliente, lo que requiere muy poca manipulación de
datos en el propio cliente
• Se implementan en la clase del módulo de aplicación
• Se agregan por:
• Agregar código a la clase Java
• Exponer los métodos de servicio personalizados en la interfaz del cliente

253
Exposición de métodos de servicio personalizados en
la interfaz del cliente

254
Prueba de la interfaz del cliente en Oracle ADF
Model Tester

255
Creación de clases de extensión para componentes empresariales
ADF

256
Tipos de enlace de ADF

257
Clases Java detrás de los enlaces ADF

258
IMPLEMENTACIÓN DE
CAPACIDADES
TRANSACCIONALES

259
Manejo de transacciones con componentes
comerciales ADF
• Módulos de aplicación raíz:
- Maneja transacciones y cuenta con soporte de concurrencia
- Usa una sola conexión de base de datos
- Proporciona capacidades de transacción para inserciones, actualizaciones y
eliminaciones para todos los objetos de vista en el módulo de aplicación
•No se requiere codificación a menos que desee personalizar el
comportamiento predeterminado.
•Para módulos de aplicaciones anidados, el módulo de aplicación raíz
proporciona el contexto de transacción para los demás.

260
Transacción Que es una transacción

Una transacción es una colección persistente de unidades de trabajo que se


pueden confirmar o revertir juntas como un grupo. El marco de Business
Components maneja todas las transacciones a nivel de módulo de aplicación.

Un módulo de aplicación es un contenedor transaccional para una unidad


lógica de trabajo, por lo que cualquier actualización, inserción o eliminación
de todos los objetos de vista en el módulo de aplicación se confirma o revierte
de una vez. El módulo de aplicación más externo o raíz proporciona el
contexto de transacción para todos los módulos de aplicación anidados. Este
contexto también proporciona una conexión de base de datos única.

261
Transacciones de modelo ADF predeterminadas

262
Flujos de tareas y módulos de aplicación
Los flujos de tareas delimitados por ADF proporcionan múltiples opciones para
controlar la gestión de transacciones. También proporcionan la capacidad de
compartir los controles de datos de cualquier flujo de tareas de llamada a través
de ámbitos de control de datos.
• Ámbitos de control de datos:
- Aislado
Menciona los diferentes tipos
- Compartido de transacciones que se pueden
definir en un flujo de tareas
delimitado. Las opciones
• Opciones de transacción:
- Sin transacción de controlador
- Siempre comience una nueva transacción
- Utilice siempre la transacción existente
- Utilice la transacción existente si es posible

263
Ámbitos de control de datos A qué se refiere el ámbito
de control de datos

Ámbitos de control de datos se refieren a la visibilidad o la vida de un control de


datos en diferentes partes de una aplicación. Cuando un flujo de tarea define un
alcance de control de datos compartido, esto implica que el flujo de tarea
intentará compartir cualquier instancia de un control de datos con la tarea del
llamador de flujo.
Este intercambio ocurrirá si los controles de datos tienen la misma definición.
Esto contrasta con la creación de una nueva instancia de control de datos para
un flujo de tareas, donde no se comparte. El comportamiento compartido se
implementa mediante el uso de marcos de control de datos.

• Las siguientes opciones se establecen en el flujo de tareas.


- Compartido
- Aislado

264
Alcance de control de datos compartidos
Cuales son las dos opciones que se
manejan en un ámbito de control
• Comparte los controles de datos con el flujo de tareas de llamada de datos y en que consiste cada
uno?

• Si los controles de datos son del mismo nombre y tipo, solo se creará y
compartirá una instancia del control de datos.
• Ver objetos compartidos:
- Indicadores de fila actuales
- Editar los mismos registros
• Conexión de base de datos única

265
Alcance de control de datos aislados Cuales son las dos opciones que se
manejan en un ámbito de control
de datos y en que consiste cada
uno?

• No comparte controles de datos con el flujo de tareas de llamada


• Utiliza múltiples instancias de los controles de datos.
• Permite transacciones de control de datos diferentes
• Objetos de vista están separados
- Sin coordinación de registro
- Edición de registros aislados
• Múltiples instancias de módulos de aplicación
• Múltiples conexiones de bases de datos

266
Marco de control de datos

Cuando un flujo de tareas llama a otro, el flujo de tareas puede


compartir una instancia de un control de datos o crear una instancia
aislada separada del mismo control de datos. El objeto interno que los
flujos de tareas utilizan para compartir sus controles de datos o para
almacenar sus propios controles de datos aislados se conoce como
marco de control de datos.

267
Marco de control de datos: ejemplos

268
Especificar opciones de transacción

269
Opción "Sin controlador"

270
Control de transacciones en flujos de tareas

271
Opción "Comenzar siempre una nueva transacción"
Inicia una nueva transacción en el marco de control de datos.
• Se utiliza para iniciar el límite de transacción del flujo de tareas en una
cadena de flujos de tareas delimitados
• Soporta ambos alcances de control de datos aislado y compartido
- Como normalmente se usa esta opción para
comenzar una nueva transacción, aislado
Tiene el sentido más lógico.
• Es responsable de finalizar la transacción

272
Opción "Usar siempre la transacción existente"

Se une a una transacción de marco de


control de datos existente
• Se utiliza en una cadena de flujos de
tareas delimitados en los que necesita el
flujo de tareas actual para unirse a la
transacción del flujo de tareas anterior
• Soporta solo el alcance de control de
datos compartido opción de ( aislado está
desactivado)
• No se puede finalizar la transacción.

273
Especificar opciones de retorno de flujo de
tarea

274
Funciones de soporte de transacciones de
flujos de tareas limitadas

275
Manejo de excepciones de transacciones

Con un flujo de tareas limitado, puede designar cualquier actividad como el


manejador de excepciones.
• La actividad de excepción se invoca si se genera una excepción.
• La mejor práctica es que debe designar una actividad de manejo de excepciones
en los flujos de tareas transaccionales.
• La actividad de manejo de excepciones puede ser cualquier tipo de actividad,
como:
- Ver: Para mostrar un mensaje
- Enrutador
- Para llamar a un método

276
Designación de un controlador de excepciones

277
Definición de respuestas al botón Atrás

La propiedad reingreso de flujo de tarea determina si el usuario puede volver a


un flujo de tarea salido haciendo clic en el navegador Botón Atrás:
• reingreso permitido: OK
• reingreso no permitido: produce una excepción
• dependiente del resultado de reentrada: depende del resultado del flujo de
tareas salido

278
CONSTRUYENDO
REUSABILIDAD EN PÁGINAS

279
Introducción

Duplicar código o contenido es una de las peores prácticas en el desarrollo


de aplicaciones. La reutilización del código aumenta la productividad del
desarrollador y el mantenimiento de la aplicación. A veces puede ser una
solución fácil para copiar código, pero cambiar la aplicación se vuelve mucho
más difícil, haciendo que la aplicación sea menos capaz de adaptarse a
nuevos requisitos o solucionar problemas rápidamente.

El código específico de la aplicación también se puede reutilizar en módulos


e incluso en proyectos relacionados. Este último tipo de reutilización permite
a los desarrolladores realizar cambios rápidos, explotar nuevas funciones a
nivel global y pasar menos tiempo probando y depurando

280
Características de reutilización del ADF
•Plantillas de página para permitir una apariencia consistente en todas las
páginas.
• Fragmentos de página que se pueden mostrar dentro de una página que
contiene otro contenido.
• Regiones que le permiten insertar un flujo de tareas limitado compuesto
por fragmentos de página como parte de una página más grande
• Bibliotecas ADF para empaquetar estos y otros componentes reutilizables
en bibliotecas.

281
Plantillas de página Que es una plantilla
de pagina

Una plantilla de página proporciona una definición de página reutilizable que


impone un diseño de página coherente en una aplicación, puede anidarse
dentro de otra plantilla de página, y también puede basarse en una plantilla
de una página existente. Las páginas que usan la misma plantilla de página
aprovechan la actualización parcial de la página para que solo el contenido
específico de una página cambie sin la necesidad de actualizar la plantilla.

282
Componentes de una plantilla de página
• Facelets: proporcionan áreas donde los desarrolladores de páginas incluyen
contenido específico de la página que están creando.

• Atributo: son componentes opcionales en una plantilla. Permiten que se


proporcione información específica de la página a varios componentes en la
plantilla (por ejemplo, para permitir que ciertas áreas de la página se oculten o
muestren dependiendo del valor de atributo proporcionado por el desarrollador
de la página). Menciona los
componentes de una
plantilla de pagina

• Parámetro modelo: proporcionan una forma de parametrizar los enlaces


en una plantilla. Por ejemplo, para definir la visualización de una lista de
pedidos de clientes en una plantilla, se puede crear un parámetro modelo para
permitir a los desarrolladores de páginas, pasar el Identificador del cliente que
será el vinculante desde la página de referencia.

283
Crear plantillas de página

284
Definir plantillas de página

285
Crear una plantilla de página

286
Edición de plantillas de página

287
Plantillas de página de anidamiento

288
Aplicar una plantilla de página a una página

289
Fragmentos de página

• No se definen como una página web completa


• Se puede mostrar en una página que contiene otro contenido.
• No puede contener af: documento o f: vista etiquetas
• No se puede ejecutar solo
• Se utilizan principalmente en flujos de tareas delimitados

290
Crear un fragmento de página

• Seleccione Nuevo> Fragmento de página ADF


• Ingrese un nombre para el archivo de fragmento de
página.
• Acepte el directorio predeterminado para el fragmento
de página o elija una nueva ubicación
• (Opcional) Seleccione una plantilla para basar el
fragmento en una plantilla.

291
Regiones: Revisión

292
Bibliotecas ADF

Una biblioteca ADF le permite reutilizar componentes de una aplicación ADF.


Los siguientes tipos de componentes se pueden empaquetar en una biblioteca
ADF:
• Controles de datos
• Componentes comerciales
• Flujo de tarea
• Plantillas de flujo de tareas
• Plantillas de página
• Componentes declarativos

293
Crear una biblioteca ADF

294
Agregar una biblioteca ADF a un proyecto

295
Ver las bibliotecas ADF que están aplicado a un
proyecto

296
Eliminar una biblioteca ADF de un proyecto

297
DIA 5

298
LOGRAR EL DISEÑO REQUERIDO

299
Descripción general de los componentes de diseño de
ADF Faces

300
Contenedores de diseño

301
Contenedores de diseño interactivo

302
Geometría de gestión de contenedores de
diseño

303
304
Crear diseños

1. Cree un marco exterior elástico


2. Cree islas de componentes fluidos (no estirados)
3. Personaliza la apariencia de los componentes

305
Mejores prácticas para el diseño de página
• Nunca estire un componente verticalmente dentro de un
flujo envase.
• Nunca especifique un valor de altura con unidades de
porcentaje.
• Nunca use el estilo de "posición".
• Aproveche los ejemplos de patrones de diseño en el ADF
Faces Rich Client Demo para obtener orientación sobre
cómo crear diseños

306
Componente de diseño de cuadrícula de panel
Panel Grid Layout Component

307
Componente de diseño de estiramiento del panel
Panel Stretch Layout Component

308
Componente de diseño de grupo de paneles

309
• Nota: El componente Diseño de grupo de panel
proporciona muy poco control sobre qué tan individual se
presentan estructura de los children. Si te encuentras
anidando múltiples Componentes de diseño de grupos de
paneles, considere usar un componente Diseño de
cuadrícula de panel en su lugar.

310
Componente de diseño de formulario de panel
Panel Form Layout Component

311
Componente del panel de instrumentos
Panel Dashboard Component

312
Componente divisor de panel
Panel Splitter Component

313
Componente de acordeón de panel

314
315
Uso de diseños de inicio rápido

316
Agregar un "Mostrar comportamiento de página
imprimible"

317
Agregar la capacidad de exportar a Excel

318
Usando el lenguaje de expresión para
Mostrar componentes condicionalmente

319
DEPURACIÓN DE APLICACIONES ADF

320
Técnicas de solución de problemas
1. Identifique el error / excepción raíz en el registro de mensajes.
2. Utilice el probador de modelos ADF para reducir el problema.
3. Habilite el registro ADF (o agregue el suyo propio).
4. Use el depurador:
- Paso a través del código de la aplicación.
- Paso a través de las fases de flujo de tareas.
- Recorrer el código fuente del ADF.
5. Hipótesis de una resolución:
- Probar los parámetros / valores del código en el depurador.
- Prueba EL en el evaluador EL.
6. Prevenir problemas futuros:
- Crear un caso de prueba de regresión.

321
Leer el registro de mensajes
El registro de mensajes de JDeveloper imprime mensajes System.out y
excepciones de la JVM en ejecución, incluidos errores y mensajes de la pila
ADF.
• Use el registro de mensajes para identificar la causa de un problema.
• Se emitirán todas las excepciones. Desplazarse o buscar a través de
excepciones aguas abajo para identificar la excepción raíz.

322
ADF Logger
• Reemplaza system.out.println () más primitivo o otro registro en el
registro de mensajes
• Proporciona control sobre qué mensajes se registran
- Nivel de registro
- Filtro de módulo
- Controladores de registro
• Se configura modificando el archivo logging.xml, que es accedido a
través de un editor declarativo
• Proporciona un analizador para ver mensajes de registro.

324
Configurar el registro de ADF
• El archivo de configuración ODL controla lo que se registra y qué nivel de
gravedad se usa.
• Acceda al editor para Oracle Diagnostic Logging Configuración desde la
ventana Servidores de aplicaciones o desde la ventana de registro.
- Ejecute la aplicación (o servidor) primero para configurar ambos
persistentes y transitorios.

325
Crear mensajes de registro

326
Ver mensajes de registro en Log Analyzer
Utilice el Analizador de registro de diagnóstico de Oracle para ver las
entradas de un archivo de registro. Filtrar por nivel de registro, tipo de
entrada, tiempo de registro, contenido de entrada, y así.

328
Variar mensajes de registro por rol

329
JDeveloper Debugger
• El depurador es muy útil para identificar problemas en tu solicitud.
• Establecer puntos de interrupción de origen para identificar
problemas en la costumbre código.
- Obtenga la fuente ADF del soporte de Oracle para establecer puntos de
interrupción directamente en el código marco.
• Establecer puntos de interrupción de excepción para detenerse
cuando un determinado se lanza una excepción.
• Cuando se encuentra un punto de interrupción en tiempo de
ejecución, puede recorrer el código y ver los valores de las variables.
• Para ejecutar una aplicación en modo de depuración, haga clic
derecho y seleccione Depurar.

330
Tipos de Breakpoints
Type Breaks when…

Source Una línea fuente particular en una clase particular en un paquete particular
se ejecuta
Exception Se lanza una excepción de esta clase (o una subclase)

Method Se invoca un método en una clase dada

Class Se invoca cualquier método en una clase dada

Watchpoint Se accede o modifica un campo determinado

331
Establecer puntos de interrupción
• Puede crear grupos de puntos de interrupción que se pueden habilitar o
deshabilitado todo a la vez
• Puede usar puntos de interrupción condicionales. Ejemplos:
• - valor instanciade oracle.jbo.domain.Date
• - status.equalsIgnoreCase ("enviado")
• - i> 50
• Puede usar otras acciones además de detenerse con puntos de interrupción

332
Depurador declarativo ADF

333
334
Uso del evaluador EL en puntos de interrupción
El evaluador de Expression Language permite:
• Introspección de los valores entre la vista y el modelo.
• Relojes basados ​en EL

335
Developing Regression Tests with JUnit
1. Descargue extensiones JUnit.
2. Cree un caso de prueba JUnit.
- Utilice asistentes para crear casos de prueba de esqueleto y agruparlos en suites.
- Agregue código para verificar consultas, validación, etc.
3. Ejecute la prueba directamente o con una ant.

336
Implementación de seguridad en
aplicaciones ADF

337
Beneficios de asegurar aplicaciones web
• Las aplicaciones web a menudo se conectan con una sola cuenta
de usuario de base de datos. Por lo tanto, se deben usar cuentas
de usuarios de aplicaciones separadas.
• Identit se puede utilizar para:
• Asegúrese de que solo los usuarios autenticados puedan
acceder a la aplicación
• Restrinja el acceso a partes de la aplicación
• Personaliza la interfaz de usuario
• Proporcione el nombre de usuario para la auditoría
• Configurar una base de datos privada virtual (VPD)

338
Autenticación y autorización

339
Framework de seguridad de ADF y OPSS
• Envía una solicitud para autenticar o
autorizar al usuario para una página o
recurso específico
• Pasa la solicitud a OPSS

• Delegados a un proveedor de
autenticación y autorización
• Redirige la solicitud a un sistema de
gestión de identidad

• Provides authentication and


authorization services
340
Asegurar las capas de una aplicación ADF

341
Pasos para implementar la seguridad ADF
Para implementar ADF Security en una aplicación web Fusion:
1. Configure la seguridad para la aplicación.
2. Cree usuarios de prueba y agréguelos a grupos (roles
empresariales).
3. Cree roles de aplicación y agregue usuarios y grupos a esos roles.
4. Defina políticas de seguridad para otorgar acceso a los recursos del
ADF, tales como:
- Flujos de tareas limitadas
- Archivos de definición de página (para páginas en flujos de tareas
sin límites)
- Objetos y atributos de la entidad.
342
Configuración de seguridad ADF

343
Creación de usuarios de prueba y roles empresariales

344
Crear roles de aplicación

345
Definición de políticas de seguridad
• La autorización se basa en políticas de seguridad en el
almacén de políticas.
• Cuando la autorización está habilitada, los recursos con
seguridad son inaccesibles (por defecto) hasta que defina
las concesiones explícitas.
• Puede definir políticas de seguridad para otorgar acceso a:
– Flujos de tareas limitadas
– Archivos de definición de página (para páginas en
flujos de tareas sin límites)
– Objetos y atributos de la entidad.
– Otros recursos

346
Conceder acceso a flujos de tareas delimitados
PImpide el acceso no autorizado a flujos de tareas seguros
Proporciona a los desarrolladores la capacidad de:
• Asegure un flujo de tareas limitado como una entidad lógica
• Escribir flujos y páginas de tareas acotadas por seguridad

347
Hacer públicos los recursos de ADF
Utilice roles de aplicación OPSS preconstruidos para hacer públicos los
recursos de ADF
• Use el rol anónimo para otorgar acceso a cualquier usuario.
• Use la función autenticada para otorgar acceso solo a usuarios
autenticados.

348
Conceder acceso a servicios empresariales
• Impide el acceso no autorizado a los objetos o atributos de la entidad.
• Permite a los desarrolladores:
• Acceso seguro a un objeto de entidad completo o solo a ciertos
atributos
• Especifique las acciones que los miembros de un rol pueden realizar
en los objetos o atributos de la entidad
• Implica un proceso de dos pasos:
• En la capa del modelo, habilite la seguridad en objetos y atributos de
entidades específicas.
• En jazn-data.xml, otorgue privilegios a roles de aplicación
específicos.

349
Conceder privilegios sobre objetos y atributos de entidad

350
Autenticación de aplicaciones en tiempo de ejecución
Dos tipos de autenticación.
• Implícito: la autenticación se realiza automáticamente cuando el usuario
accede a una página segura.
• Explícito: el usuario se dirige primero a una página pública y luego navega
a una página de inicio de sesión

351
Autenticación de aplicaciones
Autenticación implícita Autenticación explícita

352
Seguridad del ADF: autorización en tiempo de ejecución

353
Desplegando
aplicaciones ADF BC

354
Pasos básicos de implementación
1. Prepare la aplicación para la implementación.
- Ejemplo: alterar la conexión de la base de datos.
2. Crear perfiles de implementación.
3. Especifique las propiedades del perfil de implementación según sea necesario.
- Modificar la raíz del contexto.
- Especificar descriptores de implementación adicionales.
4. Prepare el servidor para la implementación.
5. Implemente los perfiles de implementación:
- Cree un archivo WAR e impleméntelo directamente en WLS.
- Crear solo archivo WAR.

355
Preparación de una solicitud de implementación
• Para prepararse para la implementación,
puede ser necesario modificar la
aplicación para usar recursos
compartidos como bibliotecas,
conexiones de bases de datos, etc.
• De forma predeterminada, la conexión de
base de datos que crea al crear
componentes empresariales ADF se crea
en el archivo de configuración del Módulo
de aplicación como un origen de datos
JDBC.

356
Establecer opciones de implementación de seguridad
• Configure las opciones de implementación en Propiedades de la aplicación
para especificar cómo se implementan las configuraciones de seguridad:

357
Sincronización de descriptores de implementación JDBC

• JDeveloper genera automáticamente descriptores JDBC durante la


implementación, o puede generarlos a pedido:

358
Cambio de la raíz de contexto para una aplicación
• Para cambiar la URL predeterminada de una aplicación web, modifique la raíz de
contexto predeterminada en las propiedades del perfil de implementación WAR:

359
Implementar la aplicación
• Seleccione Deploy> ProfileName en el menú Aplicaciones para implementar en
un servidor o archivo:

360
Uso de ojdeploy para compilar archivos para su
implementación
ojdeploy es un procesador posterior a la compilación que se
puede utilizar para
construir un archivo JAR para un proyecto o un archivo EAR
para una aplicación:
• Se puede llamar a través de la línea de comando o Ant
• s Requiere una instalación completa de JDeveloper para
funcionar
- Genera los archivos de implementación necesarios
- Valida archivos de metadatos ADF
361
Uso de ojdeploy para compilar archivos para su
implementación

362

También podría gustarte