introducción a soa

29
Introducción a SOA

Upload: juan-camilo-parra

Post on 14-Jun-2015

434 views

Category:

Documents


2 download

DESCRIPTION

Pequeña introducción al mundo SOA

TRANSCRIPT

Page 1: Introducción a SOA

Introducción a SOA

Page 2: Introducción a SOA

Introducción Una arquitectura

orientada a servicios, más conocida por su acrónimo en inglés (SOA), es un medio arquitectónico de mirar al mundo, y un medio para crear un plan llamado esquema global de la SOA.

D

Page 3: Introducción a SOA

Arquitectura de Software El nivel conceptual más

alto de un sistema en su ambiente

Organización fundamental de un sistema descrita en: sus componentes, la relación entre ellos y con el ambiente.

Principios que guían su diseño y evolución

D

Page 4: Introducción a SOA

¿Qué es SOA? Cuando adopta una

visión orientada a servicios, todo cobra forma de servicio. Los servicios son los ladrillos con los que se construye una SOA. Son un medio para acceder a las capacidades que se repiten en un negocio.

D

Page 5: Introducción a SOA

¿Qué es SOA?

Unidad de software con una funcionalidad atómica, con las siguientes características:Interfaz Definida o

Contrato de ServicioReutilizableDesacoplado

D

Page 6: Introducción a SOA

Servicio Una función sin estado, auto-contenida,

que acepta llamadas y responde mediante una interfaz bien definida.

Los servicios pueden también ejecutar unidades discretas de trabajo como serían editar y procesar una transacción.

Los servicios no dependen del estado de otras funciones o procesos. 

La tecnología concreta utilizada para prestar el servicio no es parte de esta definición.

Existen servicios asíncronos en los que una solicitud a un servicio crea, por ejemplo, un archivo, y en una segunda solicitud se obtiene ese archivo.

D

Page 7: Introducción a SOA

Orquestación

Secuenciar los servicios y proveer la lógica adicional para procesar datos. No incluye la presentación de los datos.

D

Page 8: Introducción a SOA

Proveedor

La función que brinda un servicio en respuesta a una llamada o petición desde un consumidor.

D

Page 9: Introducción a SOA

Consumidor

La función que consume el resultado del servicio provisto por un proveedor

D

Page 10: Introducción a SOA

Sin Estado No mantiene ni depende de

condición pre-existente alguna. Reciben en la llamada toda la información que necesitan para dar una respuesta. Debido a que los servicios son "sin estado", pueden ser orquestados en tuberías o pipelines para realizar la lógica del negocio.

Page 11: Introducción a SOA

Servicio Define Explícitamente

Lo que el servicio hace por usted. Un servicio proporciona una capacidad para

su consumidor, como por ejemplo, procesar el cambio de dirección de un cliente de un banco.

Cómo se utiliza. Un servicio cuenta con un método específico

para poder usarlo, lo que se llama invocación. Presenta una interfaz bien definida para poder acceder a sus prestaciones.

Page 12: Introducción a SOA

NO se define explícitamente

Lo que no se define explícitamente en un servicio de SOA es:

Dónde está ubicado el servicio. Se puede acceder a los servicios de forma remota, es decir, que

puede llamarlos desde cualquier punto de una red.

Cómo funciona. Los servicios son opacos, lo que significa que ni se sabe, ni

importa, cómo realizan su trabajo.

Los servicios de SOA pueden acoplarse para construir otros nuevos, y ensamblarse en secuencias para construir procesos (orquestacion).

Page 13: Introducción a SOA

Que define la arquitectura SOA

La arquitectura de la SOA define los siguientes aspectos:

Como localizar un servicio. Como conseguir que se

comuniquen los diferentes servicios.

Como encaja cada uno de los servicios en todo el sistema.

Page 14: Introducción a SOA

Construcción SOA Cuando trabaja con piezas de una construcción,

sólo tiene que localizar las piezas en la caja, ensamblarlas en los pequeños pivotes, y montar el conjunto según se describe en el dibujo proporcionado.

