Arquitectura Web. Arquitectura e Integración de Sistemas Software Curso 2012/2013. Índice

Documentos relacionados
Consumo de Servicios RESTful (II)

Modelado de Arquitectura Software

Tema 1: Patrones Arquitectónicos

Integración de datos

Tema 1: Patrones Arquitectónicos

Patrones de Integración

BLOQUE II: Integración de Sistemas Software. Integración Web. Arquitectura e Integración de Sistemas Software Curso 2012/2013.

Introducción a la Integración Software

Pruebas de Integración

Desarrollo de Aplicaciones con GWT (I)

Consumo de Servicios RESTful (III)

Introducción a la Arquitectura del Software

Introducción a las Aplicaciones Web

Tema 8: Diseño arquitectónico Ingeniería del Software de Gestión II

Arquitectura de los sistemas distribuidos

Hora 1 1. Introducción 2. Web semántica 2.1 Ontologías 2.2 Lenguajes 2.3 Ejemplos 2.4 Estado actual Microformatos 2.4.

Bases de Datos en Internet Agenda

Modelo de Desarrollo en Capas para VB. NET

PATRONES DE DISEÑO FRAMEWORKS

Sistemas de Información 12/13 Introducción

PROCESAMIENTO DISTRIBUIDO

Unidad de Competencia I Elementos de Competencia Requerimientos de información

Aplicaciones en el Web y redes inhalámbricas. Universidad del Valle Cali - Colombia

2.6 DISEÑO ARQUITECTONICO

APLICACIONES DE INTERNET: SOAP

Sistemas de Información

MVC (Model-View-Controller)

PROGRAMACION DISTRIBUIDA

TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos

Programación Web Tema 1: Arquitectura C / S

Arquitectura de Software

Diseño: Arquitectura de Software. IF 7100 Ingeniería del Software

IMPLEMENTACIÓN DE INTEGRACIÓN DE SISTEMAS HEREDADOS UTILIZANDO WEB SERVICES

CONCEPTO DE ARQUITECTURA CLIENTE / SERVIDOR.

Introducción a los Sistemas de Información

Diseño Basado en Componentes. 2008/2009

SÍLABO DE INGENIERÍA DE SOFTWARE

Behavior Driven Development

Objetos Distribuidos - Componentes. Middleware

ARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI.

LOOKWISE ENTERPRISE MANAGER Novedades release LEM 5.2

Desarrollando servidores de información con Java

API: REST o RESTful WEB-SERVICES

Tema I: Introducción a las bases de datos. Curso Introducción a las bases de datos.

1.-DATOS DE LA ASIGNATURA

octubre de 2007 Arquitectura de Software

Contenido. Tendencias de los SIG Componentes Arquitectura GEOCATMIN II

Arquitectura ANSI/SPARC

Control System sales INDUTEXA

AVANCE TECNOLÓGICO EXIGENCIAS DE LA EMPRESA ENTORNO GENERAL

1. Introducción 2. S.O. de Red. NFS 3. S.O. Distribuidos 4. Características de Diseño. Tema5: Sistemas Operativos Distribuidos

Azure. Plan de Estudio

Sistemas distribuidos

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA

El contenido del curso será desarrollado teniendo en cuenta los siguientes objetivos de aprendizaje:

NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO

Clústeres y procesamiento en paralelo XE1GNZ J O R G E F BARBOSA J ACOBO F E B R E R O DE 20 17

Sistemas Operativos Distribuidos. Sistemas Operativos Una visión aplicada

Diseño de la herramienta G.I.A. (Gestión Integral de Accesibilidad)

Cambios en Ingeniería de Software

Introducción a las Aplicaciones Web

Arquitectura por capas. Garcia Jeisson Medina Christian Ramírez Juan

Introducción a las Aplicaciones Web

Administración de Oracle Enterprise Manager Ops Center 12c Ed 2

Introducción a las Aplicaciones Web

El calendario de exámenes y las fechas de entrega de trabajos se anunciará con suficiente antelación.

TEMA 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

PA JOSÉ MANUEL BURBANO CARVAJAL

Redes de Nueva Generación Área de Ingeniería Telemática. Enterprise network

Redes de Nueva Generación Área de Ingeniería Telemática. Enterprise network

1.9 Año 2000 y años siguientes

