clase soa

35
ARQUITECTURA ORIENTADA A SERVICIOS (SOA)

Upload: rafael-montes

Post on 17-Nov-2014

1.708 views

Category:

Business


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Clase Soa

ARQUITECTURA ORIENTADA A SERVICIOS (SOA)

Page 2: Clase Soa

CONCEPTOS BÁSICOS

• INGENIERÍA DE SOFTWARE• DISCIPLINAS DE INGENIERÍA DE SOFTWARE• DISEÑO DE SOFTWARE• PARADIGMAS DE DISEÑO• SOA

Page 3: Clase Soa

Ingeniería de Software

Definición 1:Ingeniería del Software es el estudio de los principios y metodologías para desarrollo y mantenimiento de sistemas de software [Zelkovits, 1978].

Definición 2:Ingeniería del Software es la aplicación practica del conocimiento científico en el diseño y construcción de programas de computadora y la documentación necesaria requerida para desarrollar, operar(funcionar) y mantenerlos [Bohem, 1976].

Definición 3:Ingeniería del Software trata del establecimiento de los principios y métodos de la Ingeniería a fin de obtener software de modo rentable que sea fiable y trabaje en máquinas reales [Bauer, 1972].

Page 4: Clase Soa

Un Modelo para procesos de Ingeniería de SW

Page 5: Clase Soa

Disciplinas y Enfoque Iterativo de RUP

Page 6: Clase Soa

Diseño de Software

• Después de comprender los requerimientos, el diseño es el MAPA de cómo construir el sistema

• Un principio de diseño es un lineamiento de diseño comúnmente aceptado que cuando se aplica resulta en características específicas de diseño

• Un paradigma de diseño representa un conjunto de principios de diseño complementarios que colectivamente se aplican para soportar objetivos comunes

• Un patrón de diseño identifica un problema común y proporciona una solución recomendada

• Un estándar de diseño es una convención interna y específica para una organización, para regir sus diseños

Page 7: Clase Soa

Paradigmas de Diseño

Design Paradigm

Design Characteristics

Design Principles

Best Practices Design Standards

Results in theCreaton of specific

Result in theCreation of specific

Is comprised of multiple

Support theRealization of

Support the use of

Design Paradigm

Design StandardsDesign

PatternsBest Practices

Contribute tothe successfulrealization of

Page 8: Clase Soa

Paradigmas de Diseño

• Bajo Nivel (Binario)– Bulbos, Tarjetas perforadas

• Bajo Nivel (Ensamblador)– Mnemónicos para funciones– Direcciones de memoria con

etiquetas.

10100001111101010101

Page 9: Clase Soa

Paradigmas de Diseño

Lenguajes Procedurales• Uso de vocabulario relativo al

problema en resolución• Describen paso-a-paso el

procedimiento EXACTO para resolver un problema.

• La realidad debe modelarse con base en las capacidades del lenguaje.

• Difícil de comprender para no-programadores.

• COBOL, FORTRAN, ALGOL, BASIC

Ejemplo:

Page 10: Clase Soa

Paradigmas de Diseño

Lenguajes Orientados a Objetos• Los datos y los métodos para

manipularlos se encapsulan en una unidad conceptual llamada objeto.

• Permiten modelar la realidad, adaptando el código a la misma.

• La syntaxis es my natural y comprensible incluso para no programadores.

• Grandes capacidades de reuso de código, agilidad para desarrollar y aplicar cambios.

• JAVA, .NET

Ejemplo:

Page 11: Clase Soa

¿Y SOA?

• También es un paradigma de diseño• Pero se orienta a la organización y al

NEGOCIO, no al paradigma de programación.

Page 12: Clase Soa

Imperativos de Negocio…….La Tormenta Perfecta

Presiones Competitivas

Presiones Regulatorias

Poder del Cliente

Sobrecarga de Información

La FuerzaCambiante de Trabajo

Page 13: Clase Soa

Imperativos y Facilitadores de Negocio…….La Tormenta Perfecta

Presiones Competitivas

Presiones Regulatorias

Poder del Cliente

Sobrecarga de Información

La FuerzaCambiante de Trabajo

SOA

Ambientes deDesarrollo

Orientados alNegocio

Web 2.0/Rápido Desarrollo de

Aplicaciones

Metadatos/Semántica

CómputoSocial

Page 14: Clase Soa

¿Por qué SOA?

SOA abarca 9 de las 10 Principales Prioridades de la Administración

de TI

SOA abarca 9 de las 10 Principales Prioridades de la Administración

de TI

Page 15: Clase Soa

El Problema de la Alineación

Lo que explica la Línea de Negocio

Lo que explica la Línea de Negocio

Lo que entiende el Gerente de Proyecto

Lo que entiende el Gerente de Proyecto

Lo que diseña el Analista de Negocios

Lo que diseña el Analista de Negocios

Lo que interpreta el desarrollador de TI

Lo que interpreta el desarrollador de TI

Lo que describe el CIO al negocio

