SlideShare ist ein Scribd-Unternehmen logo
1 von 22
ARQUITECTURA MULTICAPA
Arquitectura de software
    La programación se consideraba un arte con gran
dificultad pero con el tiempo se han ido descubriendo y
 desarrollando formas y guías generales, con base a las
   cuales se puedan resolver los problemas, llamadas
Arquitectura de Software, a semejanza de los planos de
        un edificio o construcción, estas indican la
    estructura, funcionamiento e interacción entre las
    partes del software. "más allá de los algoritmos y
  estructuras de datos de la computación; el diseño y
 especificación de la estructura global del sistema es un
                 nuevo tipo de problema".
La Arquitectura del Software o Lógica

Es el diseño de más alto nivel de la estructura de un
sistema.

Es un conjunto de patrones y abstracciones coherentes
que proporcionan el marco

Se selecciona y diseña con base en objetivos (prefijados
para el sistema de información, funcionales y otros como
mantenibilidad, auditabilidad, flexibilidad e interacción
con otros sistemas de información) y restricciones
(limitaciones derivadas de las tecnologías disponibles
para implementar sistemas de información).
La Arquitectura del Software o Lógica
Unas arquitecturas son más recomendables de
implementar con ciertas tecnologías mientras que otras
tecnologías no son aptas para determinadas arquitecturas.
Ejemplo, no es viable emplear una arquitectura de
software de tres capas para implementar sistemas en
tiempo real.

Define, de manera abstracta, los componentes que llevan
a cabo alguna tarea de computación, sus interfaces y la
comunicación entre ellos. Toda arquitectura debe ser
implementable en una arquitectura física, que consiste
simplemente en determinar qué computadora tendrá
asignada cada tarea.
Programación por capas
La programación por capas es una arquitectura cliente-
servidor cuyo objetivo primordial es la separación de la
lógica de negocios de la lógica de diseño, es decir separar
la capa de datos de la capa de presentación al usuario.

La ventaja principal es que el desarrollo se puede llevar a
cabo en varios niveles, en caso de cambios, sólo se afecta
al nivel requerido, sin tener que revisar todo el código.
Ejemplo el modelo de interconexión de sistemas abiertos.

Permite distribuir el trabajo de creación de una aplicación
por niveles, cada grupo de trabajo está totalmente
abstraído del resto de niveles, de forma que basta con
conocer la API (Interfaz de programación de aplicaciones)
que existe entre niveles.
Programación por capas

En el diseño de sistemas informáticos actual se suelen
usar las arquitecturas multinivel o Programación por capas.
En dichas arquitecturas a cada nivel se le confía una
misión simple, lo que permite el diseño de arquitecturas
escalables (que pueden ampliarse con facilidad en caso de
que las necesidades aumenten).

El diseño más utilizado actualmente es el diseño en tres
niveles (o en tres capas).
Modelo OSI o Modelo de interconexión de
               sistemas abiertos)

Fue desarrollado en 1984 por la
(ISO).
OSI es una normativa formada por
siete capas que define las diferentes
fases por las que deben pasar los
datos para viajar de un dispositivo a
otro sobre una red de
comunicaciones. Especifica el
protocolo que debe ser usado en
cada capa. Todo el mundo se
comunica entre sí, sin importar la
localización geográfica o el lenguaje
utilizado, únicamente con unas
normas mínimas: Internet.
Modelo OSI o Modelo de interconexión de sistemas
                   abiertos)
Los datos reciben una serie de nombres y formatos específicos
en función de la capa en la que se encuentren.
Arquitecturas más comunes
      Generalmente, se adopta una
    arquitectura para cada sistema de
información , en función de sus ventajas
e inconvenientes. Las arquitecturas más
             universales son:

         Monolítica
      Cliente-servidor
Arquitectura de tres niveles
Monolítica
 El software se estructura en grupos funcionales muy
  acoplados.
 No hay distribución, tanto a nivel físico como a nivel lógico.
 Está formado por la presentación, los datos y el
  procesamiento.
 Es una arquitectura rígida de programación en un solo
  computador.

Es la arquitectura de los primeros S.O., un solo programa
compuesto de un conjunto de rutinas entrelazadas. Las
características fundamentales son:

a) Construcción del programa final a base de módulos
   compilados separadamente que se unen a través del
   ligador.
Monolítica
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 están hechos a medida, por lo que son eficientes y
   rápidos en su ejecución y gestión, pero por lo mismo carecen de
   flexibilidad para soportar diferentes ambientes de trabajo o tipos
   de aplicaciones.
Monolítica

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

