Sei sulla pagina 1di 91

2nd Ibero American Conference on Web Engineering

OOWS : Una Aproximacin para el Modelado Conceptual de Aplicaciones Web


Dr. Oscar Pastor
Departamento de Sistemas Informticos y Computacin Universidad Politcnica de Valencia Camino de Vera s/n, 46022 Valencia 96 3877000, 96 3877359 (fax) opastor@dsic.upv.es

September 2002 Sta. Fe, Argentina

2002, Grupo OO-Method

Agenda
? ?

Introduccin: Web Engineering Caractersticas y Arquitecturas de las Aplicaciones Web


? ?

Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin

Modelo de Navegacin
? ?

OOWS: Un Mtodo de Produccin de Ambientes Web


? ?

? ?

Caso de Estudio Conclusiones ? Resultados y Trabajos Futuros


2

2001, Grupo OO-Method

Introduccin
Web Engineering
?

Los problemas encontrados en la construccin de aplicaciones web surgen a partir de los continuos avances en Internet y tecnologas web. ? Aumento de las actividades comerciales en la red ? Migracin de sistemas legados a ambiente web, etc... El alcance y la complejidad de las aplicaciones web actuales varan extensamente: ? de servicios en escala reducida y breve duracin a aplicaciones empresariales en larga escala distribuidas en la Internet a travs de intranets y extranets corporativos. La evolucin de las aplicaciones web tambin implica en el aumento de la complejidad en disear, desarrollar, mantener, y manejar estos sistemas de informacin. El diseo de una aplicacin web requiere un balance entre el contenido de la informacin, la esttica, y el rendimiento.
3

2001, Grupo OO-Method

Introduccin
Web Engineering
?

Segn [Ginige et al]* las aplicaciones web pueden ser clasificadas en siete categoras:
1. Informacionales: peridicos online, catlogos de productos, neswsletters, manuales de servicios, clasificadores online, libros electrnicos. 2. Interactivos (informacin proporcionada por el usuario o acceso personalizado): formularios de registros, presentacin de informacin personalizada, juegos. 3. Transaccionales: tiendas electrnicas, rdenes de bienes y servicios, bancos electrnicos. 4. Flujo de Trabajo (Workflow): sistemas de planificacin y organizacin en lnea, gestin de inventarios, monitoreo de estatus. 5. Ambientes de trabajo colaborativos: Sistemas de autora distribuidos, herramientas de diseo colaborativo. 6. Comunidades en lnea, mercados: grupos de chat, ofertas y demandas de productos o servicios, mercados en lnea, subastas en lnea. 7. Portales Web: bsquedas, tiendas, intermediarios, etc.

2001, Grupo OO-Method

*A. Ginige, S. Murusan Web Engineering: An Introduction, IEEE Multimedia, Jan-Mar 2001.

Introduccin
Web Engineering
?

Qu es Web Engineering? ? Es ms que un subconjunto de la Ingeniera de software ya que corresponde a un campo multidisciplinario donde se encuentran involucradas las reas de:

?

Anlisis y diseo de sistemas Ingeniera de software Ingeniera hipermedia y hipertexto Ingeniera de requisitos Interaccin hombre-maquina Desarrollo de interfaz del usuario Ingeniera de la informacin Recuperacin de informacin Pruebas, modelado y simulacin Gestin de proyectos Presentacin y diseo grfico.

La esencia de la ingeniera Web es manejar con xito la diversidad y la complejidad del desarrollo de las aplicaciones Web, para minimizar incidentes que pueden tener serias implicaciones.
5

2001, Grupo OO-Method

Agenda
? ?

Introduccin: Web Engineering Caractersticas y Arquitecturas de las Aplicaciones Web


? ?

Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin

Modelo de Navegacin
? ?

OOWS: Un Mtodo de Produccin de Ambientes Web


? ?

? ?

Caso de Estudio Conclusiones ? Resultados y Trabajos Futuros


6

2001, Grupo OO-Method

Aplicaciones Web
Caractersticas y Arquitecturas (I)
?

Algunas caractersticas de las aplicaciones web que dificultan su desarrollo incluyen:


?

poseer aspectos de las aplicaciones hipermediales (hipertexto / multimedia) & lgica de las aplicaciones tradicionales Complejidad: las aplicaciones web requieren transacciones cada vez ms complejas y con ms funcionalidad. Interaccin en tiempo real: las transacciones se realizan de manera online y requieren un tiempo de respuesta satisfactorio. Naturaleza Dinmica: las aplicaciones web son constantemente modificadas con la adicin de nuevos requisitos para la ejecucin de servicios, cambios de interfaz, etc.

2001, Grupo OO-Method

Aplicaciones Web
Caractersticas y Arquitecturas (II)
?

Algunas caractersticas de las aplicaciones web que dificultan su desarrollo incluyen:


?

Navegacin: hace referencia a las informaciones que sern presentadas y la posible navegacin entre ellas. Se determina de acuerdo con el tipo de usuario. Personalizacin: la necesidad de proporcionar informacin personalizada a los distintos tipos de usuarios. Presentacin: es necesario no solamente especificar qu objetos de presentacin sern implementados como tambin cmo estos objetos interactan con la aplicacin web. Seguridad: con el crescimiento de las aplicaciones de comrcio electrnico cada vez ms se requiere mecanismos para restringir la visibilidad sobre la informacin, restricciones en la estructura navegacional y la definicin de nivelesde seguridad.
8

2001, Grupo OO-Method

Aplicaciones Web
Caractersticas y Arquitecturas (III)
?

Sistemas de Informacin Web (Simple)


