35
 Aplicaciones Web con UML Ing. Cesar Julio Bustacara Medina

Aplicaciones Web Uml

Embed Size (px)

Citation preview

Page 1: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 1/35

 

Aplicaciones

Web con UML

Ing. Cesar Julio Bustacara Medina

Page 2: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 2/35

 

Contenido

• Arquitectura de aplicaciones Web

Modelamiento de aplicaciones Web

Page 3: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 3/35

 

Arquitectura Web

Page 4: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 4/35

 

Arquitectura Web

• Hasta el día de hoy, lo más importante en el desarrollode aplicaciones Web han sido las herramientas. Pocose ha dicho sobre el proceso de desarrollo.

• La fácil creación de páginas HTML y en general desitios Web, usando herramientas simples, ha hecho queel desarrollo de este tipo de aplicaciones se haga sin untrabajo serio de análisis y diseño.

• Cualquier sistema de complejidad no trivial, necesita seranalizado y modelado. Las aplicaciones Web, al igualque otras aplicaciones, necesitan métodos formales deanálisis y diseño.

Page 5: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 5/35

 

¿Cuál es la diferencia entre un sitio Web y una aplicación Web ?

Arquitectura Web

• “Una aplicación Web es un sitio Web donde lanavegación a través del sitio, y la entrada de datospor parte de un usuario, afectan el estado de lalógica del negocio. En esencia, una aplicación Webusa un sitio Web como entrada (front-end) a unaaplicación típica.

• ...Si no existe lógica del negocio en el servidor, elsistema no puede ser llamado aplicación Web.”

[Conallen 99]

Page 6: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 6/35

 

• La arquitectura de un sitio Web tiene trescomponentes principales: un servidor Web ,una conexión de red , y uno o más clientes

(browsers ).

• El servidor Web distribuye páginas de información formateada a los clientes que lassolicitan. Los requerimientos son hechos através de una conexión de red, y para ello seusa el protocolo HTTP.

Arquitectura Web

Page 7: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 7/35

Arquitectura Web

 

Page 8: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 8/35

• Arquitectura básica de una aplicación/sitio Web 

• La información mostrada en las páginas estátípicamente almacenada en archivos. Sinembargo, muchas veces esta información estáalmacenada en una base de datos, y laspáginas son creadas dinámicamente.

• Los sitios Web que usan este esquema, sonllamados sitios dinámicos .

Arquitectura Web

 

Page 9: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 9/35

Arquitectura Web

 

Page 10: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 10/35

Arquitectura Web

Páginas Web

Las páginas Web son el componente principal de una aplicacióno sitio Web. Los browsers piden páginas (almacenadas o creadasdinámicamente) con información a los servidores Web.

En algunos ambientes de desarrollo de aplicaciones Web, laspáginas contienen código HTML y scripts dinámicos, que sonejecutados por el servidor antes de entregar la página.

Una vez que se entrega una página, la conexión entre el browser

y el servidor Web se rompe (a diferencia de otros esquemas tipocliente/servidor). Es decir que la lógica del negocio en el servidorsolamente se activa por la ejecución de los scripts de las páginassolicitadas por el browser (en el servidor, no en el cliente).

 

Page 11: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 11/35

Arquitectura Web

Scripts en el cliente

Cuando el browser ejecuta un script en el cliente, éste notiene acceso directo a los recursos del servidor.

Hay otros componentes que no son scripts, como losapplets o los componentes ActiveX. Los scripts delcliente son por lo general código JavaScript o VBSscript,

mezclados con código HTML.

 

Page 12: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 12/35

Arquitectura Web

Formularios

La forma más común de capturar la información dada porel usuario, es a través de formularios. Un formulario 

(form) es una colección de campos de entrada: textbox,text area, checkbox, radio button group, button yselection list.

Cuando un formulario es llenado, se envía al servidorusando una operación submit solicitada por el usuariotípicamente al hacer click en un botón.

 

Page 13: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 13/35

Servidor Web

En muchas aplicaciones Web hay una capa intermedia,compuesta por un conjunto de componentes, que se ejecutanno necesariamente en el servidor Web, sino en otros servidores

