You are on page 1of 55

SOA y Web Services

Y Por qu tengo que pensar en otro modelo de Arquitectura?

Los negocios estn cambiando


De
     

A
     

Tamao Activos Fsicos Optimizar viejos mtodos Satisfaccin del Cliente Monolticos Estructuras Rgidas

Velocidad, movilidad Propiedad Intelectual Innovar con nuevas reglas Deleitar al Cliente Especializacin Sociedades Flexibles

Las Aplicaciones estn cambiando


De
  

A
  

Construidas para durar Guiadas por el TCO Aos de atraso Dnde estn los datos? Integracin: Un costoso esfuerzo posterior

Construidas para cambiar Guiadas por el ROI Construccin y puesta en produccin en 6 semanas Flujo de los Datos Integracin: Algo tcito

 

 

El xito en los negocios es un blanco mvil


Expectativas de los clientes Tecnologas
Necesidades de los clientes Requerimientos de los socios 24x7 y Acceso Mvil Fusiones, adquisiciones canales, nuevas lneas

La realidad del cambio

Competencia

Globalizacin

Mercado

Macroeconoma

Regulaciones

Agilidad es la mtrica crtica de TI

Hoy en Da

Si invierte, entonces maana

Ninguna aplicacin es una Isla


Payment Systems and Card Mgmt 3D Secure Treasury / Forex Trading / Back office

Wealth Management Core Banking Branch Banking Internet Banking

EAI Business Intelligence Straight through Processing

CRM Aggregation Wireless ATM / POS

Ninguna compaa es una Isla


Partners Customers Partners

Suppliers

Employees

Customers

Partners

Suppliers

Employees

Suppliers

Impedimentos para generar Valor


Asuntos
Integracin difcil, costosa Infraestructura de computo bajo ataque Los recursos de TI son difciles de administrar Gente, procesos e informacin desconectada Sostener las inversiones de TI limita la generacin de valor

Impacto en Negocios
Islas de procesos impiden agilidad para responder y tomar las oportunidades Costoso, actualizaciones de seguridad frecuentes Demasiado trabajo de poco valor, porcentaje de utilizacin bajo Se reduce el proceso de toma de decisiones. No se percibe el valor de negocio de TI

Y como adopto una arquitectura de TI que me de ms agilidad?

La arquitectura debe cambiar


De
Altamente Centrada Una

A
Acoplada
      

Poco Acoplada Centrada en Valor Todas las plataformas Data manejable Orientada a mensajes Abstraccin Ms Conexiones == ms valor

en costos en la aplicacin a Objetos

plataforma

Centrada

Orientada Conocer Ms

cada detalle

Conexiones == ms costos

La Arquitectura
y el problema
TGI FRY ECP SWG DRW MFP ASB BLT AFT

HDL

WCP QYD WIU XOI ASB ZIS CUI WHR RMO HCO JIA GEX WKD DLY DLY
SKD

XPS KYF

BST

VUH

KFC

AJT

FQA

DKE

Reducir Dependencias Reducir Acoplamiento


Ejemplo de una solucin suavemente acoplada Ejemplo de una solucin altamente acoplada

Usted
Lenguaje de Programacin Base de Datos Modelo de Objetos Sistema Operativo Servidor de Aplicaciones Esquema

Su socio
Lenguaje de Programacin Acuerdos Base de Datos Modelo de Objetos Sistema Operativo Servidor de Aplicaciones

La Arquitectura
y la Solucin

Arquitectura Basada en Servicios


Servicio Servicio
Servicio

Bus

Servicio

Servicio

Servicio

Disear un servicio no es fcil (1)




Un mensaje no es una llamada de funcin Caractersticas de los mensajes:


      

Atraviesa fronteras de procesos y sistemas Son asncronos Pueden ser procesados despus Se entregan cero o ms veces La entrega inmediata no puede ser garantizada Pueden ser reenviados por el cliente Pueden ser entregados fuera de secuencia

Disear un servicio no es fcil (2)




Los mensajes no tienen concepto de sesin  El Servicio puede tener que restablecer el contexto de la conversacin  El mensaje podra tener que llevar este contexto  Necesidad de seguridad a nivel de mensaje  Si no se controla el transporte desde principio a fin El manejo de excepciones es difcil  Los procesos se distribuyen en el espacio y el tiempo  Incertidumbre entre el envo del mensaje y la recepcin de la respuesta Si usted no desea tener que manejar estos aspectos, entonces quizs un componente es adecuado pero entonces no podr:  Manejarlos independientemente  Distribuirlos independientemente  Comunicarse con otras tecnologas  Escalar Horizontalmente (Scale Out)

Servicios de Infraestructura


Pero Yo necesito que mis servicios mantengan las mismas capacidades empresariales que he tenido
 Seguridad  Transacciones  Confiabilidad  Escalabilidad  Etc.

Service-Oriented Architecture
Clients and Agents

Capacidades Requeridas los problemas




Seguridad  Autenticacin, repudiacin.

Autorizacin,