Lo que describe el CIO al negocio

Cómo se documenta el

proyecto

Cómo se documenta el

proyecto

Lo que realmente se utiliza

Lo que realmente se utiliza

Lo que el presupuesto puede

comprar

Lo que el presupuesto puede

comprar

El soporte proporcionado

El soporte proporcionado

Lo que realmente quería el trabajador

del proceso

Lo que realmente quería el trabajador

del proceso

Nueva Aplicación

Nueva Aplicación

Nueva Aplicación

Requerimientos, o

portunidades, e

tc. actuales.

Page 16: Clase Soa

La Evolución de la Industria del Software

Construir Comprar Componer

Sistemas Centrales•Pagos corporativos•Manejo de Quejas•Sistema de facturación

Infraestructura de Negocio•Automatización de Procesos•SOA y Gobernabilidad•Integración•Modernización

•Servicios Web •Integración

1970 1990 200019801960 2010

Foco en TI

2020

Sistemas de Soporte•RH•Nómina•CRM

Page 17: Clase Soa

Definición de Arquitectura Orientada al Servicio

(SOA – Service Oriented Architecture)

Page 18: Clase Soa

¡No Se Puede Definir SOA Sin Analogías!

¿Qué es un Servicio?

¿Cómo lo Obtengo?

¿Qué es lo importante?– Capacidades Distribuidas – Granular – realizar una unidad de trabajo– Confiabilidad y Calidad de Servicio– Acoplada Libremente – ninguna suposición acerca de las necesidades de la otra parte– Facilidad de uso basada en minimizar las dependencias artificiales

Page 19: Clase Soa

Elementos de SOA

• SOA está diseñada para soportar lógica orientada a servicios compuesta de servicios y composiciones de servicios, agrupados en un inventario global de servicios.

Is designed tosupport the creationand evolution of a

Service Oriented Architecture

Service inventory

ServiceComposition

Is designedto support the

implementation of

draw from the

Service-OrientedSolution Logic

Can be

Comprised of

Service OrientationDesign Paradigm

Services

Is primarily

distinguished by

Provides principles

that shape thedesign of

Are comprised

of

Provides principles

thart shape the

design of

Is comprised of

Is comprisedof standardized

Is designed tosupport the

Implementation of

Page 20: Clase Soa

Más Conceptos de SOA

• Una composición de servicios está formada por servicios que se asocian para proporcionar funcionalidad requerida para automatizar un proceso o tarea de negocio específicos.

• La orientación a servicios define los servicios como “recursos empresariales agnósticos”, lo que implica que un servicio puede ser invocado por múltiples consumidores, involucrando incluso al servicio en diferentes composiciones.

• Una colección de servicios estandarizados es la base para el inventario de servicios que puede ser administrado independientemente en un ambiente aislado.

• Se pueden automatizar múltiples procesos de negocio creando composiciones que usan servicios agnósticos tomados del inventario.

• Un inventario de servicios establece un pool de servicios, muchos de los cuales serán diseñados deliberadamente para reusarse en múltiples composiciones.

Page 21: Clase Soa

Servicios, Composiciones e Inventario

Page 22: Clase Soa

Ventajas Operativas de SOA

Business Analyst

BusinessModels and

requirementsBusiness analyst Architect

Business analyst hands overBusiness documentation

to architect

Architect

Architect interprets business models and requirements and designs business automation

system.

Business Analyst

BusinessModels and

requirements

Business Analyst Architect

Business analyst and architect define conceptual design together to ensure accurate representation of business

logic

Architect finalizes Physical design

Traditional projects

SOA projects

Page 23: Clase Soa

Restricciones Arquitectónicas de SOA

¬ Un conjunto pequeño de interfaces simples y ubicuas ¬ Las interfaces deberían estar universalmente disponibles para

todos los proveedores y consumidores¬ Únicamente se encuentra codificada la semántica genérica en la

interface – la semántica específica de las aplicaciones en los mensajes

¬ Mensajes descriptivos, es decir, los mensajes no prescriben ningún comportamiento del sistema , o sólo lo hacen en forma mínima

¬ Un esquema limita el formato, el vocabulario y la estructura de los mensajes

¬ Un esquema extensivo permite nuevas versiones de los servicios que serán introducidos sin romper los servicios existentes

Page 24: Clase Soa

Arquitectura Orientada al Servicio

“SOA es un estilo arquitectónico cuyo objetivo es lograr un acoplamiento libre entre los agentes de software interactuantes. Un servicio es una unidad de trabajo realizado por

un proveedor de servicios para alcanzar los resultados finales deseados para un consumidor de servicios. Tanto el proveedor como el consumidor son papeles

desempeñados por agentes de software en representación de sus propietarios”. “http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html

Consumidor

ServicioProveedor Consumidor

Consumidor

Page 25: Clase Soa

Definición de SOA

“La Arquitectura Orientada al Servicio es un paradigma para la organización y utilización de capacidades distribuidas que pueden estar bajo el control de