Paginas web simple para presentar informacin textual El contenido de la informacin no cambia Navegacin Simple Sistemas independientes No se requiere alto rendimiento Desarrollado por una persona o un pequeo equipo Usado para diseminacin de informacin

Fuente: Revista IEEE Multimedia, Jan-Mar 2001


2001, Grupo OO-Method 9

Aplicaciones Web
Caractersticas y Arquitecturas (IV)
?

Sistemas de Informacin Web (Avanzados)


Paginas web complejas La informacin es dinmica, es decir, cambia segn el tiempo o necesidad de los usuarios Dificultad en navegar y encontrar la informacin deseada Integracin con Base de Datos u otros sistemas de planificacin, etc. Requiere alto rendimiento y disponibilidad continua Requiere un gran equipo de desarrollo con experiencia en distintas reas.

Fuente: Revista IEEE Multimedia, Jan-Mar 2001


2001, Grupo OO-Method 10

Aplicaciones Web
Caractersticas y Arquitecturas (V)
?

Para gestionar la complejidad y diversidad del desarrollo de las aplicaciones web es necesario un proceso de construccin que: ? posibilite el diseo y el desarrollo de una aplicacin web de una manera sistemtica y repetible. ? sea bien planeado y descrito en un conjunto de pasos que los desarrolladores deben seguir. ? sea interactivo para atender la naturaleza evolutiva de las aplicaciones web ? ayude a los desarrolladores a tratar las complejidades de los SIs para la Web: reduciendo los riesgos del desarrollo tratando las probabilidades de cambio y entregando las aplicaciones web en el tiempo mientras proporciona una retroalimentacin para la gerencia del proyecto.
11

2001, Grupo OO-Method

Modelado Conceptual de aplicaciones web...

2001, Grupo OO-Method

12

Modelado Conceptual de Aplicaciones Web


Metas Bsicas de Diseo
?

Tcnicas de modelado conceptual proporcionan un enfoque metodolgico y sistemtico a la especificacin de aplicaciones tradicionales. Los mtodos de diseo orientados a objetos que utilizan tcnicas de modelado conceptual no proporcionan primitivas para especificacin de la navegacin, presentacin, etc. Como elicitar y representar la semntica navegacional en modelos conceptuales? Extensin de un mtodo de produccin OO para la construccin de aplicaciones web a travs de la incorporacin de un modelo que representa las caractersticas propias de las aplicaciones web ? Utilizacin de patrones conceptuales para representar los requisitos (navegacin, presentacin, etc..) de los usuarios. ? La semntica navegacional de una aplicacin web se captura en un Modelo de Navegacin
13

2001, Grupo OO-Method

Agenda
? ?

Introduccin: Web Engineering Caractersticas y Arquitecturas de las Aplicaciones Web


? ?

Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin

Modelo de Navegacin
? ?

OOWS: Un Mtodo de Produccin de Ambientes Web


? ?

? ?

Caso de Estudio Conclusiones ? Resultados y Trabajos Futuros


14

2001, Grupo OO-Method

Modelo de Navegacin
Caractersticas Bsicas
?

Representa la semntica navegacional de una aplicacin web en base a un Modelo de Objetos y en requisitos de navegacin. ? Definicin de vistas navegacionales a partir de un Modelo de Objetos. Utiliza una notacin basada en UML. Considera el punto de vista de cada perfil de usuario identificado previamente en el Modelo de Objetos. Introduce primitivas de abstraccin que permiten: ? Representacin de la Navegacin ? Especificacin de Bsquedas ? Tratamiento de la visualizacin de la informacin (presentacin) ? Ejecucin de Servicios ? Personalizacin de informacin de los distintos usuarios Posibilita la generacin de una aplicacin web a travs de la especificacin de patrones de traduccin que establecen las caractersticas dependientes de la arquitectura elegida.
15

? ? ?

2001, Grupo OO-Method

Modelo de Navegacin
Primitivas de Abstraccin Bsicas
?

Mapa Navegacional
Visin Global de una aplicacin web segn un perfil de usuario

Contexto de Navegacin
Conjuntos de objetos que el usuario ir navegar

Vnculo de Navegacin
Indica la navegacin entre contextos de navegacin

Clase Navegacional
Contenido de la informacin por el cual los usuarios navegarn

Relaciones
Maneras de navegar para acceder al contenido de la informacin

2001, Grupo OO-Method

16

Modelo de Navegacin
Primitivas de Abstraccin I
?

Mapa Navegacional ? Representa la visin global del sistema para un agente en OO-Method ? Est compuesto por contextos navegacionales y vnculos navegacionales. El contexto donde se inicia la navegacin corresponde al Home

Agente
Internauta
E

<<Contexto>> Home

Vnculos de Navegacin
E

Contextos de Navegacin

<<Contexto>> Productos
S

<<Context>> CestaCompra

<<Contexto>> Libros

2001, Grupo OO-Method

17

Modelo de Navegacin
Primitivas de Abstraccin II
?

Contexto de Navegacin
? ?

Es el punto de vista que un usuario tiene de un subconjunto del modelo de objetos (Unidad de Interaccin bsica del usuario). Se compone de un conjunto de clases navegacionales (clase directora y clase complementaria) y relaciones entre ellas.
<<Contexto>> Libros
<<view>> Libro

clase directora

clases navegacionales
<<view>> Review

titulo ISBN crear () borrar ()

descripcin

clases complementarias
<<view>> Autor
nombre

relaciones

2001, Grupo OO-Method

18

Modelo de Navegacin
Primitivas de Abstraccin III
?

