El documento introduce los conceptos básicos de la arquitectura de aplicaciones web, incluyendo el modelo cliente-servidor, protocolo HTTP, arquitecturas de capas de dos y tres niveles, y diferentes tipos de arquitecturas como B2B, B2C y B2E que se utilizan para el comercio electrónico y los negocios electrónicos. También describe cómo los perfiles de usuario se usan para personalizar los sistemas de comercio electrónico.
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
APLICACIONES WEB
1. Introducción a la Arquitectura
de Aplicaciones para la Web
1
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Introducción (I)
La WWW está basado en el modelo Cliente / Servidor.
El Cliente principal en el WWW son los browsers o
navegadores que solicitan información al Servidor.
El Servidor son los Servidores Web que proporcionan
documentos y contenidos multimedia a los clientes a
través de la red.
2
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Introducción (II)
Los “clientes” realizan peticiones de información a los
“servidores”.
Las peticiones de información en el Web se realizan a
través de la red (Internet / Intranet).
Las peticiones vía Web utilizan el protocolo HTTP
para realizar las transacciones dentro del modelo
Cliente / Servidor.
3
URJC - Aplicaciones para la Web R. Capilla
2. Tema 4: Arquitectura de Aplicaciones para la Web
Introducción (III)
Además del modelo Cliente / Servidor existen otros tipos
de “Arquitecturas” para organizar la información y los
elementos y actores de un modelo determinado.
Una Arquitectura define: un conjunto de elementos,
conectores, restricciones y un sistema de control que
caracterizan a un sistema o a una familia de sistemas.
4
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Introducción (IV)
La heterogeneidad de los contenidos Web y su
distribución en la red facilitan esquemas distribuidos.
Estos esquemas distribuidos orientados a
proporcionar servicios a las aplicaciones suelen
basarse en modelos de componentes distribuidos
(CORBA, RMI, DCOM).
5
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Introducción (V)
Applets utilizando RMI
Servidor
HTTP
Web
HTML
Applet Soporte
RMI Objeto
remoto
Browser
Servidor de
Aplicaciones
6
URJC - Aplicaciones para la Web R. Capilla
3. Tema 4: Arquitectura de Aplicaciones para la Web
Introducción (VI)
Implementación
Cliente del Objeto
CORBA ORB Peticiones
ORB
7
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Introducción (VII)
DCOM en una Aplicación Web
Browser Servidor
HTTP
Web
HTML
Servidor de
ActiveX Aplicaciones
SCM Objeto
COM
DCOM DCOM
8
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Introducción (VIII)
XML-RPC
HTTP como transporte y XML como codificación
RPC: Llamada a procedimiento remoto
9
URJC - Aplicaciones para la Web R. Capilla
4. Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas de Capas (I)
Los modelos de capas son utilizados por las
aplicaciones Web dentro de la filosofía Cliente /
Servidor.
Los modelos esquemas más habituales son las
arquitecturas de dos y tres capas
10
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas de Capas (II)
Arquitectura de dos Capas:
Utilizados en esquemas poco complejos
(simplicidad del diseño).
Los datos y los servicios Web aparecen juntos.
Difícil de separar los datos de la “lógica de
negocio”.
Menor seguridad en los “datos corporativos”.
El cliente recibe los datos y la información
directamente del servidor.
11
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas de Capas (III)
Esquema general del modelo de dos capas:
Peticiones
Servidor
HTTP Web
Cliente Aplicaciones
CGIs – Scripts
Servicios
Respuestas
Datos
12
URJC - Aplicaciones para la Web R. Capilla
5. Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas de Capas (IV)
Arquitectura de tres Capas:
Utilizados en esquemas más complejos.
Los datos y los servicios Web aparecen separados.
Facilidad para separar datos de la “lógica de
negocio”.
Mayor seguridad en los “datos corporativos”.
El cliente recibe los datos y la información de forma
indirecta a través servidor.
13
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas de Capas (V)
HTTP Servicios
Servidor de Datos
Navegador Web Aplicaciones
Lógica de
Firewall Negocio
Cliente
LAN
Interfaz de
Presentación
Capa 1 Capa 2 Capa 3
14
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas de Capas (VI)
Arquitecturas de tres capas:
Los Servidores de Aplicaciones actúan como un
enlace entre los servidores Web y las aplicaciones
empresariales.
Se fomenta la escalabilidad del sistema, la
seguridad y la reutilización de código.
15
URJC - Aplicaciones para la Web R. Capilla
6. Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas de Capas (VII)
A nivel empresarial la Arquitectura de tres
capas fomenta:
Construir aplicaciones de negocio y de comercio
electrónico.
Construir aplicaciones mediante la tecnología de
objetos distribuidos.
Construir aplicaciones escalables.
16
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas de Capas (VIII)
Modelo de componentes,
transacciones y seguridad
HTTP
BBDD
Navegador
IIS
MTS
Firewall ASP Mainframe
Objetos Aplicaciones
Scripts
Cliente COM Datos
LAN DCOM
Capa 1 Capa 2 Capa 3
17
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas de Capas (IX)
Arquitectura de Capas para Transacciones en la Web
18
URJC - Aplicaciones para la Web R. Capilla
7. Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas de Capas (X)
19
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Distribución Física y Lógica (I)
Las diferentes arquitecturas deben distinguir entre:
Modelo Físico: como se organizan los elementos y
componentes de la arquitectura.
Modelo Lógico: como se organizan los datos y la
información que utiliza un modelo físico
determinado.
20
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Distribución Física y Lógica (II)
Distribución de Recursos: WWW.URJC.ES
Aplicaciones, datos y máquinas
Máquina 1
www1.urjc.es
HTTP R
Navegador Máquina 1
E
www2.urjc.es
D
Máquina 1
www3.urjc.es
21
URJC - Aplicaciones para la Web R. Capilla
8. Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas B2B, B2C y B2E (I)
Existen diversos tipos de arquitecturas y modelo
de negocio basados en la Web que utilizan
aplicaciones Web para fomentar el comercio
electrónico (e-commerce y e-business), como por
ejemplo:
B2B: Business to Business
B2C: Business to Consumer
B2E: Business to Employee
22
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas B2B, B2C y B2E (II)
Características del Business to Consumer (B2C)
Orientados al comercio electrónico de particulares
a sectores concretos (e-commerce).
Portales y aplicaciones horizontales (e.g.: amazon)
Rapidez en las compras y pago electrónico (VISA,
AMEX, etc.)
Mecanismos de seguridad.
23
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas B2B, B2C y B2E (III)
Arquitectura B2C
Comprador
con Browser
ISP
Comprador Tienda
ISP Firewall
con Browser Web
Comprador
ISP
con Browser
24
URJC - Aplicaciones para la Web R. Capilla
9. Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas B2B, B2C y B2E (IV)
Características del Business to Business (B2B)
Orientados al negocio electrónico entre
comunidades con intereses comunes (e-business).
Mayor volumen de negocio que en el esquema
B2C.
Portales y aplicaciones sectoriales (e.g.: seguros,
banca, informática, etc.)
Rapidez en las compras.
Mecanismos de seguridad.
25
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas B2B, B2C y B2E (V)
Modelos B2B (I)
Modelo de un solo comprador y varios
vendedores: compañías que utilizan los servicios
web para comprar de vendedores autorizados.
Modelo de un solo vendedor y varios
compradores: compañías que utilizan los servicios
web para vender productos y servicios a otras
compañías.
26
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas B2B, B2C y B2E (VI)
Modelos B2B (II)
Modelo de mercado electrónico
(varios compradores y vendedores):
representan “supermercados” o
centros de ventas en la red donde
múltiples clientes y vendedores
compran y venden.
27
URJC - Aplicaciones para la Web R. Capilla
10. Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas B2B, B2C y B2E (VII)
Modelos B2B (III)
Modelo de partners de mercado (normalmente un vendedor un
comprador): constituyen acuerdos o contratos entre dos o más
compañías para hacer e-business.
28
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas B2B, B2C y B2E (VIII)
Características del Business to Employee (B2E)
El modelo se centra en el empleado, trabajador o
individuo.
Portales altamente personalizados.
Las compañías ofrecen productos y servicios a sus
empleados.
Integran la horizontalidad y la verticalidad.
Permiten gestionar los recursos humanos.
29
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Arquitecturas C2C
Características del Consumer to Consumer (C2C)
Orientados a las transacciones entre clientes.
El pago no siempre es electrónico.
Los consumidores interactúan entre ellos y definen
los precios.
Ejemplos: portales de subastas.
30
URJC - Aplicaciones para la Web R. Capilla
11. Tema 4: Arquitectura de Aplicaciones para la Web
Otras arquitecturas
B2B2C: un negocio vende a clientes usando un
vendedor como intermediario.
C2B2C: venta entre consumidores a través de un
intermediario.
P2P (Person to Person): pago entre individuos a
través de una transacción (e.g.: una subasta o
sistemas de pago vía móvil).
31
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Comercio Electrónico (I)
Los modelo mencionados se utilizan en esquemas de
comercio electrónico (e-commerce) y negocio
electrónico (e-business).
El objetivo es utilizar los servicios Web e Internet
como medio para realizar transacciones comerciales
entre empresas y usuarios.
32
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Comercio Electrónico (II)
Motivos
Los usuarios (clientes) no están ligados en un
espacio geográfico determinado.
Los servicios y mercados pueden globalizarse y
distribuirse de una manera más fácil y con
menores costes.
Se llega a un mayor número de clientes.
33
URJC - Aplicaciones para la Web R. Capilla
12. Tema 4: Arquitectura de Aplicaciones para la Web
Comercio Electrónico (III)
Los sistemas de comercio electrónico utilizan el
concepto de Perfiles de Usuario para definir sus
productos y campañas informativas.
Los perfiles de usuario identifican grupos de usuarios
con características y preferencias comunes.
Los perfiles de usuario determinan partes concretas
de un sistema de comercio electrónico y campañas
de marketing.
34
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Comercio Electrónico (IV)
Cookies
Perfil 1 Banners
Perfil 2 SISTEMA
DE Web
PERSONALIZACION E-commerce
Perfil 3
Perfil 4
Páginas
Visitadas Encuestas
35
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Comercio Electrónico (V)
PERSONALIZACION
La personalización 1:1 no es viable.
Existe personalización de usuarios registrados.
Existe personalización de usuarios anónimos.
Existen recomendaciones personalizadas.
36
URJC - Aplicaciones para la Web R. Capilla
13. Tema 4: Arquitectura de Aplicaciones para la Web
Comercio Electrónico (VI)
Ciclo de Personalización Interacción con el usuario
Atención al
Incluir elementos Web Informes a medida
personalizables usuario
Generación de
Implementación
información
Análisis y
Recopilación de
propuesta
resultados
Información generada por los usuarios.
Diseño de mecanismos de personalización
37
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Comercio Electrónico (VII)
Equema global de un Sistema de Personalización de Perfiles
para la Web
38
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Comercio Electrónico (VIII)
Arquitectura del Sistema de Personalización
Front-end Servidor
Logs Gestión de Contenidos Web
Motor de Administrador
Observador Gestión de
Personalización
Contenidos
Administración
Perfiles de
Personalización Contenidos
B.I. eCRM
39
URJC - Aplicaciones para la Web R. Capilla
14. Tema 4: Arquitectura de Aplicaciones para la Web
Comercio Electrónico (IX)
Banners
Noticias
Terra TV
Concursos
Terra Compras
40
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Bibliografía Consultada
[BASS 98] L. Bass, P. Clements y R. Kazman
Software Architecture in Practice. Ed. Addison-Wesley, 1998
[ROSE 98] L. Rosenfeld y P. Morville
Information Architecture for the World Wide Web
Ed. O’Reilly & Associates, 1998
41
URJC - Aplicaciones para la Web R. Capilla
Tema 4: Arquitectura de Aplicaciones para la Web
Direcciones Web Consultadas
http://www.microsoft.com http://www-1.ibm.com
http://www.omg.org http://www.pwcconsulting.com
http://www.corba.org http://www.canaltai.com
http://java.sun.com http://www.rational.com
http://www.communityb2b.com
http://www.b2byellowpages.com
http://www.b2business.net
42
URJC - Aplicaciones para la Web R. Capilla