5.1 WEB OBJETS
WebObjects es un producto desarrollado por Apple desde hace unos diez
años. La versión actual del software es la 5.2 en la que el entorno está basado
completamente en la tecnología Java desarrollada por Sun Microsystems, lo que
lo convierte evidentemente en un sistema orientado a objetos. Este conjunto de
herramientas que forman WebObjects permiten desarrollar distintos tipos de
aplicaciones, de las cuales lo más común es la creación de aplicaciones web
(aunque permite desarrollar cualquier tipo de aplicación Java como por ejemplo
aplicaciones de escritorio con interfaz gráfica de usuario, apartado que no se
verá en este informe). Un ejemplo de lo que se puede llegar a desarrollar con
el framework para aplicaciones web es la “Apple Store1” (ver Figura 1). En un
principio se usaba como lenguaje base del entorno Objective-C pero desde la
versión 5.0 todo el sistema está totalmente escrito en Java. ¿Cuál es la
importancia de que se use este lenguaje? Básicamente esto es importante por varias
razones: No es necesario aprender un nuevo lenguaje de programación para la
web, ya que Java es suficientemente conocido por los programadores con
experiencia. Este lenguaje permite que las aplicaciones WO2 sean portables a
cualquier sistema en el que haya una máquina virtual Java instalada (como por
ejemplo, Macintosh, Linux, MS Windows…)
Un servidor de aplicaciones básicamente es un entorno que guarda su
contenido en una base de datos y emplea alguna forma de scripting para crear
páginas web dinámicamente. Esto permite a los desarrolladores crear sitios con
contenido fácilmente actualizable. Todo ello hace que el entorno sea bastante
complejo.
La arquitectura de WebObjects está basada en separar la capa de acceso a
bases de datos, el código Java específico de la aplicación y la capa de
presentación de la página web, todo ello soportado por un entorno orientado a
objetos y por un motor de mapeo objeto-relacional que permite interactuar con
bases de datos relacionales mediante objetos.
La separación en esas tres grandes partes es lo que explica la
existencia de sus aplicaciones más importantes: EOModeler (encargado del acceso
a la base de datos), ProjectBuilder (se ocupa del código Java) y WOBuilder
(permite el diseño de la interfaz). En el capítulo 2 se explicarán con más
detalle estas herramientas.
DESARROLLO EN WEBOBJECTS
En
este apartado se hará una introducción a las tres principales herramientas de
desarrollo que proporciona WebObjects3 (ver figura 3):
•Project
Builder: es el corazón del entorno de desarrollo donde se podrá editar,
compilar y depurar el código y organizar el proyecto.
•WebObjects
Builder: esta herramienta permite crear la interfaz de la aplicación sin tener
que crear directamente con un editor de texto el código HTML y asociar a las
variables de este código métodos del código Java creado con Project Builder.
•EOModeler:
quizás es la aplicación más poderosa del entorno de desarrollo. Permite definir
y manejar relaciones entre objetos de la aplicación y registros de una base de
datos.
Project Builder
Cuando un programador quiere construir una aplicación web mínimamente
compleja, fácilmente nos encontramos con bastantes archivos. Un desarrollador
experimentado sabrá como organizarlo para poder hacer un buen mantenimiento de
la aplicación. WebObjects realiza ese trabajo por nosotros facilitándonos la
organización del proyecto mediante esta aplicación.
Esta herramienta divide los archivos en distintos directorios según su
funcionalidad para hacer más fácil encontrar lo buscado (por ejemplo, un
determinado componente, un archivo java…) durante el periodo de desarrollo.
Cuando se he encontrado el archivo, permite modificar su código mediante un
avanzado editor de texto.
El editor que se incluye no es malo. Tiene soporte para resaltar
mediante colores el código y automáticamente tabula las líneas. Pero, quizás
quede un poco pequeño para los programadores expertos en Java que están
acostumbrados a entornos como Forte for Java o NetBeans, además de que no tiene
soporte para la generación automática de JavaDoc. Todo eso se ha tenido en
cuenta y Project Builder nos permite usar un IDE externo para editar el código.
Automáticamente detecta si un archivo ha sido modificado y es capaz de
recargarlo para su posterior uso.
Una vez terminado el desarrollo de la aplicación, permite compilar y
construir la WOA4 y poder probarla para su depuración. Aquí tiene una opción interesante
ya que durante la ejecución el Project Builder muestra una ventana de consola
que nos muestra información relativa a los componentes (como por ejemplo el
inicio de sesión por parte del usuario).
Organización de un proyecto
Todos los archivos relacionados con la aplicación están organizados
dentro de un proyecto WebObjects. Project Builder controla todos estos ficheros
organizándolos en varias carpetas:
Classes (clases principales): contiene tres ficheros java – aplicación,
sesión y acciones directas – que especifican el comportamiento por defecto de
la aplicación, como por ejemplo el proceso de respuesta ante una petición de un
cliente.
Components (componentes): una aplicación está formada por componentes,
cada uno de los cuales representa una página web o una parte de ella. Un
componente incluye varios ficheros que se verán en el apartado dedicado a
WebObject Builder.
Resources (recursos): son los archivos de datos a los que la aplicación
necesita tener acceso pero que no necesariamente se van a servir a los clientes
(como por ejemplo archivos de configuración de la aplicación).
Web Server Resources (recursos del servidor web): contiene elementos
estáticos que se servirán directamente al usuario a través del servidor web,
como por ejemplo imágenes, archivos de sonido, archivos CSS o incluso páginas
con HTML estático.
Frameworks (entorno de trabajo): contiene bibliotecas que añaden
funcionabilidad a la aplicación. Pueden ser tanto librerías incluidas por
defecto como otras creadas por el programador.
WebObjects Builder
En la aplicación anterior quedó clara la facilidad para editar el código
de los distintos componentes5 pero, a la hora de crear una página web compleja,
manejar su código directamente mediante un editor de texto puede resultar duro.
Por ello el entorno de desarrollo incluye esta aplicación.
Esencialmente el WOBuilder es un editor de código HTML que incluye
diversas opciones para añadir código especial webobjects dentro de una página.
La herramienta dispone de dos opciones principales: un editor gráfico para
previsualizar la página y un editor de texto para modificar manualmente el código
HTML.
Elementos principales
Este código especial del que hablamos se inserta entre las etiquetas
<WEBOBJECT> y </WEBOBJECT> y puede ser distintos tipos de
elementos.
1-
WOForm: es el equivalente a la etiqueta <FORM> de HTML.
2-
WOTextField: usado junto con WOForm permite al usuario introducir texto en una
variable.
3-
WOTextArea: usado en un WOForm para aceptar largas cadenas de texto que
introducirá el usuario.
4-
WOSubmitButton: usado dentro de un WOForm, tiene la misma función que su
homólogo en un formulario HTML.
5-
WOResetButton: es el equivalente al botón reset de un formulario HTML
6-
WOPopupButton: crea una lista desplegable en la que el usuario deberá elegir
una de las variables.
7- WOString: muestra el contenido de la variable asociada a este elemento en el código Java.
8-
WOHyperlink: al igual que en HTML se crea un hiperenlace a otra página, pero
además añade la funcionalidad de apuntar a un método Java que retorna un
componente.
9-
WORepetition: usado para repetir secciones en las cuales se repite el código.
10-
WOConditional: similar a una sentencia if, permite mostrar o no una parte del
componente.
11-
WOImage: muestra una imagen desde una ruta definida o la crea si la imagen es
devuelta por un método Java.
A
todos estos elementos se les puede asociar una variable cuyo nombre (value)
será el mismo que tendrá en el código Java asociado a la página web
(component). Dentro del código se especificará cómo se obtendrá el valor de la
variable y podrá ser de una de estas tres formas:
- La variable se puede
asociar a una instancia de una variable del código Java.
- El valor puede ser
devuelto por un método.
- Hay un método que da valor a la variable asociada.
5.2 CORBAWEB
En un sentido general, CORBA “envuelve” el código escrito en otro
lenguaje, en un paquete que contiene información adicional sobre las capacidades
del código que contiene y sobre cómo llamar a sus métodos.
CORBA utiliza un lenguaje de definición de interfaces ( IDL) para
especificar las interfaces con los servicios que los objetos ofrecerán. CORBA
puede especificar a partir de este IDL, la interfaz a un lenguaje determinado,
describiendo cómo los tipos de dato CORBA deben ser utilizados en las
implementaciones del cliente y del servidor.
Al compilar una interfaz en IDL se genera código para el cliente y el
servidor (el implementador del objeto). El código del cliente sirve para poder
realizar las llamadas a métodos remotos. Es el conocido como stub, el cual incluye un proxy(representante)
del objeto remoto en el lado del cliente. El código generado para el servidor
consiste en unos skeletons (esqueletos)
que el desarrollador tiene que rellenar para implementar los métodos del
objeto.
La OMG El Object Management Group (OMG) es responsable de la definición
de CORBA. El OMG comprende más de 700 empresas y organizaciones, incluyendo
casi todos los principales fabricantes y desarrolladores de tecnología de
objetos distribuidos, incluyendo la plataforma, base de datos y proveedores de
aplicaciones, así como de herramientas de software y desarrolladores
No hay comentarios:
Publicar un comentario