Вы находитесь на странице: 1из 8

Conferência IADIS Ibero-Americana WWW/Internet 2007

DISEÑO DE UNA HERRAMIENTA PARA EL


DESARROLLO DE APLICACIONES WEB BASADAS EN
STRUTS

Adelaide Bianchini, Ricardo Blanch, Maruja Ortega, Ascánder Suárez


Dpto. de Computación y Tecnología de la Información
Universidad Simón Bolívar - Caracas, Venezuela

RESUMEN
En este artículo se presenta una herramienta de apoyo para el diseño y desarrollo de aplicaciones Web basadas en Struts.
La herramienta se apoya en una metodología que a partir de la identificación de los casos de uso conduce a la descripción
del controlador de la aplicación mediante un grafo de control de flujo denominado grafo Struts. Este se construye a partir
de las Vistas y Acciones definidas en Diagramas de Comportamiento que describen los casos de Uso de la aplicación. La
herramienta facilita la construcción de las JSP y las clases que implementan las Vistas y Acciones, genera a partir del
grafo Struts el servlet correspondiente al controlador de la aplicación y provee facilidades para la definición de datos
vivos y datos persistentes. Adicionalmente, la herramienta genera productos que forman parte de la documentación de la
aplicación.

PALABRAS CLAVE
Ambientes de desarrollo Web, MVC, Struts.

1. INTRODUCCIÓN
El diseño de aplicaciones Web es una tarea compleja que requiere de la integración de diferentes métodos y
técnicas, e involucra una gran variedad de tecnologías. En el caso de aplicaciones basadas en Java esto
incluye HTML, JSP, JavaScript, XML, Enterprise JavaBeans, Java Database Connectivity (JDBC), entre
otras. Algunas de estas tecnologías son utilizadas para manejar elementos de presentación y otras para
resolver lo relacionado con la funcionalidad de la aplicación. Ambos aspectos requieren de habilidades
bastante diferentes de parte del desarrollador, lo que conduce a la necesidad de una separación de tareas.
Esta separación de tareas es una de las principales razones por la que el patrón de diseño de arquitectura
MVC (Model – View – Controller) [14], se ha establecido como uno de los paradigmas más ampliamente
utilizados para el desarrollo de aplicaciones en Internet. Las principales ventajas de este patrón son la clara
separación entre las capas de presentación y de aplicación, lo cual facilita el hacer modificaciones a la
presentación sin afectar la lógica del negocio y viceversa, su adaptabilidad a distintos tipos de vistas y
usuarios, y la posibilidad de desarrollo por distintos equipos con diferentes habilidades, reduciendo así costos
y tiempo de desarrollo.
Entre las distintas implementaciones del patrón MVC, una de las más conocidas y difundidas, es el
framework o ambiente de trabajo Struts [12], desarrollado sobre la plataforma J2EE [7]. Esta herramienta
aporta una infraestructura para el desarrollo de aplicaciones Web que facilita la separación entre la
presentación y la lógica de la aplicación, así como la integración entre ambas capas, dejando en manos del
programador especializado la implementación de la lógica del negocio, almacenamiento y acceso a los datos.
En una aplicación Web basada en Struts, el eje central lo constituye el controlador, siendo este elemento
el encargado de recibir las solicitudes de los clientes (las Vistas) y de distribuirlas a los distintos elementos de
la aplicación que se encargarán de dar respuesta a estas solicitudes (las Acciones). Las Acciones establecen la
conexión con los elementos que implementan la lógica del negocio y el modelo de datos (el Modelo),
obteniendo las respuestas que debe dar el sistema a los requerimientos del usuario. Una vez obtenida la
respuesta, el controlador determina la Vista mediante la cual se mostrará la respuesta al usuario.

91
ISBN: 978–972–8924–45-4 © 2007 IADIS