Vinculo de Navegacin
? ?

Indica la navegacin entre contextos (relacin de alcanzabilidad entre contextos de navegacin). Esta navegacin se define a partir de relaciones navegacionales definidas dentro de los contextos.

<<contexto>> Libros

<<contexto>> Autores

Vinculo de Navegacin

2001, Grupo OO-Method

19

Modelo de Navegacin
Ejemplo de Mapa Navegacional
Contextos de Navegacin

Vnculos de Navegacin

2001, Grupo OO-Method

20

Modelo de Navegacin
Primitivas de Abstraccin IV
?

Clases Navegacionales
? ?

Una clase navegacional se define como una proyeccin (vista) que se especifica sobre una clase del Modelo de Objetos. Incluye un dado subconjunto de atributos y mtodos.

<<view>>

Libro
ISBN titulo ao paginas crear() borrar()

Vista (clase) atributos visibles Mtodos visibles

2001, Grupo OO-Method

21

Modelo de Navegacin
Primitivas de Abstraccin V
?

Relaciones entre clases navegacionales ? Es una relacin binaria unidireccional que se puede definir sobre relaciones de herencia o agregacin existentes entre clases del Modelo de Objetos. ? Complementa la informacin sobre la clase origen de la relacin. ? Pueden ser de dos tipos: de Contexto o de Dependencia Contextual

2001, Grupo OO-Method

22

Modelo de Navegacin
Primitivas de Abstraccin V
?

Relacin de Contexto
? ? ?

Define un vnculo navegacional entre contextos y Indica la direccin de navegacin Implica necesariamente la existencia de un contexto navegacional (destino) en el que la clase directora es la clase destino de la relacin
<<view>> Libro <<view>> Autores

[Autores]

Se ver informacin de los libros y de sus autores (utilizando la relacin de agregacin existente en el modelo) y adems se permitir alcanzar el contexto Autores

2001, Grupo OO-Method

23

Modelo de Navegacin
Primitivas de Abstraccin VI
?

Relacin de Dependencia Contextual


? ?

Indica la existencia de una relacin entre dos clases de un contexto, pero no define una semntica navegacional entre ellas Se utiliza para proporcionar informacin complementaria de la clase directora
<<view>> Libro
nombre ao

<<view>> Autor
nombre

En este caso, slo se recuperar informacin de los libros y de sus autores (utilizando la relacin de agregacin existente en el modelo) pero no se proporcionar un enlace con otro contexto

2001, Grupo OO-Method

24

Modelo de Navegacin
Ejemplo de Relacin de Contexto

Definicin de navegacin al Contexto Authors <<Context>> Books

<<view>> Book
ISBN title photo Price Availability Sales_rank

<<view>> Author [Authors]


name

Informacin de la clase complementaria Author Informacin de la clase directora Book


2001, Grupo OO-Method 25

Modelo de Navegacin
Conceptos Avanzados de Modelado
?

Cmo establecer criterios para seleccionar las instancias de una clase navegacional?
?

Filtros en Clases Navegacionales

Cmo especificar distintas semnticas de acceso a un contexto de navegacin?


?

Atributos en Relacin de Contexto Restriccin de Navegacin Patrn de Presentacin

Cmo restringir el acceso a contextos durante la navegacin?


?

Cmo ser visualizada la informacin dentro de los contextos?


?

Qu numero de objetos sern presentados a cada interaccin?


?

Cardinalidad de Exploracin Ordenacin


26

Cmo los objetos dentro de los contextos sern ordenados?


?

2001, Grupo OO-Method

Modelo de Navegacin
Conceptos Avanzados de Modelado
?

Los contextos de navegacin contienen las siguientes reas: ? rea de definicin de contexto: indica el tipo de contexto de navegacin que se est definiendo.
? ?

rea de navegacin: donde se definirn las clases navegacionales y las relaciones entre ellas. rea de caractersticas avanzadas: donde se definirn caractersticas relacionadas a la bsqueda y presentacin de la informacin.
E
<<contexto>> Libros

rea de Definicin de Contexto

rea de Navegacin

<<view>> Libro

<<view>> Autor

rea de Caract. Avanzadas


2001, Grupo OO-Method

Presentacin:

Cardinalidad: Ordenacin:

27

Modelo de Navegacin
Conceptos Avanzados de Modelado
? rea de Definicin de Contexto ? Se pueden clasificar dos tipos contextos: ? Exploracin: son accesibles desde cualquier ubicacin en la aplicacin
?

Secuencia: slo son accesibles siguiendo uno de los caminos de navegacin especificado
<<Contexto>> Home

Internauta
E

Contextos de Exploracin
E

<<Contexto>> Productos
S

<<Context>> CestaCompra

<<Contexto>> Libros
2001, Grupo OO-Method

Contextos de Secuencia

28

Modelo de Navegacin
Conceptos Avanzados de Modelado
?

rea de Navegacin
?

Se especifica el cuerpo del contexto compuesto bsicamente de clases navegacionales y relaciones A cada uno de estos elementos se les puede especificar nuevas caractersticas, tales como: ? Clases navegacionales: Filtros y Enlaces de Servicio ? Relaciones: Atributos y Restricciones de Navegacin
E
<<contexto>> Libros

rea de Navegacin

<<view>> Libro

<<view>> Autor

Presentacin:

Cardinalidad: Ordenacin:

2001, Grupo OO-Method

29

Modelo de Navegacin
Conceptos Avanzados de Modelado
?

Clases Navegacionales
?

