SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
ARQUITECTURA DE
UN
SISTEMA DE
INFORMACIÓN
Maestría en Bioinformática – Marzo 2010
Contenidos
¿Qué es la Arquitectura de un Sistema?
Patrones de Arquitectura
Arquitectura de un Sistema de Información
Ing. Lorena Etcheverry – Marzo 2010
Puede ser construída por una sola persona
Requiere
Modelado mínimo
Procesos simples
Herramientas simples
Arquitectura de una casilla de
perro
Arquitectura de una casa
Para construirla en forma eficiente se precisa un equipo
Requiere
Modelado
Procesos bien definidos
Herramientas especializadas
Definiciones de arquitectura
El arte o ciencia de la construcción de edificios para uso
humano
La acción o proceso de construir
El “estilo” en los detalles de la estructura y la
ornamentación
La estructura conceptual y la organización lógica de una
computadora o de un sistema basado en computadoras,
desde el punto de vista de su uso o diseño; una
realización particular de esto.
Oxford English Dictionary, 2nd ed.
Arquitectura de sistemas físicos
Gobernados por leyes físicas
Los sistemas físicos maduros tienen
arquitecturas estables
Aviones, autos y barcos
Puentes y edificios
Dichas arquitecturas surgen de procesos en
los que hay experiencia
Ensayo y error
Reutilización y refinamiento de soluciones
probadas
Resultados predecibles (por suerte ☺ )
La arquitectura del software es
diferente
No hay reglas equivalentes a las de la física
Es necesario definir reglas
No es tangible
Hay que hacer modelos
Es compleja
Muchos estados!
Cambios en los requerimientos y la tecnología
Adaptabilidad, evolución
Bajos costos de replicación y distribución
Definiciones de arquitectura (II)
IEEE 1471-2000
La arquitectura del Software es la organización
fundamental del sistema que incluye a sus
componentes, sus relaciones entre ellos y el
ambiente y los principios que dictan su diseño y
evolución
Involucra un conjunto de decisiones significativas
acerca de la organización del sistema
Selección de sus elementos estructurales y sus
interfaces
Comportamiento, especificado en función de la
colaboración de los elementos
Composición de sub-sistemas mas grandes a partir
de elementos estructurales y elementos con
comportamiento
Booch, Kruchten, Reitman, Bittner, and Shaw
Definiciones de arquitectura (III)
La arquitectura de software también involucra:
Funcionalidad
Usabilidad
Tolerancia a cambios
Performance
Reutilización
Restricciones económicas y tecnológicas
(equilibrio)
Aspectos estéticos
Patrones
Un patrón es una solución conocida a un problema
recurrente
Un patrón codifica conocimiento específico recogido de
la experiencia en un dominio
Todos los sistemas bien estructurados tienen patrones:
EJ: “A language pattern”, C. Alexander, 1977
Los patrones de arquitectura son esquemas base de
organización estructural para sistemas de software.
Definen algunos subsistemas con sus responsabilidades
Incluyen reglas y pautas para organizar las relaciones entre ellos
Pattern-Oriented Software Architecture, Volume 1, A System of Patterns
Algunos patrones de arquitectura
(I)
Arquitectura en capas:
Organiza los componentes en grupos de sub
tareas, donde cada grupo se encuentra en un
nivel de abstracción diferente
Ejemplo:
Virtualización, Java
Virtual Machine
como caso particular
JAVA RUNTIME ENVIRONMENT
(JRE)JAVA VIRTUAL MACHINE
SISTEMA OPERATIVO
HARDWARE
CÓDIGO COMPILADO (Bytecode)
Algunos patrones de arquitectura
(II)
“Pipes and Filters”:
Sirve en sistemas que procesan un flujo de datos.
Cada paso es encapsulado en un “filtro”.
Los “tubos” pasan datos de un filtro a otro
Al recombinar filtros puedo construir familias de
sistemas relacionados
Filtro
1
Filtro
2
Filtro
3
tubo 1 tubo 2
Ejemplo: pipelines de anotación
Extraído de “MAKER: An
easy-to-use annotation
pipeline designed for
emerging model organism
genomes”,
Cantarel et al., Genome Res.
2008 January; 18(1): 188–196.
Algunos patrones de arquitectura
(III)
Cliente – Servidor:
Permite estructurar sistemas distribuidos con
componentes desacoplados que interactúan por
medio de invocaciones remotas a servicios.
Ejemplo: navegación web
Cliente: navegador, cliente “fino” (poca lógica)
Servidor: servidores web
Sistemas cliente-servidor
• El procesamiento se distribuye entre:
• clientes
• servidores
• Los procesos cliente requieren de recursos
provistos por los servidores
• Clientes y servidores pueden residir en el
mismo host o en hosts diferentes conectados
a traves de una red.
Recordemos... subsistemas de un
SI
Presentación o E/S:
Responsable del formato y la presentación de los
datos en la pantalla del usuario (u otro dispositivo de
salida)
Gestiona las entradas que hace el usuario desde el
teclado (u otro dispositivo)
Procesamiento:
Procesamiento de datos (ej: validación e
identificación de errores)
Lógica de las reglas de negocio
Almacenamiento:
Responsable del almacenamiento y la recuperación
de datos desde los medios físicos de almacenamiento
Usando el patrón cliente-servidor
Distribuyendo estos sub sistemas mediante el
patrón cliente-servidor obtengo varias
arquitecturas cliente-servidor para Sistemas
de Información
Arquitecturas cliente-servidor
Servidor de archivos
Servidor de Base de datos
Arquitectura en tres niveles
El CLIENTE realiza
mucho
procesamiento
El CLIENTE realiza
poco procesamiento
Arquitectura con servidor de archivos
(I)
Todo el procesamiento se
realiza en el PC que solicita
los datos.
Un servidor de archivos es un
dispositivo que gestiona
operaciones sobre archivos y
es compartido por cada uno
de los PCs clientes en esa
red.
Cliente GRUESO
Presentación
Lógica
Acceso a
datos
Algunos problemas en esta arquitectura
Se transfieren muchos datos.
Problemas de acceso concurrente a los
archivos
Problemas de integridad
CLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESO
Arquitectura con servidor de archivos
(II)
Arquitectura con servidor de bases de datos
Surgen arquitecturas en 2 niveles
El cliente es responsable de la interfaz de usuario, el
porcesamiento de E/S, el procesamiento de los
datos y algo de las reglas de negocio
El servidor de bases de datos se encarga del
almacenamiento y el acceso a los datos
Ventajas:
Los PC clientes pueden ser tener menor capacidad de
cálculo y almacenamiento.
Se reduce el tráfico de datos en la red, sólo se transfiere
los datos solicitados.
Se mejora la integridad de los datos debido a la
centralización
Clientes mClientes mClientes mClientes mClientes mClientes mClientes mClientes máááááááás finoss finoss finoss finoss finoss finoss finoss finos
Arquitectura con servidor de bases de datos
Arquitectura en 2 niveles
Arquitectura en 3 niveles (I)
Estas incluyen un tercer nivel entre el
cliente y el servidor de bases de datos
Este tercer nivel permite escalar el sistema
Ejemplos:
Un web donde se ubican programas de
aplicación
Otro servidor de bases de datos que mantiene
los datos locales mientras que en otros
servidores se guardan los datos de toda la
organización
Por lo general el cliente es FINO, sólo se
encarga de la interfaz de usuario y
validación de las entradas.
Clientes mClientes máás finoss finos
Reglas de negocioReglas de negocio
en otro servidoren otro servidor
Arquitectura en 3 niveles (II)
Arquitectura en 3 niveles (III)
Middleware
El software que permite que las aplicaciones
interoperen sin que el usuario deba
preocuparse de esta interoperabilidad a bajo
nivel
Hay dos modos de comunicación:
Sincrónico: el sistema solicitante realiza un pedido
y espera una respuesta en tiempo real.
EJ: llamada de teléfono
Asincrónico: el sistema solicitante realiza un
pedido y no espera una respuesta en tiempo real.
EJ: envío de mensaje de texto
El pegamento que mantiene a las aplicaciones cliente-servidor funcionando
Algunos tipos de middleware
1. Remote Procedure Call (RPC) sincrónico:
se realizan pedidos a procesos o servicios en diferentes hosts
y se espera por la respuesta. (EJ RMI en Java)
2. Publicar/suscribir:
los servidores monitorean y envian info a los clientes cuando
esta está disponible.
Es asincrónico . Es útil para monitorear situaciones donde es
necesario tomar acciones ante ciertos eventos.
3. Middleware orientado a mensajes (MOM):
Asincrónico
Se envían mensajes y estos se reciben y almacenan hasta
que se procesan (EJ: JMS)
Middleware de bases de datos
ODBC – Open Database Connectivity
Es un API que provee un lenguaje común para
acceder a bases de datos en forma
independiente del servidor de bases de datos
particular
JDBC – Java Database Connectivity
Similar a ODBC pero en lenguaje JAVA
Cada DBMS tiene un driver ODBC propio
El cliente no tiene
porqué saber nada
del DBMS
La Application
Program Interface
(API) provee una
interfase común a
todos los DBMS
Arquitectura ODBC
Client/Server security
Network environment has complex security issues.
Networks susceptible to breaches of security
through eavesdropping, unauthorised connections
or unauthorised retrieval of packets of information
flowing round the network. Specific security issues
include:
System-level password security – user names and
passwords for allowing access to the system.
Password management utilities
Database-level password security - for determining
access privileges to tables;
read/update/insert/delete privileges
Secure client/server communication - via encryption
– but encryption can negatively affect performance
Referencias
“Bioinformatics Computing”, Bryan Bergeron,
Pearson Education, 2003. (cap 2. y 3)
“Fundamentals of Database Systems 5th Ed.”,
Elmasri & Navathe, Addison Wesley, 2007.
(cap. 2)
“Pattern-Oriented Software Architecture,
Volume 1, A System of Patterns”, Frank
Buschmann et al., Wiley, 1996. (cap. 2)
“Software Architecture”, Grady Booch,
http://www.booch.com/architecture/blog/artifact
s/Software%20Architecture.ppt