Los distintos componentes del patrón MVC se implementan en Struts haciendo uso fundamentalmente de:
! páginas JSP para implementar las Vistas,
! un servlet de control (clase Java que se ejecuta en un servidor Web como capa intermedia entre
una solicitud proveniente de un browser u otro cliente HTTP y una aplicación en el servidor
HTTP) que controla la relación entre las Vistas y el Modelo,
! Action Classes de Java que implementan las Acciones o puntos de entrada hacia el Modelo,
! Form Beans, clases particulares de Java utilizadas para comunicar los datos entre el Modelo y
las Vistas.
Para representar el controlador de una aplicación, cuando se trabaja con Struts, se propone una
representación gráfica mediante un grafo al estilo de los grafos utilizados en MyEclipse© [11]. Este grafo lo
denominamos “grafo Struts”, siguiendo lo propuesto en [1]. En este grafo los nodos corresponden a las Vistas
y a las Acciones, y los arcos representan la comunicación entre estos nodos, y están etiquetados con
componentes de datos (formas) que establecen cómo se comunican entre sí las Vistas y las Acciones y qué
tipo de información intercambia la aplicación con sus usuarios.
Una vez elaborado el grafo Struts se tiene la información relevante necesaria para completar un archivo
XML denominado struts-config.xml utilizado por Struts para parametrizar el servlet que implementa el
controlador.
Para diseñar una aplicación Web basada en Struts se requiere de metodologías que tomen en
consideración las características propias del diseño para la Web, que se adapten al patrón MVC, y que
aprovechen las facilidades que brinda Struts. La metodología propuesta en [1] se ajusta a los requerimientos
antes descritos.
En este trabajo se presenta el diseño de una herramienta, desarrollada con licencia de software libre, que
sirve de soporte a esta metodología, para obtener el diseño de la aplicación, expresado mediante el grafo
Struts, y a partir de éste parametrizar el controlador de la misma. En otras palabras, esta herramienta está
orientada a facilitar el proceso de diseño, previo al desarrollo de la aplicación.
La herramienta se está desarrollando en ambiente web ya que, en un futuro cercano, se prevé la
posibilidad de integrarle un ambiente colaborativo, de forma que los diseñadores involucrados en un diseño
puedan compartir recursos, definiciones de diagramas, formas y otros componentes. La herramienta incluye
además otras facilidades para apoyar la implementación de la aplicación diseñada. Igualmente es posible su
combinación con distintos ambientes de trabajo existentes en el mercado, basados en Struts, entre los cuales
podemos mencionar Expresso© [6], Exadel Struts Studio© [2], MyEclipse© [11], MDE© [10] que buscan
facilitar la labor del desarrollador. Éstos, en general, requieren de una descripción del controlador, y facilitan
la implementación de las Vistas (páginas) así como las Acciones (clases). La herramienta que se presenta en
este trabajo aporta una facilidad adicional al proveer al desarrollador el apoyo para el diseño del controlador
que refleja la esencia de la aplicación basada en Struts.
El resto del artículo está estructurado de la siguiente forma: en la sección 2 se describe brevemente la
metodología, en la sección 3 se describe la herramienta propuesta y algunos detalles de la implementación.
Finalmente en la última sección se exponen las conclusiones sobre el desarrollo de la herramienta.

2. DESCRIPCIÓN DE LA METODOLOGÍA
La metodología descrita en [1] está orientada al diseño de la interacción entre el usuario y el sistema en una
aplicación Web implementada bajo el patrón MVC utilizando Struts. El proceso parte de la formulación del
problema planteado y conduce a la descripción de las Vistas que es necesario crear para manejar la
interacción entre los usuarios y la aplicación, a una especificación de lo que deben hacer las Acciones y
finalmente a la elaboración del grafo Struts de la aplicación. En la Figura 1 se muestran en forma
esquemática los pasos de la metodología los cuales se detallan a continuación.

Figura 1. Esquema general de la metodologia

92
Conferência IADIS Ibero-Americana WWW/Internet 2007