diferentes dominios de propiedad. Proporciona un medio uniforme para ofrecer, descubrir, interactuar con y

utilizar capacidades para producir efectos deseados consistentes con condiciones previas y expectativas

deseadas.”

Comité Técnico del Modelo de Referencia OASIS SOA

Page 26: Clase Soa

SOA: Ofreciendo Resultados De Abajo Hacia Arriba

Fundamento de una Arquitectura

Mainframe

Servidor de Aplicaciones Web

SOA

Ad

min

istr

aci

ón

y C

ont

rol

Agilidad y Libertad

Dependiente Interdependiente

Independiente

Servicios Web Punto a Punto

Codependiente

Page 27: Clase Soa

El Valor Real de“SOA”

Page 28: Clase Soa

¿Por qué SOA es tan Valiosos para los Negocios?

Valor

Costo

Tiempo

Desperdicio

¬ Se generan resultados y se construyen capacidades que crean el máximo valor para los elementos constitutivos del negocio.

¬ Se gasta menos en materiales y mano de obra y se maximiza el ROI directo.

¬ Se llega más rápido al objetivo; se reducen los costos de oportunidad y se genera un nuevo valor y momentum más pronto.

¬ Se reutiliza todo aquello que sea útil; no se pierde nada del valor; se apalancan los activos existentes.

Page 29: Clase Soa

Generar Valor con SOA

¬ Eficiencia a través de la automatización y la coordinación mejorada¬ Eficiencia centrándose en la creación de valor¬ Agilidad de negocio – implementación del cambio al momento del

negocio¬ Productividad de TI – desde el sostenimiento hasta las nuevas

capacidades¬ Transparencia operacional mejorada¬ Colaboración mejorada¬ Productividad y satisfacción mejoradas del trabajador¬ Apalancamiento en capacidades existentes – “Leave and Layer”¬ Desarrollo de una cultura orientada al desempeño y la mejora¬ Desarrollo de una organización alineada¬ Facilitan los negocios

Page 30: Clase Soa

Aspectos de una Arquitectura Orientada al Servicio

SOA es una estrategia para facilitar un Valor de Negocio

¬No se trata sólo de una “tecnología”. Entender SOA es un compromiso con la organización, el proceso y la tecnología

SOA implica construir aplicaciones a partir de partes

¬Un enfoque de componentes muy parecido a Corba o DCOM

¬A diferencia de Corba o DCOM, SOA se basa en estándares y tiene un soporte masivo de la industria

Uno de los pricipales valores de SOA se advierte en el concepto de re-utilización

¬La reutilización de servicios internos o externos acelera el rendimiento de la inversión que se haga en cualquier estrategia de SOA

Page 31: Clase Soa

Seminario Básico de BPM + SOA | Página 31

¿Por qué Gobernabilidad?

Legacy Finanzas CRM CadenadeSumi-nistro

• Las ERPs se dividen en partes • Las Aplicaciones Previas se

convierten en Servicios

• Los sistemas complejos se rompen en piezas de servicio

• Los módulos se conectan de acuerdo a las necesidades del negocio

¡SOA no administrado es demasiado complejo!

Page 32: Clase Soa

Seminario Básico de BPM + SOA | Página 32

¿Por qué Gobernabilidad?

La Gobernabilidad proporciona¬ Autoridades y responsabilidades¬ Reglas claras y refuerzo de reglas¬ Transparencia organizacional y técnica

La Gobernabilidad SOA permite¬ Dominar la complejidad de TI¬ Soportar el cambio del proceso del

negocio

La Gobernabilidad SOA ahorra tiempo y dinero a los negocios

Page 33: Clase Soa

Integración de Legados

Datos delCliente

Interacción del Cliente

Historia delPedido

Polìtica dePedidos Envío

Orquestación de Servicio de Negocio Información del

ClienteAdministración de

PedidosCompensación de

Pedidos

CRM ERPDatos del Cliente Pedidos Logística

Aplicaciones Compuestas

Procesos de Negocio

ObtenerDatos

VerificarDetalles

CapturarPedido

Revisar Pedido

AprobarPedido

IniciarEnvío

Administración de Pedidos

El Concepto SOA

MONITOREO & ANÁLISIS

GOBERNABILIDAD

Area

Crítica

Do

min

io d

e lo

s A

nal

ista

s d

e

Neg

oci

oD

om

inio

de

los

A

rqu

itec

tos

y

Des

arro

llad

ore

s

Page 34: Clase Soa

BPM + SOA Basics Seminar | Page 34

Las 10 Mejores Prácticas de SOA

1. Entender el Proceso

2. Entender sus datos

3. ¡Gobernar primero!

4. Solicitar la validación de terceros

5. Construir un caso de negocio enfocado al valor

6. No (siempre) llamarlo SOA

7. Foco en el negocio y en el suceso urgente

8. La reutilización no es el único beneficio

9. Empezar con poco….pensar en grande

10. Promover una cultura de compartir

Page 35: Clase Soa

GRACIAS