Filtro: indica seleccin de las instancias de los objetos de una clase navegacional. Su representacin se har mediante una expresin lgica de evaluaciones sobre atributos. E
<<Contexto>> Libros
<<view>> Libro
ISBN titulo ao paginas

<<view>> Autor
nombre

Navegacin a un contexto en el que se detalle informacin de todos los libros best-sellers (se consideran best-sellers los libros con ms de 1,000,000 de ventas)

crear() borrar() Ventas > 1,000,000

2001, Grupo OO-Method

30

Modelo de Navegacin
Conceptos Avanzados de Modelado
?

Clases Navegacionales
? ?

Enlaces de Servicio: est asociado a un contexto de navegacin, e indica el contexto destino despus de la ejecucin del servicio. Son el vnculo de unin con el comportamiento definido por las clases del modelo. Definen adems la visibilidad de accin del agente. E
<<Contexto>> Libros
<<view>> Libro
ISBN titulo ao paginas crear() borrar()
COMPRAR()* [Cesta]

<<view>> Autor
nombre

Contexto Destino

Enlace de Servicio
2001, Grupo OO-Method 31

Modelo de Navegacin
Conceptos Avanzados de Modelado
?

En una Relacin de Contexto se pueden especificar los siguientes atributos: ? Atributo de Contexto : especifica contexto de navegacin destino del enlace.
?

Atributo de Enlace: Indica qu atributo visible se usar en la conexin con la clase destino. Es opcional. Atributo de Filtro : indica un filtro sobre la poblacin de la clase destino. Es opcional. Existen tres tipos: Exacto, Aproximado y Rango Atributo de Rol: nombre de la relacin estructural del Modelo de Objetos la que se refiere la relacin. Slo es necesario en caso de ambigedad.

2001, Grupo OO-Method

32

Modelo de Navegacin
Conceptos Avanzados de Modelado
?

Ejemplo de los tipos de atributos que se pueden definir en una relacin de Contexto:
Atributo de Enlace <<view>> Autor
nombre

{Libro.ao, R} nombre [ Libros] /escribe/


titulo ao

<<view>> Libro

Atributo de Filtro

Atributo de Rol Atributo de Contexto

Autor nombre

colabora escribe

Libro titulo ao

Parte del Modelo de Objetos


2001, Grupo OO-Method 33

Modelo de Navegacin
Conceptos Avanzados de Modelado
?

En una relacin de contexto tambin se puede definir ? Restriccin de Navegacin: permiten especificar condiciones que deben satisfacerse para que se pueda dar una navegacin. ? Ejemplo: en un foro de noticias un internauta annimo puede leer mensajes de los grupos pblicos pero no de los privados.
E
<<Contexto>> Tematicas
<<view>> Tematica
nombre descripcin numgruposdispon
nombre

Atributo de Enlace <<view>> GrupoNoticias


nombre

If GrupoNoticias<> PRI descripcin [Mensajes_Grupo] else Tipo [Registrarse] numMensajes

numRegistrados

Restriccin de Navegacin

2001, Grupo OO-Method

34

Modelo de Navegacin
Conceptos Avanzados de Modelado
?

rea de Caractersticas Avanzadas


?

Patrn Presentacin: describe cmo la informacin ser presentada. Existen tres tipos bsicos: Tabular, Registro y Maestro-Detalle. Cardinalidad: indica la cantidad de instancias de la clase directora que ser que ser visualizada a cada interaccin del usuario. Ordenacin: se puede especificar el criterio de ordenacin de los objetos segn el valor de los atributos aqu especificados y el modo (Ascendente/Descendente). Estos atributos tendrn una expresin de camino que empezar por la clase directora.

2001, Grupo OO-Method

35

Modelo de Navegacin
Conceptos Avanzados de Modelado

Se presentarn los libros en formato Maestro-Detalle, de manera que los libros (clase directora) sern el Maestro y los Autores el Detalle Se recuperarn los libros en grupos de 5 instancias, facilitando mecanismos para acceder a los 5 siguientes y los 5 anteriores Se ordenarn los libros por ao, desde el ms reciente al ms antiguo

E
<<Contexto>> Libros
<<view>> Libro
ISBN titulo ao paginas crear() borrar()

<<view>> Autor
nombre

Presentacin: Maestro-Detalle

Cardinalidad: 5 Ordenacin: Ao, ?

2001, Grupo OO-Method

36

Agenda
? ?

Introduccin: Web Engineering Caractersticas y Arquitecturas de las Aplicaciones Web


? ?

Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin

Modelo de Navegacin
? ?

OOWS: Un Mtodo de Produccin de Ambientes Web


? ?

? ?

Caso de Estudio Conclusiones ? Resultados y Trabajos Futuros


37

2001, Grupo OO-Method

Motivacin
?

Existen varias aproximaciones para el desarrollo de aplicaciones web dentro de un proceso de produccin de software bien definido. La mayora de estas aproximaciones centran o en aspectos hipermedia o en aspectos ms convencionales. Se propone una aproximacin OO que utiliza tcnicas de modelado conceptual para el desarrollo de aplicaciones web.
?

Proporciona una gua metodolgica y precisa para ir del espacio del problema para el espacio de la solucin (producto software final). Centra en la integracin del modelado conceptual y diseo navegacional. ? Se considera el paso se modelado navegacional como una nica fase genrica. ? Extiende el mtodo de modelado conceptual orientado a objetos (OO-Method), introduciendo un Modelo de Navegacin para especificar caractersticas especificas de las aplicaciones web.
38

2001, Grupo OO-Method

OOWS
An Object-Oriented Approach for Web Solutions Modeling
?