Identificación de casos de uso: es similar al de otras metodologías, por ejemplo RUP [9] para desarrollo
de sistemas y consiste en la identificación de los casos de uso del sistema, incluyendo para cada caso una
descripción textual, precondición y postcondición.
Elaboración de Diagramas de Comportamiento: consiste en la elaboración de diagramas que modelan
la dinámica e interacción de los actores (usuario y sistema) para cada Caso de Uso. Estos diagramas conjugan
información temporal, cursos alternos, y relaciones entre usuarios y sistema.
Un diagrama de comportamiento estará compuesto por:
! nodos Usuario: describen las acciones que deben ejecutar los usuarios en su interacción con el sistema,
! nodos Sistema: describen las acciones que debe ejecutar el sistema en respuesta a los requerimientos
del usuario,
! flechas que representan comunicaciones entre usuario y sistema.
El diagrama de comportamiento constituye un grafo bipartito, con los nodos separados en dos columnas:
Usuario y Sistema. Los cursos alternos estarán reflejados por distintas flechas etiquetadas que parten de un
mismo nodo.
Los nodos de Usuario se completan luego con “formas”, para agrupar la información que se intercambia
entre el usuario y el sistema.
La descripción de una forma constará de un nombre que la identifica y de una colección de campos que
incluyen:
! Campos de entrada, donde los datos fluyen desde las vistas hacia el sistema.
! Campos de salida, donde los datos fluyen desde el sistema hacia las vistas.
! Campos de entrada-salida, donde los datos fluyen en ambas direcciones.
! El nombre de un nodo Sistema correspondiente a una salida de un nodo Usuario.
Identificación de Vistas y Acciones: consiste en la definición de los elementos del grafo Struts. Los
nodos del grafo son de dos tipos: Vistas y Acciones. Las Vistas se obtienen de los nodos Usuario y las
Acciones de los nodos Sistema, definidos durante la elaboración de los diagramas de comportamiento. Las
Vistas se construyen como páginas JSP a partir de las colecciones de formas asociadas a los nodos Usuario.
Los arcos del grafo Struts y sus etiquetas se derivan de las flechas del diagrama de comportamiento, de la
relación entre las Vistas y los nodos Usuario y de la relación entre las Acciones y los nodos Sistema. Los
arcos Vista ! Acción se etiquetan con el identificador de la forma que contiene los datos que se transmiten a
la Acción.
Elaboración del grafo Struts: se elabora con la definición de las Vistas, las Acciones y los arcos entre
ellas. Este grafo contiene la información relevante requerida en Struts para parametrizar el controlador de la
aplicación en el archivo struts-config.xml. Igualmente, esta información es utilizada para construir
las páginas JSP que implementan las Vistas, así como la parte esencial de las Action Classes que
implementan las Acciones. En la Tabla 1 se muestran de forma resumida los pasos propuestos para alcanzar
el diseño del grafo Struts de una aplicación.
Tabla 1. Pasos de la metodología

Pasos de la Metodología
1. Identificar los Casos de Uso del sistema, incluyendo en cada caso una descripción textual, precondición y postcondición de
cada uno.
2. Elaborar los Diagramas de Comportamiento asociados a cada Caso de Uso del sistema.
3. Para cada Diagrama de Comportamiento:
3.1. Definir las Formas asociadas a los nodos Usuario del Diagrama de Comportamiento. Incluir salidas.
3.2. Combinar las formas obtenidas en 3.1 para producir formar compuestas, integrando incluso formas de nodos Usuario de
diagramas correspondientes a diferentes Casos de Uso.
4. Definir los nodos Vista del grafo Struts a partir de las formas resultantes del paso 3.2.
5. Definir los nodos Acción a partir de los nodos Sistema del Diagrama de Comportamiento, integrando posiblemente, acciones
asociadas a nodos de Sistema de Diagramas correspondientes a diferentes Casos de Uso. Agregar las salidas de los casos de
falla.
6. Definir los arcos del grafo Struts en base a las flechas del Diagrama de Comportamiento, las relaciones entre las vistas y los
nodos de Usuario y entre las acciones y los nodos de Sistema.
7. Elaborar el grafo Struts de la aplicación en función de las Vistas, las Acciones y los arcos definidos en los pasos 4, 5 y 6.

