Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2
INTRODUCCIÓN A ORACLE ADF
Y JDEVELOPER
3
Arquitectura de Oracle Fusion Middleware
4
Oracle Application Development Framework (ADF)
5
Cómo ADF encaja en la arquitectura
6
Ejemplo de integración SOA
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
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
12
Navegador de JDeveloper
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
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)
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
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)?
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
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
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
103
Atributos Transitorios
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.
111
112
Sincronizar un objeto de entidad con cambios
en su tabla de base 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
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
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)
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
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
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?
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.
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
• Ver actividad
y en que consiste cada uno
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
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
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
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
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
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?
266
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"
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
276
Designación de un controlador de excepciones
277
Definición de respuestas al botón Atrás
278
CONSTRUYENDO
REUSABILIDAD EN PÁGINAS
279
Introducción
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
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.
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
290
Crear un fragmento de página
291
Regiones: Revisión
292
Bibliotecas ADF
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
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)
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
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
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