Conceptos Bsicos:
? ? ?

Una aproximacin para definir semntica de navegacin en modelos Orientados a Objeto. Utiliza la notacin UML adaptada a OO-Method para definir de una manera precisa un modelo de navegacin. Define nuevos conceptos (primitivas navegacionales) que se aplicarn en el Modelo Conceptual OO-Method.

Objetivos:
? ? ?

Ampliar conceptos de modelado OO propuestos en OO-Method para introducir semntica de navegacin browsing. Introducir una nueva etapa en el Modelo Conceptual para definir los mapas de navegacin de cada agente. Generar automticamente software para aplicaciones ebusiness en entornos Web.
39

2001, Grupo OO-Method

Visin General de OO-Method


Un mtodo de produccin de software Orientado a Objetos
?

Principios Bsicos:
? ?

El uso de tcnicas de especificacin formales y Orientados a Objetos integrados con mtodos convencionales . Separacin del espacio del problema (qu) del espacio de la solucin (cmo).

Ventajas:
?

Provee un avanzado entorno de prototipacin automtica, incluyendo: generacin completa de cdigo en entornos imperativos funcionalidad equivalente al modelo conceptual La generacin automtica de aplicaciones que incluyen aspectos estticos y dinmicos que fueron especificados.

2001, Grupo OO-Method

40

Como representar caractersticas navegacionales en OO-Method?


La aproximacin OOWS
1. Especificacin del Sistema
? ?

Modelo Conceptual (Espacio del Problema) una

Anlisis de Requisitos usando aproximacin basada en Casos de Uso Modelado conceptual del Sistema Modelo de Objetos Modelo Dinmico Modelo Funcional Modelo de Navegacin
rbol de Refinamiento de Agentes

2. Desarrollo de la Solucin
?

Patrones de traduccin que permiten obtener Aplicacin Web una aplicacin web a partir de la (Espacio de la Solucin) Especificacin del Sistema
41

2001, Grupo OO-Method

Visin General de OO-Method/OOWS


Arquitectura
Modelo de Objetos
Contrato
date price to_rent pay_back

Modelo Conceptual (Espacio del Problema)


Modelo Dinmico Modelo Funcional Modelo de Navegacin
Class: Person [to_dismiss] situation=dismissed
:car
Self::( Km > x):to_rent() <<Contexto>> Home

Internauta

Car
lic_plate km to_rent pay_back

Customer
SSN name create to_rent

[to_hire] situation=hired

<<Contexto>> Alquiler

<<Contexto>> Coches

OASIS
Modelo de Ejecucin (Espacio de la Solucin)
VBasic RDB
2001, Grupo OO-Method S

Traduccin Automtica

Java RDB

Delphi RDB

...
42

Aproximacin OOWS Modelo Nave


Identificacin de Agentes (I)
?

Buscar en el Modelo de Objetos (OO-Method) las clases Agentes del sistema ? La especificacin de servicios en una clase denota su aspecto servidor. ? Para una clase (agente) se indican los servicios que est habilitada a ver e invocar de otras clases (servidora). Detectar las relaciones de herencia entre stas, para incrementar la reusabilidad de contextos de navegacin ? Construir un rbol de Refinamiento de Agentes, donde aparece cada agente y sus relaciones de herencia con los dems. ? Estos rboles estn compuestos de: Agentes raz Agentes refinados

2001, Grupo OO-Method

43

Aproximacin OOWS
Identificacin de Agentes (II)
?

rbol de Refinamiento de Agentes:


Agente 1 Agentes Raz Agente Refinado Agente 2
is_a

Agente 3

Para cada agente raz de los rboles de refinamiento de agentes: ? Construir um mapa navegacional describiendo los contextos de navegacin que capturen los requisitos de navegacin detectados. Para cada agente refinado: ? Construir um mapa navegacional describiendo los contextos de navegacin que capturen los requisitos de navegacin detectados para este agente. ? Se puede reutilizar contextos de navegacin definidos en el agente raiz.
44

2001, Grupo OO-Method

Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
Se basa en una estructura que se compone por tres capas:
?

La Capa de Datos se representa por la base de datos relacional que almacena la poblacin de cada clase que se haya identificado durante el paso de especificacin del problema. ? Se utiliza una clase de persistencia para recuperar/actualizar las instancias de las clases de/para la base de datos. La capa de Lgica del Negocio contiene la lgica del negocio para cada clase especificada en el modelo conceptual. ? Acta como un middleware del sistema para soportar la integracin de la funcionalidad y de la gestin de los datos. Se ha definido: ? una interfaz para implementar las clases de OO-Method con la definicin de unos servicios comunes. ? un gestor de servicios para poder iniciar la ejecucin de los servicios, incluyendo la gestin de transacciones y verificacin de las restricciones de integridad y disparos.
45

2001, Grupo OO-Method

Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
?

La capa de Presentacin contiene toda la lgica de la presentacin de la aplicacin. ? Se puede generar pginas servidoras (HTML, DHTML, XML, WML, etc.) con el cdigo del servidor embutido (por ejemplo: ASP, JSP, ColdFusion, Php, el etc.) a partir de la especificacin del modelo de navegacin.
?

Estas pginas utilizan la capa de datos para extraer la informacin necesaria para generar la interfaz grfica del usuario, y utilizan el middleware proporcionado por la capa de la lgica del negocio para ejecutar servicios. Para generar esta capa es necesario hacer las correspondencias entre el espacio del problema y de la solucin. Se propone un mapeo de las primitivas del modelo de navegacin a los componentes software de una aplicacin web.