de aplicaciones. Esta capa encapsula la lógica del negocio, y,al ser componentes compilados puede contener objetos, consus métodos y atributos (llamados business objects ).

Arquitectura Web

 

Page 14: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 14/35

Arquitectura generalizada de una aplicación Web

Arquitectura Web

 

Page 15: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 15/35

Modelado de aplicaciones Web

 

Page 16: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 16/35

Modelado de aplicaciones Web

Conallen propone una extensión al UML para diseñaraplicaciones Web:

 

Page 17: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 17/35

Modelado de aplicaciones Web

Dado que las páginas Web son los principales componentesde la arquitectura Web, hay que poder modelarlas. UsandoUML podemos ver una página Web como un objeto.

¿Cuáles serían entonces las propiedades de estos objetos?

Es conveniente hacer la distinción entre páginas del servidory páginas del cliente. Los scripts de las páginas del servidor

representan los métodos de esta clase. Las páginas del clientetienen métodos que se ejecutan solamente del lado del cliente,como por ejemplo, Java Applets y controles ActiveX.

 

Page 18: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 18/35

Modelado de aplicaciones Web

Hay una relación fundamental entre las páginas del servidor ylas páginas del cliente, y es que las páginas del servidor creanlas páginas del cliente. Esta relación es en una sola dirección,

y para modelarla se usa el estereotipo <<builds>>. De estemodo, se indica cuál página del servidor es encargada de crearla página del cliente. Por ejemplo:

 

Page 19: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 19/35

Modelado de aplicaciones Web

Algunas páginas del servidor podrían redireccionar ciertassolicitudes de procesamiento a otras páginas servidoras(una especie de IF). Permitir modelar estas situaciones esútil para la reutilización. Para esto se utiliza el estereotipo

<<redirects>>. Por ejemplo:

Página que delegafuncionalidad

 

Page 20: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 20/35

Modelado de aplicaciones Web

Otra relación importante en el diseño de aplicaciones Webes el vínculo (link , o anchor ) entre páginas. Las páginasvinculadas podrían ser páginas de cliente o del servidor.El estereotipo <<links>> define relaciones entre páginas

cliente y otras páginas (cliente o del servidor). Ejemplo:

 

Page 21: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 21/35

Modelado de aplicaciones Web

Si un vínculo (hyper link ) incluye parámetros, éstos son modeladoscomo atributos del link fuera de la asociación. Por ejemplo:

 

Page 22: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 22/35

Modelado de aplicaciones Web

Dado que una página podría tenervarios formularios (forms) es posibleque desde esta página se acceda a

diferentes páginas. Los formularios semodelan con el estereotipo <<form>>

(un estereotipo por cada formulario).Las páginas cliente contienenformularios. Ejemplo:

 

Page 23: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 23/35

Modelado de aplicaciones Web

Usando frames , una páginacliente podría estar compuestapor múltiples páginas al mismotiempo. Los frames se imple-mentan en HTML usando un

frameset . Un frameset podríaa su vez estar contenido enotro frameset. Las páginasWeb contenidas en unframe se llaman targets . El

estereotipo <<targeted link>>hace referencia a páginas quevan a ser cargadas en un framedistindo del que contiene lapágina que tiene el link.

 

Page 24: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 24/35

Modelado de aplicaciones Web

SearchResults Home

GetProductProductDetail

<<link>>{productID}

0--*

<<link>>

<<build>>

Home page

La página SearchResults contiene un número variable de links(0..*) hacia la página del servidor GetProduct. Para cadaproductID se construye una página ProductDetail diferente.

 

Page 25: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 25/35

Modelado de aplicaciones Web

<<boundary>>Home page

<<boundary>>Orders

<<boundary>>Schedule

<<boundary>>Order status

<<boundary>>Account Summary

UserMaintenance

<<boundary>>Detailed info

<<boundary>>Account distributionFull Site Navigation Map

Otro ejemplo: modelando el mapa de navegación según actores.

 

Page 26: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 26/35

