Sistemas Distribuidos

Slides:



Advertisements
Presentaciones similares
Java Web Services Developer Arquitectura
Advertisements

METODOLOGÍA ORIENTADA A OBJETOS CARACTERISTICAS DEL PROCESO
2011Integración de Aplicaciones Desarrollo Basado en Componentes.
Guido Rubin Escalabilidad.
Noveno Semestre UNIDEC
Universidad Nacional Autónoma de Honduras
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Carlos Rojas Kramer Universidad Cristóbal Colón
Servicios Web.
Arquitectura Orientada a Servicios (SOA)
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
El Papel del DWH en una Arquitectura Orientada a Servicios
Tipos de Servicios Web.
ARQUITECTURA ORIENTADA A SERVICIOS (SOA)
ARQUITECTURA ORIENTADA A SERVICIOS (SOA)
Términos Básicos y Conceptos
Java 2 Platform Enterprise Edition
Introducción a los Sistemas de Bases de Datos Distribuidos
TEMA: Arquitectura Escalable Ing. Enrique Meneses Falla
TENDENCIAS Y ESCENARIOS DE LAS TIC
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Ingeniería de Software Orientada a Objetos
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
Nuevas Estrategias de Mantenimiento
Common Compound Design Patterns. Compound vs composite Un composite es algo que generalmente se compone de partes interconectadas. Un compound simplemente.
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
DISEÑO DE SOFTWARE 1ª. Parte
/ Teléfono : Web : Build Solutions IT.
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
Desarrollo de aplicaciones para ambientes distribuidos
Arquitectura Orientada a Servicios
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -
Servidores Conceptos Generales.
Sistemas de Información IS95872 Clase 7 de Mayo. Éxito y Fracaso de los sistemas.
Ingeniería de Software
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
Arquitectura para crear Soluciones Conectadas Eduardo Mangarelli Gerente de Socios Estratégicos Wilson Pais Gerente de.NET Microsoft Uruguay.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Modelado de datos. La pregunta central ¿De qué modo deben diseñarse las bases de datos que conforman un Data Warehouse para soportar eficientemente los.
Cloud Computing.
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Términos y Conceptos Básicos
Modelo de 3 capas.
Implementación de la Arquitectura Empresarial
¿Qué son las competencias?
Ingeniería de Requisitos
Common Compound Design Patterns Integrantes : Ricardo Macedo Henry Renato Paz Carolina Vigil.
SERVICIOS EN LA NUBE La computación en la nube, concepto conocido también bajo los términos servicios en la nube, informática en la nube, nube de cómputo.
Álvaro Navarro Barquero. Alejandro Rodríguez Jiménez.
Introducción al proceso de verificación y validación.
DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUÍDOS ALUMNOS: MARIANA MIGNÓN RÉDING CARLOS ANTONIO CARRASCO MARTÍNEZ PROFESOR: DR. JOSÉ BERNARDO PARRA.
Procesos itil Equipo 8.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Cátedra Pragma Orientación a Servicios Parte II 2 © PRAGMA S.A.
Mejores Prácticas para el Desarrollo de Software Omar de Jesús Rosales Hernández.
The Arquitecture of Service - Orientation Integrantes : Ricardo Macedo Henry Renato Paz Carolina Vigil.
INGENIERIA DE SOFTWARE
Planificación Estratégica de T&SI
Acceso a Datos Erick López Ovando Licenciado en Informática.
DISEÑO DE COMPONENTES Y DESARROLLO BASADO EN COMPONENTES
Proceso de desarrollo de Software
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Fundamentos de Ingeniería de Software
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
Conociendo el modelo Cliente-Servidor
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Transcripción de la presentación:

Sistemas Distribuidos Servicios (Principios) Parte 3

¿Qué debo saber hasta la clase de hoy? Qué es SOA, Servicio, Inventario de Servicios, Objetivos, Beneficios, Escenarios de Adopción de SOA Qué es Servicios Web, WSDL, SOAP, UDDI, crear un servicio web simple a partir de una clase java en JDeveloper, probar un servicio web y crear una aplicación cliente para un servicio Web

¿Qué debo saber hasta la clase de hoy? Explicar los principios (nombre, metas, impacto de la aplicación del principio y requerimientos de implementación): estandarización de los contratos del servicio, bajo acoplamiento entre los principios, reusabilidad de los servicios y abstracción. Reconocer en un caso de estudio qué principios se han aplicado y por qué.

¿Qué debo saber hasta la clase de hoy? Explicar qué es BPEL y el rol que juega esta tecnología en una Arquitectura Orientada a Servicios. Explicar las diferencias entre una llamada síncrona y una asíncrona Construir un servicio compuesto básico con BPEL

Agenda UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos OBJETIVO Service Stateless Service Composability Conclusiones UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos 14/04/2017