2001, Grupo OO-Method

46

Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
Este mapeo se estructura segn los siguientes patrones de traduccin:
?

Mapa navegacional: por cada mapa navegacional definido se crear una pgina de inicio donde aparecer un marco mostrando el agente conectado y un men de las opciones disponibles para el agente. Contexto navegacional: se define por cada contexto navegacional una pgina servidora encargada de mostrar la informacin y permitir la ejecucin de servicios. Esta deber tener en cuenta: ? la cardinalidad, orden y posibles filtros de contexto. A este contexto se acceder de forma directa o a travs de un enlace de navegacin (con el correspondiente filtro). Clases de navegacionales: son instancias de las clases implementadas en la capa de la lgica del negocio. Es necesario declarar: ? una clase directora con todas las instancias que satisfacen los filtros definidos.
47

2001, Grupo OO-Method

Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
?

Clases de navegacionales (cont.): ? las clases complementarias son obtenidas de las funciones de navegacin usando los roles correspondientes definidos en la capa de la lgica del negocio. ? los valores de los atributos de las clases se obtienen de las propiedades que han sido definidas en la capa de lgica de negocio. Filtros: se usan para recuperar la poblacin la clase directora. Proporciona una visin de los objetos activos en el sistema. ? Los filtros de las clases complementarias recuperan las instancias de las clases usando funciones de navegacin. Relacin de contexto: ? si esta tiene un atributo de enlace, la pgina servidora debe crear un enlace para cada valor de este atributo. Este enlace permite la navegacin al contexto destino, filtrndola con el objeto seleccionado.
48

2001, Grupo OO-Method

Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
?

Relacin de contexto (cont.): ? Si no aparece un atributo de enlace, un enlace tendr que aparecer en la pgina servidora mostrando el alias (pseudnimo) del contexto destino. Este alias representa la seleccin de todos los objetos en el contexto destino a travs de una relacin estructural.
?

Si aparece un atributo de filtro, la informacin requerida en el contexto origen depende del tipo de filtro (exacto, aproximado y rango). Este filtro tendr que ser ejecutado en el contexto destino cuando se recupera la poblacin de la clase directora.

Relacin de dependencia contextual y vinculo de navegacin: ? no se especifican patrones de traduccin asociados ya que estas relaciones solo ayudan a representar informacin en el diagrama.

2001, Grupo OO-Method

49

Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
?

Servicios y Enlaces de Servicio: ? Una pgina de servicio se crea para cada servicio que aparece en un enlace de servicio. Para ejecutar servicios, la pgina de servicio utiliza los objetos del middleware de la capa de la lgica del negocio. ? Estas pginas piden al usuario los parmetros requeridos del servicio. Patrn de Presentacin: depende del tipo de presentacin seleccionada (registro, tabular y maestro-detalle). Cada patrn posee una ''plantilla' asociada.

2001, Grupo OO-Method

50

Agenda
? ?

Introduccin: Web Engineering Caractersticas y Arquitecturas de las Aplicaciones Web


? ?

Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin

Modelo de Navegacin
? ?

OOWS: Un Mtodo de Produccin de Ambientes Web


? ?

? ?

Caso de Estudio Conclusiones ? Resultados y Trabajos Futuros


51

2001, Grupo OO-Method

Caso Prctico de Modelado con OOWS


Sistema de Venta de Discos a Travs de Internet:

2001 OO-Method Group

Caso Prctico de Modelado


Descripcin del Sistema
? ? ? ?

Aplicacin para venta de lbumes de msica. Las compras se debern ir incluyendo, simblicamente, en una cesta de la compra. Todas las compras se harn de forma annima. El usuario no deber identificarse hasta que no vaya a confirmar su compra. De cada compra se deber crear una factura que se enviar junto con el material adquirido.
Lista de Autores Lista de Categoras

Lista de lbumes

lbum

COMPRA

2001, Grupo OO-Method

53

Caso Prctico de Modelado


Descripcin del Sistema
? ?

Para comprar un lbum se deber llegar a l a travs del autor o de la categora a la que pertenece. Cuando seleccionemos un lbum, se mostrarn todos sus datos y se podr comprar. El lbum ser incluido en la cesta de la compra de ese usuario. El usuario podr consultar el contenido de su cesta, cambiar el nmero de unidades que se desea adquirir de un lbum o eliminar alguna de las compras. Cuando se confirme la compra se realizarn dos acciones: ? Crear la factura. ? Reducir el stock de los lbumes comprados. Una vez confirmada una compra, ya no se podr modificar el contenido de la cesta.
54

2001, Grupo OO-Method

Caso Prctico de Modelado


Modelo de Objetos
COMPRAR: Crea la lnea que almacenar la compra

Evento compartido confirmar

ACEPTAR_COMPRA: Crea la factura y confirma la compra

Agente de la aplicacin

Eventos compartidos BorrarLinea y ModCantidad

2001, Grupo OO-Method

55

Caso Prctico de Modelado


Mapa Navegacional
Pgina Principal
Usuario Navegante

<<Contexto>> Home

Agente
E E E

Contextos de Exploracin
E

<<Context>> Autores

<<Context>> Cesta_Lneas

<<Context>> Categoras

<<Context>> Compradores

<<Context>> Detalles_Author

<<Context>> Facturas

<<Context>> Detalles Categoras

Contextos de Secuencia
S

<<Context>> lbumes

2001, Grupo OO-Method

56

Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home

Usuario Navegante

<<Context>> Autores

<<Context>> Cesta_Lneas

<<Context>> Categoras

<<Context>> Compradores

<<Context>> Detalles_Author