Modelado de aplicaciones Web

<<boundary>>Home page

<<boundary>>Orders

<<boundary>>Order status

<<boundary>>Account Summary

<<boundary>>Detailed info

<<boundary>>Account distribution

Account Executive

Account Executive Navigation Map

 

Page 27: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 27/35

Modelado de aplicaciones Web

Registered User Navigation Map

<<boundary>>Home page

<<boundary>>Orders

<<boundary>>Order status

Registered User

 

Page 28: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 28/35

Aplicaciones Web y JEE

 

Page 29: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 29/35

Aplicaciones Web JEE• Una aplicación web está organizada en

 – una estructura jerárquica de directorios• dos partes

 – Un directorio privado WEB-INF contiene los recursos que noson descargables para el cliente

 – Un directorio público que contiene los recursos públicos

• Ejemplo:

• miaplicación\ 

 – index.html

 – login.jsp

 – images\ logo.gif

 – doc\ tutorial.pdf

 – WEB-INF\ 

» web.xml (Deployment Descriptor)

» classes\ ServletCompras.class

» lib\ cualquierOtraApi.jar

 – una aplicación web puede ser empaquetada en unfichero WAR.

  

Page 30: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 30/35

Aplicaciones web con TomCat• Estructura del contenedor TomCat

 – <tomcat_home>\conf• Archivos de Configuración

 –  <tomcat_home>\bin• Plugins del servidor web

 –  <tomcat_home>\lib

• webserver.jar –  class para el Servlet Engine

•  jasper.jar

 –  clases para JSP Engine

• servlet.jar

 –  APIs publicas de Servlet.•  jaxp.jar

 –  APIs publicas para parser XML

• parser.jar

 –  <tomcat_home>\webapps• Las aplicaciones web

 

Page 31: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 31/35

Contextos• Compartir de datos para todos los usuarios de

una aplicación• Representa un conjunto de recursos compartidos

• Es un representante del servidor

• Posiblemente N contextos representando a Naplicaciones web

• Se puede configurar• La URI del contexto del servlet

• El nombre de las clases del servlet

• Los parámetros de inicialización de los servlets

• La asignación de las peticiones a los servlets

• Los parámetros de sesión

• Los tipos MIME de los archivos estáticos 

Page 32: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 32/35

Despliegue de aplicaciones web

• Crear un contexto – Explicitamente en servler.xml

• <Context path="/pathapp"docBase ="<pathapp >"

debug="0“reloadable ="true"/>

 – Implicitamente, colgar la aplicación de<tomcat_home>/webapps

• Para llamar a un servlet –  http://<host>/<Contexto>/servlet/<Servlet>

 –  http://<host>/<Contexto>/servlet/<alias>

 

Page 33: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 33/35

• <web-app>

 – <description> Descripción de la aplicación </description>  – <context-param>• <param-name> NombreParametrodeContexto</param-name>

• <param-value> ValorParametrodeContexto </param-value>

• <description> Descripción del parametro decontexto</description>

  – </context-param>

  – <servlet>• <servlet-name> Alias </servlet-name>

• <servlet-class> Nombre del servlet </servlet-class>

• <init-param>

 – <param-name> NombreParametrodeConfiguracion</param-name> – <param-value> ValorParametrodeConfiguracion</param-value>

 – <description> Descripción </description>

• </init-param>

• <load-on-startup>1</load-on-startup>

  – </servlet>

Despliegue de aplicaciones web

 

Page 34: Aplicaciones Web Uml

5/12/2018 Aplicaciones Web Uml - slidepdf.com

http://slidepdf.com/reader/full/aplicaciones-web-uml 34/35

  – <servlet-mapping>• <servlet-name>chatAdmin</servlet-name>

• <url-pattern>/admin/*</url-pattern>

  – </servlet-mapping>

  – <error-page>• <exception-type> java.lang.NumberFormatException

</exception-type>

• <location> /servlet/ServletError </location>

  – </error-page>

  – <session-config>• <session-timeout> 30</session-timeout>

  – </session-config>

• </web-app>

Cont. despliegue de app web