Vous êtes sur la page 1sur 20

ARQUITECTURA DE

SOFTWARE
Lenguaje de Programacin II
Arquitectura de software
A semejanza de los planos de un edificio o construccin,
estas indican la estructura, funcionamiento e interaccin
entre las partes del software.

Ms all de los algoritmos y estructuras de datos de la


computacin; el diseo y especificacin de la estructura
global del sistema es un nuevo tipo de problema".
La Arquitectura del Software o Lgica
Es el diseo de ms alto nivel de la estructura de un
sistema.

Es un conjunto de patrones y abstracciones coherentes


que proporcionan el marco de referencia necesario para
guiar la construccin del software.

Se selecciona y disea con base en objetivos (prefijados


para el sistema de informacin, funcionales y otros como
mantenibilidad, auditabilidad, flexibilidad e interaccin
con otros sistemas de informacin) y restricciones
(limitaciones derivadas de las tecnologas disponibles
para implementar sistemas de informacin).
La Arquitectura del Software o Lgica
Unas arquitecturas son ms recomendables de
implementar con ciertas tecnologas mientras que otras
tecnologas no son aptas para determinadas arquitecturas.

Define, de manera abstracta, los componentes que llevan


a cabo alguna tarea de computacin, sus interfaces y la
comunicacin entre ellos. Toda arquitectura debe ser
implementable en una arquitectura fsica, que consiste
simplemente en determinar qu computadora tendr
asignada cada tarea.
Arquitecturas ms comunes

Generalmente, se adopta una


arquitectura para cada sistema de
informacin , en funcin de sus ventajas
e inconvenientes. Las arquitecturas ms
universales son:

Monoltica
Cliente-servidor
Arquitectura de tres niveles
Monoltica
El software se estructura en grupos funcionales muy
acoplados.
No hay distribucin, tanto a nivel fsico como a nivel lgico.
Est formado por la presentacin, los datos y el
procesamiento.
Es una arquitectura rgida de programacin en un solo
computador.

Es la arquitectura de los primeros S.O., un solo programa


compuesto de un conjunto de rutinas entrelazadas. Las
caractersticas fundamentales son:

a) Construccin del programa final a base de mdulos


compilados separadamente que se unen a travs del enlace.
b) Buena definicin de parmetros de enlace entre las distintas
rutinas existentes, que puede provocar mucho
acoplamiento.
Monoltica
c) Carecen de protecciones y privilegios al entrar a rutinas que
manejan diferentes aspectos de los recursos de la computadora,
como memoria, disco, etc.
d) Generalmente estn hechos a medida, por lo que son eficientes y
rpidos en su ejecucin y gestin, pero por lo mismo carecen de
flexibilidad para soportar diferentes ambientes de trabajo o tipos
de aplicaciones.
Monoltica

Ventajas:
Muy eficiente ya que se producen pocos cambios
de contexto.

Desventajas:
Difcil de depurar, un error en una funcin se
puede manifestar en otra distinta.
Difcil de ampliar.
Cliente-servidor
Donde el software reparte su carga de cmputo en dos
partes independientes pero sin reparto claro de funciones.

Surge con las redes, planteando un modelo verstil,


modular basado en mensajes que permite incrementar la
flexibilidad, la escalabilidad y la nteroperacin de los
sistemas.

El cliente se define como el PROCESO que requiere un


servicio en particular.

El servidor se define como el PROCESO que provee dicho


servicio. Una misma mquina puede actuar como cliente y
servidor al mismo tiempo.
ARQUITECTURA CLIENTE
SERVIDOR

CLIENTE SERVIDOR DE 2 CAPAS


La primera capa encapsula la presentacin y la lgica
La segunda gestiona el almacenamiento y puede
almacenar parte de la lgica (Procedimientos
almacenados, triggers)

Presentacin Almacenamiento

Lgica
Lgica
ARQUITECTURA CLIENTE
SERVIDOR

CLIENTE SERVIDOR DE 2 CAPAS


Buen manejo de concurrencia hasta con 100 usuarios simultneos
aprox.
Protocolos propietarios pueden causar problemas de flexibilidad,
portabilidad y escalabilidad.

Presentacin Almacenamiento

Lgica
Lgica
Cliente-servidor
VENTAJAS

Aprovecha mejor el ancho de banda


Aprovecha en mayor medida el hardware
Mayor seguridad y autonoma
Mejor manejo de la concurrencia
Permite que los clientes trabajen GUI (Interfaz
Grfica de Usuario) mientras el servidor se
centra en los procesos centrales
Arquitectura de tres niveles o capas

Especializacin de la arquitectura cliente-servidor donde


la carga se divide en tres partes (o capas) con un reparto
claro de funciones:
para la presentacin (interfaz de usuario),
para el clculo (donde se encuentra modelado el
negocio) y
para el almacenamiento (persistencia).

Una capa (conjunto de componentes de un aplicativo que


se dedican a una labor en particular) solamente tiene
relacin con la siguiente.
ARQUITECTURA CLIENTE
SERVIDOR
CLIENTE SERVIDOR DE 3 CAPAS (Multicapa)
Agrega una capa intermedia (middle tier) que permite priorizacin y
gestin de peticiones, gestin de balance, entre otros.
Buen manejo de concurrencia con miles de usuarios simultneos
Protocolos estandarizados permiten gran flexibilidad, portabilidad
y escalabilidad.

Almacenamiento
Lgica
Presentacin Lgica
ARQUITECTURA CLIENTE
SERVIDOR
ARQUITECTURA CLIENTE
SERVIDOR
CLIENTE SERVIDOR DE 3 CAPAS (Multicapa)
Ejemplo: Google
Servidor de indexacin
Millones de clientes
(5000.000 por da,
57 por segundo aprox.)
Servidor de documentos

Servidor de balance
CLIENTE-SERVIDOR (WEB)
La arquitectura web es una arquitectura cliente
servidor
formada por los siguientes elementos:
Un navegador: Hace de cliente y realiza peticiones
solicitando recursos a los servidores web.
Un servidor web: Recibe peticiones de clientes y
responde a esas peticiones enviado un recurso o
notificando un error.
El protocolo http: Es el protocolo basado en TCP/IP
que se utiliza para que el navegador realice las
peticiones al servidor web y este responda.
PGINAS ESTTICAS

En los comienzos de la web, todos los sitios web


eran conjuntos de pginas web en forma de
ficheros HTML.
Los sitios web eran como libros pero con
navegacin mediante enlaces en vez de
navegacin secuencial.
La edicin de sitios web se realizaba con
herramientas similares a la edicin de documentos
(p.e. Microsoft FrontPage)
A estas pginas se las denominaba pginas web
estticas.
PGINAS DINMICAS
Poco a poco las pginas empezaron a ser ms
dinmicas.
En vez de ser ficheros HTML en el disco,
empezaban a ser pequeos programas que se
ejecutaban cada vez que un usuario peda una
pgina.
Inicialmente eran cambios mnimos (contador de
visitas, fecha actual, cambiar la imagen de
cabecera,...) con lenguajes de script como PERL y
PHP.
APLICACIONES WEB

Los cambios seran cada vez ms profundos y las


pginas web se convertiran en completas
aplicaciones web.
Una aplicacin web es aquella que los usuarios
utilizan accediendo a un servidor web a travs
de Internet mediante un navegador.
Tienen la ventaja de ser independientes del
Sistema Operativo, y de que son fciles de
actualizar y mantener.

Vous aimerez peut-être aussi