En una SOA, los servicios se encuentran en un repositorio denominado registro, se ensamblan mediante las llamadas aplicaciones compuestas, y el plano que le sirve de guía es lo que se conoce como esquema global de la SOA.

Page 15: Introducción a SOA

SOA Equivale a Negocio La potencia de una

SOA radica en su capacidad para expresar capacidades técnicas en términos de negocio, y de permitir a las empresas recombinarlos con rapidez para crear nuevas soluciones.

Page 16: Introducción a SOA

Terminología

Granularidad gruesa Interfaz frente a implementación Los contratos Acoplamiento débil

Page 17: Introducción a SOA

Granularidad Gruesa

En SOA prefiere los componentes de mayor tamaño (de grano grueso) o servicios de negocio.

Las piezas más grandes favorecen que el personal de la empresa comprenda, reutilice y maneje los servicios de la SOA

Page 18: Introducción a SOA

Interfaz frente a implementación diferencia entre lo que

hace un servicio de cómo lo hace.

Page 19: Introducción a SOA

Contratos

definen las obligaciones entre el proveedor y el consumidor del servicio. Pueden contemplar expectativas sobre el servicio tales como disponibilidad, fiabilidad, indicadores clave de rendimiento, costes y asistencia.

Page 20: Introducción a SOA

Acoplamiento Débil

es el modo de diseñar servicios más flexibles y menos dependientes unos de otros. Con ello se facilita el ensamblaje de los servicios y su recombinación en nuevos contextos.

Page 21: Introducción a SOA

Ejemplo SOA

Consultar la hora Calcular tasa cambiaria Consultar Cliente

Consultar datos básicosConsultar Cartera

Page 22: Introducción a SOA
Page 23: Introducción a SOA

Ejecutar Orden

Consultar Cliente(CRM)

Consultar Inventario

(ERP)

Solicitar Envío(SCM)

Page 24: Introducción a SOA
Page 25: Introducción a SOA

Diferencias de otras Arquitecturas Al contrario de las arquitecturas orientado a objetos, las SOAs

están formadas por servicios de aplicación débilmente acoplados y altamente interoperables. Para comunicarse entre sí, estos servicios se basan en una definición formal independiente de la plataforma subyacente y del lenguaje de programación (p.ej., WSDL). La definición de la interfaz encapsula (oculta) las particularidades de una implementación, lo que la hace independiente del fabricante, del lenguaje de programación o de la tecnología de desarrollo (como Plataforma Java o Microsoft .NET). Con esta arquitectura, se pretende que los componentes de software desarrollados sean muy reutilizables, ya que la interfaz se define siguiendo un estándar; así, un servicio C# podría ser usado por una aplicación Java. En este sentido, ciertos autores definen SOA como una Súper-Abstracción.

Page 26: Introducción a SOA

Beneficios Mejora en los tiempos de realización de cambios

en procesos. Facilidad para evolucionar a modelos de negocios

basados en tercerización. Facilidad para abordar modelos de negocios

basados en colaboración con otros entes (socios, proveedores).

Poder para reemplazar elementos de la capa aplicativa SOA sin disrupción en el proceso de negocio.

Facilidad para la integración de tecnologías disímiles.

Page 27: Introducción a SOA

“Unless you use SOA in the context of what you’re trying to do with the

business, you can end up with just the new spaghetti to replace the old

spaghetti.”Marc Smith

Page 28: Introducción a SOA

Preguntas

Page 29: Introducción a SOA

Bibliografia • IBM SOA glossary,

http://www-306.ibm.com/software/solutions/soa/glossary/index.html

Thomas Erl, Service-Oriented Architecture: concepts, technology and design.

• Thomas Erl, Service-Oriented Architecture: a field guide to integrating XML and web services.

• ObjectWeb, http://middleware.objectweb.org/ • OMG, http://www.omg.org/ Introducción a SOA - Acis, Jorge Mario Calvo

2009