<<Context>> Facturas

<<Context>> Detalles Categoras

<<Context>> lbumes

2001, Grupo OO-Method

57

Mapa Navegacional
Contexto navegacional Autores
E

<<Contexto>> Autores
<<view>>

Relacin de Contexto

Autor nombre elementos

Filtro Exacto

{nombre, E} nombre [Detalles_Autor]


Contexto Destino Atributo de Enlace

Presentacin:Tabular

Cardinalidad:300

2001, Grupo OO-Method

58

Modelo de Objetos
Contexto navegacional Autores
?

Clases participantes del modelo conceptual OO-Method:

Se utilizan los atributos: nombre y elementos

No se utiliza ningn servicio

2001, Grupo OO-Method

59

Contexto navegacional Autores


Applicacin Web generada
Alias del Contexto

Atributos de las Clases Alias de los Atributos

Contextos de Exploracin

Presentacin Tabular

Filtro Exacto Atributo de enlace


2001, Grupo OO-Method

Cardinalidad
60

Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home

Usuario Navegante

<<Context>> Autores

<<Context>> Cesta_Lneas

<<Context>> Categoras

<<Context>> Compradores

<<Context>> Detalles_Author

<<Context>> Facturas

<<Context>> Detalles Categoras

<<Context>> lbumes

2001, Grupo OO-Method

61

Mapa Navegacional
Contexto navegacional Categoras
E

<<Contexto>> Categorias
Filtro exacto
<<view>>

Categorias nombre elementos

{nombre,E} nombre

Atributo de Enlace

[Detalles_Categorias]
Contexto Destino
Presentacin: Tabular Cardinalidad: 10

2001, Grupo OO-Method

62

Modelo de Objetos
Contexto navegacional Categoras
?

Clases participantes del modelo conceptual OO-Method:

Se utilizan los atributos: nombre y elementos

No se utiliza ningn servicio

2001, Grupo OO-Method

63

Contexto navegacional Categoras


Applicacin Web generada

Presentacin Tabular

Filtro Exacto

Atributos de enlace Cardinalidad


2001, Grupo OO-Method 64

Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home

Usuario Navegante

<<Context>> Autores

<<Context>> Cesta_Lneas

<<Context>> Categoras

<<Context>> Compradores

<<Context>> Detalles_Author

<<Context>> Facturas

<<Context>> Detalles Categoras

<<Context>> lbumes

2001, Grupo OO-Method

65

Mapa Navegacional
Contexto navegacional Detalles_Autor
S <<Contexto>> Detalles_Autor
Clase directora
<<view>> Autor nombre

Atributo de Enlace

<<view>> Album id_album titulo fecha precio

id_album [Albumes]

Clase Complementaria

Presentacin: Maestro- Detalle

Cardinalidad:10

Contexto Destino

2001, Grupo OO-Method

66

Modelo de Objetos
Contexto navegacional Detalles_Autor
?

Clases participantes del modelo conceptual OO-Method:


Se convierte en Relacin de contexto

Se utiliza el atributo nombre No se utiliza ningn servicio

Se utilizan los atributos: id_album, ttulo, fecha y precio No se utiliza ningn servicio
67

2001, Grupo OO-Method

Contexto navegacional Detalles_Autor


Applicacin Web generada
Presentacin Maestro-Detalle

Parte maestro

Parte detalle

Atributo de enlace Cardinalidad

2001, Grupo OO-Method

68

Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home

Usuario Navegante

<<Context>> Autores

<<Context>> Cesta_Lneas

<<Context>> Categoras

<<Context>> Compradores

<<Context>> Detalles_Author

<<Context>> Facturas

<<Context>> Detalles Categoras

<<Context>> lbumes

2001, Grupo OO-Method

69

Mapa Navegacional
Contexto navegacional Detalles_Categoras
S
Clase directora
<<view>> Categoria nombre

<<Contexto>> Detalles_Categorias

Atributo de Enlace
<<view>> Album id_album titulo fecha precio

id_album [Albumes]

Contexto destino

<<view>> Autor nombre

Clases complementarias Clase de cobertura


Presentacin: Maestro- Detalle Carrdinalidad:10

2001, Grupo OO-Method

70

Modelo de Objetos
Contexto navegacional Detalles_Categoras
?

Clases participantes del modelo conceptual OO-Method:


Se convierte en Relacin de contexto Se convierte en Relacin de contexto

Se utiliza el atributo: nombre No se utiliza ningn servicio

Se utiliza los atributos: id_album, titulo, fecha y precio No se utiliza ningn servicio

Se utiliza el atributo: nombre No se utiliza ningn servicio

2001, Grupo OO-Method

71

Contexto nav. Detalles_Categoras


Applicacin Web generada
Presentacin Maestro-Detalle Parte maestro

Parte detalle

Atributo de enlace

Cardinalidad

2001, Grupo OO-Method

72

Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home

Usuario Navegante

<<Context>> Autores

<<Context>> Cesta_Lneas

<<Context>> Categoras

<<Context>> Compradores

<<Context>> Detalles_Author

<<Context>> Facturas

<<Context>> Detalles Categoras

<<Context>> lbumes

2001, Grupo OO-Method

73

Mapa Navegacional
Contexto navegacional lbumes
S
Clase Directora

<<Contexto>> Albumes
<<view>> Album Id_album titulo fecha precio num_discos COMPRAR()* [Cesta_Lineas]
Enlace de Servicio
Presentacin: Registro

Clase complementaria
<<view>>

Autor nombre
Contexto Destino

2001, Grupo OO-Method

74