Objetivos Explicar los principios (nombre, metas, impacto de la aplicación del principio y requerimientos de implementación): Service Stateless y Service Composability. Reconocer en un caso de estudio qué principios se han aplicado y por qué.

¿Principio de Diseño? Regla, ley, suposición aplicada al diseño Diseñar Diseño con características particulares Principios

Agenda UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos Objetivo Service Stateless Service Composability Conclusiones UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos 14/04/2017

Estado de un programa Estado se refiere a una condición general de algo. Un programa de software tiene y pasa por diferentes estados. Cada estado es representado y descrito por los datos. Un programa cambia de estado cuando termina de realizar tarea Estado: Estacionado Estado: Movimiento En POO: Estado de un objeto: los valores de los atributos de un objeto que cambian durante el ciclo de vida de un objeto Valores de los atributos de sus objetos, tablas, archivos xml, ini, etc. Un estado cambia cuando uno actúa con el programa En servicio: Se cambia de estado cuando se le invoca Porque Stateless En términos de Rendimiento: En un servicio escalado en varios servidores SOA, para ello sería necesario que se REPLIQUE su estado en todos, por si se cae uno, se perdería el ESTADO, por lo que afecta el Rendimiento y la Escalabilidad No se puede tener un servicio sin Estado, pero debe tener poco estado o debe ser simple

Stateless vs Stateful A servicio se considera “stateless” si trata cada operación como una transacción independiente sin importar las solicitudes previas. Si para utilizar un servicio es necesario invocar las operaciones en un orden determinado entonces el servicio se considera “stateful”. En este caso el servicio necesita conservar su estado entre las invocaciones para responder adecuadamente al consumidor.

Los servicios deberían ser….. Los servicios deberían ser ”stateless” Los servicios deberían ser independientes del contexto o estado de otros servicios Un consumidor de servicios requiere conservar su estado entre las invocaciones a los servicios pero los servicios deben permanecer “stateless” http://thomasrischbeck.blogspot.com/2009/05/stateful-vs-stateless-services.html UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos 14/04/2017

Perfil del principio: Servicios sin estado Definición corta Los servicios minimizan el manejo de estados Definición larga Los servicios reducen el consumo de recursos usando la administración de estados solo cuando es realmente necesario. Metas Incrementar la escalabilidad de los servicios. Soportar el diseño de lógica de servicios agnóstica y permitir mayor reusabilidad. Statefulness. Posibilidad que ofrece un servicio de cómo informar de cómo está su situación interior, su estado. Stateless. Aplicación de la que se desconoce su estado (situación de la aplicación en un momento dado).

Perfil del principio: Servicios sin estado Características de Diseño. Ejemplos Mientras más agnóstica (reusable) es la lógica de un servicio entonces tiende a conservar menos su estado Aumento de la cantidad de rutinas de programación dedicadas a manejar estados

Perfil del principio: Servicios sin estado Requerimientos de Implementación El ambiente de ejecución debe permitir la transición de un estado en stand by (idle) a un estado activo de modo eficiente. Se requieren analizadores XML de alto rendimiento

Tipos de Estado UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos 14/04/2017

Tipos de Estado Active and Passive Stateless and Stateful Session and Context Data

1. Active and Passive Un programa de software puede pasar por varios estados durante su ciclo de vida. Un servicio puede tener dos estados primarios: Active Passive Active. Representa cuando un servicio es invocado o ejecutado. Passive. Representa el periodo en el cual el servicio no está en uso. Esto sucede porque se crea la lógica de acuerdo al contrato previamente definido.

2. Stateless and Stateful Cuando el estado de un servicio es activo, existen estados adicionales que representan diversas condiciones. Existen dos condiciones primarias: Stateless Stateful. Stateless. Un servicio puede estar activo pero no necesita mantener el estado de la data. (Ej. Protocolo HTTP) Stateful. Un servicio puede estar activo y retiene el estado de la data. When automating a particular task, the service is required to process data specific to that task. We can refer to this information as state data. UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos 14/04/2017

3. Tipos de estados de datos cuando es stateful Session Data. Representa la información asociada con la conexión entre un consumidor y el servicio cliente durante una intercambio de mensajes . (Ej. Identificador único de sesión entre un browser y su servidor web) Ejemplo: la conversación que se establece instancias de un proceso en BPEL con sus servicios Context Data. Se refiere al estado de la información que pasa entre los servicios dentro de una composición de servicios. Business Data. Representa la información que es relevante para un business task que se está ejecutando. Ejemplo: los datos persistentes recuperados de un repositorio como una base de datos. Proceso BPEL: para la conexiones asincrónicas, tiene un correlation id. Ese es un estado Contexto: Estado dentro del proceso BPEL, variables se deben tener en lo minimo posible Business data: lo registrado en la BD UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos 19 14/04/2017 19