Más contenido relacionado

La actualidad más candente

Metricas Ingenieria De Software
Metricas Ingenieria De SoftwareMetricas Ingenieria De Software
Metricas Ingenieria De SoftwareRicardo
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Introducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a ServiciosIntroducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a ServiciosMarta Silvia Tabares
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Metodología DCU (Diseño centrado en el usuario))
Metodología DCU (Diseño centrado en el usuario))Metodología DCU (Diseño centrado en el usuario))
Metodología DCU (Diseño centrado en el usuario))King-eClient
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareRoberth Loaiza
 
IHM Unidad 1: Introducción a la Interacción Hombre-Máquina
IHM Unidad 1: Introducción a la Interacción Hombre-MáquinaIHM Unidad 1: Introducción a la Interacción Hombre-Máquina
IHM Unidad 1: Introducción a la Interacción Hombre-MáquinaFranklin Parrales Bravo
 
Clase 1- Enfoque Orientado a Objeto.pptx
Clase 1- Enfoque Orientado a Objeto.pptxClase 1- Enfoque Orientado a Objeto.pptx
Clase 1- Enfoque Orientado a Objeto.pptxssuser42bf48
 
Sistemas de informacion para la toma de decisiones
Sistemas de informacion para la toma de decisionesSistemas de informacion para la toma de decisiones
Sistemas de informacion para la toma de decisionesJhonn Daniel Yepez
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareAndresRealp1
 