Confidencialidad,

no

Enrutamiento  Base para la escalabilidad y la tolerancia a fallas. Transacciones  Necesidad de soportar transacciones de negocio mas all de las fronteras de confianza (Transacciones ACID).

Capacidades Requeridas las soluciones (1)




Seguridad  Usar SSL con SOAP




(XML Signatures, XML Encryption)

Enrutamiento  Enrutar mensajes intermediarios.  til para:


  

travs

de

nodos

SOAP

Balanceo de Cargas Cache Virtualizar los servicios

Transacciones ACID
   

Atomic (Atmicas) Consistent (Consistentes) Isolated (Aisladas) Durable (Durables/Persistentes)

Capacidades Requeridas las soluciones (2)




Transacciones ACID  Implcitamente asumen  Ambiente altamente acoplado (Llamadas sincrnicas)  Actividades de corta duracin (Debe ser posible poder tener recursos bloqueados por perodos de tiempo)


En consecuencia , no trabajan bien en  Ambientes suavemente acoplados!  Actividades de larga duracin! Qu hacer? e.g. Microsoft usa WS-Transactions:  Atomic Transactions  Corta duracin  Basadas en el modelo 2-Phase-Commit  Para uso dentro de una organizacin  Business Activities  Larga duracin

Conceptos de una Arquitectura Orientada a Servicios?

Servicios
Un vehiculo mediante el cual, los requerimientos de un consumidor se satisfacen de acuerdo a un contrato negociado (Implcito o explicito) el cual incluye acuerdos de servicio, funcionalidad etc. (CBDI). La orientacin a servicios encapsulara procesos y sistemas
Ayuda

a administrar la complejidad Permite cambios controlados Soporta mejoramiento continuo

Arquitectura Orientada a Servicios


Una aproximacin para construir sistemas usando servicios los cuales se adhieren a 4 pilares: Los limites son explcitos  Los servicios son Autnomos  Los servicios comparten esquemas y contratos, no clases  La compatibilidad de los servicios, se determina basados en las polticas


Arquitectura Orientada a Servicios


Servicio Servicio
Servicio

Comunicacin Acuerdos / Esquemas


Bus

Acuerdos / Esquemas Comunicacin

Servicio

Servicio

Servicio

Beneficios de la Arquitectura Orientada a Servicios




Proveer servicios a los consumidores va interfaces estndares, publicadas y de fcil ubicacin  Soluciones basadas en protocolos estndares no en productos Eleva el nivel de abstraccin para reutilizacin del cdigo  Solventando problemas de heterogeneidad Provee de un modelo claro para integrar sistemas de software  Dentro de a empresa  Mas all de las fronteras organizacionales Provee de la bases para aplicaciones conectadas de clase mundial  El valor de negocio de las aplicaciones aisladas es limitado

SOA: Beneficios de TI
Escalabilidad de Servicios
Scales Up on large systems Scales In on a machine

Scales Away spans organizations and geographies

Scales Out by adding machines

Scales Down to devices

Confusin acerca de SOA


How do I get started building a SOA? What are the design issues for SOA implementation? How do I manage a SOA environment? Where are the best practices for SOA implementation? How do I aggregate services What does a successful SOA to create business processes? look like? What are the critical success Thisfactors for where is all fluff SOA? are the bits???

Qu es un Web Service?
Protocolos Internet Abiertos Web Service
Lgica de aplicacin encapsulada como un componente en la Web para ser usada por otros programas

Involucra: Involucra:  Poder preguntar por descripciones de los WS que ofrece un sitio


UDDI

WSDL Definir formatos y ordenamientos de los mensajes Contract Language


Formatos para enviar y recibir datos usando XML Todo lo anterior posible usando protocolos de internet abiertos

SOAP XML, HTTP, HTTPS

Servicios Web
E-mail WWW Servicios Web

Conecta Personas

Conecta Personas a Informacin

Conecta Aplicaciones

Servicios Web

Aplicacin

SOAP

Aplicacin

TCP/IP - HTTP

Base para los Web Services


Publicar, hallar, usar servicios: UDDI Interacciones de servicio: servicio: SOAP

Formato universal de datos: XML datos: Comunicacin ubicua: ubicua: Internet

Simples abiertos, Simples, abiertos, amplio soporte

Interoperatividad basada en servicios Web XML




Los Servicios Web XML han establecido una mecanismo para permitir que sistemas corriendo en plataformas completamente diferentes interoperen de una forma estndar. Las aplicaciones se pueden comunicar de una manera basada en estndares y agnstica a la plataforma Cmo cambia esto la arquitectura de la aplicacin?

Como incorporo servicios en mis aplicaciones?


Componentes de Interfaz de Usuario

Interfaz de Servicios Componentes de Negocio

Componentes de Acceso a Datos

Agentes de Servicios

Fuente de datos

Servicio

Fachadas

La clave

Interfaz Web

Usuario

Base de Datos

Lgica del Negocio

Fachada de Servicios

Mensaje

Arquitectura de los Web Services