93
ISBN: 978–972–8924–45-4 © 2007 IADIS

3. DESCRIPCIÓN DE LA HERRAMIENTA

3.1 Diseño de la Herramienta


La herramienta que se presenta en este trabajo tiene como finalidad apoyar el diseño e implementación de
aplicaciones Web en ambiente Struts. Esta herramienta se diseñó siguiendo la metodología [1] descrita en la
sección 2, y a su vez se está desarrollando en ambiente Web basado en Struts y haciendo uso de otras
tecnologías como Hibernate© [5] para el manejo de la persistencia de datos y SVG [13] para la visualización
de los diagramas requeridos en la aplicación.
La primera versión, disponible a partir de julio 2007, corresponde al diseño de las funcionalidades básicas
y contiene lo necesario para: crear diseños, dividirlos en casos de uso y asociarles Diagramas de
Comportamiento con sus respectivos nodos usuario y sistema a cada uno de ellos, diseñar la representación
persistente de los datos a utilizar, así como los datos por sesión y los datos vivos de la aplicación, asociar a
cada nodo sistema la colección de datos que tiene a su disposición para cumplir con su cometido, asociar a
cada nodo usuario Vistas y objetos de acceso de datos para comunicar la información entre la aplicación y
sus usuarios al momento de la ejecución (ver Tabla 2).
Tabla 2. Funcionalidades básicas y complementarias
Funcionalidades básicas Funcionalidades complementarias
1. Crear y editar nuevo diseño: descripción del problema 1. Diseñar estructuras de datos persistentes lo
2. Crear, editar y listar casos de uso: desglose del problema en casos de uso cual permite completar información entre un
3. Definir Diagrama de Comportamiento: En este proceso se destacan las nodo Sistema (Acciones) incluyendo
siguientes tareas: operaciones de lectura/escritura para
! Crear y Editar Nodos Usuario interactuar con el modelo de datos.
! Crear y Editar Nodos Sistema 2. Diseñar versiones más elaboradas de las
! Crear y Editar conexiones entre nodos (salidas) Vistas y más facilidades para completar el
Se produce el esqueleto de la aplicación con todos los elementos, a cuerpo (código) de las Acciones.
excepción de los form beans. 3. Crear, modificar y eliminar variables de
4. Crear Formas (definir Vistas del grafo Struts y form beans) sesión.
5. Completar el archivo struts-config.xml. 4. Crear, modificar y eliminar entidades e
6. Generar el esqueleto de las acciones. interrelaciones en el Modelo.
Como resultado del diseño se produce el esqueleto de una aplicación Web que contiene el archivo de
configuración Struts, las vistas JSP, los objetos de acceso de datos, la representación de datos persistentes en
Hibernate [5] para crear la base de datos y acceder a ellos desde las acciones, los esqueletos de las acciones
incluyendo el inicio y cierre de la sesión de acceso a los datos persistentes. La herramienta propuesta soporta
cada uno de los pasos de la metodología para el desarrollo de una aplicación.

3.2 Estado Actual de la Herramienta