Diseño de entradas para sistemas de información
Diseño de entradas para sistemas de informaciónDiseño de entradas para sistemas de información
Diseño de entradas para sistemas de informaciónYaskelly Yedra
 
Funciones de un administrador de base de datos
Funciones de un administrador de base de datosFunciones de un administrador de base de datos
Funciones de un administrador de base de datosRodolfo Kuman Chi
 
Unidad 2 - Componentes de los Sistemas de Información
Unidad 2 - Componentes de los Sistemas de InformaciónUnidad 2 - Componentes de los Sistemas de Información
Unidad 2 - Componentes de los Sistemas de InformaciónJennifer Michelle Rojas Chica
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de DatosEnrique Cabello
 

La actualidad más candente (20)

Análisis estructurado
Análisis estructuradoAnálisis estructurado
Análisis estructurado
 
Metricas Ingenieria De Software
Metricas Ingenieria De SoftwareMetricas Ingenieria De Software
Metricas Ingenieria De Software
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Introducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a ServiciosIntroducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a Servicios
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Metodología DCU (Diseño centrado en el usuario))
Metodología DCU (Diseño centrado en el usuario))Metodología DCU (Diseño centrado en el usuario))
Metodología DCU (Diseño centrado en el usuario))
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
Calidad de datos
Calidad de datos Calidad de datos
Calidad de datos
 
10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes
 
IHM Unidad 1: Introducción a la Interacción Hombre-Máquina
IHM Unidad 1: Introducción a la Interacción Hombre-MáquinaIHM Unidad 1: Introducción a la Interacción Hombre-Máquina
IHM Unidad 1: Introducción a la Interacción Hombre-Máquina
 
