Arquitectura Orientada a Servicios (SOA)

Slides:



Advertisements
Presentaciones similares
Arquitecturas de administración de redes y sus submodelos
Advertisements

INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Hernan de Lahitte Software Architect
ENTERPRISE SOA Arquitectura Avanzada – Universidad CAECE 2011
Arquitectura Orientada a Servicios
Portal Hacienda Digital
Universidad Nacional Autónoma de Honduras
UNIVERSIDAD TECNOLÓGICA ISRAEL CARRERA DE SISTEMAS INFORMÁTICOS
Servicios Web.
Arquitectura Orientada a Servicios (SOA)
Especialista en Business Intelligence Reporting Services SSRS (Sesión 16) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
MI PROGRAMA DE FORMACION
Prof. César Luza Montero
Arquitectura de la Aplicación
Términos Básicos y Conceptos
La manera más simple para describir un patrón es que ofrece una solución probada a un problema común.
Implementación de arquitecturas distribuidas
(D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO
4/1/2017 6:53 PM © Microsoft Corporation. All rights reserved.
César de la Torre – Programas Técnicos para Partners División de Desarrollo y Plataforma – Microsoft Spain.
Desarrollo de adaptadores mediante WCF LOB Adapter SDK
Microsoft Office System Recopilando Información y Fomentando la Colaboración a través de Formularios Electrónicos José Alania Valdez Especialista en Tecnologías.
Características Técnicas
Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización Entre plataformas Entre lenguajes.
Java 2 Platform Enterprise Edition
Características Técnicas
Yeimi Constanza Patiño
SOA y la integración con el modelo de negocio de la empresa
TENDENCIAS Y ESCENARIOS DE LAS TIC
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
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.
Common Compound Design Patterns. Compound vs composite Un composite es algo que generalmente se compone de partes interconectadas. Un compound simplemente.
Definición de un modelo colaborativo entre Especializada y Primaria aplicado al diagnóstico por imagen médica.
Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.
Arquitectura de una aplicación
Programación e Ingeniería de Software III
InfoPath Ventajas y Uso.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad
Desarrollo de aplicaciones para ambientes distribuidos
Sistemas Distribuidos
Arquitectura Orientada a Servicios
Tecnología para la Comunidad
Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
GeneXus en la ola SOA Luis Murillo Alejandro Cimas Alvaro Garepe
SICSTRA Sistema de Información para el control de solicitudes de tramites jurídicos Ministerio de Justicia y Seguridad Pública.
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.
Arquitectura Orientada a Servicios Recomendaciones Prácticas Eduardo Mangarelli Wilson Pais Martin Cabrera Microsoft Cono Sur.
Desarrollo de aplicaciones empresariales con Web Services
Términos y Conceptos Básicos
Presentación del Producto
Implementación de la Arquitectura Empresarial
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUÍDOS ALUMNOS: MARIANA MIGNÓN RÉDING CARLOS ANTONIO CARRASCO MARTÍNEZ PROFESOR: DR. JOSÉ BERNARDO PARRA.
Actividades en el Proceso de desarrollo de Software
Implementación de una visión de arquitectura Experiencias y Resultados
Simulador Redes Nombres etc,,.
The Arquitecture of Service - Orientation Integrantes : Ricardo Macedo Henry Renato Paz Carolina Vigil.
Tendencia De Los Sistemas Operativos
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Arquitectura de aplicaciones
Maestría en Gerencia en Tecnología de la Información Cátedra Ingeniería de Software Profesora: Mary Carmen Milano. Integrantes: Rosa Arellano Osbaldo Goitia.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
Conociendo el modelo Cliente-Servidor
BASES DE DATOS DISTRIBUIDAS M.C.C. María Guadalupe Villanueva Carrasco INGENIERIA EN SISTEMAS COMPUTACIONALES.
Transcripción de la presentación:

Arquitectura Orientada a Servicios (SOA) Diego González - CTO diegog@lagash.com Hernán de Lahitte - arquitecto Hernán@lagash.com

Agenda Orígenes de SOA Principios fundamentales Diseño de aplicaciones Implementaciones Tecnologías Frameworks Proyectos

Orígenes de SOA Arquitectura de aplicaciones distribuidas Cliente-Servidor Separación del origen de datos Modelo tres capas Objetos distribuidos Arquitectura de Web Services Modelo stateless Nuevos lenguajes de programación Utilización de patrones de diseño

Orígenes de SOA Integración de aplicaciones Reutilización limitada de funcionalidad Distintas plataformas Distintos lenguajes Limitaciones técnicas de integración entre plataformas Transacciones Seguridad Herramientas Futuro desafío en el diseño de aplicaciones Composición integral de aplicaciones

Orígenes de SOA Requerimientos no funcionales que aplican a toda la organización Administración Monitoreo Seguridad Metadatos Aparición de Aspect Oriented Programming Proponiendo el concepto Cross-Cutting Concerns Intercepción como base de la extensibilidad

Orígenes de SOA Objetos distribuidos Han demostrado necesitar mucho más desarrollo teórico Tiempo de vida Circulación de referencias Diversidad de tecnologías Estándares muy dependientes de la plataforma Dificultad para acordar alcances Quien se encarga de Seguridad Transacciones

Orientación a servicios Centrado en el concepto de servicio Las aplicaciones exponen y consumen servicios Un servicio es Unidad atómica de funcionalidad reutilizable Definen claramente su interfaz Requerimientos no funcionales son independientes de la plataforma

Leyes (tenets) de SOA Limites explícitos Servicios autónomos Qué hace y que no hace un servicio? Servicios autónomos Autocontenidos e independientes de otros servicios Interfaz como esquema y no como clases Exponer sus requerimientos como estructura de datos y contratos Compatibilidad basada en políticas Qué requiere de quien lo consume?

No leyes de SOA Invocación puede ser sincrónica o asincrónica Interacción orientada a mensajes Transparencia de ubicación de servicios Catálogo de servicios

Modelo de Dominio/Tabla Una interfaz por delante del modelo de dominio. Producto Facturar Aplicación Cliente Obtener Facturación ItemFactura Factura

Ventajas Fuerte separación entre capas o loosely coupled applications Separación tecnológica Declaración de los requerimientos no funcionales Administración unificada Con una única herramienta que administra servicios Transparencia de locación Reusabilidad simplificada

Ventajas Exposición de servicios granatizados Agregación de servicios En lugar de exponer clases o interfaces que pueden ser “mal usadas” Agregación de servicios Un servicio puede agregar a otros servicios para garantizar atomicidad Composición de lógica de negocio Intercepción como base de la extensibilidad Buenos niveles de escalabilidad Paralelismo en el desarrollo

Requerimientos Definición de servicios independientemente de la implementación, ubicación o uso Implementación y provisión de servicios como proveedor Localización y uso de servicios como consumidor Composición de servicios a partir de otros servicios y relglas de negocio Servicios internos y externos Soporte de interacción sincrónica y asincrónica Orquestación de UI basadas en servicios y reglas de ngocio Soporte para múltiples formas de interacción humana Transformación de datos automáticos entre distintas estructuras de datos. Soporte para simulación, prueba y depuración de servicios

Diseño de aplicaciones SOA Identificación de servicios Identificar los procesos a partir de los casos de uso Definir los servicios que se utilizan durante los procesos detectados Determinar una jerarquía de servicios en función de la reusabilidad interna y externa Crear servicios externos que componen servicios internos Evitar la proliferación de servicios Limitar los servicios a los requeridos por los procesos

Diseño de aplicaciones SOA Categorización de servicios Una Process Activity Entity Infraestructure XWIF Service Model Utility service Business service Controller service Proxy service Wrapper service Coordination service (for atomic transactions) Process service Coordination service (for business activities)

Categorización de servicios Clientes o agentes Infrastructure Services Entity Services Activity Services Process Services Legacy Datos Partner Componente

Diseño de aplicaciones SOA Diseño de los mensajes Una vez definidos los servicios ajustar los mensajes utilizados Como hacer aplicaciones clientes de SOA No asumir conectividad contínua ni servicios relacionados (seguridad, transacciones) Mapping Mensajes y entidades Diseñando interfaces de usuario SOA Soporada por servicios de UI Solo interactúa con el servidor cuando finaliza la operación. Coarse-Grained interaction.

Migrando aplicaciones a SOA Considerar una arquitectura con concepto de servicios Migrando componentes COM .Net Migrando ASP.NET WebServices WebApplications Migrando aplicaciones WinForms

Migrando de aplicaciones SOA Desde Hacia Orientación a Procesos Creada para el cambio Desarrollo e implantación incremental y en paralelo Orientación a Funciones Creada para durar Ciclos de desarrollo prolongados Silos de Aplicaciones Acoplamiento Fuerte Orientación a Objetos Implementación Conocida Soluciones Orquestadas Acoplamiento Débil Orientación a Mensajes Abstracción

Ciclo de vida de aplicaciones Como se llega a SOA Integración de aplicaciones Nueva aplicación con nueva arquitectura Nueva interfaz para una aplicación existente Mantenimiento de aplicaciones Las aplicaciones cambian Exponer servicios evita “mal uso” de las clases Constante reutilización de servicios

Implementación Frameworks ASMX WSE Formato nativo .Net para exposición de WebServices Totalmente integrado con Visual Studio .NET Soporta únicamente HTTP (IIS + ASP.NET) WSE Permite crear servicios o clases proxy a servicios remotos Fácilmente extensible e interceptable No asume protocolo HTTP

Implementación Productos Frameworks BizTalk EDRA MBI FABRIQ Si bien está más orientado a la integración de aplicaciones Es un hub de mensajes extensible Frameworks EDRA MBI FABRIQ

¿Que es EDRA (Shadowfax)? Es una Guía de Arquitectura para estandarizar el desarrollo de sistemas distribuidos Es un Framework de Aplicaciones Extensible el cual incorpora recursos de la plataforma; ASP.NET-WS, MSMQ, Enterprise Services, Remoting, WSE Es una Implementación de Referencia que usa el Framework en un modelo bancario Es una iniciativa (PAG) apoyada en un fuerte feedback de la comunidad y la industria EDRA=Shadowfax The EDRA uses four guiding principles to help ease the transition from tightly coupled distributed objects to standards-based, loosely coupled services: ● Separating the service interface from the internal service implementation to allow for deployment scenarios that are optimized for scalability, reliability, security, performance, and availability. ● Separating business logic from cross-cutting concerns such as logging, monitoring, or raising business events. (A cross-cutting concern is a type of functionality that can be applied to multiple classes or applications.) ● Separating business logic from the underlying transport so that multiple transports can be used to access a single service implementation. ● Developing stable service interfaces to ensure resiliency of deployed services. Microsoft developed the SDRA after talking with customers and reviewing solutions that were developed to solve similar problems on both the Microsoft® .NET and J2EE platforms. The SDRA provides the following: ● Architectural guidance describing how to address the preceding four principles. ● An extensible application framework that incorporates reusable assets to facilitate development of distributed applications using ASP.NET Web services, Microsoft Windows® operating system Message Queuing, Enterprise Services, and, in the future, Web Service Enhancements (WSE) and Indigo. ● Four QuickStart applications that demonstrate key capabilities of the framework. ● An application template to help you set up a development environment to implement services and build client applications that use the services.

¿Que es MBI? MBI es un framework para crear, ejecutar y mantener aplicaciones corporativas basadas en plataforma Microsoft.NET Resuelve escenarios recurrentes de una empresa corporativa Es una arquitectura de referencia para la construcción de aplicaciones Incorpora mejores prácticas de Microsoft Corporation Arquitectura de integración común a todos los Portfolios de Soluciones Reducción de costos de desarrollo y mantenimiento Microsoft Business Integrator es un framework desarrollado por la práctica de consultoría de Microsoft Argentina (MCS) en base a la experiencia recogida por su participación en diversos proyectos de desarrollo e integración de aplicaciones de negocio y su profundo conocimiento de la tecnología y las herramientas de Microsoft Corporation. Su objetivo principal es proveer un marco integrado que facilite la creación y administración de aplicaciones corporativas y de misión crítica utilizando herramientas y tecnologías provistas por Microsoft Corporation y basadas en un modelo de procesamiento distribuído.   El modelo Microsoft Business Integrator profundiza el modelo propuesto por SOA, a través de una arquitectura mucho más detallada, prescriptiva y refinada, basada en la experiencia que ha acumulado Microsoft a través de sus servicios de consultoría y soporte (MCS y PSS). El objetivo, al igual que SOA es proveer una plataforma tecnológica robusta, confiable, económica y ágil. Este Marco Tecnológico abarca todos los componentes de los sistemas de información, sean estos técnicos u organizacionales y logra sus objetivos con las siguientes estrategias: Basado en EDRA: Primeramente conocido como Shadowfax es el nombre clave para "Enterprise Development Reference Architecture" (EDRA) que esta orientado a simplificar el desarrollo de aplicaciones distribuidas, proveyendo una serie de pautas estandarizadas de uso común en soluciones orientadas a proveer servicios de negocios. Profundizando el modelo de aplicación: - Proveyendo una fuerte separación en la capa de presentación de la lógica de navegación y el formateo de pantallas. - Facilitando el tratamiento de entidades persistentes en múltiples fuentes de datos y en aplicaciones externas. - Incluyendo soporte explícito para aspectos de integración de aplicaciones y de manejo del procesos de negocio. Construyendo una arquitectura técnica común: - Alineado al modelo. - Otorgando una solución común a problemas técnicos recurrentes. Transacciones, parametrización, usuarios, etc. - Proveyendo soporte nativo para la integración de aplicaciones. - Abstrayendo la plataforma técnica subyacente. Implementando un marco de trabajo: - Conjunto de herramientas y procesos que faciliten la construcción y administración de aplicaciones compatibles con la arquitectura propuesta. Es importante destacar que los niveles de productividad de un grupo de tecnología no están sólo focalizados en el desarrollo. Comúnmente cuando se plantea el problema de la productividad se piensa en el desarrollo, es por eso es que tradicionalmente se hace hincapié en aumentar la productividad a través de la reutilización de componentes (por ejemplificar un caso). Sin embargo los componentes no son las únicas piezas que una organización puede reutilizar. Los procesos, las herramientas, las buenas prácticas o incluso las cosas menos obvias también pueden ser reutilizados contribuyendo a la productividad total de la organización. Algunos ejemplos de elementos reutilizables, pero menos evidentes, son los planes de trabajo o templates de pruebas. Es por esto que MBI pretende ser una propuesta integral, que se extienda más allá de ser un conjunto de reglas y normativas de programación.

Shadowfax + MBI = MBI 3.0 Definición Implementación prescriptiva de Shadowfax Revisada por el equipo de PAG de Microsoft Corp. MBI 3.0 complementa a Shadowfax en escenarios que Shadowfax aún no resuelve MBI 3.0 implementa como componente central a Shadowfax MBI & Shadowfax proveen el contexto adecuado para la construcción de aplicaciones orientadas a servicios

¿Que es FABRIQ? Q.NET + EntServices + WSE + SOA + HPC + Agent Arquitectura para el desarrollo de aplicaciones SOA en .Net de alta performance soportado sobre un modelo de redes de colas distribuidas interconectadas . Una aplicación que utiliza las mejores prácticas de WSE 2.0 Un frámework agil para la implementación de agentes Para Permitir la adopción de modelos asincrónicos de computación a la comunidad de desarrolladores y arquitectos. Mejorar el camino hacia Indigo para la comunidad .Net. Desarrollado por Arvindra Sehmi, MS EMEA, DPE – Project Lead Clemens Vasters, newtelligence AG – Architect Lead Eugenio Pace, MS Argentina, MCS – Development Lead

Mas información SOA EDRA (Shadowfax) MBI 3.0 Shadowfax + MBI 3.0 http://msdn.microsoft.com/architecture http://msdn.microsoft.com/practices http://msdn.microsoft.com/webservices EDRA (Shadowfax) http://workspaces.gotdotnet.com/shadowfx http://channel9.msdn.com/wiki/default.aspx/Channel9.ShadowfaxWiki MBI 3.0 http://www.gotdotnet.com/Community/Workspaces/workspace.aspx?id=49485933-6169-4571-987f-7865087b09c6 Shadowfax + MBI 3.0 http://weblogs.asp.net/hernandl

Mas información http://msdn.microsoft.com/architecture http://msdn.microsoft.com/practices http://msdn.microsoft.com/webservices