Desventajas:
Difícil de depurar, un error en una función se
puede manifestar en otra distinta.
Difícil de ampliar.
Cliente-servidor
Donde el software reparte su carga de cómputo en dos
partes independientes pero sin reparto claro de funciones.

Surge con las redes, planteando un modelo versátil,
modular basado en mensajes que permite incrementar la
flexibilidad, la escalabilidad y la ínteroperación 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 máquina puede actuar como cliente y
servidor al mismo tiempo.
Cliente-servidor
VENTAJAS

   Aprovecha mejor el ancho de banda
   Aprovecha en mayor medida el hardware
   Mayor seguridad y autonomía
   Mejor manejo de la concurrencia
   Permite que los clientes trabajen GUI (Interfaz
    Gráfica de Usuario) mientras el servidor se
    centra en los procesos centrales
Cliente-servidor
Ejemplos: Servidor Web (Apache, IIS) Cliente Web
(IExplorer, Netscape Navigator, Mozilla) Cliente WEB
Servidor WEB Protocolo, Servidor FTP (SFTP) Cliente FTP
(Cute FTP, WS FTP) Cliente FTP Servidor FTP Protocolo
Servidor IRC (IRC Server) Cliente IRC (Mirc, Pirch) Cliente
IRC Servidor IRC Protocolo Servidor de Bases de datos
(Interbase, Oracle, SyBase, MySql, SQL Server, Postgress)
Cliente de Base de Datos (IBManager,IBConsole) Cliente
Interbase Servidor InterBase Protocolo Interacción de
clientes y servidores Servidor DB (InterBase) Servidor WEB
(Apache) Servidor de Aplicaciones (PHP) Clientes WEB
Servidor de DB (MySQL) Cliente Interbase (IBmanager)
Cliente Win32 (SkyCell)
Arquitectura de tres niveles o capas
Especialización de la arquitectura cliente-
servidor donde la carga se divide en
tres partes (o capas) con un reparto claro
de funciones:
 para la presentación (interfaz de usuario),
 para el cálculo (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
relación con la siguiente.
Arquitecturas más comunes
Generalmente, se adopta una arquitectura para cada
sistema de información , en función de sus ventajas e
inconvenientes. Las arquitecturas más universales son:
Monolítica. Donde el software se estructura en grupos
funcionales muy acoplados.
Cliente-servidor. Donde el software reparte su carga de
cómputo en dos partes independientes pero sin reparto
claro de funciones.
Arquitectura de tres niveles. Especialización de la
arquitectura cliente-servidor donde la carga se divide en
tres partes (o capas) con un reparto claro de funciones:
una capa para la presentación (interfaz de usuario), otra
para el cálculo (donde se encuentra modelado el negocio)
y otra para el almacenamiento (persistencia). Una capa
solamente tiene relación con la siguiente.
CLIENTE SERVIDOR DE 3 CAPAS - Multicapa
Agrega una capa intermedia (middle tier) que
permite priorización y gestión de
peticiones, gestión de balance, entre otros.
Buen manejo de concurrencia con miles de
usuarios simultáneos.
Protocolos estandarizados permiten gran
flexibilidad, portabilidad y escalabilidad.

Google: Millones de clientes (5’000.000 por
día, 57 por segundo aprox.) Servidor de
indexación Servidor de documentos Servidor de
balance
CAPA DE PRESENTACIÓN (FrontEnd)
Todo aquello que se enfoca en la
interacción con el usuario final.

REGLAS DEL NEGOCIO (Bussines rules):
Validaciones, restricciones, reglamentos, pr
otocolos y normativas relativas a un
dominio en particular.
CAPA LÓGICA (Middle
         Tier, Middleware)

Todo aquello que gestiona y hace valer las
           reglas del negocio
CAPA DE ALMACENAMIENTO
        (BackEnd)



Todos los elementos dedicados a la
     persistencia del sistema
CLIENTE SERVIDOR DE 2 CAPAS

La primera capa encapsula la presentación y la
lógica La segunda gestiona el almacenamiento
      y puede almacenar parte de la lógica
    (Procedimientos almacenados, triggers)
 Presentación Lógica Almacenamiento Lógica
 Buen manejo de concurrencia hasta con 100
    usuarios simultáneos aprox. Protocolos
  propietarios pueden causar problemas de
   flexibilidad, portabilidad y escalabilidad.

Weitere ähnliche Inhalte

Was ist angesagt?

Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de softwareJose Diaz Silva
 
Organización del computador
Organización del computadorOrganización del computador
Organización del computadorIsrael Rey
 
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IPCUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IPdisenarUniminuto
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasAlex Uhu Colli
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicaslandeta_p
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y desplieguejoshell
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHPerozoAlejandro
 
Especificación de Arquitectura de Software
Especificación de Arquitectura de SoftwareEspecificación de Arquitectura de Software
Especificación de Arquitectura de SoftwareSoftware Guru
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controladorEmilio Sarabia
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegueElvisAR
 

Was ist angesagt? (20)

Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de software
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Organización del computador
Organización del computadorOrganización del computador
Organización del computador
 
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IPCUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
 
Sistema Operativo Distribuido
Sistema Operativo DistribuidoSistema Operativo Distribuido
Sistema Operativo Distribuido
 
Formato ieee830
Formato ieee830Formato ieee830
Formato ieee830
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
 
Capa de aplicación
Capa de aplicaciónCapa de aplicación
Capa de aplicación
 
Herramientas de monitoreo de redes
Herramientas de monitoreo de redesHerramientas de monitoreo de redes
Herramientas de monitoreo de redes
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
Especificación de Arquitectura de Software
Especificación de Arquitectura de SoftwareEspecificación de Arquitectura de Software
Especificación de Arquitectura de Software
 
Tolerancia a fallos
Tolerancia a fallosTolerancia a fallos
Tolerancia a fallos
 
Comparticion de recursos- Sistemas Distribuidos
Comparticion de recursos- Sistemas Distribuidos Comparticion de recursos- Sistemas Distribuidos
Comparticion de recursos- Sistemas Distribuidos
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegue
 
Voip
VoipVoip
Voip
 
3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso
 

Ähnlich wie Arquitectura multicapa

Fundam servclient
Fundam servclientFundam servclient
Fundam servclienttvazamar
 
Arquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo MariaArquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo Mariagequito
 
Arquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de MariaArquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de Mariagequito
 
diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacionzulaymaylin
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidosMargarita Labastida
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosalbertoisaacs13
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 nivelesLupitha Mendoza
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 nivelesLupitha Mendoza
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos DistribuidosVectorinox01
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Unidad 1
Unidad 1Unidad 1
Unidad 1mi casa
 
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.castlellanos
 
Clase De Fds22
Clase De Fds22Clase De Fds22
Clase De Fds22masa832
 
Trabajo grupal 1 taller-prog-distribuida
Trabajo grupal 1 taller-prog-distribuidaTrabajo grupal 1 taller-prog-distribuida
Trabajo grupal 1 taller-prog-distribuidaRJ Manayay Chavez
 
Arquitecturas de software
Arquitecturas de software Arquitecturas de software
Arquitecturas de software Anel Sosa
 

Ähnlich wie Arquitectura multicapa (20)

Fundam servclient
Fundam servclientFundam servclient
Fundam servclient
 
Arquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo MariaArquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo Maria
 
Arquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de MariaArquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de Maria
 
diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacion
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
 
Clase De Fds22
Clase De Fds22Clase De Fds22
Clase De Fds22
 
Aplicaciones de n capas en visual net
Aplicaciones de n capas en visual netAplicaciones de n capas en visual net
Aplicaciones de n capas en visual net
 
Trabajo grupal 1 taller-prog-distribuida
Trabajo grupal 1 taller-prog-distribuidaTrabajo grupal 1 taller-prog-distribuida
Trabajo grupal 1 taller-prog-distribuida
 
Arquitectura software
Arquitectura softwareArquitectura software
Arquitectura software
 
Arquitecturas de software
Arquitecturas de software Arquitecturas de software
Arquitecturas de software
 

Mehr von univ of pamplona

Exposicion unidad 1 ing software
Exposicion unidad 1 ing softwareExposicion unidad 1 ing software
Exposicion unidad 1 ing softwareuniv of pamplona
 
2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidad2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidaduniv of pamplona
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplouniv of pamplona
 
Arquitectura de una aplicación
Arquitectura de una aplicaciónArquitectura de una aplicación
Arquitectura de una aplicaciónuniv of pamplona
 
Ejemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessEjemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessuniv of pamplona
 
2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_softwareuniv of pamplona
 
1 lectura inicial - que es ingenieria de software
1  lectura inicial - que es ingenieria de software1  lectura inicial - que es ingenieria de software
1 lectura inicial - que es ingenieria de softwareuniv of pamplona
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del softwareuniv of pamplona
 

Mehr von univ of pamplona (14)

Entidad relacion
Entidad relacionEntidad relacion
Entidad relacion
 
Exposicion unidad 1 ing software
Exposicion unidad 1 ing softwareExposicion unidad 1 ing software
Exposicion unidad 1 ing software
 
2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidad2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidad
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplo
 
Arquitectura de una aplicación
Arquitectura de una aplicaciónArquitectura de una aplicación
Arquitectura de una aplicación
 
Ejemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessEjemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con access
 
4 ppt tema1
4 ppt tema14 ppt tema1
4 ppt tema1
 
2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software
 
1. curso unal cap1
1. curso unal cap11. curso unal cap1
1. curso unal cap1
 
1 lectura inicial - que es ingenieria de software
1  lectura inicial - que es ingenieria de software1  lectura inicial - que es ingenieria de software
1 lectura inicial - que es ingenieria de software
 
Espe tecnicas siia_2
Espe tecnicas siia_2Espe tecnicas siia_2
Espe tecnicas siia_2
 
Entrevistas
EntrevistasEntrevistas
Entrevistas
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del software
 
1. curso unal cap1
1. curso unal cap11. curso unal cap1
1. curso unal cap1
 

Arquitectura multicapa

  • 2. Arquitectura de software La programación se consideraba un arte con gran dificultad pero con el tiempo se han ido descubriendo y desarrollando formas y guías generales, con base a las cuales se puedan resolver los problemas, llamadas Arquitectura de Software, a semejanza de los planos de un edificio o construcción, estas indican la estructura, funcionamiento e interacción entre las partes del software. "más allá de los algoritmos y estructuras de datos de la computación; el diseño y especificación de la estructura global del sistema es un nuevo tipo de problema".
  • 3. La Arquitectura del Software o Lógica Es el diseño de más alto nivel de la estructura de un sistema. Es un conjunto de patrones y abstracciones coherentes que proporcionan el marco Se selecciona y diseña con base en objetivos (prefijados para el sistema de información, funcionales y otros como mantenibilidad, auditabilidad, flexibilidad e interacción con otros sistemas de información) y restricciones (limitaciones derivadas de las tecnologías disponibles para implementar sistemas de información).
  • 4. La Arquitectura del Software o Lógica Unas arquitecturas son más recomendables de implementar con ciertas tecnologías mientras que otras tecnologías no son aptas para determinadas arquitecturas. Ejemplo, no es viable emplear una arquitectura de software de tres capas para implementar sistemas en tiempo real. Define, de manera abstracta, los componentes que llevan a cabo alguna tarea de computación, sus interfaces y la comunicación entre ellos. Toda arquitectura debe ser implementable en una arquitectura física, que consiste simplemente en determinar qué computadora tendrá asignada cada tarea.
  • 5. Programación por capas La programación por capas es una arquitectura cliente- servidor cuyo objetivo primordial es la separación de la lógica de negocios de la lógica de diseño, es decir separar la capa de datos de la capa de presentación al usuario. La ventaja principal es que el desarrollo se puede llevar a cabo en varios niveles, en caso de cambios, sólo se afecta al nivel requerido, sin tener que revisar todo el código. Ejemplo el modelo de interconexión de sistemas abiertos. Permite distribuir el trabajo de creación de una aplicación por niveles, cada grupo de trabajo está totalmente abstraído del resto de niveles, de forma que basta con conocer la API (Interfaz de programación de aplicaciones) que existe entre niveles.
  • 6. Programación por capas En el diseño de sistemas informáticos actual se suelen usar las arquitecturas multinivel o Programación por capas. En dichas arquitecturas a cada nivel se le confía una misión simple, lo que permite el diseño de arquitecturas escalables (que pueden ampliarse con facilidad en caso de que las necesidades aumenten). El diseño más utilizado actualmente es el diseño en tres niveles (o en tres capas).
  • 7. Modelo OSI o Modelo de interconexión de sistemas abiertos) Fue desarrollado en 1984 por la (ISO). OSI es una normativa formada por siete capas que define las diferentes fases por las que deben pasar los datos para viajar de un dispositivo a otro sobre una red de comunicaciones. Especifica el protocolo que debe ser usado en cada capa. Todo el mundo se comunica entre sí, sin importar la localización geográfica o el lenguaje utilizado, únicamente con unas normas mínimas: Internet.
  • 8. Modelo OSI o Modelo de interconexión de sistemas abiertos) Los datos reciben una serie de nombres y formatos específicos en función de la capa en la que se encuentren.
  • 9. Arquitecturas más comunes Generalmente, se adopta una arquitectura para cada sistema de información , en función de sus ventajas e inconvenientes. Las arquitecturas más universales son: Monolítica Cliente-servidor Arquitectura de tres niveles
  • 10. Monolítica  El software se estructura en grupos funcionales muy acoplados.  No hay distribución, tanto a nivel físico como a nivel lógico.  Está formado por la presentación, los datos y el procesamiento.  Es una arquitectura rígida de programación en un solo computador. Es la arquitectura de los primeros S.O., un solo programa compuesto de un conjunto de rutinas entrelazadas. Las características fundamentales son: a) Construcción del programa final a base de módulos compilados separadamente que se unen a través del ligador.
  • 11. Monolítica 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 están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.
  • 12. Monolítica Ventajas: Muy eficiente ya que se producen pocos cambios de contexto. Desventajas: Difícil de depurar, un error en una función se puede manifestar en otra distinta. Difícil de ampliar.
  • 13. Cliente-servidor Donde el software reparte su carga de cómputo en dos partes independientes pero sin reparto claro de funciones. Surge con las redes, planteando un modelo versátil, modular basado en mensajes que permite incrementar la flexibilidad, la escalabilidad y la ínteroperación 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 máquina puede actuar como cliente y servidor al mismo tiempo.
  • 14. Cliente-servidor VENTAJAS  Aprovecha mejor el ancho de banda  Aprovecha en mayor medida el hardware  Mayor seguridad y autonomía  Mejor manejo de la concurrencia  Permite que los clientes trabajen GUI (Interfaz Gráfica de Usuario) mientras el servidor se centra en los procesos centrales
  • 15. Cliente-servidor Ejemplos: Servidor Web (Apache, IIS) Cliente Web (IExplorer, Netscape Navigator, Mozilla) Cliente WEB Servidor WEB Protocolo, Servidor FTP (SFTP) Cliente FTP (Cute FTP, WS FTP) Cliente FTP Servidor FTP Protocolo Servidor IRC (IRC Server) Cliente IRC (Mirc, Pirch) Cliente IRC Servidor IRC Protocolo Servidor de Bases de datos (Interbase, Oracle, SyBase, MySql, SQL Server, Postgress) Cliente de Base de Datos (IBManager,IBConsole) Cliente Interbase Servidor InterBase Protocolo Interacción de clientes y servidores Servidor DB (InterBase) Servidor WEB (Apache) Servidor de Aplicaciones (PHP) Clientes WEB Servidor de DB (MySQL) Cliente Interbase (IBmanager) Cliente Win32 (SkyCell)
  • 16. Arquitectura de tres niveles o capas Especialización de la arquitectura cliente- servidor donde la carga se divide en tres partes (o capas) con un reparto claro de funciones:  para la presentación (interfaz de usuario),  para el cálculo (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 relación con la siguiente.
  • 17. Arquitecturas más comunes Generalmente, se adopta una arquitectura para cada sistema de información , en función de sus ventajas e inconvenientes. Las arquitecturas más universales son: Monolítica. Donde el software se estructura en grupos funcionales muy acoplados. Cliente-servidor. Donde el software reparte su carga de cómputo en dos partes independientes pero sin reparto claro de funciones. Arquitectura de tres niveles. Especialización de la arquitectura cliente-servidor donde la carga se divide en tres partes (o capas) con un reparto claro de funciones: una capa para la presentación (interfaz de usuario), otra para el cálculo (donde se encuentra modelado el negocio) y otra para el almacenamiento (persistencia). Una capa solamente tiene relación con la siguiente.
  • 18. CLIENTE SERVIDOR DE 3 CAPAS - Multicapa Agrega una capa intermedia (middle tier) que permite priorización y gestión de peticiones, gestión de balance, entre otros. Buen manejo de concurrencia con miles de usuarios simultáneos. Protocolos estandarizados permiten gran flexibilidad, portabilidad y escalabilidad. Google: Millones de clientes (5’000.000 por día, 57 por segundo aprox.) Servidor de indexación Servidor de documentos Servidor de balance
  • 19. CAPA DE PRESENTACIÓN (FrontEnd) Todo aquello que se enfoca en la interacción con el usuario final. REGLAS DEL NEGOCIO (Bussines rules): Validaciones, restricciones, reglamentos, pr otocolos y normativas relativas a un dominio en particular.
  • 20. CAPA LÓGICA (Middle Tier, Middleware) Todo aquello que gestiona y hace valer las reglas del negocio
  • 21. CAPA DE ALMACENAMIENTO (BackEnd) Todos los elementos dedicados a la persistencia del sistema
  • 22. CLIENTE SERVIDOR DE 2 CAPAS La primera capa encapsula la presentación y la lógica La segunda gestiona el almacenamiento y puede almacenar parte de la lógica (Procedimientos almacenados, triggers) Presentación Lógica Almacenamiento Lógica Buen manejo de concurrencia hasta con 100 usuarios simultáneos aprox. Protocolos propietarios pueden causar problemas de flexibilidad, portabilidad y escalabilidad.