En esta sección se detallan las principales características y aspectos funcionales de la herramienta, y se
ilustran con algunas Vistas del prototipo que se encuentra en desarrollo.
3.2.1 Creación de Diseños y Casos de Uso
Al crearse un diseño se puede incluir información general que se utilizará para la documentación de la
aplicación e iniciar el desglose de ésta en casos de uso. Una vez listados los casos de uso, se puede pasar a
diseñar en detalle cada uno de ellos, o editar cualquiera de los ya creados (Figura 2).
3.2.2 Creación de Diagramas de Comportamiento
Un Diagrama de Comportamiento está asociado a un Caso de Uso. El diseño de un Diagrama de
Comportamiento comprende la descripción detallada de la interacción entre el usuario y la aplicación
mediante la definición de nodos Usuario, los nodos Sistemas y los arcos entre ellos.
Los Diagramas de Comportamiento pueden conectar nodos de diferentes casos de uso. Si bien la división
en casos de uso no es estrictamente necesaria y un diseño podría realizarse con un solo caso de uso con un
gran diagrama, resulta mucho más claro y práctico al momento de la implementación disponer de la
estructuración lógica brindada por la división del diseño en casos de uso específicos (Figura 3).

94
Conferência IADIS Ibero-Americana WWW/Internet 2007

Figura 2. Creación de Caso de Uso y Lista de Casos de Uso

Figura 3. Diagrama de Comportamiento


Especificación de nodos Usuario
Al detallar el diseño de los diagramas de comportamiento, se incluye la información correspondiente a los
datos que la aplicación envía al usuario así como de la estructura de la información que los usuarios pueden
aportar a la aplicación.
La información que la aplicación envía al usuario se especifica mediante objetos de acceso de datos. Para
especificar la estructura de la información que la aplicación solicita del usuario se utilizan formas. La
herramienta dispone de mecanismos para crear estas formas en los nodos Usuario y especificar los campos
que las componen. Con esta información se crea el código JSP de la Vista y el objeto de acceso de datos que
permitirá utilizar en un nodo Sistema la información recopilada en la Vista. Además de la forma, en la
definición del nodo Usuario se incluye su nombre y datos para la documentación (Figura 4).
Especificación de nodos Sistema
En los nodos Sistema se realizan las Acciones de la aplicación. Para ello se dispone de datos vivos y
persistentes, así como de los datos que pueden provenir de un nodo Usuario precedente en el grafo. En el
caso de los datos persistentes, en cada nodo Sistema se indica si los datos utilizados serán modificados o no.
Como resultado de la Acción del nodo Sistema, pueden haberse realizado cambios en los datos o puede
haberse generado una condición de error.

95
ISBN: 978–972–8924–45-4 © 2007 IADIS

Figura 4. Elaboración de Diagramas de Comportamiento – (Nodo Usuario – Vista – Formas)


En el diseño de la aplicación, a cada nodo Sistema se le puede especificar los datos a los que tiene acceso
y pares de salidas posibles con las estructuras de datos asociadas. Otra información requerida para definir un
nodo Sistema incluye el nombre del nodo, datos para la documentación, precondiciones y postcondiciones
por salida (Figura 5).
Elaboración de Paso 5 de la metodología
Diagramas de
Comportamiento

En la herramienta

Figura 5 - Elaboración de Diagramas de Comportamiento - (Creación Nodo Sistema - Acción)


Figura 5. Elaboración de Diagramas de Comportamiento – (Creación Nodo Sistema - Acción)
Es posible incluir el código en Java de la Acción asociada al nodo Sistema, pero en la versión inicial de la
herramienta, éste es simplemente guardado como un campo de texto para su posterior inclusión en el código
generado a partir del diseño.
Conexiones
Para establecer las conexiones (arcos) del diagrama de comportamiento se debe indicar en cada nodo
(Usuario y/o Sistema) correspondiente al extremo inicial de un arco, los respectivos nodos terminales,

96
Conferência IADIS Ibero-Americana WWW/Internet 2007

