Enfoque
Objetivo
Al finalizar el curso, el alumno podrá desarrollar aplicaciones avanzadas en Oracle Forms Developer, utilizando componentes más complejos, como los árboles jerárquicos, menús avanzados, y pudiendo incorporar todo el potencial de Java a las aplicaciones. Además, con el uso de las librerías WebUtil para la interacción con la máquina cliente, el alumno tendrá un mayor control de su máquina y podrá acceder a gran cantidad de recursos.
Por otro lado, el alumno conocerá la estructura de directorios más importantes de Oracle Forms y cómo configurar el entorno de desarrollo para sacar más partido a las aplicaciones y hacerlas más personalizables.
Dirigido a:
Este curso está dirigido a personas con conocimientos del lenguaje PL/SQL y que tengan nociones básicas de programación en Oracle Forms Developer, o bien, que hayan realizado previamente un curso de Oracle Forms Developer a nivel iniciación, y que deseen ampliar sus conocimientos en este entorno de desarrollo.
Requisitos:
El alumnado deberá tener instalado en su equipo tanto el Sistema Gestor de Base de Datos Oracle, como el paquete Developer Suite. Además, para facilitar la elaboración de los ejercicios, es recomendable también tener instalado SQL Developer. Todo ello está disponible de forma gratuita desde la página www.oracle.com, tan solo requiere registro previo.
Por otro lado, también es recomendable tener instalado algún IDE de desarrollo Java, para poder editar ficheros .java. Con el Developer Suite viene incluido Oracle JDeveloper.
Para realizar este curso, será necesario además tener instalada la versión 1.6.0_45 de Java.
Se recomienda además un mínimo de 2 GB de memoria RAM y 2,5 GB de espacio en el disco duro. Asimismo, se recomienda tener instalado, como mínimo, el sistema operativo Windows XP Professional Edition, Windows 7 (Professional, Enterprise o Ultimate Edition), Windows 8 / 8.1 (Pro and Enterprise Edition) o Windows 10.
Para no interferir con configuraciones en máquinas locales, sobre todo en el ámbito laboral, es recomendable utilizar algún entorno virtual y, sobre él, realizar la instalación del software. Existen varios entornos de virtualización, entre otros VirtualBox.
Temario del curso
1 - Configuración básica del servidor integrado
Objetivo
Al finalizar esta unidad, el alumnado conocerá la estructura de los directorios más importantes de Oracle Forms y cómo configurar el entorno de desarrollo.
Duración de la unidad
4 Horas 35 Minutos
Contenido
1. Configuración básica del servidor integrado
1.1. Introducción
1.1.1. Arquitectura de 3 capas
1.2. Configuración del Servidor de Aplicaciones
1.2.1. Ficheros de configuración de Oracle Forms
1.2.2. Configuración del idioma y configuración de teclas especiales: fmrweb.res
1.3. Directorios relevantes
1.3.1. forms/java
1.3.2. forms/server
1.4. Configuración de Forms Builder para ejecutar formularios de forma local
1.4.1. Configuración de Forms Service
1.4.1.1. DEFAULT.ENV
1.4.1.2. FORMSWEB.CFG
1.4.2. Creación de configuraciones
1.4.2.1. Cambios en fichero baseHTML
1.4.2.2. Cambios en fichero formsweb.cfg
1.4.2.3. Incorporación de parámetros
1.4.3. Personalización del background y el logo
1.4.3.1. Crear fichero .jar con las imágenes
1.4.3.2. Incluir fichero .jar con las imágenes en el arranque del servidor
1.4.3.3. Crear directorio virtual para las imágenes
1.5. Arranque y parada del servidor integrado
1.6. La consola de Java utilizada como método de depuración
1.7. Software necesario
1.7.1. Base de datos
1.7.2. Developer Suite
1.7.3. JDK
1.8. Hemos aprendido
2 - Gestión avanzada de formularios. Parte I
Objetivo
Al finalizar esta unidad, el alumnado conocerá las propiedades que tienen los bloques para realizar cálculos automáticos, conocerá algunas utilidades para crear menús contextuales y listas de valores dinámicas. Por último, en esta unidad el alumnado aprenderá a integrar código PL/SQL en los formularios mediante el uso de Unidades de Programa.
Duración de la unidad
5 Horas 30 Minutos
Contenido
2. Gestión avanzada de formularios. Parte I
2.1. Elementos de Interfaz
2.1.1. Display (elemento mostrado)
2.1.2. Botones icónicos
2.1.3. Display (elemento mostrado)
2.1.4. Calculados
2.2. Creación de Unidades de Programa (funciones, procedimientos y paquetes)
2.2.1. Acceso a la información desde las Unidades de Programa
2.2.2. Creación de Unidades de Programa
2.3. Añadir funcionalidad a los Elementos
2.3.1. Controlar los datos de un elemento de texto
2.3.2. Funcionalidad de CheckBoxes
2.3.3. Funcionalidad de los RadioButton
2.3.4. Listas de Valores (LOVs) dinámicas
2.4. Filtrado de datos en bloques
2.5. Menús emergentes (botón derecho)
2.6. FORMS_DDL vs EXECUTE INMEDIATE
2.6.1. FORMS_DDL
2.6.2. EXECUTE IMMEDIATE
2.6.3. Procesamiento de consultas multi-registro
2.7. Hemos aprendido
3 - Gestión avanzada de formularios. Parte II
Objetivo
Al finalizar esta unidad, el alumnado conocerá las propiedades de los elementos de tipo lista. Sabrá cómo crear este tipo de elementos de forma estática (en tiempo de diseño) y de forma dinámica (en tiempo de ejecución). Conocerá también las built-in más importantes para conocer el número de elementos que integran la lista, así como también será capaz de añadir y eliminar elementos de la lista. Finalmente, el alumnado conocerá también la forma de personalizar los menús de las aplicaciones (ficheros .mmb) integrando el menú por defecto Default&Smartbar.
Duración de la unidad
11 Horas 05 Minutos
Contenido
3. Gestión avanzada de formularios. Parte II
3.1. Bloques de datos basados en Procedimientos
3.1.1. Proceso de creación de bloque basado en procedimiento almacenado
3.1.1.1 Creación del paquete PL/SQL
3.1.1.2. Diseño del bloque de datos
3.1.2. Algunas consideraciones
3.1.2.1. Triggers a nivel de bloque autogenerados
3.1.2.2. Añadir un nuevo campo de base de datos al bloque
3.1.2.3. Error al abrir un formulario con bloques basados en Procedimientos Almacenados
3.1.2.4. Utilizar el mismo bloque basado en procedimientos almacenados para operar con distintas tablas
3.1.3 Resumen
3.2. Elementos de Lista (listItem)
3.2.1. Creación de elementos de tipo Lista
3.2.1.1. Estático (tiempo de diseño)
3.2.1.2. Dinámico (tiempo de ejecución)
3.2.2. Los elementos listItem Dinámicos
3.2.2.1. Inicialización
3.2.2.2. Añadir elementos a un ListItem
3.2.2.3. Eliminar elementos de un ListItem
3.3. Integración de menús (mmb) con Default&Smartbar
3.3.1. Cómo crear un menú manteniendo las opciones por defecto
3.4. Temporizadores o elementos de tipo Timer
3.4.1. Creación
3.4.2. Triggers vinculados
3.4.3. Ejemplo de uso: incluir reloj digital en un formulario
3.5. Hemos aprendido
4 - Gestión avanzada de formularios. Parte III
Objetivo
Al finalizar esta unidad, el alumnado será capaz de realizar consultas jerárquicas avanzadas y representarlas en objetos de tipo Tree en Forms. El alumnado podrá realizar operaciones de inserción de nodos, eliminación y búsqueda en elementos de tipo Tree.
Duración de la unidad
5 Horas 45 Minutos
Contenido
4. Gestión avanzada de formularios. Parte III
4.1. Árboles Jerárquicos
4.1.1. Consultas jerárquicas
4.1.2. Plan de ejecución de las Consultas Jerárquicas
4.1.3. Punto de partida
4.1.4. Operadores avanzados en las Consultas Jerárquicas
4.1.5. Detección de ciclos en estructuras jerárquicas
4.2. Representación de estructuras jerárquicas en Forms Builder. El elemento Tree
4.2.1. Propiedades del elemento TREE
4.2.2. Creación de árboles jerárquicos
4.2.2.1. El procedimiento SET_TREE_PROPERTY
4.2.2.2. El rellenado de un elemento Árbol
4.2.3. Operaciones Avanzadas con Árboles Jerárquicos
4.2.3.1. Acceso a los datos del nodo
4.2.3.2. Asignar valor a propiedades del nodo
4.2.3.3. Añadir nodos a un árbol
4.2.3.4. Búsqueda en árboles jerárquicos
4.2.3.5. Expandir y colapsar nodos
4.2.3.6. Eliminar nodos de un árbol
4.2.4. Ejemplos de uso
4.2.4.1. Menús
4.2.4.2. Jerarquías
4.3. Hemos aprendido
5 - WebUtil. Interacción con máquina cliente. Parte I
Objetivo
Al finalizar esta unidad, el alumnado conocerá qué es WebUtil, qué partes la integran y cómo se configura. Asimismo, el alumnado tendrá una visión global de los beneficios y problemas que puede presentar el uso de WebUtil en los formularios. Finalmente, el alumnado realizará un recorrido por varios de los paquetes y funciones más importantes de WebUtil, conociendo las utilidades disponibles y los contextos donde utilizarlas.
Duración de la unidad
4 Horas 15 Minutos
Contenido
5. WebUtil. Interacción con máquina cliente. Parte I
5.1. ¿Qué es WebUtil?
5.1.1. Ventajas y Desventajas del uso de WebUtil
5.2. Componentes
5.3. Configuración de WebUtil
5.3.1. Comprobación de la correcta configuración
5.4. Utilidades del WebUtil
5.4.1. Paquete CLIENT_TEXT_IO
5.4.1.1. Declaración del manejador de archivo
5.4.1.2. Llamadas a Funciones y Procedimientos
5.4.2. Procedimiento CLIENT_HOST
5.4.3. Paquetes CLIENT_TOOL_ENV y WEBUTIL_CLIENTINFO
5.4.3.1. CLIENT_TOOL_ENV
5.4.3.2. WEBUTIL_CLIENTINFO
5.4.4. Función CLIENT_GET_FILE_NAME
5.5. Hemos aprendido
6 - WebUtil. Interacción con máquina cliente. Parte II
Objetivo
Al finalizar esta unidad, el alumnado será capaza de realizar operaciones con los ficheros tanto en la máquina cliente como en el servidor de aplicaciones. Además, basándose en dos de los paquetes más importantes de WebUtil, el alumnado será capaz de realizar transferencia de ficheros entre la máquina cliente, el servidor de aplicaciones y/o la base de datos. El alumno alumnado también el elemento IMAGE y cómo se utiliza y será capaz de gestionar imágenes en el formulario, así como cargar imágenes desde la base al formulario y también podrá acceder al equipo cliente para cargar imágenes y guardarlas en base de datos
Duración de la unidad
4 Horas 20 Minutos
Contenido
6. WebUtil. Interacción con máquina cliente. Parte II
6.1. El elemento de Imagen (IMAGE)
6.1.1. Grupo de propiedades Funcional
6.1.2. Grupo de propiedades Física
6.2. Utilidades del WebUtil
6.2.1. Paquete CLIENT_IMAGE
6.2. READ_IMAGE_FILE
6.2.2. Un error típico
6.2.3. WebUtil.cfg
6.2.4. Cargar imágenes en formulario desde máquina local. Paso a paso
6.2.2. Paquete WEBUTIL_FILE
6.2.2.1. WEBUTIL_FILE.FILE_OPEN_DIALOG
6.2.2.2. Copiar, borrar y renombrar ficheros
6.2.2.3. Otras operaciones
6.2.2.4. Selección Múltiple
6.2.3. Paquete WEBUTIL_FILE_TRANSFER
6.3. Hemos aprendido
7 - WebUtil. Interacción con máquina cliente. Parte III
Objetivo
Al finalizar esta unidad, el alumnado será capaz de realizar transferencia de ficheros entre la máquina cliente, el servidor de aplicaciones y/o la base de datos, basándose en dos de los paquetes más importantes de WebUtil. Por tanto, el alumnado conocerá los métodos existentes para cargar ficheros de imágenes desde la base de datos al formulario y también podrá acceder al equipo cliente para cargar imágenes y guardarlas en base de datos.
Duración de la unidad
5 Horas 20 Minutos
Contenido
7. WebUtil. Interacción con máquina cliente. Parte III
7.1. Imágenes en base de datos
7.1.1. Guardar imágenes en base de datos
7.1.1.1. Carga o visualización del fichero en pantalla
7.1.1.2. Transferencia del fichero a la base de datos
7.1.2. Cargar imágenes en formularios desde base de datos
7.1.3. Descargar imágenes en el cliente desde base de datos
7.2. Subida de archivos al servidor de aplicaciones
7.1.1. Configuración de WebUtil
7.1.2. Programación desde el entorno de Desarrollo
7.1.3. Problemas más comunes en la transferencia de archivos al Servidor de Aplicaciones
7.1.3.1. WUT-121 This file transfer has been forbidden by the Administrator
7.1.3.2. WUT-132 Invalid Application Server file name. Cannot create application server file
7.2. Recursos para el tratamiento de imágenes
7.2.1. Timer
7.3. Hemos aprendido
8 - Integración de código Java en aplicaciones Forms. Parte I
Objetivo
Al finalizar esta unidad, el alumnado será capaz de ampliar la funcionalidad de los formularios mediante la incorporación de código Java a las aplicaciones Forms Developer. Tras estudiar esta unidad, el alumnado sabrá importar clases Java y cómo utilizar Servicios Web integrados en sus aplicaciones
Duración de la unidad
3 Horas 30 Minutos
Contenido
8. Integración de código Java en aplicaciones Forms. Parte I
8.1. Aumentando la funcionalidad de las aplicaciones
8.1.1. Forms Builder en el "mundo Java"
8.2. Integración Java en el Servidor de Aplicaciones
8.2.1. Java Importer
8.2.1.1. Componentes de la herramienta Java Importer
8.2.2. Proceso de importar clases Java
8.2.2.1. Clase Java
8.2.2.2. Paquete PL/SQL generado
8.2.3. Uso de código Java importado
8.3. Hemos aprendido
9 - Integración de código Java en aplicaciones Forms. Parte II
Objetivo
Al finalizar esta unidad, el alumnado conocerá los componentes de tipo Bean Área así como los PJC para aumentar la funcionalidad de los elementos gráficos de Forms añadiendo JavaBeans a los formularios.
Duración de la unidad
5 Horas 40 Minutos
Contenido
9. Integración de código Java en aplicaciones Forms. Parte II
9.1. Integración Java en el Cliente
9.1.1. ¿Por qué ejecutar código en la máquina cliente?
9.1.2. ¿Cómo se realiza la Integración en el cliente?
9.1.3. Pluggable Java Components (PJC)
9.1.3.1. La interfaz IView
9.1.3.2. Uso del PJC
9.1.4. Los elementos BeanArea
9.1.4.1. Propiedades
9.1.4.2. Repositorio de JavaBeans
9.1.4.3. Incorporar un JavaBean a nuestro formulario
9.1.5. El paquete FBEAN
9.1.5.1. Built-in más utilizadas
9.1.5.2. Desplegando el BEAN
9.1.5.3. Respondiendo a Eventos
9.1.5.4. Programando el trigger WHEN-CUSTOM-ITEM-EVENT
9.2. Detección y resolución de problemas
9.2.1. Funcionamiento inesperado
9.2.2. ORA-105100 y ORA-105101
9.2.3. Las clases java.lang.StackTraceElement y java.lang.Exception
9.2.4. Capturando excepciones
9.2.5. Error tipo "java.lang.NoClassDefFoundError"
9.2.5.1. Trabajando en la solución
9.2.6. Error tipo "java.lang.SecurityException"
9.2.6.1. Trabajando en la solución
9.3. Hemos aprendido