clase soa

Post on 17-Nov-2014

1.708 Views

Category:

Business

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

ARQUITECTURA ORIENTADA A SERVICIOS (SOA)

CONCEPTOS BÁSICOS

• INGENIERÍA DE SOFTWARE• DISCIPLINAS DE INGENIERÍA DE SOFTWARE• DISEÑO DE SOFTWARE• PARADIGMAS DE DISEÑO• 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].

Un Modelo para procesos de Ingeniería de SW

Disciplinas y Enfoque Iterativo de RUP

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

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

Paradigmas de Diseño

• Bajo Nivel (Binario)– Bulbos, Tarjetas perforadas

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

etiquetas.

10100001111101010101

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:

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:

¿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.

Imperativos de Negocio…….La Tormenta Perfecta

Presiones Competitivas

Presiones Regulatorias

Poder del Cliente

Sobrecarga de Información

La FuerzaCambiante de Trabajo

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

¿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

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.

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

Definición de Arquitectura Orientada al Servicio

(SOA – Service Oriented Architecture)

¡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

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

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.

Servicios, Composiciones e Inventario

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

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

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

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

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

El Valor Real de“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.

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

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

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!

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

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

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

GRACIAS

top related