Clase 1- Enfoque Orientado a Objeto.pptx
Clase 1- Enfoque Orientado a Objeto.pptxClase 1- Enfoque Orientado a Objeto.pptx
Clase 1- Enfoque Orientado a Objeto.pptx
 
Sistemas de informacion para la toma de decisiones
Sistemas de informacion para la toma de decisionesSistemas de informacion para la toma de decisiones
Sistemas de informacion para la toma de decisiones
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-software
 
Diseño de entradas para sistemas de información
Diseño de entradas para sistemas de informaciónDiseño de entradas para sistemas de información
Diseño de entradas para sistemas de información
 
Funciones de un administrador de base de datos
Funciones de un administrador de base de datosFunciones de un administrador de base de datos
Funciones de un administrador de base de datos
 
Proyecto Final - Calidad de Software
Proyecto Final - Calidad de SoftwareProyecto Final - Calidad de Software
Proyecto Final - Calidad de Software
 
Unidad 2 - Componentes de los Sistemas de Información
Unidad 2 - Componentes de los Sistemas de InformaciónUnidad 2 - Componentes de los Sistemas de Información
Unidad 2 - Componentes de los Sistemas de Información
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de Datos
 

Similar a Arquitectura de Sistemas de Información en

Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidosMargarita Labastida
 
Clase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidorClase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidorGregorio Tkachuk
 
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
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
Arquitecturas de software
Arquitecturas de software Arquitecturas de software
Arquitecturas de software Anel Sosa
 
Unidad ii
Unidad iiUnidad ii
Unidad iiOrlys05
 
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
 
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
 
Fundam servclient
Fundam servclientFundam servclient
Fundam servclienttvazamar
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidosJavierialv
 
Bases de datos introducción a las estructuras de datos.ppt
Bases de datos introducción a  las estructuras de datos.pptBases de datos introducción a  las estructuras de datos.ppt
Bases de datos introducción a las estructuras de datos.pptJuniorEscobar10
 
Exposición Unidad I - Ingeniería en Software II.pptx
Exposición Unidad I - Ingeniería en Software II.pptxExposición Unidad I - Ingeniería en Software II.pptx
Exposición Unidad I - Ingeniería en Software II.pptxjuan351241
 
3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptx3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptxjarek35
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosJaziel Torres
 

Similar a Arquitectura de Sistemas de Información en (20)

Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
 
Clase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidorClase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidor
 
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
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
Arquitectura multicapa
Arquitectura multicapaArquitectura multicapa
Arquitectura multicapa
 
Arquitecturas de software
Arquitecturas de software Arquitecturas de software
Arquitecturas de software
 
Arquitecturas de bases de datos distribuidas
Arquitecturas de bases de datos distribuidasArquitecturas de bases de datos distribuidas
Arquitecturas de bases de datos distribuidas
 
Unidad ii
Unidad iiUnidad ii
Unidad ii
 
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
 
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.
 
Clases 30 05
Clases 30 05Clases 30 05
Clases 30 05
 
Fundam servclient
Fundam servclientFundam servclient
Fundam servclient
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidos
 
Arquitectura web
Arquitectura webArquitectura web
Arquitectura web
 
Bases de datos introducción a las estructuras de datos.ppt
Bases de datos introducción a  las estructuras de datos.pptBases de datos introducción a  las estructuras de datos.ppt
Bases de datos introducción a las estructuras de datos.ppt
 
Exposición Unidad I - Ingeniería en Software II.pptx
Exposición Unidad I - Ingeniería en Software II.pptxExposición Unidad I - Ingeniería en Software II.pptx
Exposición Unidad I - Ingeniería en Software II.pptx
 
3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptx3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptx
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 

Último

ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISIfimumsnhoficial
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 

Último (20)

ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISI
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 