conjuntamente con la información requerida en cada caso. En las conexiones entre distintos casos de uso se
debe especificar el caso al que pertenece el nodo terminal.
3.2.3 Sobre los Datos Vivos
Si bien el protocolo HTTP es un protocolo "sin estado" y cada solicitud enviada por un navegador es
independiente de la anterior, el mecanismo de "cookies" permite responder a una solicitud en el contexto de
la solicitud anterior enviada desde el mismo navegador. Para que la aplicación Web mantenga este contexto,
se utilizan datos de sesión, que se mantienen mientras dure cada interacción de un usuario con la aplicación.
A nivel del diseño se puede especificar, bajo la forma de listas de pares (nombre, clase asociada), las
estructuras de datos que se mantienen durante una sesión con el usuario. Estas estructuras son creadas y
utilizadas para cada diálogo que se establezca entre un usuario y la aplicación, y no trascienden entre
diferentes ejecuciones de la aplicación.
Igualmente, es posible mantener estructuras de datos compartidos entre las diferentes sesiones de la
aplicación que se mantienen en paralelo mediante el uso de estructuras de datos especificadas a nivel del
diseño como listas de pares (nombre, clase asociada), llamadas datos de aplicación.
Los datos de sesión y de aplicación son "conceptualmente" mantenidos en la memoria viva de la
aplicación, mientras ella se ejecute, y pueden ser utilizados a conveniencia en los casos de uso.
3.2.4 Sobre los Datos Persistentes
En algunos casos, una aplicación Web se diseña como fachada de una aplicación existente. En ese caso,
normalmente se interactúa con ella mediante una librería con las operaciones disponibles. En otros casos, la
aplicación Web es también la aplicación completa, por lo que necesita del uso y almacenamiento de datos
persistentes, es decir, de datos que son almacenados en una base de datos, y se mantienen de forma
perdurable en el tiempo, para ser consultados y actualizados por la aplicación.
A nivel de diseño, se puede especificar el conjunto de colecciones de datos persistentes de la aplicación,
de manera de ser utilizados en los casos de uso bajo el esquema de acceso propuesto por la herramienta
Hibernate.
La versión de base de la herramienta que se propone, permite definir colecciones de datos bajo la forma
de clases persistentes, asociarles una colección de campos y definir su correspondencia con componentes de
una base de datos. Igualmente permite establecer tipos de relaciones uno-a-muchos y muchos-a-muchos entre
colecciones. Otras combinaciones de representación de datos no están disponibles en esta versión de la
herramienta.
3.2.5 Generación de la Aplicación Prototipo
El diseño de los diagramas de comportamiento conduce a la generación del archivo de configuración de
Struts (struts-config.xml) de la aplicación, incorporando los arcos de los diagramas de
comportamiento -de los casos de uso- y las formas de los nodos Usuario.
El diseño de la estructura de datos persistente conlleva la generación de los archivos de configuración
para que Hibernate [5] sirva de mediador con la base de datos en donde se almacenarán los datos persistentes
y la definición de operaciones para establecer conexiones y realizar transacciones con la base de datos.
Del diseño de los nodos Usuario se generan archivos JSP con las formas correspondientes que
implementan las Vistas de la aplicación. De los nodos Sistema se generan Acciones que contienen el acceso a
los datos vivos, a los datos que provienen de un nodo Usuario, una conexión a la base de datos y el bloque de
transacción de base de datos cuando se ha indicado que habrá datos persistentes que pueden ser modificados.
En caso de haberse incluido el código Java de la Acción, éste se agrega al archivo de la Acción
correspondiente.
A todo esto se agregan los componentes necesarios en una aplicación Web, que incluyen entre otros, las
librerías utilizadas, el archivo de configuración de la aplicación Web (web.xml) y los descriptores de las
librerías de marcas de Struts.

97
ISBN: 978–972–8924–45-4 © 2007 IADIS