Impacto de statelessness en el diseño de los servicios Instancias de Servicios Granularidad Statelessness Modelo

Instancia de Servicios A pesar de querer servicios sin estados (stateless), siempre se debe tener algun servicio que maneje estados (stateful) y a veces por periodos prolongados. Esto ocasiona que múltiples instancias del mismo servicio se ejecuten concurrentemente y sea necesario poder identificarlas. La especificación WS-Addressing permite identificar instancias de servicios.

Instancia de Servicios

Granularidad Cuando se necesita manejar estados se ve afectada inevitablemente la granularidad de los servicios.

Modelos de Servicios ENTITY SERVICES Como participan en la automatización de procesos de negocio o pueden ser miembros de composiciones es necesario estandarizar la administración de estados entre todas sus capacidades

Modelos de Servicios UTILITY SERVICES Estos servicios a veces son intencionalmente diseñados para violar este principio. Por ejemplo, la creación de utility services que son responsables por el manejo de estados en nombre de otros servicios. Son normalmente stateful por la infraestructura.

Modelos de Servicios TASK SERVICES Son generalmente composiciones con un grado significativo de composición, por lo que deben manejar data de contexto para poder alternar entre los servicios.

Modelos de Servicios ORCHESTRATED TASK SERVICES Son siempre de tipo stateful. La naturaleza de la tecnología de orquestación es administrar una actividad durante todo su ciclo de vida. Si la duración de la inactividad del proceso excede el máximo permitido, entonces el estado de la data es almacenado en una base de datos para que luego sea reactivado.

Agenda UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos Objetivo Service Stateless Service Composability CONCLUSIONES UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos 14/04/2017

Es una composición? Controlador (Instancia) (Instancia) Consumidor Ningun servicio contiene a otro, uno invoca a otros Hay servicios miembro y hay controladoras de la composiciòn Un servicio tiene capacidades que participan como miembros de la composicion y otras que controlan otros servicio Actividad del Servicio: Es la secuencia de invocaciones y respuesta que un servicios hace con otros

Perfil del principio: Service Composability Definición corta Los servicios tiene la capacidad de participar en composiciones (composable) Definición larga Los servicios han sido diseñados para participar de forma efectiva en las composiciones, sin importar las dimensiones y la complejidad de la composición . Metas Servicios altamente reusables. Statefulness. Posibilidad que ofrece un servicio de cómo informar de cómo está su situación interior, su estado. Stateless. Aplicación de la que se desconoce su estado (situación de la aplicación en un momento dado).

Perfil del principio: Servicios sin estado Características de Diseño. Participantes en la Composición Los servicios necesitan un entorno de ejecución eficiente Los contratos de los servicios necesitan ser flexibles de forma tal que permitan intercambiar diferentes tipos de datos para similar funciones

Perfil del principio: Servicios sin estado Características de Diseño. Controladora de la Composición La lógica encapsulada por un controlador debe estar limitada a una única tarea del negocio Las controladoras pueden ser reusables pero que sea reusable no es una prioridad

Perfil del principio: Servicios sin estado Requerimientos de Implementación Se requiere un entorno de ejecución tan escalable y fiable como sea posible

Términos importantes Miembros de la composición Controlador de la composición Subcontrolador de la composición Actividad de servicio Iniciador de la composición Instancia de composición de servicios Capacidades de miembro de una composición Capacidades de controlador de composición Las task son las controladoras por excelencia

Revisemos un caso….

Revisemos un caso….

Tipos de Composición Simple: usualmente conformada por un iniciador, uno o dos intermediarios y un “ultimate service” Complejas: orquestaciones de servicios con BPEL

Impacto en el diseño de los servicios Granularidad Composibility Modelo

Granularidad Granularidad del Servicio - mientras más servicios granulares (muy específicos) hay en un inventario de servicios entonces más servicios necesitan ser invocados en una composición promedio Granularidad de la Capacidad - Si un servicio esta formado por capacidades con alta granularidad (más específicas) entonces probablemente más capacidades estarán involucradas en una composición

Impacto en el Modelo Los tasks son los candidatos para ser composiciones El candidato ideal para una composición es un servicio de tipo task service aunque no de forma exclusiva

Un servicio de tipo entidad puede controlar a otras entidades Impacto en el Modelo Un servicio de tipo entidad puede controlar a otras entidades

Riesgos asociados a la aplicación de este principio Los miembros de la composición se constituyen en único punto de falla Los miembros de la composición se constituyen en un cuello de botella Mayor complejidad en el Gobierno

Agenda UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos 43 Objetivo Service Stateless Service Composability Conclusiones UPC - EPE - Ingeniería de Sistemas – Sistemas Distribuidos 43 14/04/2017 43