Modelo de Objetos
Contexto navegacional lbumes
?

Clases participantes del modelo conceptual OO-Method:


Se convierte en Relacin de contexto

Se utiliza el atributo nombre No se utiliza ningn servicio

Se utilizan los atributos id_album, titulo, fecha, precio y num_discos Se utiliza el servicio COMPRAR

2001, Grupo OO-Method

75

Contexto navegacional lbumes


Applicacin Web generada
Presentacin en modo Registro

Enlace de Servicio COMPRAR

2001, Grupo OO-Method

76

Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home

Usuario Navegante

<<Context>> Autores

<<Context>> Cesta_Lneas

<<Context>> Categoras

<<Context>> Compradores

<<Context>> Detalles_Author

<<Context>> Facturas

<<Context>> Detalles Categoras

<<Context>> lbumes

2001, Grupo OO-Method

77

Mapa Navegacional
Contexto navegacional Cesta_Lneas
E
Clase Directora <<Contexto>> Cesta_Lineas
<<view>> <<view>>

Cesta
total
Mod_Cantidad() BorrarLinea()

Contexto Destino

Album titulo precio

ACEPTAR * [Facturas]()

<<view>>

Enlaces de Servicio

Linea cantidad

Clasesde cobertura Clase Complementarias

Presentacin: Maestro-Detalle

Cardinalidad:10

2001, Grupo OO-Method

78

Modelo de Objetos
Contexto navegacional Cesta_Lneas
Se utilizan los atributos titulo y precio No se utilizan servicios Se convierten en Relaciones Clase de de dependencia de contexto

cobe

Se utiliza el atributo Total Se utilizan los servicios ACEPTAR, Mod_Cantidad y BorrarLinea Se utiliza el atributo cantidad No se utilizan servicios

Eventos compartidos Mod_Cantidad y BorrarLinea


2001, Grupo OO-Method 79

Contexto navegacional Cesta_Lneas


Applicacin Web generada
Presentacin Maestro-Detalle Parte detalle Parte maestro

Enlace de servicio ACEPTAR Enlaces de servicio Mod Cant y Eliminar

2001, Grupo OO-Method

80

Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home

Usuario Navegante

<<Context>> Autores

<<Context>> Cesta_Lneas

<<Context>> Categoras

<<Context>> Compradores

<<Context>> Detalles_Author

<<Context>> Facturas

<<Context>> Detalles Categoras

<<Context>> lbumes

2001, Grupo OO-Method

81

Mapa Navegacional
Contexto navegacional Facturas
S
<<Contexto>> Facturas
<<view>> Album pctIVA Neto <<view>> Cesta total <<view>> Linea cantidad <<view>> Album precio titulo

<<view>> Comprador nombre DNI

Presentacin: Maestro-Detalle
2001, Grupo OO-Method 82

Modelo de Objetos
Contexto navegacional Facturas
?

Clases participantes del modelo conceptual OO-Method:

En este contexto slo se utilizan atributos de las clases, no se utilizan servicios.

2001, Grupo OO-Method

83

Contexto navegacional Factura


Applicacin Web generada

Comprador

Linea y Album

Cesta Factura

Presentacin Maestro-Detalle multinivel.


2001, Grupo OO-Method 84

Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home

Usuario Navegante

<<Context>> Autores

<<Context>> Cesta_Lneas

<<Context>> Categoras

<<Context>> Compradores

<<Context>> Detalles_Author

<<Context>> Facturas

<<Context>> Detalles Categoras

<<Context>> lbumes

2001, Grupo OO-Method

85

Mapa Navegacional
Contexto navegacional Compradores

E
<<Contexto>> Compradores
<<view>> Comprador
Crear()
Enlace de Servicio
Presentacin: Registro

2001, Grupo OO-Method

86

Modelo de Objetos
Contexto navegacional Compradores
?

Clases participantes del modelo conceptual OO-Method:

Parmetros: DNI Nombre, VISA

2001, Grupo OO-Method

87

Contexto navegacional Compradores


Applicacin Web generada

Presentacin en modo Registro

Enlace de servicio Crear

2001, Grupo OO-Method

88

Agenda
? ?

Introduccin: Web Engineering Caractersticas y Arquitecturas de las Aplicaciones Web


? ?

Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin

Modelo de Navegacin
? ?

OOWS: Un Mtodo de Produccin de Ambientes Web


? ?

? ?

Caso de Estudio Conclusiones ? Resultados y Trabajos Futuros


89

2001, Grupo OO-Method

Conclusiones
Resultados
?

La principal contribucin de este trabajo es la introduccin de un Modelo de Navegacin que est completamente incorporado en el proceso de modelado conceptual de OO-Method. La aproximacin propuesta ha sido aplicada en varias aplicaciones de comercio electrnico reales. La experiencia obtenida ha posibilitado poner en practica la aproximacin OOWS y refinar las primitivas de abstraccin propuestas para el modelado navegacional. Se ha definido una estrategia para desarrollar una aplicacin web a partir de las primitivas propuestas.

2001, Grupo OO-Method

90

Conclusions
Trabajos Futuros
? ?

Extensin del Catalogo de Patrones de Presentacin Extensin del modelo de navegacin para capturar aspectos de:
?

seguridad y personalizacin con respecto a los otros elementos del modelo conceptual.

Construccin de un generador para automatizar la aproximacin propuesta considerando caractersticas especficas de las plataformas usadas por las aplicaciones web actuales. Construccin de un traductor basado en XML que d soporte a salidas para mltiples dispositivos.

2001, Grupo OO-Method

91

Potrebbero piacerti anche