Arquitectura WS
Roles Operaciones

Artefactos

Principales Trminos


Protocolo de transporte (Transportarlos) Codificacin de datos y mensajes (Invocarlos) Descripcin del servicio (Describirlos)
  

HTTP/HTTPS: Principalmente

SOAP: Simple Object Access Protocol

Bsqueda y localizacin de servicios (Descubrirlos)




WSDL: Web Service Description Language

UDDI: Universal Discovery, Description and Integration

Otra definicin: Programas accesibles en Internet que exponen su funcionalidad recibiendo/enviando mensajes SOAP a travs de HTTP(s) y describen su interfaz en WSDL

Ciclo de vida de los WS




Construccin (Build)
 

Despliegue (Deploy)
 

Diseo, desarrollo y test del servicio Definicin de la descripcin de la interfaz Publicacin y registro del servicio Despliegue de los ejecutables en la Web El servicio est operativo y accesible Gestin y administracin del servicio

Ejecucin (Run)


Gestin (Manage)


SOAP


Simple Object Access Protocol es el estndar defacto para interconexin Permite el intercambio de informacin estructurada y con tipos entre entidades (peers) descentralizados Codificacin y empaquetamiento basado en XML para intercambiar datos, mensajes, RPCs SOAP proporciona principalmente:  La construccin envelope ,  Un conjunto de reglas de codificacin,  La representacin de RPCs (convenciones)

Ejemplo SOAP

Respuesta Peticin

WSDL


SOAP permite expresar respuestas sueltas

invocaciones

Pero tambin es necesario describir los servicios, como colecciones de operaciones y respuestas Web Service Description Language fue desarrollado por Microsoft e IBM para describir servicios Web Independiente del mtodo de transporte o mtodo de codificacin final

Estructura WSDL

UDDI


Universal Description, Integration




Discovery

and

Desarrollado por IBM, Microsoft y Ariba

Permite mantener un registro global de Web Services


   

Con operaciones para: publicar (publish), ojear (browse) y retirar (un-publish) Web Services Registro replicado (y consistente!) Operado por IBM, Microsoft y HP Cualquier aplicacin (incluidos Search engines) pueden consultarlo para descubrir servicios

Estructura UDDI


Utiliza taxonomas estndares para clasificar servicios (NAICS, UNSPSC,...) Almacena tres tipos de informacin


White pages


Yellow Pages Green Pages


 

Nombre del negocio, informaciones de contacto, etc. Clasificacin de la compaa y el servicio (taxonomas) Informacin tcnica sobre los servicios, su descripcin, y cmo invocarlos

Funcionamiento UDDI

Comparacin de Web Services con Objetos y Componentes

Origen de los WS

COTS: Commercial-Off-The-Shelf


El Software: producto o servicio?


Me interesa vender mis componentes? Si tengo un componente bueno, quiero vendrselo a la competencia? Lo vendo o lo licencio? Me interesa mantenerlo? Y la formacin? Qu vende mi compaa, productos o servicios? Qu pasa con la calidad? Legalmente a qu me comprometo?

 

    

CORBA vs SOAP

CORBA vs SOAP


La arquitectura de los Web Services




Es ms simple  Usa Internet y sus tecnologas asociadas  Est menos optimizada  No dispone de POA, servicios comunes o simples, etc.

En ambos casos existen herramientas paraautomatizar la creacin de los listeners,proxies, stubs, skeletons, etc.

Objetos, Componentes y Servicios Web


Objetos Perspectiva arquitectnica
Elementos internos de un componente Junto con la aplicacin o el componente Mayoritariamente dentro de un componente software Fuerte Directa Pequea

Componentes
Elementos internos de un sistema Despliegue fsico (install-and-use) Mayoritariamente dentro de la empresa Dbil Middleware (eg. IIOP) Media-grande

Servicios Web
Elementos que se ven desde fuera del sistema El software existe en algn lado (connect-and-use) Mayoritariamente entre varias empresas Muy dbil Web-based (SOAP/XML sobre http) Media-grande

Modelo de despliegue

Niveles de intercambio de informacin Niveles de acoplamiento

Comunicacin Granularidad

Referencias
    

  

Vallecillo, Antonio. El Futuro de los Servicios Web. Universidad de Mlaga Naranjo, Julio. Arquitectura Basada en Servicios, Microsoft. lvarez, Jos Mauricio. EL Valor de Negocio de Arquitecturas Orientadas a Servicios. Microsoft. NET Architecture Center: Service Oriented Architecture http://msdn.microsoft.com/architecture/soa/ Understanding Service-Oriented Architecture http://msdn.microsoft.com/architecture/soa/default.aspx?pull= /library/en-us/dnmaj/html/aj1soa.asp Patterns & Practices http://www.microsoft.com/resources/practices FTPOnline: SPECIAL REPORT: Service-Oriented Architecture http://www.ftponline.com/special/soa/ MetaGroup Disruptive SOA Trends - Transcript 2034

Preguntas y Respuestas ?

You might also like