AWT, Applets y Aplicaciones
Las AWT proveen componentes básicos para una GUI (Graphics User Interface – Interfaz Gráfica de Usuario) y son utilizados en las aplicaciones y los applets de Java. Una de las ventajas de usar AWT es que la interfaz es independiente de la plataforma o interfaz gráfica de la máquina. Esto nos asegura que lo que se vea en una computadora aparecerá igual en otra computadora.
Estrategia de estudio de las AWT
Una estrategia para estudiar las AWT es dividirlas en:
- Componentes
- Contenedores
- Layouts (Administradores de diseño)
- Eventos
Componentes
Son clases o interfaces que permiten crear los objetos gráficos que componen una GUI, tales como: botones, listas desplegables, cuadros de texto, casillas de verificación, botones de opción, campos de texto, etiquetas, menús, etc.
- Button: Es un botón usado para recibir el clic del ratón.
- Label: Etiqueta. Es una cadena de texto como componente.
- List: Un componente que contiene un conjunto dinámico de elementos.
Contenedores
Son clases o interfaces que permiten crear objetos gráficos para contener a los componentes, tales como: paneles, cuadros de diálogo, marcos, ventanas, etc.
Cuando se agregan componentes GUI a un contenedor, se utiliza el método add()
. Hay dos tipos principales de contenedores: la clase Window
y Panel
.
Layouts
Son clases o interfaces que permiten crear objetos que administren el diseño, la distribución y colocación de los objetos componentes dentro de los objetos contenedores. Por ejemplo, el FlowLayout
distribuye los componentes de izquierda a derecha y de arriba a abajo, el BorderLayout
los distribuye en cinco áreas geográficas: norte, sur, este, oeste y centro, etc.
La distribución de los componentes en un contenedor usualmente está controlada con un administrador de diseño (layout manager). Cada contenedor (como un Panel
o un Frame
) tiene por omisión un administrador de diseño asociado, el cual puede ser cambiado invocando al método setLayout()
.
Cada administrador de diseño es responsable de definir el tamaño de cada componente en sus contenedores.
Eventos
Son las clases o interfaces que permiten crear objetos que capturen y manejen los eventos. Un evento es una acción sobre algún componente, por ejemplo, clic a un botón, pulsar la tecla de enter en un botón, mover un elemento con las teclas de navegación, eventos especiales como los programados por tiempo, etc. Sin los eventos, las GUI serían interfaces gráficas sin vida, y por lo tanto no serían muy útiles.
Cuando un usuario ejecuta una acción en una interfaz gráfica, como dar clic al ratón sobre un botón o presionar una tecla, esto provoca un evento. Los eventos son objetos que describen qué ha sucedido. Hay diferentes clases de eventos para describir diferentes categorías de acciones por parte del usuario.
Uso de AWT con Applets
Como se ha podido apreciar, las AWT proveen los componentes básicos para una GUI o Interfaz Gráfica de Usuario y son utilizados en las aplicaciones y los applets de Java, en particular en el caso de los applets podemos utilizar casi todas las clases AWT para los Frame
, Dialog
, Window
, Container
, etc., excepto la clase Menu
. En la siguiente sección presentamos un ejemplo que utiliza ampliamente las clases e interfaces de este paquete en un graficador de funciones.
Ciclo de Vida de un Thread
Lenguajes de Cuarta Generación (4GL)
Los lenguajes de cuarta generación contemplan un gran grado de abstracción que viene a crear una verdadera caja negra, pues el programador no dice cómo se realizarán las aplicaciones que se desee crear, nada más dará una serie de parámetros que, aunque dependen del programa que se quiera crear, siempre van a estar muy alejados de la máquina o hardware; esta ha sido la tendencia a seguir con cada generación de los lenguajes de programación.
Para mostrar lo anterior, basta contemplar que para un mismo programa, mientras hay cientos de líneas de código en un lenguaje de tercera generación, en un 4GL la cantidad de código necesario pasa a ser de unas pocas líneas nada más.
Esto se debe a que los 4GL vienen acompañados de poderosas herramientas y se acercan en gran medida al lenguaje humano, siendo más concretos y fáciles de entender.
Hay que recordar que la potencia de los 4GL se basa en la posibilidad de generar código automáticamente y que, sin embargo, la funcionalidad adquirida hasta hoy ha sido bastante reducida.
Los primeros 4GL han basado toda su potencia de generación automática de código en el prototipaje de GUI, dejando un déficit en la generación de código orientado al manejo de datos y los procesos funcionales.
Se debe considerar que los 4GL han cambiado mucho desde los primeros lenguajes incluidos dentro de este término; la evolución se ha visto marcada por varios aspectos, uno de ellos es las restricciones del sistema operativo y del mismo hardware, que han marcado en gran medida la pauta a seguir.
Uno de los cambios sustanciales que han tenido los lenguajes de cuarta generación ha sido su relación con las bases de datos, cambiando el uso de técnicas y recursos en comparación con los 4GL más viejos. Además, se ha mejorado el manejo de interfaces para el usuario.
También los lenguajes de cuarta generación se han visto influenciados por las tendencias de cambio que ha sufrido la computación con el pasar de los años, como la tendencia a programar con orientación a objetos, la incorporación de la arquitectura cliente/servidor, la naciente ingeniería de software y la tendencia a trabajar en equipo.
La programación orientada a objetos y la disposición de los desarrolladores están logrando poner en el mercado librerías de objetos que complementan el funcionamiento de los 4GL. Entre las librerías más comunes se encuentran objetos para el acceso a múltiples bases de datos relacionales, objetos para el acceso a sistemas de mensajería electrónica, objetos para el acceso a sistemas de Workgroup, objetos para el acceso a bases de datos jerárquicas, objetos para el uso avanzado de GUIs, entre otras.
Sin embargo, aún se necesita mejorar mucho los modelos que incluyen los 4GL; existen pocos procesos modelizados y la dificultad radica en encontrar aquellos procesos que el usuario más necesita. Más adelante discutiremos algunos de los tipos de 4GL que hay, al igual que ejemplificaremos el tema con casos concretos de productos 4GL.
¿Qué es Oracle?
Oracle, la primera base de datos diseñada para Grid Computing, es un sistema de gestión de base de datos relacional fabricado por Oracle Corporation.
Oracle es básicamente una herramienta cliente/servidor para la gestión de bases de datos. La gran potencia que tiene y su elevado precio hacen que solo se vea en empresas muy grandes y multinacionales, por norma general.
Características de Oracle
Desarrollado sobre Oracle Database, Oracle Content Database ha sido diseñada para que las organizaciones puedan controlar y gestionar grandes volúmenes de contenidos no estructurados en un único repositorio con el objetivo de reducir los costes y los riesgos asociados a la pérdida de información.
Estructuras de Oracle
Una BD Oracle tiene una estructura física y una estructura lógica:
- La estructura física se corresponde a los ficheros del sistema operativo.
- La estructura lógica está formada por los tablespace y los objetos de un esquema de BD.