Ofrecer un icono para su sede Web
Ofrecer un enlace de acceso a su sede Web
Ver el HTML fuente sin los resultados
Determinar el navegador
Uso de meta-etiquetas
Actualización de una página Web tras un intervalo de tiempo dado
Uso de tablas HTML
Formateo de datos en tablas
Añadir imágenes a una tabla
Mostrar celdas "vacías" en una tabla
Creación de un formulario HTML
Limitación en la entrada de datos
Creación de imágenes que actúan como botones
Supresión de la tecla Intro en formularios IE
Trabajar con URL e hiperenlaces
Eliminar el texto subrayado de los enlaces
Forzar formularios cara-a-cara
Hojas de estilo en cascada
Soporte de hojas de estilo en diferentes navegadores
Uso de hojas de estilo
Creación de tema y/o texto para correo electrónico
Envío de correo electrónico desde un formulario HTML
Sangrado de su texto
Situar dos cabeceras en la misma línea
Determinar qué marco es cuál
Comprender la etiqueta de marcos
Creación de un marco con apariencia de ventana
Referencias a guiones CGI
Seguimiento de visitantes en su sede
Uso de un contador de página
Resumen7. Desarrollo JavaScript
Comparación entre JavaScript y PL/SQL
JavaScript distingue entre mayúsculas y minúsculas
Usar punto y coma o no
Definición de variables
Revisión de las palabras clave y reservadas de JavaScript
Examinar los literales JavaScript
Separación y embellecimiento del código
Comentarios en JavaScript
Comprender los operadores de JavaScript
Control de sus estructuras
¿Modelar los objetos o modelado de objetos?
Complejidades de iAS
Control de incompatibilidades entre navegadores
Escribir código específico de navegador desde su código dinámico
Reutilización de su código JavaScript
Imitar la funcionalidad de la biblioteca JavaScript de Oracle Portal
Escritura de un paquete PL/SQL biblioteca JavaScript
Uso de una biblioteca JavaScript en lugar de JavaScript en línea
Referenciar una biblioteca JavaScript estática
Uso de procedimientos PL/SQL empaquetados para generar JavaScript
Programación de procesos de alerta definidos por el usuario
Mostrar propiedades en pantalla
Apertura de una nueva ventana entregando parámetros
Asignación a variables JavaScript
Uso del botón Submit
Validación de campos de formulario
Trabajo con código PL/SQL y varios navegadores
Creación de un arreglo bidimensional en JavaScript
Asignación a variables JavaScript
Invocación de un procedimiento PL/SQL desde una lista de selección
Cambio simultáneo de marcos
Resolución del error de acceso denegado
Uso de espacios como parte de una URL
La depuración de onFocus con Alert no funciona
Uso de typeof para evitar el error Object Expected
Uso de la función eval()
Argumentos dinámicos de funciones
Empleo de arreglos de objetos para simular tablas y filas
Suscripción a la publicación JavaScript OnFocus
Revisión de herramientas visuales JavaScript
Hablemos de NetObjects Fusion
Un vistazo rápido a Netscape Visual JavaScript
Resumen
8. XML
Entender las reglas básicas de XML
Definición de declaraciones de tipo de documento
Definición de "bien formado"
Definición de validez
Examen de la sintaxis y estructura de documentos XML
Observar las mayúsculas y minúsculas
Examen de las declaraciones de tipo de elemento en la DTD
Examen de las declaraciones de listas de atributos en la DTD
Creación de la DTD Suspect
Creación del documento Suspect
Examen de XML Schema 1.0
Un vistazo a los namespaces
Namespaces de destino
Esquema para un documento XML simple
Tipos de datos nativos
string
boolean
decimal
float
double
duration
dateTime
time
date
gYearMonth
gYear
gMonthDay
gDay
gMonth
hexBinary
base64Binary
anyURI
QName
NOTATION
complexType y simpleType
Atributo ref
Elemento sequence
Examen de API comunes de documentos XML
Modelo de objetos de documento
API simple para XML
Callbacks de SAX
Examen de XPath
Definición de la sintaxis XPath
Funciones XPath
Uso de XPath para acceder a elementos de documentos
Uso de hojas de estilo XML para dar formato y mostrar documentos XML
Definición de XSL
Uso de XSL para mostrar datos XML como HTML
Soporte XML en Oracle9i
Oracle9i y Oracle Text
Examen del analizador XML de Oracle
Instalación del analizador XML de Oracle
Ejecución del analizador XML de Oracle fuera de la base de datos
Ejecución del analizador XML de Oracle en el interior de la base de datos
Examen del generador de clases XML de Oracle
Uso del generador de clases XML de Oracle
Examen de la utilidad SQL XML de Oracle
Definición de la clase OracleXML
Definición de la clase OracleXMLStore
Definición de la clase OracleXMLQuery
Definición de la clase OracleXMLSave
Definición del paquete PL/SQL xmlgen
Definición del paquete DBMS_XMLQUERY
Definición del paquete DBMS_XMLSAVE
La potencia del Servlet XSQL de Oracle
Examen de las dependencias y requerimientos del servlet XSQL de Oracle
Generación dinámica de un documento XML
Transcodificación con XSQL
XML y gestión avanzada de colas
MOM (Message-Oriented Middleware)
Características de la gestión avanzada de colas
Términos y definiciones de AQ
Order_TRANSPORT_Object
Preparando el sistema AQ de Oracle
Extracción de documentos XML de la cola de mensajes
Análisis de XML
Usar SOAP regularmente
Resumen
9. Desarrollo para dispositivos móviles
Programación de bases de datos para teléfonos móviles y dispositivos inalámbricos con capacidad Web
Conceptos WML
Hola mundo móvil
Mapa de elementos WML
Movimiento entre tarjetas y pase de variables
Saltando tarjetas en un bloque WML
Disección del archivo Login.wml
Pasar entre tarjetas
Disección del archivo Newlogin.wml
Soporte del procedimiento srvlogin
El almacenamiento temporal
Establecimiento de parámetros en la cabecera HTTP
Ser realmente creativo
Editor WML de tipo GUI
Paquete Wireless PL/SQL
whtp.xmlOpen
whtp.wmlOpen
whtp.wmlClose
whtp.cardOpen(ctitle,cid)
whtp.cardClose
whtp.comment(ccomment)
whtp.print(ctext)
whtp.img(csrc,calt)
whtp.do(ctype,clabel,chref)
whtp.formInput(ctitle,cname)
whtp.selectOpen
whtp.selectClose
whtp.selectOption(cpick,ctext)
whtp.paraOpen(cwrap,calign)
whtp.paraClose
whtp.italic(ctext in varchar2)
whtp.br
whtp
whtf
Ejemplo usando el Wireless Toolkit
Programación para PDA con comunicación inalámbrica
Oracle9i Wireless Edition
Cómo funciona Oracle9iAS WE
Servicios, adaptadores y transformadores
Transformador XSLT simple
Conversión de contenido existente para Oracle9iAS Wireless Edition
Creación de un archivo WIDL a partir de contenido existente usando el Web Integration Developer
Publicación del archivo WIDL en el Web Integration Server
Creación de un servicio maestro usando el Service Designer
Creación de un alias que apunta a este servicio maestro
Hacer que el servicio esté disponible para un usuario o grupo
Comprobación del servicio
Configuración de Apache para WML
Resumen
10. Transición de OAS a iAS
¿Por qué actualizarse?
Rendimiento
Estabilidad
Arquitectura
Popularidad
Soporte
Apache, Apache, Apache
Alternativas a Apache
¿Qué funcionará?
PL/SQL y el paquete Web
Perl
LiveHTML, en cierto modo
Java, en cierto modo
¿Qué no funcionará?
PL/SQL en archivos
Pase de parámetros posicional
El cartucho Cweb
¿Qué hay que cambiar?
El pase flexible de parámetros tiene un nuevo formato
Envío y recepción de archivos
Servicios de transacciones
Caminos de aplicación
¿Qué hay nuevo en iAS?
Cierre de sesión
Autenticación variable
Nuevos parámetros de entorno CGI
Nuevos formatos estándar de registro
PSP, páginas de servidor PL/SQL
Antes de empezar, ¿qué necesito realmente?
Instalación sólo de base de datos, versión 8.1.7 y posterior
La instalación del producto iAS
Instalación de Forms Server, edición Enterprise
Efectos de iAS en mis aplicaciones PL/SQL en funcionamiento
Diferencias en variables de entorno CGI
Caminos de aplicación
Certificados SSL
Resumen
11. Paquetes PL/SQL integrados
Cifrado de información sensible usando DBMS_OBFUSCATION_TOOLKIT
DesEncrypt y DesDecrypt
Des3Encrypt y Des3Decrypt
Procedimiento de ejemplo usando cifrado y descifrado
Lectura de otras sedes Web con UTL_HTTP
Funciones UTL_HTTP
Aplicación para probar UTL_HTTP
Excepciones
Otros posibles usos de UTL_HTTP
Creación dinámica de consultas y código PL/SQL utilizando DBMS_SQL, EXECUTE IMMEDIATE y cursores de referencia
DBMS_SQL
EXECUTE IMMEDIATE
Cursores de referencia
Envío de correo electrónico desde la base de datos empleando UTL_SMTP
Comunicación a través de sockets TCP/IP con UTL_TCP
El paquete UTL_TCP
Lectura de páginas Web con UTL_TCP
Programación desde la base de datos usando DBMS_JOB
Envío de mensajes vía base de datos con DBMS_PIPE
Procedimientos y funciones
Establecimiento de propiedades de sesión con DBMS_SESSION
Procedimientos y funciones
Recuperación de la hora hasta el milisegundo con DBMS_UTILITY.GET_TIME
Resumen
12. Seguridad
Conceptos generales de seguridad y enfoque básico de seguridad
Problemas comunes de seguridad
Algunos términos y enfoques de seguridad
Seguridad RDBMS
Base de datos virtual privada
Creación de una VPD
Cifrado de columnas de la base de datos
Uso del paquete DBMS_OBFUSCATION_TOOLKIT
Auditoría detallada de base de datos
Seguridad al nivel de aplicación
Protección de los directorios de Oracle9iAS
Uso del paquete PL/SQL OWA_SEC
Configuración de los servicios de autenticación Web
Consideraciones de seguridad del usuario
Seguridad de red
Oracle Net y la opción de seguridad avanzada de Oracle
Bases y configuración de SSL/HTTPS
Protección de los certificados digitales
Uso del LDAP (Oracle Internet Directory)
Resumen
Parte III. Módulos
13. Java
J2xE
Java para el desarrollador PL/SQL
Aprender Java
Unidades de programa
Terminadores, literales y comillas
Diferencia entre mayúsculas y minúsculas
Paquetes versus clases
Procedimientos/Funciones versus métodos
Comentarios
Declaración de variables
Referenciar bibliotecas de código
Operadores
Sentencias de control
Salida estándar
Especificación de la unidad de programa
Try, Try, Try otra vez
Bibliotecas de código
Ejemplo Label
Arreglos
Ejemplo de bucle for de cursor
Programación orientada a objetos
La máquina virtual Java (JVM) de Oracle
Diferencias entre la JVM cliente y la JVM de la base de datos Oracle
Servlets Java
JDBC (Java Database Connectivity)
Rendimiento JDBC
Conexiones proxy
SQLJ
JSP (Java Server Pages)
¿Por qué utilizar JavaServer Pages?
Ventajas de las JavaServer Pages
¿Qué ocurre cuando ejecuto el archivo JSP?
Arquitectura de las JavaServer Pages
Diferencias entre JavaServer Pages y servlets Java
Servidores JSP
Elementos de datos
Objetos implícitos
Marcas JSP de Oracle
Una JSP simple
Transferir parámetros a su JSP
¿Puedo ya llamar a la base de datos?
Desplazar el código JDBC a un Bean
¿Cómo ejecuto esto?
Creación de nuevas JSP con JDeveloper
Trampas y estrategias de la programación JSP
Trucos JSP
Procedimientos almacenados Java
¿Utilizar procedimientos almacenados Java o PL/SQL?
Acceso a procedimientos almacenados Java desde la base de datos
BC4J (Business Components for Java)
Objetos entidad
Objetos vista
Asociaciones
Enlaces de vista
Beneficios de BC4J
JDeveloper
Construcción de componentes de negocio con JDeveloper
Desarrollo de aplicaciones Web
Desarrollo de aplicaciones cliente Java
Java en la base de datos
Desarrollo basado en componentes
Trucos y técnicas de JDeveloper
PL2JAVA, uso de PL/SQL en Java
La definición PL/SQL: Ask Question
Llamando a la clase pl2java: AssistUser
Resumen
14. El módulo PL/SQL mod_plsql
Ir desde PL/SQL y HTML al desarrollo Web
Comprender el PL/SQL Web Toolkit
Uso de su conocimiento en HTML
Uso de WebAlchemy
Haciendo magia
Añadido de su lógica PL/SQL
Llamando a su procedimiento Web
Instalación del Web Toolkit
Transferencia de parámetros a sus procedimientos PL/SQL
PSP (PL/SQL Server Pages)
Cuándo utilizar PSP
Qué son las páginas de servidor PL/SQL
Alojando PSP en la base de datos
PSP de ejemplo
Tecnología de páginas de servidor
Marca estándar de scriptlet
Etiquetas de guión especiales para PSP
Caracteres especiales
Gestión de errores en guiones
Las PSP son lo mejor de ambos mundos
Recuperación de variables de entorno CGI
Mantenimiento histórico del código fuente
Almacenando cookies
Referencias a pseudo-columnas
Cálculo del tiempo hasta la centésima de segundo
Efectuar llamadas externas desde PL/SQL
Envoltura o protección de procedimientos para evitar la visión del código fuente
Redirección de los usuarios a otro URL
Consultar múltiples selecciones desde una lista
Envoltura de texto sin utilizar
Limpiar el buffer
Depurado de PL/SQL
Desautenticación de usuarios
Sesiones que desaparecen
Cifrado de información clave
Ordenación de datos en base a las solicitudes de usuarios
Edición del código PL/SQL
Obtención del nombre de dominio a partir de una IP
Botones de radio ausentes
Redefinición de acciones
Conversión de números a palabras-literalmente
Obtención de información sobre sus usuarios
Entender por qué htp.linkrel ahora es útil
Optimización de PL/SQL
Optimización de código PL/SQL
Optimización de la generación del documento HTML
La utilidad Stop Watch
Reducción del tiempo de transferencia
Optimización de la visualización en el navegador
ResumenParte IV. Herramientas Oracle
15. Designer
Exploración de las opciones de diseño de formulario de la generación Web PL/SQL
Establecer el estilo de formato del módulo
Generación de formularios para inserción y actualización de múltiples registros
Construcción de informes agrupados y resúmenes de campos
Acceso a los valores de elementos de componentes maestros en componentes de detalle
Creación de componentes LOV
Inclusión y asociación de un componente LOV
Asociación de la lista devuelta por el LOV
Redefinición de la clase WHERE del LOV
Definición de elementos de acción
Comprensión de los paquetes generados por Designer
Comprensión de los procedimientos de los paquetes
Comprender cómo se gestionan las rutinas con nombre
Comprender cómo se gestionan los eventos
Comprender cómo se gestiona el texto de usuario
Comprender los parámetros del procedimiento
Comprender los tipos de registro definidos por el paquete
Comprender cómo funciona el código generado
Incorporación de vistas en módulos generados
Construcción de un esquema de seguridad de base de datos efectiva al utilizar módulos generados
Uso de eventos y rutinas con nombre
Uso de rutinas con nombres
Uso de eventos
Influencia de preferencias y atributos clave del generador Web PL/SQL
Uso de marcas HTML en componentes de módulo
Registro y uso de paquetes PL/SQL externos en texto de usuario
Uso de marcos y hojas de estilo
Uso de hojas de estilo
Inclusión de una hoja de estilo que utiliza la marca