Download Lecture Notes in Computer Science:

Document related concepts
no text concepts found
Transcript
Anteproyecto de Trabajo Fin de Carrera
Aplicación Empresarial para Internet utilizando
patrones de diseño y UML
Isaac Gutiérrez Gómez
Ingeniería en Informática
Escuela Técnica Superior de Ingeniería Informática
Universidad de Alcalá
[email protected]
Palabras clave. J2EE, Java, Patrones de Diseño, UML, Servicios Web, SOAP,
XML, HTML, SOA, Arquitectura Software.
1 Introducción
Cada vez más las aplicaciones existentes deben de estar disponibles en Internet y
los clientes deben de acceder a sus servicios 24 horas al día, 7 días a la semana los
365 días del año.
Y las aplicaciones cada vez son más complejas y más grandes y los recursos para
desarrollarlas son cada vez más escasos, o una misma persona puede participar en
varias aplicaciones. También hay que tener en cuenta la permanencia de los analistas y
desarrolladores en un mismo proyecto, en un mismo proyecto puede darse el caso de
salida y entrada de distintas personas y los desarrolladores de software no se suelen
fiar de lo que no está supervisado por ellos mismos.
Por todo lo anterior es necesario ir a la reutilización de software y a un lenguaje
común para los analistas (UML) esto permitirá tener una mejor documentación de los
proyectos.
Desde que el W3C aprobó la especificación 1.0 del XML en febrero de 1998, ha
sido increíble la cantidad de información, aplicaciones y software que se ha ido generando alrededor de este nuevo estándar.
En este proyecto veremos las principales características del XML y como podemos
utilizarlo para crear nuestra aplicación para Internet.
Entre las muchas ventajas de utilizar XML podemos citar:

Sencillez.

Variedad de estructuras de datos

Excelente tratamiento de caracteres internacionales
Y como ejemplo de aplicación se puede utilizar para realizar motores de búsqueda
mucho más eficaces, lo que nos permitirá un acceso más rápido y eficiente a la información, o los ficheros de configuración de las aplicaciones.
Otro concepto importante son los Servicios Web, y una definición funcional de un
servicio Web es que es una componente de software independiente de plataforma e
implementación y que puede ser:





Descrita usando un lenguaje de descripción de servicio.
Publicada en un registro de servicios.
Descubierta a través de un mecanismo estándar
Invocada a través de un API declarado, usualmente sobre una red.
Compuesta con otros servicios.
Los Servicios Web hacen uso de XML y los vamos a utilizar para una posible integración con otras aplicaciones de la misma tecnología o incluso con otra tecnología
distinta.
Al comienzo de las aplicaciones en Internet, los portales fueron simplemente una
forma de anunciarse o de que las empresas tuvieran presencia en Internet, simples
formularios, publicidad o catálogos estáticos de proveedores. Actualmente todo esto
ha evolucionado y las aplicaciones que se desarrollan para Internet se pueden dividir
en tres grandes mundos: J2EE, .NET y luego existen otras serie de tecnologías como
pueden ser CGI o PHP.
Estas tecnologías están ayudando a los arquitectos y desarrolladores a reducir la
complejidad del código y acelerar el desarrollo.
En la siguiente figura se puede apreciar como utilizando distintas tecnologías se
pueden obtener los mismos resultados:
A pesar de las distintas tecnologías para construir aplicaciones para Internet vamos
a utilizar J2EE (Java 2 Platform, Enterprise Edition) que es un conjunto de especificaciones de APIs Java para la construcción de aplicaciones empresariales puede utilizarse con servidores de aplicaciones de código libre y es independiente de la plataforma.
Tenemos que tener en cuenta que para poder comprender la utilización de los patrones de diseño se deben tener unos conocimientos fundamentales del modelo de
Objetos. Por esta causa se dan por supuestos ciertos conceptos fundamentales de las
Tecnologías Orientadas a Objetos (clase, objeto, encapsulación, herencia, polimorfismo, agregación, etc.) que se van a utilizar en los siguientes puntos de este proyecto.
2 Objetivos
El objetivo principal del trabajo consiste en facilitar la experiencia necesaria de
cómo realizar una aplicación empresarial para Internet que sea fácil de mantener, escalable y que tenga componentes reutilizables para siguientes aplicaciones
con la suficiente documentación.
Posteriormente se diseñarán los mecanismos necesarios para que nuestra aplicación
desarrollada sea de fácil integración con otros sistemas y aplicaciones. Para este propósito se hará uso de los Servicios Web y de los patrones de diseño principales de
Servicios Web.
De esta forma realizando una aplicación, podemos ahorrar costes en futuros desarrollos y sobre todo en el mantenimiento donde los proyectos pueden ocasionar unos
costes bastante elevados.
Los objetivos específicos planteados son los siguientes:
1.
2.
3.
4.
5.
6.
Analizar y documentar los distintos patrones de diseño para la construcción
de aplicaciones para Internet.
Investigar sobre las nuevas tecnologías de integración y su aplicación como
son los Servicios Web.
Conseguir una aplicación segura, escalable, robusta, fácil de testear y de mantener y que sea portable.
Ahorro de costes en la creación de nuevas aplicaciones y su posterior mantenimiento.
Evaluar los resultados obtenidos de rendimiento de la aplicación desarrollada.
Redactar un informe o memoria final con los resultados de la aplicación de
las distintas tecnologías y herramientas utilizadas.
3 Resultados
El principal resultado del trabajo será una aplicación que funcione para Internet aportando:
- Una arquitectura de software base que sea útil para el desarrollo de nuevas
aplicaciones.
- El estudio y clasificación de los patrones de diseño que mejor se adaptan a la
construcción de aplicaciones para Internet.
- El análisis de los resultados obtenidos al utilizar patrones de diseño y Servicios
Web.
También se desarrollará una memoria describiendo cada una de las tecnologías utilizadas, ventajas de estas tecnologías y la documentación del código fuente desarrollado.
4 Metodología
El método que se aplicará en el trabajo será el más adecuado para este tipo de desarrollo: se llevará a cabo un estudio de los patrones de diseño que mejor se adaptan a la
construcción de aplicaciones para Internet, se diseñará la aplicación utilizando UML,
se desarrollarán los componentes base de software que constituirán la arquitectura
base y, finalmente, se pasará al desarrollo de la aplicación haciendo uso de la arquitectura base desarrollada.
5 Recursos
En la medida que podamos vamos a intentar utilizar herramientas que sean gratuitas, aquellas herramientas que tienen licencia GPL. Las herramientas software que
vamos a utilizar son las siguientes:

Plataforma Java: La plataforma Java es ideal para desarrollar patrones de
diseño y Servicios Web. Y también esto nos permitirá utilizar herramientas
de código abierto.

ArgoUML: Herramienta de modelado UML. Es una herramienta de licencia GPL. Y nos permitirá hacer el diseño de nuestra aplicación, y ver el
diagrama de clases de cada patrón de diseño utilizado.

Apache Tomcat: Es el servidor de aplicación de Apache, es gratis, y está
lo suficientemente probado para poder desarrollar aplicaciones J2EE en un
entorno profesional.

Eclipse: Es el entorno de desarrollo.

MySQL: Es la base de datos, que también es gratuita. Hemos escogido
esta base de datos porque lleva tiempo en el mercado y es gratuita, otra
buena opción podría haber sido PostgreSQL.

MM.MySQL: Es el driver JDBC para poder acceder a la base de datos
MySQL.
También se requerirá el siguiente equipamiento hardware:


Se necesitará un computador personal con impresora láser, acceso a Internet, para la codificación y realización de la documentación.
Un servidor con un procesador de velocidad elevada para la implemetación y la realización de las pruebas del código desarrollado.
6 Bibliografía
Cauldwell, Chawla, Chopra, Damschen, Dix, Hong, Norton, Zaev “Profesional XML Web
Services”, (2001), Wrox Press.
“Java Web Services for Experienced Programmers”, Deitel Developer Series (2003), Pearson
Education.
Deepak Alur “Core J2EE Patterns”, Sun Microsystems (2001)
James Goodwill, Richard Hightower “Professional Java Struts”, September 2003 Wrox Press
Lennart Jorelint “J2EE FrontEnd Technologies: A Programmer's Guide to Servlets, JavaServer
Pages, and Enterprise JavaBeans”, Apress (2001)
7
Planificación
Plan
de
proy
ecto
Fuente:
• Instalación
Estudio
Instalar
Realizar
Seleccionar
Se
Codificación
juntarán
yde
lasy
Desarrollo
Análisis
CodificaPreparar
Preparar
Pruebas
Isaac
Gutiérpruebas
configurar
todas
los
las
de
requerimienlas
clases
compolos
las
hede
pael
el
Arquitectura
aquitectura
ede
ción
ción
entorno
InvestigaDiseño
integrade
de
los
lade
rez
integración:
entorno
pruebas
nentes
anteriores
trones
rramientas
tos
de
necepara
nediecompoentes
principales
donde
funcionalidesarrollo
Integración
ciónfun-de
Ofreciendo
que
cesarias
sarios
para
seño
desarrollo
ladarle
selecpara
aplipara
componentes
cione
de
dad
integrala
de
aplila
• Especificauna que
cación
ver
que
funcionalicionados
seleccionainterfaz
la
aplipueda
la y
ción
aplicación
cación
(Serviaccediendo
integrarse
aplicación
cación
dad
das
ciones
a laconpueda
apli-a
Web)
• cios
ella aotras
con
construida
integrarse
cación,
Codificación
cretas
través
deaula
• aplicación
aplicaciones.
funciona
con
tenticación,
de
Instalación
los
las
otras
clases
protocolos
adecuadaaplicaciones
acceso
necesarias
de
lo necesaestaa da• Casos
blecidos
Canales
ymente.
tos,
adicionales
rio
otros
para
navegade
sistener
de
uso
comunicatemas
ción,
operativo
trata-el
• Se
Acceder
ción,
Pruebas
miento
entorno
escogerán
seguride
de
a
• los
otros
dad
unitarias
Codificar
formularios,
desarrollo
patrones
necesaria
sistenelos
emas
cesarias
interfaces
etc.
de
instalación
diseñoy apor
de los propruebas
donde
utilizar.
sede
pogramas
funcionalidrá
acceder
nece-a
• Se
sarios
dad
otros
elegirá
sisteparala
tal fin
mas
arquitectura
y por
donde otras
software
de
aplicaciones
la
aplicación
podrán acce• Estudio
der a la funy
cionalidad
elección
de
ofrecida.
herramientas
También adjunto un gráfico con las distintas fases y una explicación.
Related documents