Arquitectura de Sistemas de Información en

  • 1. ARQUITECTURA DE UN SISTEMA DE INFORMACIÓN Maestría en Bioinformática – Marzo 2010 Contenidos ¿Qué es la Arquitectura de un Sistema? Patrones de Arquitectura Arquitectura de un Sistema de Información Ing. Lorena Etcheverry – Marzo 2010
  • 2. Puede ser construída por una sola persona Requiere Modelado mínimo Procesos simples Herramientas simples Arquitectura de una casilla de perro Arquitectura de una casa Para construirla en forma eficiente se precisa un equipo Requiere Modelado Procesos bien definidos Herramientas especializadas
  • 3. Definiciones de arquitectura El arte o ciencia de la construcción de edificios para uso humano La acción o proceso de construir El “estilo” en los detalles de la estructura y la ornamentación La estructura conceptual y la organización lógica de una computadora o de un sistema basado en computadoras, desde el punto de vista de su uso o diseño; una realización particular de esto. Oxford English Dictionary, 2nd ed. Arquitectura de sistemas físicos Gobernados por leyes físicas Los sistemas físicos maduros tienen arquitecturas estables Aviones, autos y barcos Puentes y edificios Dichas arquitecturas surgen de procesos en los que hay experiencia Ensayo y error Reutilización y refinamiento de soluciones probadas Resultados predecibles (por suerte ☺ )
  • 4. La arquitectura del software es diferente No hay reglas equivalentes a las de la física Es necesario definir reglas No es tangible Hay que hacer modelos Es compleja Muchos estados! Cambios en los requerimientos y la tecnología Adaptabilidad, evolución Bajos costos de replicación y distribución Definiciones de arquitectura (II) IEEE 1471-2000 La arquitectura del Software es la organización fundamental del sistema que incluye a sus componentes, sus relaciones entre ellos y el ambiente y los principios que dictan su diseño y evolución Involucra un conjunto de decisiones significativas acerca de la organización del sistema Selección de sus elementos estructurales y sus interfaces Comportamiento, especificado en función de la colaboración de los elementos Composición de sub-sistemas mas grandes a partir de elementos estructurales y elementos con comportamiento Booch, Kruchten, Reitman, Bittner, and Shaw
  • 5. Definiciones de arquitectura (III) La arquitectura de software también involucra: Funcionalidad Usabilidad Tolerancia a cambios Performance Reutilización Restricciones económicas y tecnológicas (equilibrio) Aspectos estéticos Patrones Un patrón es una solución conocida a un problema recurrente Un patrón codifica conocimiento específico recogido de la experiencia en un dominio Todos los sistemas bien estructurados tienen patrones: EJ: “A language pattern”, C. Alexander, 1977 Los patrones de arquitectura son esquemas base de organización estructural para sistemas de software. Definen algunos subsistemas con sus responsabilidades Incluyen reglas y pautas para organizar las relaciones entre ellos Pattern-Oriented Software Architecture, Volume 1, A System of Patterns
  • 6. Algunos patrones de arquitectura (I) Arquitectura en capas: Organiza los componentes en grupos de sub tareas, donde cada grupo se encuentra en un nivel de abstracción diferente Ejemplo: Virtualización, Java Virtual Machine como caso particular JAVA RUNTIME ENVIRONMENT (JRE)JAVA VIRTUAL MACHINE SISTEMA OPERATIVO HARDWARE CÓDIGO COMPILADO (Bytecode) Algunos patrones de arquitectura (II) “Pipes and Filters”: Sirve en sistemas que procesan un flujo de datos. Cada paso es encapsulado en un “filtro”. Los “tubos” pasan datos de un filtro a otro Al recombinar filtros puedo construir familias de sistemas relacionados Filtro 1 Filtro 2 Filtro 3 tubo 1 tubo 2
  • 7. Ejemplo: pipelines de anotación Extraído de “MAKER: An easy-to-use annotation pipeline designed for emerging model organism genomes”, Cantarel et al., Genome Res. 2008 January; 18(1): 188–196. Algunos patrones de arquitectura (III) Cliente – Servidor: Permite estructurar sistemas distribuidos con componentes desacoplados que interactúan por medio de invocaciones remotas a servicios. Ejemplo: navegación web Cliente: navegador, cliente “fino” (poca lógica) Servidor: servidores web
  • 8. Sistemas cliente-servidor • El procesamiento se distribuye entre: • clientes • servidores • Los procesos cliente requieren de recursos provistos por los servidores • Clientes y servidores pueden residir en el mismo host o en hosts diferentes conectados a traves de una red. Recordemos... subsistemas de un SI Presentación o E/S: Responsable del formato y la presentación de los datos en la pantalla del usuario (u otro dispositivo de salida) Gestiona las entradas que hace el usuario desde el teclado (u otro dispositivo) Procesamiento: Procesamiento de datos (ej: validación e identificación de errores) Lógica de las reglas de negocio Almacenamiento: Responsable del almacenamiento y la recuperación de datos desde los medios físicos de almacenamiento
  • 9. Usando el patrón cliente-servidor Distribuyendo estos sub sistemas mediante el patrón cliente-servidor obtengo varias arquitecturas cliente-servidor para Sistemas de Información Arquitecturas cliente-servidor Servidor de archivos Servidor de Base de datos Arquitectura en tres niveles El CLIENTE realiza mucho procesamiento El CLIENTE realiza poco procesamiento
  • 10. Arquitectura con servidor de archivos (I) Todo el procesamiento se realiza en el PC que solicita los datos. Un servidor de archivos es un dispositivo que gestiona operaciones sobre archivos y es compartido por cada uno de los PCs clientes en esa red. Cliente GRUESO Presentación Lógica Acceso a datos Algunos problemas en esta arquitectura Se transfieren muchos datos. Problemas de acceso concurrente a los archivos Problemas de integridad
  • 11. CLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESOCLIENTE GRUESO Arquitectura con servidor de archivos (II) Arquitectura con servidor de bases de datos Surgen arquitecturas en 2 niveles El cliente es responsable de la interfaz de usuario, el porcesamiento de E/S, el procesamiento de los datos y algo de las reglas de negocio El servidor de bases de datos se encarga del almacenamiento y el acceso a los datos Ventajas: Los PC clientes pueden ser tener menor capacidad de cálculo y almacenamiento. Se reduce el tráfico de datos en la red, sólo se transfiere los datos solicitados. Se mejora la integridad de los datos debido a la centralización
  • 12. Clientes mClientes mClientes mClientes mClientes mClientes mClientes mClientes máááááááás finoss finoss finoss finoss finoss finoss finoss finos Arquitectura con servidor de bases de datos Arquitectura en 2 niveles
  • 13. Arquitectura en 3 niveles (I) Estas incluyen un tercer nivel entre el cliente y el servidor de bases de datos Este tercer nivel permite escalar el sistema Ejemplos: Un web donde se ubican programas de aplicación Otro servidor de bases de datos que mantiene los datos locales mientras que en otros servidores se guardan los datos de toda la organización Por lo general el cliente es FINO, sólo se encarga de la interfaz de usuario y validación de las entradas. Clientes mClientes máás finoss finos Reglas de negocioReglas de negocio en otro servidoren otro servidor Arquitectura en 3 niveles (II)
  • 14. Arquitectura en 3 niveles (III) Middleware El software que permite que las aplicaciones interoperen sin que el usuario deba preocuparse de esta interoperabilidad a bajo nivel Hay dos modos de comunicación: Sincrónico: el sistema solicitante realiza un pedido y espera una respuesta en tiempo real. EJ: llamada de teléfono Asincrónico: el sistema solicitante realiza un pedido y no espera una respuesta en tiempo real. EJ: envío de mensaje de texto El pegamento que mantiene a las aplicaciones cliente-servidor funcionando
  • 15. Algunos tipos de middleware 1. Remote Procedure Call (RPC) sincrónico: se realizan pedidos a procesos o servicios en diferentes hosts y se espera por la respuesta. (EJ RMI en Java) 2. Publicar/suscribir: los servidores monitorean y envian info a los clientes cuando esta está disponible. Es asincrónico . Es útil para monitorear situaciones donde es necesario tomar acciones ante ciertos eventos. 3. Middleware orientado a mensajes (MOM): Asincrónico Se envían mensajes y estos se reciben y almacenan hasta que se procesan (EJ: JMS) Middleware de bases de datos ODBC – Open Database Connectivity Es un API que provee un lenguaje común para acceder a bases de datos en forma independiente del servidor de bases de datos particular JDBC – Java Database Connectivity Similar a ODBC pero en lenguaje JAVA
  • 16. Cada DBMS tiene un driver ODBC propio El cliente no tiene porqué saber nada del DBMS La Application Program Interface (API) provee una interfase común a todos los DBMS Arquitectura ODBC Client/Server security Network environment has complex security issues. Networks susceptible to breaches of security through eavesdropping, unauthorised connections or unauthorised retrieval of packets of information flowing round the network. Specific security issues include: System-level password security – user names and passwords for allowing access to the system. Password management utilities Database-level password security - for determining access privileges to tables; read/update/insert/delete privileges Secure client/server communication - via encryption – but encryption can negatively affect performance
  • 17. Referencias “Bioinformatics Computing”, Bryan Bergeron, Pearson Education, 2003. (cap 2. y 3) “Fundamentals of Database Systems 5th Ed.”, Elmasri & Navathe, Addison Wesley, 2007. (cap. 2) “Pattern-Oriented Software Architecture, Volume 1, A System of Patterns”, Frank Buschmann et al., Wiley, 1996. (cap. 2) “Software Architecture”, Grady Booch, http://www.booch.com/architecture/blog/artifact s/Software%20Architecture.ppt