Transparencias 07-08 - Departamento de Ingeniería Telemática

Anuncio
Arquitecturas típicas.
Mario Muñoz Organero
Departamento
p
de Ingeniería
g
Telemática
http://www.it.uc3m.es/mario
Panorámica de la asignatura
RED
Comunicaciones
Servidores
información
Intercambio de
datos
Clientes
Mario Muñoz Organero.
Servidores de información
2
Arquitecturas
„
Cliente-servidor con cliente pesado (thick o fat client)
El programa cliente tiene la lógica de la aplicación y obtiene
datos que le resultan necesarios del servidor
… Típica de muchos de los servicios de información en Internet (ej.
DNS)
…
„
Cliente ligero (arquitecturas multi-capa o “multi-tier”)
…
„
La lógica de aplicación y control de la presentación se realiza en
el servidor
¿Cliente “thin-fat”?
thin-fat ?
…
AJAX
Servidores de información
Mario Muñoz Organero.
3
Arquitecturas cliente/servidor
Nivel Cliente
Nivel Servidor
“Fat clie
ent”
Cliente
Lógica de
negocio
g
Mario Muñoz Organero.
Servidor
Datos
Servidores de información
4
Arquitecturas multi
multi-tier
tier (multi(multi
nivel))
„
En las arquitecturas multi-tier, se añaden niveles (tiers)
software adicionales que se encargan de realizar ciertas
tareas críticas
…
„
Los niveles intermedios extienden la responsabilidad del
lado del servidor
…
„
Los “Fat
Fat client
client” se convierten en “Thin
Thin client
client”
Aunque pueden estar situados en sistemas independientes
Cada nivel comunica sólo con los niveles contiguos a
través de interfaces claramente definidas
Mario Muñoz Organero.
Servidores de información
5
Distribución de la lógica en el
servidor (multi-tier)
(
)
„
Un servidor de información puede descomponerse en 3
funciones principales:
Control de la presentación de la información que se envía a los
clientes
… Mantenimiento
M t i i t de
d la
l “lógica
“ló i de
d negocio”
i ”
… Almacenamiento permanente de la información.
…
„
Dependiendo de cómo se implemente físicamente
obtenemos un servidor en:
1 capa o grada o tier
… 2 capas o gradas
d o tiers
ti
… 3 capas o gradas o tiers
…
Mario Muñoz Organero.
Servidores de información
6
Distribución de la lógica en el
servidor
Capa de
presentación
((PL))
Capa de
lógica de
negocio
g
(BLL)
Capa de
datos
((DL))
Cliente
tier
tier
tier
Servidores de información
Mario Muñoz Organero.
7
Contando “Tiers”
Fat Client
Cliente
Cliente +
PL +
BLL
Fat Server
Cliente +
PL
middleware
PL+
BLL+DL
1 -tier
ti
Mario Muñoz Organero.
DL
BLL+DL
2 – tier
ti
Servidores de información
8
3 tiers
Client
N
Navegador
d
HTTP, Servicios Web
Client + PL
PL
Servidor Web
middleware
middleware
BLL
BLL
middleware
Se v do de
Servidor
aplicaciones
SQL,...
Q ,
DL
Base de datos
DL
Servidores de información
Mario Muñoz Organero.
9
Ejemplo: arquitectura multi-nivel
Nivel Cliente
Nivel Medio
Thin client
Lógica de negocio
Windows
Unix
Componente
cuenta
t cliente
li t
Prese
entación
Macintosh
Nivel Datos
Java
Componente
banco
SAP/R3
server
Componente
movimiento
Driver base de datos
Conector
Browser
Back End
DBMS
server
Sevicio
Se
c o transacciones
a sacc o es
Servidor Web
Mario Muñoz Organero.
Servidor Aplicaciones
Servidores de información
10
Ventajas de las arquitecturas multi
multinivel
„
Las partes críticas de la aplicación se encuentran en el
nivel medio,, más cercanos a nivel de datos → acceso
más eficiente
Sólo los datos necesarios son transferidos al cliente → menor
g de red
carga
… Problema: al aumentar el número de niveles aumenta el número
de comunicaciones, aumentando el tiempo de respuesta
…
„
„
Mayor flexibilidad, modularidad y escalabilidad.
Además:
…
…
…
…
…
Menores costes de desarrollo (reusabilidad).
Facilidad en el cambio de la base de datos
Aislamiento frente a cambios
Seguridad
Localización de fallos
Servidores de información
Mario Muñoz Organero.
11
Tecnologías y formatos
P l
Perl
SSL/TLS
XHTML
HTML
CGI
PHP
XML
.NET
Servidor info
Web Services
ASP
Servlets
SOAP
J2EE
UDDI
JSP
Bases de
datos
JavaScript
Mario Muñoz Organero.
EJBs
Código en el cliente
AJAX
Applets
Servidores de información
12
¿Qué veremos?
„
Objetivo: Utilizar la plataforma J2EE para el
d
desarrollo
ll de
d un servidor
id de
d información.
i f
ió
JSPs, Servlets
PL
CORBA, RMI, Servicios Web
BLL
EJB
EJBs
Servidores de información
Mario Muñoz Organero.
13
Web Container
Cliente Web
HTTP
EJB Container
Servlets, JSP
RMI-IIOP
JCA
Arquitectura de aplicación Web
J2EE
Nivel datos
(EIS)
JDBC
JDBC
Mario Muñoz Organero.
Servidores de información
14
Servidor de aplicaciones
Es un sistema de soporte para componentes de servidor
…
…
…
…
…
…
…
…
Instanciación de componentes
Comunicación
Sincronización de acceso concurrentes
Preparación de un entorno seguro
Disponibilidad
Seguridad de transacciones
Servidores de información
Mario Muñoz Organero.
15
Elementos de un servidor de
aplicaciones
Servicio de
transacciones
Gestión
estado
COM
Componentes
Servicio
S
i i d
de nombres
b
Servicio de directorio
CORBA
„
Los elementos constitutivos del servidor de aplicaciones
p
se denominan
también componentes y pueden instalarse y administrase de forma
independiente
Tareas de infraestructura:
EJB
„
Proporciona un entorno de desarrollo para los componentes, que a su vez
proporcionan la lógica de negocio
Los componentes de servidor utilizan los servicios del servidor de
aplicaciones
Servlets
„
Pooling
instancias
Web
Adapter
Conectores
Legados
Balance
carga
Pooling
conexiones
Comunicación
Seguridad
Mario Muñoz Organero.
Cliente/Servidor
Cli
t /S id
(HTTP, IIOP,
RMI, DCOM)
M
Mensajes
j
(Pub/Sub, colas)
Eventos
Data
streaming
Servidores de información
16
Arquitectura de aplicación J2EE
Nivel cliente
Nivel(es) servidor de aplicación
Web Container
Nivel EIS
Bases de datos
EJB Container
Cliente Web
Container Cliente
Aplicaciones legado
Servlets, JSP
Enterprise JavaBeans
Servicios y APIs
JNDI, RMI-IIOP,…
Servicios y APIs
JNDI, JMS, JTA,…
Servicios y APIs
JNDI, JMS, JTA,…
J2SE
J2EE
J2EE
Cliente Java
Mario Muñoz Organero.
Sistemas ERP
Servidores de información
17
Enterprise JavaBeans
„
„
„
Enterprise JavaBeans (EJB) es una completa especificación de
arquitectura para componentes de servicio
Permite el desarrollo en Java de aplicaciones multi-nivel, basadas
en componentes y orientadas a transacciones, que se apoyan en
p
y otros p
productos middleware
servidores de aplicación
Objetivos de la arquitectura de componentes EJB:
…
…
…
…
Facilitar el desarrollo de aplicaciones, concentrándose en la lógica de
negocio: desarrollo, aplicación y aspectos de tiempo de ejecución
Independencia del proveedor de componentes mediante la
especificación de interfaces
Independencia
depe de c a de la
a p
plataforma
ata o a g
gracias
ac as a
al p
principio:
c p o “Write
te O
Once
ce Run
u
Anywhere” (WORA) y a su realización en Java
Compatibilidad con Java-APIs existentes, con sistemas de servidor de
terceros y con protocolos CORBA
Mario Muñoz Organero.
Servidores de información
18
Containers (contenedores)
„
„
„
„
Ofrecen el entorno de ejecución para todos los componentes de aplicación
Proporcionan una vista uniforme de los servicios solicitados en la
especificación
Herramientas adicionales (Deployment Tools) para la instalación y
configuración de componentes (también en tiempo de ejecución)
Las tareas principales de los componentes del lado del servidor son la
gestión de recursos y del ciclo de vida
Applet Container
Servlet/JSP Container
EJB Container
JSP Tools
Applets
Servlet Engine
Enterprise JavaBeans
JSP: JSP: JSP:
Applic. Client Container
(J2SE)
Mario Muñoz Organero.
Gestión recursos
Servicios
Servicios
Servidores de información
19
Descargar