Descripción: Informe realizado de Lenguaje Unificado de Modelado (UML)
Para crear un programa de consola en Java utilizando NetBeans 5.0 lo primero que hay que hacer es crear un proyecto. Un proyecto nos permite administrar los archivos con el código fuente y…Descripción completa
En los últimos años se está dando un cambio de rumbo en la programación de aplicaciones informáticas: el paso de aplicaciones de escritorio a aplicaciones web. Esto responde por una parte a …Descripción completa
Descripción completa
Prueba de Aplicaciones Web-pressmanDescripción completa
Informatica
Descripción: Cómo desarrollar aplicaciones web con base de datos ISIS, utilizando xhtml, css e IsisScript
Descripción: zill 9ed
Descripción: Desarrollo de Aplicaciones Móviles Web
Descripción completa
aplicaciones webDescripción completa
Descripción completa
Despliegue Aplicaciones WEB - GarcetaDespliegue Aplicaciones WEB - Garceta Despliegue Aplicaciones WEB - GarcetaDespliegue Aplicaciones WEB - GarcetaDespliegue Aplicaciones WEB - GarcetaDesp…Descripción completa
Descripción: Ultima actualizacion 10/12/2008
1. Explique para qué es y para qué sirve un lenguaje de programación. 2. Realice un cuadro comparativo de las ventajas y desventajas que ofrecen las aplicaciones web en relación con las apl…Descripción completa
Esta obra tiene una orientación fundamentalmente práctica. Consiste en una secuencia de prácticas resueltas diseña-das para facilitar al lector/alumno la adquisición de habilidades y conocimientos ...Full description
Aplicaciones Web con UML Ricardo Ricard o Marmolejo Marmole jo Garc´ Garc´ıa Ingeni Ing enier er´ ´ıa del software sof tware
Los sistemas web son relativamente nuevos en el mundo del computaci´on. Cada vez son m´as complejas y por tanto son un nuevo reto para los ingenieros del software. Como el software, al principio no se modelaba 1 , pronto surgen metodolog´ıas que intentan solucionar el problema. Un problema que se agraba en los sistemas Web debido a que estos fomentan un entorno de requisitos muy cambiantes. Esto puede ser debido a un n´umero de usuarios mundial que provoca un gran n´ umero de requisitos. Adem´as el equipo de desarrolladores suele ser peque˜ no2 . Los modelos son abstracciones que simplifican nuestra comprensi´on de los sistemas. Como lenguaje de modelado ya existente deberiamos considerar si UML tiene capacidad para modelar en aplicaciones Web. Veremos queremos que Jim Conallen recomienda modelar webs extediendo UML y aplicacando un patr´on de dise˜ no llamado MVC (modelo-vista-controlador).
1.1.
¿Qu´ e es UML?
B´ asicamente UML es un lenguaje est´andar con un vocabulario gr´afico y con reglas para la presentaci´on de sistemas de informaci´on. Los Creadores : Grady Booch, Ivar Jacobson y James Rumbaugh3 . UML tiene distintos tipos de diagrama, dependiendo del concepto que queremos comunicar, usaremos un diagrama u otro. Parece que UML es insuficiente sem´anticamente para Aplicaciones Web (en principio). 1
Referente a la Crisis del software Youtube fue realizado en sus comienzos por 10 personas 3 Los tres amigos 2
2
1.2.
Patr´ on Modelo-Vista-Controlador
El patr´on MVC
4
busca la programaci´on en 3 capas:
on define como se leen y esModelo: tienes los datos y su implementaci´ criben esos datos. Tipicamente hace querys a una BDD, pero esto podr´ıa ser un sistema de archivos, o un banco que nos provee datos por XML. Las clases que se definen en esta capa al ser las m´as abstractas son las m´ as reutilizables. on, es lo que ve el usuario. Ofrece al usuario los casos Vista: o presentaci´ de uso que el negocio ofrezca. Controlador: esta entre la Vista y el Modelo y une a ambos. Tambien
llamado l´ogica de negocio, implementa la l´ogica de lo que le pasa a los modelos en funci´on de los eventos que vienen de la Vista. Algunos ejemplos de implementaci´on de MVC son Rails(Ruby), Structs(Java), CakePHP,Kumbia,Symfony(PHP), TurboGears,Django(Python) ... etc. Los frameworks m´as impactantes son Ruby on Rails y Django, estan orientados al desarrollo web eficiente. Su objetivo es dar la opci´on de base de datos. Creamos las clase modelo y sus tables son creadas automaticamente, y actualizadas cuando modifiquemos el modelo.
1.3.
Sistema Web
El servidor web ofrece p´aginas web y otos recursos (css, js, imagenes, flash ...) Estos recursos se identifican de forma ´unica mediante URL o URI. Los servidores web utilizan la comunicaci´on entre cliente y servidor utiliza el protocolo HTTP. No mantiene conexi´on tras una petici´on. Eso genera, que sea necesario recurrir a cookies para conocer el estado del cliente. (Sesiones) Una aplicaci´on web genera una p´ agina web para un cliente en funci´on de N variables. (diferenciar p´agina de aplicaci´on) Una aplicaci´on web es un sistema Web que nos ofrece la l´ogica de negocio. (interfaces, formularios ...). Hace de frontend. Lenguajes en la parte del cliente Lenguajes de script como javascript (est´andar ECMA), y Visual Basic Script(Microsoft). Pueden usarse para complementar la l´ogica de negocio. Alivian al servidor. La web es sincrona pero la tendencia es la Web as´ıncrona gracias a un conjunto de t´ecnolog´ıas denominadas como AJAX. Para el renderizado Web se usa HTML, XHTML o XML. Complementados con CSS (hojas de estilo en cascada) Flash como lenguaje de presentaci´on. Aporta multimedia a la web. Applet java ... Lenguajes en la parte del servidor Los m´as conocidos son PHP(software libre), JSP (Sun Microsystems) y ASP/ASP.NET(Microsoft) Las primeras versiones de PHP y ASP no separaban bien las capas. Pudiendo 4
Es un patr´ on del software, no solo se usa en programaci´ on Web
3
llegar a tener mezcladas las tres capas: presentaci´on(XHTML), l´ ogica de negocio(PHP) y modelo de datos(SQL). Procedimentales. La separaci´on de capas es dificil ya que tradicionalmente la l´ogica de negocio se encarga de generar la presentaci´on dinamicamente. En aplicaciones grandes, es preferible por usar lenguajes que implementan MVC
2.
Evoluci´ on de las metodolog´ıas Web
A continuaci´on voy a explicar alguna (no todas), las metodolog´ıas/diagramas o modelos que tratan de solucionar el modelado web:
2.1.
Entidad-Relaci´ on
Aunque es un buen diagrama y podr´ıa ser necesario para toda aplicaci´on web, solo modela una parte del sistema, la capa del modelo de datos, si bien puede ser usado como complemento lo bueno ser´ıa buscar un u ´ nico lenguaje de modelado que nos permitiera modelar todo y de forma m´as integrada. Esto es as´ı porque sencillamente ER no fue dise˜nado para el uso de modelado de aplicaciones Web.
2.2.
HDM
Basado en el modelo E/R. El objetivo era crear un modelo que fuera de utilidad para realizar el dise˜no de una aplicaci´on de hipertexto. Es un intento de modelar la estructura del hipertexto-hipermedia, una modelizaci´on de las estructuras de navegaci´on. Crear un modelo antes de desarrollar un hipertexto nos ayudar´a a conseguir una navegaci´o n m´ as consistente y rica. En HDM la estructura de navegaci´on viene marcada por la estructura de datos. Fue en principio usado para p´aginas est´aticas.
2.3.
RMM
Basado en E/R. Esta metodolog´ıa es apropiada para clases de objetos bien definidas, y con claras relaciones entre esas clases Est´a orientada a problemas con datos din´amicos que cambian con mucha frecuencia, m´as que a entornos est´aticos como HDM Sin embargo, los mecanismos de acceso a la informaci´on son excesivamente simples y valen para un problema con pocas entidades, pero el modelo se queda corto si hay gran n´umero de ellas.
4
2.4.
WebML
En principio no coge nada de UML, aunque actualmente existen diagramas que los relacionan. Es una notaci´on visual para el dise˜no de aplicaciones Web comple jas que hacen uniso de datos intenso. Provee especificaciones gr´aficas formales para un proceso de dise˜no completo que puede ser asistido por herramientas de dise˜ no visuales. Tiene UNA herramienta comercial CASE orientada a jsp (WebRatio). Realmente es un plugin de Eclipse. Estructura WebML Sitio = Estructura + Composici´on + Navegaci´on + Presentaci´on
3.
WAE y WAE2
Es el u ´ nico exclusivamente basado en UML. Ha sido desarrollado por Jim Conallen, empleado de Rational Software Corporation. WAE como UML es recomendado usarlo en lenguajes orientados a objetos. Jim opta por ampliar UML sencillamente porque es m´as barato hacer un estandar ampliando que cre´andolo de cero. Lo primero que se plantea es que las aplicaciones Web presentan problemas que UML no contempla soluci´on. UML no facilita la tarea de diferenciar c´odigo cliente (scripts) de c´odigo servidor. UML puede ser extendido para permitir una nueva sem´antica : estereotipos, listados de etiquetas(tags) y restricciones(constraints): Estereotipos: define una nueva sem´antica al modelo. Lista de etiquetas: podemos entregar una lista de campo-valor. Restricciones : definen las reglas para trabajar con determinados estereotipos. Estereotipos en clases Define los siguientes estereotipos para las entidades.
3.1.
Tipos de estereotipos
3.1.1.
En las entidades
Esto son los principales estereotipos que se definen: <
aginas que contienen scripts o c´odigo ejePage>> Son las p´
cutable por el servidor. (.php , .asp , .jsp) <
aginas que estan en el lado del cliente, Page>> Son las p´
normalmente p´aginas HTML y scripts (jsvascript). Es la representaci´ on de un formulario. Es c´odigo HTML que contiene etiquetas de formulario como : ,