Actualizado el 21 de Marzo del 2018 (Publicado el 15 de Febrero del 2018)
579 visualizaciones desde el 15 de Febrero del 2018
827,4 KB
94 paginas
Creado hace 14a (12/09/2009)
Análisis de la adecuación de lenguajes de programación Web
a un desarrollo basado en patrones de diseño J2EE de alto nivel
PROYECTO FIN DE MÁSTER
Autor: Óscar Mauricio Morales Franco
Director: Antonio Navarro Martín
Máster en Investigación en Informática
Facultad de Informática
Universidad Complutense de Madrid
Curso académico: 2008/2009
Análisis de la adecuación de lenguajes de programación Web
a un desarrollo basado en patrones de diseño J2EE de alto nivel
PROYECTO FIN DE MÁSTER
Autor: Óscar Mauricio Morales Franco
Director: Antonio Navarro Martín
Máster en Investigación en Informática
Facultad de Informática
Universidad Complutense de Madrid
Curso académico: 2008/2009
El abajo firmante, matriculado en el Máster en Investigación en Informática de la Facultad de
Informática, autoriza a la Universidad Complutense de Madrid (UCM) a difundir y utilizar con
fines académicos, no comerciales y mencionando expresamente a su autor el presente Trabajo
Fin de Máster: "Análisis de la adecuación de lenguajes de programación Web a un desarrollo
basado en patrones de diseño J2EE de alto nivel”, realizado durante el curso académico 2008-
2009 bajo la dirección de Antonio Navarro Martín en el Departamento de Ingeniería del
Software e Inteligencia Artificial, y a la Biblioteca de la UCM a depositarlo en el Archivo
Institucional E-Prints Complutense con el objeto de incrementar la difusión, uso e impacto del
trabajo en Internet y garantizar su preservación y acceso a largo plazo.
Madrid, a 14 de septiembre de 2009
Óscar Mauricio Morales Franco
Agradecimientos
En la vida, sería muy difícil lograr metas sin estar rodeados de personas tan valiosas como aquellas que
brindan siempre confianza, ideas positivas y apoyo incondicional.
La realización de este trabajo es posible gracias al constante apoyo de un gran equipo de trabajo llamado
familia.
También, un agradecimiento especial a Antonio, mi director, por sus sabias recomendaciones y excelente
gestión.
5
Abstract
Technologies and techniques for software construction have evolved quickly in the last ten years. New
technologies in the Web Applications field have surged and now the all compete together. Software
architects and developers keep building applications using old practices, others, do not know the
alternatives and how interesting can they be.
This work is focused in the comparison of J2EE alternatives for building enterprise systems. ASP.NET/C#,
PHP and PHP/Zend Framework will be the main characters in this work's discussions. The analysis made
in this job, is based in a common and universal vocabulary such as J2EE design patterns. Each technology's
capacity will be determined by the level of support it brings into the each high-level pattern
implementation.
It is important to notice that J2EE design patterns, group together a set of good practices that have been
under development during recent years for Web Systems' construction. Even in practice, many Web
Applications are built using an ad-hoc architecture, design patterns lead to standard solutions, easy to
comprehend and maintainable for developers.
The chose of certain Web Development Programming Language depends of certain aspects such as the
learning curve of a specific one, or the hardware capabilities of the different servers that made the whole
system. Nonetheless, on advanced development entities, these characteristics can be non-determinant. The
question is raised, whether or not all available programming languages are capable of implementing
solutions in accordance with high-level Web design patterns. This works tries to answer this question.
Also, in this work, J2EE design patterns main sources are analyzed (known and used as a guide for
software developers and architects around the world). During this analysis, a mapping between different
patterns ontologies defined by each source will be created. This way, a mechanism that eases the
understanding of these patterns in general is given, allowing an open discussion throughout the document.
Keywords
Design patterns, software engineering, web applications, best practices, enterprise applications, PHP,
ASP.NET, J2EE
6
Resumen
Las tecnologías y las técnicas para construcción de software han evolucionado rápidamente en los últimos
diez años. En el ámbito de aplicaciones web han surgido nuevas tecnologías que ahora compiten entre sí.
Los arquitectos y desarrolladores de software continúan desarrollando aplicaciones con prácticas antiguas,
y otros, no conocen las alternativas y lo interesantes que pueden ser.
Este trabajo está enfocado en comparar alternativas a J2EE para la construcción de sistemas empresariales.
ASP.NET/C#, PHP y PHP/Zend Framework serán los protagonistas de las discusiones en este trabajo. El
análisis que aquí se desarrolla está basado en un vocabulario común y universal como es el de los patrones
de diseño J2EE. La capacidad de cada tecnología será determinada por el nivel de soporte que brinde para
la implementación de cada patrón de alto nivel.
Es importante darse cuenta que los patrones de diseño J2EE recopilan un conjunto de buenas prácticas que
se han venido desarrollando en los últimos años para el desarrollo de sistemas web. Aunque en la práctica
muchas aplicaciones web se construyen con una arquitectura ad-hoc, la presencia de patrones de diseño
conduce a soluciones estándares, fácilmente comprensibles y mantenibles por parte de los desarrolladores.
En la práctica, la elección de un determinado lenguaje de programación web viene dada por cuestiones tan
importantes como puede ser la curva de aprendizaje de un determinado lenguaje, o las posibilidades
hardware de los distintos servidores del sistema a construir. Sin embargo, en entidades de desarrollo lo
suficientemente avanzadas, estas características pueden no ser determinantes. Surge por tanto la pregunta
de si todos los lenguajes disponibles son capaces de implementar soluciones diseñadas acorde a patrones de
diseño web de alto nivel. Precisamente este trabajo pretende responder esta pregunta.
Además, en este trabajo, se analizan las principales fuentes de patrones de diseño J2EE (conocidos y
usados como guía por desarrolladores y arquitectos alrededor del mundo). Durante este análisis se creará un
mapping entre las distintas ontologías de patrones definidas por cada fuente. De esta forma, se proporciona
un mecanismo que facilita la comprensión de estos patrones en general, y que permite una libre discusión a
lo largo del documento.
Keywords
Patrones de diseño, ingeniería de software, aplicaciones web, buenas prácticas, aplicaciones empresariales,
PHP, ASP.NET, J2EE
Tabla de contenido
7
Tabla de contenido
1.
INTRODUCCIÓN...................................................................................................................9
1.1
Motivación ......................................................................................................................................... 9
1.2
Antecedentes ...................................................................................................................................... 9
1.3
Ámbito de la contribución ............................................................................................................... 10
1.4
Esquema del trabajo......................................................................................................................... 12
2.
ESTADO DEL ARTE ...........................................................................................................13
2.1
Patrones de diseño J2EE .................................................................................................................. 13
2.2
Patrones............................................................................................................................................ 13
2.3
Clasificación de Patrones................................................................................................................. 15
2.4
Patrones que se analizan .................................................................................................................. 16
2.5
Tecnologías y lenguajes................................................................................................................... 19
3.
MAPPING ENTRE ONTOLOGÍAS...................................................................................25
3.1
Ontologías y mappings semánticos.................................................................................................. 25
3.2
Ontologías inducidas........................................................................................................................ 25
3.3
Mapping entre las ontologías inducidas por Core J2EE Patterns y J2EE Design Patterns.............. 27
3.4
Mapping entre capas ........................................................................................................................ 29
4.
JERARQUÍA DE APLICACIONES...................................................................................31
4.1
Tipos de Aplicaciones...................................................................................................................... 31
4.2
Relación entre Aplicaciones de Jerarquía y Patrones de Diseño ..................................................... 32
4.3
Patrones para aplicaciones con persistencia ................................................
Comentarios de: Análisis de la adecuación de lenguajes de programación Web a un desarrollo basado en patrones de diseño J2EE de alto nivel (0)
No hay comentarios