SDD-Documento de diseño del sistema

Diseño arquitectónico 1ª edición (2002)

BASES DE DATOS (IG18 Semipresencial) Introducción a las Bases de Datos: Sistemas de Bases de Datos frente a Sistemas de Ficheros

IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Software architecture. CURSO ACADÉMICO - SEMESTRE Segundo semestre

Diseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso Presentación e introducción

Introducción a los sistemas distribuidos. Jorge Iván Meza Martínez

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

Tema 1. Conceptos básicos

Herramientas de Software

OPERA Cloud. La tecnología que impulsa las actividades y la distribución hoteleras

PROGRAMA DE CURSO. Código Nombre Arquitectura de Sistema de Alta Disponibilidad Nombre en Inglés High-Availability System Architecture SCT

Sistemas Operativos. Curso 2014 Estructura de los sistemas operativos

Computación 1. Roles en la interconexión

Nueva generación de innovaciones empresariales con un entorno de red abierta

Diego Seco Material adaptado de: Miguel R. Luaces y Óscar Pedreira {luaces, Laboratorio de Bases de Datos Universidade da Coruña

Software definida radio: investigación y verificación de pruebas en una plataforma libre

EFFICIENTIP UNIVERSIDAD ANÓNIMA

Bases de datos Unidad 1 Introducción a las BD. Mónica María Rojas Rincón Oficina: P19-103

Software para supervisión y control de operaciones

Curso Developing Data Access Solutions with Microsoft Visual Studio 2010 (10265)

METODOLOGÍAS DE DESARROLLO DE SOFTWARE SEMANA 02 DIFERENCIA LAS METODOLOGÍAS PESADAS DE DESARROLLO DE SOFTWARE (PROCESOS, MÉTODOS, Y HERRAMIENTAS)

Intel lanza su procesador Caballero Medieval habilitado para Inteligencia Artificial

La nueva generación de ERP

Oracle es un sistema de gestión de base de datos relacional. Soporte de transacciones. Estabilidad. Escalabilidad. Soporte multiplataforma.

Transcripción:

Departamento de Lenguajes y Sistemas Informáticos BLOQUE I: Arquitectura del Software Arquitectura Web Tema 3 Arquitectura e Integración de Sistemas Software Curso 2012/2013 Introducción Índice Diseño lógico de la arquitectura Estrategias de diseño Diseño físico de la arquitectura Aplicaciones web Resumen Bibliografía 1

Índice Introducción Diseño lógico de la arquitectura Estrategias de diseño Diseño físico de la arquitectura Aplicaciones web Resumen Bibliografía Introducción Sistema de Información (SI): Sistema diseñado para recoger, almacenar, procesar y distribuir información en el contexto de una organización. A veces llamados aplicaciones empresariales o aplicaciones de gestión. Incluyen: Registros de pacientes. Análisis de costes. Gestión de ventas. Cadenas de suministro. Contabilidad. Etc. No incluyen: Procesadores de texto. Controladores hardware. Juegos. Etc. 2

Introducción Las aplicaciones web más habituales suelen implementar (o ser parte de) un sistema de información. Estos sistemas suelen denominarse Sistemas de Información web (SIW). En este tema nos centraremos en la arquitectura de sistemas de información en general y los sistemas de información web (o simplemente aplicaciones web) en particular. SI SIW Introducción Índice Diseño lógico de la arquitectura Estrategias de diseño Diseño físico de la arquitectura Aplicaciones web Resumen Bibliografía 3

Diseño lógico de la arquitectura Estilo arquitectónico habitual de los SI: Capas Capa 1 Capa 2 Se definen distintas capas en la aplicación de manera que sólo se comunican entre si las capas adyacentes. Capa Capa N Diseño lógico de la arquitectura Estilo arquitectónico habitual de los SI: Capas Es la interfaz de usuario. Hace la información accesible al usuario. Coordina la aplicación, procesa los comandos, toma decisiones, realiza los cálculos y mueve los datos entre las dos capas. Es de donde se obtiene la información y los datos. Suele ser una base de datos, ficheros externos, recursos accesibles a través de la web 4

Sistema de Información Sistema de Información Diseño lógico de la arquitectura Las capas son sólo conceptuales: No tienen por qué corresponderse con la estructura de la implementación. También conocida como vista lógica de la arquitectura. Capa de datos / recursos Diseño lógico de la arquitectura Responsable de presentar información al usuario e interactuar con éste. Capa de datos / recursos La información recibida es procesada mediante comunicación con la capa de lógica (puede realizarse un filtrado previo para comprobar que no hay errores de formato). Suele consistir en la interfaz gráfica de usuario: cuadros de texto, botones, etc. 5

Sistema de Información Sistema de Información Diseño lógico de la arquitectura de aplicación Responsable de implementar las operaciones solicitadas por los clientes a la capa de presentación. Ej: El componente que comprueba sin un cliente se ha registrado en la aplicación. Dependiendo de la complejidad y de la técnica de implementación empleada, también se le conoce como: proceso/lógica/reglas de negocio. Diseño lógico de la arquitectura Responsable de gestionar todos los elementos de información de la aplicación: ficheros planos, XML, bases de datos, recursos web, etc. A veces llamada capa de acceso a datos. En algunas arquitecturas se considera como parte integrante de esta capa aquellos sistemas externos que proporcionan información. 6

Sistema de Información Índice Introducción Diseño lógico de la arquitectura Estrategias de diseño Diseño top-down Diseño bottom-up Diseño físico de la arquitectura Aplicaciones web Resumen Bibliografía Estrategias de diseño Diseño arriba-abajo (top-down) Definir la funcionalidad del sistema desde el punto de vista del cliente. Ir propagando por las capas según las necesidades identificadas en las capas anteriores Ventajas: Desde el principio se tienen claras las funcionalidades y se dirige el desarrollo sobre ellas. Inconvenientes: Sólo es posible aplicarlo a sistemas desarrollados desde cero. Los componentes por lo general son fuertemente acoplados pues se usan en entornos homogéneos. 7

Sistema de Información Índice Introducción Diseño lógico de la arquitectura Estrategias de diseño Diseño top-down Diseño bottom-up Diseño físico de la arquitectura Aplicaciones web Resumen Bibliografía Estrategias de diseño Diseño abajo-arriba (bottom-up) Suele surgir por necesidad más que por elección. Muchos de los sistemas de hoy en día se basan en la integración de productos existentes: aplicaciones externas o sistemas heredados. Sistema heredado (legacy system): aquel que es utilizado en un contexto distinto del que en principio fue concebido. En estos casos no podemos seguir un diseño arriba-bajo pues debemos tener en cuenta la funcionalidad ofrecida por los sistemas que vamos a integrar. 8

Sistema de Información Estrategias de diseño Diseño abajo-arriba (bottom-up) Definir la funcionalidad desde el punto de vista del cliente. Examinar recursos existentes y la funcionalidad que ofrecen. Encapsular la funcionalidad existente. Adaptar la salida de la aplicación a las necesidades del cliente. Ventaja: Los componentes por lo general son poco acoplados y pueden ser reutilizados. Inconveniente: Menor flexibilidad. Viene impuestto por necesidades existentes. Índice Introducción Diseño lógico de la arquitectura Estrategias de diseño Diseño físico de la arquitectura Aplicaciones web Resumen Bibliografía 9

Sistema de Información Diseño físico de la arquitectura Capas vs. niveles Diseño lógica de la arquitectura Capa (Layer) Diseño físico de la arquitectura Nivel (Tier) Existen 4 tipos básicos de arquitecturas: Mononivel (1-tier) 2 niveles (2-tier) 3 niveles (3-tier) N niveles (N-tier) Diseño físico de la arquitectura Arquitectura mononivel (1-tier) 1-Tier: Las capas de presentación, lógica y datos se mezclan en una mismo nivel. Suelen ser cerrados y no presentan ningún tipo de interfaz. Son un ejemplo claro de sistemas heredados. Uso hace décadas. No es la arquitectura usada en aplicaciones web actuales. Ventajas: Eficiencia. Coste casi nulo de despliegue y desarrollo en clientes. Inconveniente: Coste de mantenimiento de la aplicación. Difícil integración. 10

Sistema de Información Diseño físico de la arquitectura Arquitectura mononivel (1-tier) Diseño físico de la arquitectura Arquitectura en 2 niveles (2-tier) La popularización del PC hizo rentable pasar la responabilidad de la capa de presentación al cliente. Se conoce como /Servidor. Servidor Dependiendo de las responsabilidades del cliente se habla de clientes pesados o ligeros. Ejemplo de sistema cliente/servidor: Aplicación de mensajería instantánea. 11

Sistema de Información Diseño físico de la arquitectura Arquitectura en 2 niveles (2-tier) Servidor Diseño físico de la arquitectura Arquitectura en 2 niveles (2-tier) Ventajas: Se pude aprovechar las capacidad de computo del cliente. Permite personalizar la capa de presentación para distintos fines y portarla a distintos entornos (multiplataforma). Eficiencia en el lado del servidor. Servidor Inconvenientes: Protocolos más complejos y gestión de sesiones complican la escalabilidad. Arquitectura inadecuada cuando se necesitan integrar aplicaciones. Ej: integración de messenger y gtalk. 12

Sistema de Información Sistema de Información Diseño físico de la arquitectura Arquitectura en 3 niveles (3-tier) Evolución natural de las dos capas para resolver el problema de la integración de aplicaciones heterogéneas. Middleware La responsabilidad de integrar pasa al middleware, que también se encarga de transacciones, balanceo de carga, replicación, etc. Ejemplos de middleware: (CORBA, DCOM, ESB). Permiten desplegar lógica en otro host. Ventajas: Más escalable. Inconvenientes: Mayor latencia. Diseño físico de la arquitectura Arquitectura en N niveles (N-tier) Middleware Es la arquitectura N-tier escalada tantas veces como sea necesario. La capa de recursos puede ser otro sistema N-tier. Surge de manera natural cuando se desea integrar varios sistemas de información. SI SI SI 13

2 niveles 3 niveles Índice Introducción Diseño lógico de la arquitectura Estrategias de diseño Diseño físico de la arquitectura Aplicaciones web Resumen Bibliografía Aplicaciones web Arquitectura física Las aplicaciones web tienen una arquitectura de 2 o más niveles: BD Servidor web + SGBD BD Servidor web SGBD 14

Evolución Aplicaciones web Dónde se ejecutan las capas lógicas? Servidor Presentación + Lógica + Recursos Recursos Presentación Recursos Lógica + Recursos Presentación Recursos Lógica + Recursos Aplicaciones web Ejemplo: Un Mashup Servidor web + SGBD BD Recursos web 15

Índice Introducción Diseño lógico de la arquitectura Estrategias de diseño Diseño físico de la arquitectura Aplicaciones web Resumen Bibliografía Sistemas de Información y Sistemas de Información web. Diseño lógico en capas: presentación, lógica y recursos. Estrategias de diseño: top-down, bottom-up. Diseño físico en niveles. Tipos de arquitecturas: Mononivel 2-niveles 3-niveles N-niveles Resumen Qué hemos aprendido? Arquitectura física de las aplicaciones web. Correspondencia entre las capas lógicas y niveles físicos en aplicaciones web. 16

Índice Introducción Diseño lógico de la arquitectura Estrategias de diseño Diseño físico de la arquitectura Aplicaciones web Resumen Bibliografía Bibliografía Pressman R. Software Engineering: A Practitioner s Approach. McGraw-Hill. 2009 (7th edition) The Process of Software Architecting, Peter Eeles y Peter Cripps. Addison-Wesley, 2009 Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design, Diomidis Spinellis, Georgios Gousios. O'Reilly Media, Inc., 2009 17

Bibliografía Buschmann F. et al.pattern-oriented Software Architecture. John Wiley & Sons. 1996 Bass L. et al. Software Architecture in Practice Addison-Wesley Professional. 2003 Alonso G. et al. web Services Concepts, Architectures and Applications. Springer. 2004 Disclaimer and Terms of Use All material displayed on this presentation is for teaching and personal use only. Many of the images that have been used in the presentation are Royalty Free images taken from http://www.everystockphoto.com/. Other images have been sourced directly from the Public domain, from where in most cases it is unclear whether copyright has been explicitly claimed. Our intention is not to infringe any artist s copyright, whether written or visual. We do not claim ownership of any image that has been freely obtained from the public domain. In the event that we have freely obtained an image or quotation that has been placed in the public domain and in doing so have inadvertently used a copyrighted image without the copyright holder s express permission we ask that the copyright holder writes to us directly, upon which we will contact the copyright holder to request full written permission to use the quote or images. 18