4. CONCLUSIONES
La herramienta presentada constituye un aporte para el área de Ingeniería Web [8] al proveer mediante una
interfaz gráfica y sencilla un soporte metodológico para el diseño de una aplicación en ambiente web.
Además, apoya la construcción de la aplicación basándose en los resultados del diseño, tales como los
diagramas de comportamiento, la definición de las formas, de las Vistas y Acciones y el grafo Struts, que
representa el controlador, a partir de los cuales se implementan los componentes de la aplicación. Si bien en
el mercado existen productos comerciales que a partir de un diseño facilitan el desarrollo de aplicaciones
web, la herramienta propuesta, escrita bajo licencia GNU-GPL[4], cubre la etapa de diseño y facilita el
desarrollo de prototipos de aplicaciones web.
Adicionalmente la herramienta genera productos que forman parte de la documentación de la aplicación,
tales como la descripción detallada de los casos de uso (Diagramas de Comportamiento), descripción
detallada de las formas, especificaciones de las Acciones y el grafo Struts. Todos estos productos pueden
también ser consultados a través de la herramienta. Incluye además un repositorio de diseños. La herramienta
no da soporte directo para integrar a AJAX [3] en las Vistas, sin embargo es posible diseñar con los
Diagramas de Comportamiento llamadas a realizar a través de AJAX .
Entre las características que se irán incorporando a la herramienta se prevé la posibilidad de integrarle un
ambiente colaborativo, de forma que los diseñadores involucrados en un diseño puedan compartir recursos,
definiciones de diagramas, formas y otros componentes. Igualmente se contempla la posibilidad de diseñar
nuevas funcionalidades a una aplicación web existente a partir de sus archivos de configuración.
El desarrollo de la herramienta se llevó a cabo utilizando la misma metodología que esta apoya, y se está
implementando en J2EE, utilizando Struts, Hibernate, SVG y próximamente se utilizará AJAX.
Un prototipo de la herramienta que obtenerse en http://gacela.labf.usb.ve/WebAppsWiki.

RECONOCIMIENTO
Este proyecto contó con el apoyo financiero del Decanato de Investigación y Desarrollo de la Universidad
Simón Bolívar, DID-USB (Proy.IC-CAI-004-06). http://www.did.usb.ve Septiembre 2006/Septiembre 2007.

REFERENCIAS
Bianchini, A., Ortega, M., Suárez, A.: “Una Metodología de Diseño de Aplicaciones Web bajo el Patrón MVC”. Jornadas
Chilenas de Computación - 2005. XIII Encuentro Chileno de Computación 2005. Valdivia, Chile, Noviembre 2005.
Exadel, Inc. “Exadel Struts Studio”. http://www.exadel.com/products_strutsstudio_professional.htm último acceso:
03/2007.
Garret, J. J. : “Ajax: A New Approach to Web Applications”.
http://adaptivepath.com/publications/essays/archives/000385.php Último acceso: 03/2007.
GNU General Public License. http://www.gnu.org/copyleft/gpl.html
Hibernate: Relational Persistence for Java and .NET. http://www.hibernate.org/ Último acceso: 04/2007.
Jcorporate Ltd. “Expresso Framework Project”. http://www.jcorporate.com/expresso.html Último acceso: 02/2007.
J2EE: “Java 2 Platform, Enterprise Edition”. http://java.sun.com/j2ee/index.jsp Ultimo acceso: 04/2006
Kappel, G., Próll, B., Reich, S., Retschitzegger, W.: “Web Engineering The Discipline of Systematic Development of
Web Applications”. John Willey and Sons, 2006.
Kruchten, P. :” The Rational Unified Process: An Introduction (2nd Edition). Addison-Wesley Professional, 2000.
MDE for Struts. http://www.eclipse-plugins.info/eclipse/plugin_details.jsp?id=310 Último acceso: 04/2007.
MyEclipse J2EE IDE – http://www.myeclipseide.com/ Último acceso: 02/2007
Struts Apache org: “The Apache Struts Web Application Framework”. http://struts.apache.org
SVG: Scalable Vector Graphics (SVG). http://www.w3.org/Graphics/SVG/ Último acceso: 03/2007.
Singh I., Stearns, B., Johnson, M., and the Enterprise Team: “Designing Enterprise Applications with the J2EE
Platform”. http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier.html

98

Вам также может понравиться