SOA: Arquitectura Orientada a Servicios - LDC Noticias...

108
Arquitectura Orientada a Arquitectura Orientada a Servicios (SOA) Servicios (SOA) Francelis Konrad Francelis Konrad [email protected] [email protected]

Transcript of SOA: Arquitectura Orientada a Servicios - LDC Noticias...

Page 1: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Arquitectura Orientada a Arquitectura Orientada a Servicios (SOA)Servicios (SOA)

Francelis KonradFrancelis [email protected]@hotmail.com

Page 2: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

ObjetivosObjetivosComprender el estilo de arquitectura Comprender el estilo de arquitectura más adecuado para soluciones de más adecuado para soluciones de integración.integración.Caracterizar SOA (una iniciativa de Caracterizar SOA (una iniciativa de industria) en términos formales.industria) en términos formales.Establecer relación con estilos Establecer relación con estilos arquitectónicos de mayor grado de arquitectónicos de mayor grado de semejanza.semejanza.Analizar puntualmente la relación entre Analizar puntualmente la relación entre SOA y Web Services.SOA y Web Services.

SOA como arquitectura, WS como SOA como arquitectura, WS como implementación.implementación.

Identificar los recursos de estado de arte Identificar los recursos de estado de arte para la realización de esta arquitecturapara la realización de esta arquitecturaSuministrar referencias de utilidad Suministrar referencias de utilidad académicaacadémica

Page 3: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

AgendaAgendaINTRODUCCIONINTRODUCCION¿ ¿ Que es SOA?Que es SOA?SOA COMO ESTILO DE ARQUITECTURASOA COMO ESTILO DE ARQUITECTURARELACION DE SOA CON LOS WEB SERVICESRELACION DE SOA CON LOS WEB SERVICESCUÁNDO NO ES APTO OPTAR POR UNA CUÁNDO NO ES APTO OPTAR POR UNA ARQUITECTURA SOA ARQUITECTURA SOA BENEFICIOS DE SOABENEFICIOS DE SOACASO DE ESTUDIOCASO DE ESTUDIOCONCLUSIONES Y REFERENCIACONCLUSIONES Y REFERENCIA

Page 4: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

INTRODUCCIONINTRODUCCION

Diseños Fácilmente AdaptablesDiseños Fácilmente Adaptables ReutilizaciónReutilización Sistemas con Módulos Altamente DesacopladosSistemas con Módulos Altamente Desacoplados Sistemas de Fácil MantenimientoSistemas de Fácil Mantenimiento

QUEREMOS:

Page 5: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

INTRODUCCIONINTRODUCCION

SOA facilita:SOA facilita:La interoperabilidadLa interoperabilidadLa reutilizaciónLa reutilizaciónLa integración entre aplicacionesLa integración entre aplicacionesLa ágilidad en la aplicación de cambiosLa ágilidad en la aplicación de cambios

Page 6: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

¿¿QUE ES SOA?QUE ES SOA?

W3C: “Conjunto de componentes que pueden ser W3C: “Conjunto de componentes que pueden ser invocados, cuyas descripciones de interfaces se invocados, cuyas descripciones de interfaces se pueden publicar y descubrir”pueden publicar y descubrir”SEI rechaza esa definición:SEI rechaza esa definición:

Los componentes pueden no ser conjuntosLos componentes pueden no ser conjuntosLa definición sólo considera los componentes y La definición sólo considera los componentes y no la práctica o el arte de construir la no la práctica o el arte de construir la arquitecturaarquitectura

SEI : “SEI : “Estilo resultante de políticas, prácticas y Estilo resultante de políticas, prácticas y frameworksframeworks que permiten que la funcionalidad de que permiten que la funcionalidad de una aplicación se pueda proveer y consumir como una aplicación se pueda proveer y consumir como conjuntos de servicios, con una granularidad conjuntos de servicios, con una granularidad relevante para el consumidor. Los servicios pueden relevante para el consumidor. Los servicios pueden invocarse, publicarse y descubrirse y están invocarse, publicarse y descubrirse y están abstraídos de su implementación utilizando una abstraídos de su implementación utilizando una sola forma estándar de interface”sola forma estándar de interface”

Page 7: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

¿QUE ES SOA?¿QUE ES SOA? (IBM): “Una arquitectura de aplicación en la cual todas las

funciones se definen como servicios independientes con interfaces invocables bien definidas, que pueden ser llamadas en secuencias definidas para formar procesos de negocios” (IBM).

Gartner: “SOA es una arquitectura de software que comienza con una definición de interface y construye toda la topología de la aplicación como una topología de interfaces, implementaciones y llamados a interfaces. Sería mejor llamada “arquitectura orientada a interfaces”. SOA es una relación de servicios y consumidores de servicios, ambos suficientemente amplios para representar una función de negocios completa”.

Page 8: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

¿QUE ES SOA?¿QUE ES SOA?

Francelis:Francelis: “ “SOA es un SOA es un paradigma arquitectural que favorece la paradigma arquitectural que favorece la

creación de creación de aplicaciones vía la orquestación de los aplicaciones vía la orquestación de los servicios que interactúan a través de una variedad de servicios que interactúan a través de una variedad de interfaces interfaces basados en estándares”.basados en estándares”.SOA no se deriva de una propuesta académicaSOA no se deriva de una propuesta académicaService-oriented architectureService-oriented architecture fue descripta por primera fue descripta por primera vez por Gartner en 1996 vez por Gartner en 1996

SSA SSA Research Note Research Note SPA-401-068, 12 de abril, SPA-401-068, 12 de abril, “‘Service Oriented’ Architectures, Part 1” y SSA “‘Service Oriented’ Architectures, Part 1” y SSA Research Note Research Note SPA-401-069, 12 de abril, “‘Service SPA-401-069, 12 de abril, “‘Service Oriented’ Architectures, Part 2”Oriented’ Architectures, Part 2”

Page 9: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

¿QUE ES SOA?¿QUE ES SOA?

MITRE:MITRE:Una aplicación SOA es una colección de serviciosUna aplicación SOA es una colección de serviciosUn servicio es la unidad atómica de una SOAUn servicio es la unidad atómica de una SOALos servicios encapsulan procesos de negociosLos servicios encapsulan procesos de negociosLos proveedores de servicios se registran solosLos proveedores de servicios se registran solosLas instancias más conocidas son los web servicesLas instancias más conocidas son los web services

Page 10: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

SOA: Como Estilo de SOA: Como Estilo de ArquitecturaArquitectura

Estilos de Flujo de DatosEstilos de Flujo de DatosTubería y filtrosTubería y filtros

Estilos Centrados en Estilos Centrados en DatosDatos

Arquitecturas de Pizarra o Arquitecturas de Pizarra o RepositorioRepositorio

Estilos de Llamada y Estilos de Llamada y RetornoRetorno

Model-View-Controller Model-View-Controller (MVC)(MVC)Arquitecturas en CapasArquitecturas en CapasArquitecturas Orientadas Arquitecturas Orientadas a Objetosa ObjetosArquitecturas Basadas en Arquitecturas Basadas en ComponentesComponentes

Estilos de Código MóvilEstilos de Código MóvilArquitectura de Arquitectura de Máquinas VirtualesMáquinas Virtuales

Estilos heterogéneosEstilos heterogéneosSistemas de control de Sistemas de control de procesosprocesosArquitecturas Basadas Arquitecturas Basadas en Atributosen Atributos

Estilos Peer-to-PeerEstilos Peer-to-PeerArquitecturas Basadas Arquitecturas Basadas en Eventosen EventosArquitecturas Orientadas Arquitecturas Orientadas a Serviciosa ServiciosArquitecturas Basadas Arquitecturas Basadas en Recursosen Recursos

Page 11: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

SOA: Como Estilo de SOA: Como Estilo de ArquitecturaArquitectura

Componente: ServicioComponente: ServicioConectores: Antes, RPC – Ahora, paso de Conectores: Antes, RPC – Ahora, paso de mensajesmensajesConfiguración: DistribuidoConfiguración: DistribuidoConstraint: Bajo acoplamiento, Constraint: Bajo acoplamiento, independencia de modelo de independencia de modelo de programación, independencia de programación, independencia de plataforma, transporte y protocolo por plataforma, transporte y protocolo por acuerdo de industria.acuerdo de industria.

Page 12: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

SOA: Como Estilo de SOA: Como Estilo de ArquitecturaArquitectura

 

Evolución de aplicaciones monolíticas y cerradas a arquitectura de servicios reutilizables en red distribuidos en capas

Capa de Acceso

Capa de Process

Capa de Servicio

Capa de Recursos

Page 13: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

SOA como Estilo de SOA como Estilo de ArquitecturaArquitectura

 

Page 14: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

SOA Como Estilo de SOA Como Estilo de ArquitecturaArquitectura

 

Page 15: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Implementacion de SOAImplementacion de SOA

Page 16: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

EstándaresEstándaresOASIS (http://www.oasis-open.org/specs/)• Universal Description, Discovery and Integration (UDDI)• Web Services Business Process Execution Language (BPEL)• Web Services Security (WS-Security)• WS-SecureConversation• WS-Trust• Web Services for Remote Portlets (WSRP)• eXtensible Access Control Markup Language (XACML)• WS-Reliability / WS-ReliableMessaging

Page 17: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

EstándaresEstándares

W3C (http://www.w3.org/2002/wsW3C (http://www.w3.org/2002/ws/)/)

SOAP,WSDLSOAP,WSDL XML Signature / Encryption, XKMSXML Signature / Encryption, XKMS Semantic Web ServicesSemantic Web Services XML-binary Optimized Packaging (XOP)XML-binary Optimized Packaging (XOP) Message Transmission Optimization Mechanism Message Transmission Optimization Mechanism (MTOM)(MTOM) Resource Representation SOAP Header Block Resource Representation SOAP Header Block (RRSHB)(RRSHB) Web Services Choreography Description Language Web Services Choreography Description Language (WS-CDL)(WS-CDL) WS-PolicyWS-Policy WS-AddressingWS-Addressing WS-EventingWS-Eventing

Page 18: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Propiedades de SOAPropiedades de SOA 

ProgramaciónEstructurada

Objetos Componentes Servicios

Granularidad Muy fina Fina Intermedia Gruesa

Contrato Definido Privado/Publico Publico Publicado

Reusabilidad Baja Baja Intermedia Alta

Acoplamiento Fuerte Fuerte Débil Muy débil

DependenciasTiempo de

CompilaciónTiempo de

CompilaciónTiempo de

Compilación Run-Time

Ámbito deComunicación

Intra-Aplicación

Intra-Aplicación

Inter-Aplicaciones Inter-Empresas

Page 19: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Implementaciones RPCImplementaciones RPC

DCOM CORBA JAVA RMI WS

Protocolo RPC RPC IIOP IIOP o JRMP SOAP

Formatomensaje

NDR CDR JavaSerializationFormat

XML 1.0Namespaces

Descripción IDL OMG IDL Java WSDL

Descubrimiento Registry Naming Service RMI Registry oJNDI

UDDI

Marshalling Type LibraryMarshaller

Serialization

•WS no requiere despliegueWS no requiere despliegue•WS no requiere clientes específicos, ni WS no requiere clientes específicos, ni driversdrivers•SOA se redefine como paso de mensajes, no RPCSOA se redefine como paso de mensajes, no RPC

SOA Puede ser implementado utilizando un amplio rango de tecnologías, incluyendo RPC, DCOM, CORBA o Web Services

Page 20: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Componentes de Componentes de SOASOA

Servicios: Entidades lógicas - Contratos definidos por una o Servicios: Entidades lógicas - Contratos definidos por una o más interfaces públicas.más interfaces públicas.Service provider: Entidad de software que implementa una Service provider: Entidad de software que implementa una especificación de servicio.especificación de servicio.Service consumer (o requestor): Entidad de software que Service consumer (o requestor): Entidad de software que llama a un service provider. Tradicionalmente se lo llama llama a un service provider. Tradicionalmente se lo llama “cliente”. Puede ser una aplicación final u otro servicio.“cliente”. Puede ser una aplicación final u otro servicio.Service locator: Tipo específico de service provider que actúa Service locator: Tipo específico de service provider que actúa como registry y permite buscar interfaces de service como registry y permite buscar interfaces de service providers y sus ubicaciones.providers y sus ubicaciones.Service broker: Tipo específico de serviceService broker: Tipo específico de serviceprovider que puede pasar requerimientosprovider que puede pasar requerimientosde servicios a otros service providers.de servicios a otros service providers.

Page 21: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

RELACION DE SOA CON RELACION DE SOA CON LOS WEB SERVICELOS WEB SERVICE

Arquitectura

Las especificaciones de un servicio web son modulares. Incluyen:

Protocolo de comunicación

Lenguaje de descripción de servicios

Protocolo de publicación y descubrimiento de metadatos

NormalmenteoSOAP ( Simple Object Access Protocol)o WSDL ( Web Services Description Language)o UDDI (Universal Description Discovery and Integration)

Page 22: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

RELACION DE SOA CON RELACION DE SOA CON LOS WEB SERVICELOS WEB SERVICE

SOAP(1998, IBM & W3C): Especificación que describe mecanismos y un formato de mensaje (basado en XML) para intercambiar información entre aplicaciones, en un ambiente distribuido y descentralizado

UDDI: define un modelo de datos para almacenar información de servicios y negocios.

WSDL: Lenguaje basado en XML que permite describir la interfaz y otras características de un Web Service

http://www14.informatik.tu-muenchen.de/konferenzen/Jass05/courses/6/Papers/10.pdf

Page 23: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

RELACION DE SOA CON RELACION DE SOA CON LOS WEB SERVICELOS WEB SERVICE

Fuente: Red de Revista Científicas de América Latina, el Caribe,

Portugal y España, 2008.

Metamodelo WSDL 2.4

Page 24: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

CUÁNDO NO ES APTO OPTAR CUÁNDO NO ES APTO OPTAR POR UNA ARQUITECTURA SOA POR UNA ARQUITECTURA SOA

Cuando se tiene un ambiente de TI Cuando se tiene un ambiente de TI homogéneos homogéneos Cuando ocurre en tiempo real el Cuando ocurre en tiempo real el rendimiento es críticorendimiento es críticoCuando las cosas no cambianCuando las cosas no cambian

Page 25: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

CASO DE ESTUDIO CASO DE ESTUDIO

Se basa en la integración de dos aplicaciones: Un Sistema de multas de transito y un sistema de expedientes electrónicos.

El sistema de multas de tránsito consiste en un webservice que permite el ingreso y consulta de multas por conductor o vehículo. A su vez el sistema de expedientes está compuesto de un Webservice, que permite la creación y consulta de expedientes.

Page 26: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

CASO DE ESTUDIO: CASO DE ESTUDIO: Entorno Definido Entorno Definido

Page 27: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

CASO DE ESTUDIO: CASO DE ESTUDIO: Entorno Definido Entorno Definido

Page 28: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

CASO DE ESTUDIO : CASO DE ESTUDIO : Entorno DefinidoEntorno Definido

Tooling – BPEL Editor (Business Process ExecutionLanguage)

Page 29: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

OpenESB FeaturesTooling – IEP Editor (Intelligent Event Processing)

CASO DE ESTUDIO: Entorno CASO DE ESTUDIO: Entorno Definido Definido

Page 30: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

CASO DE ESTUDIO CASO DE ESTUDIO

OpenESB FeaturesTooling – Visual Service Assembly editorComposite Application Service Assembly

Page 31: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

CASO DE ESTUDIO: CASO DE ESTUDIO: Solucion Solucion

Page 32: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

CASO DE ESTUDIO: CASO DE ESTUDIO: Solucion Solucion

Page 33: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

ConclusionesConclusiones

SOA – El estilo de arquitectura más importante del SOA – El estilo de arquitectura más importante del momento, en desarrollo simultáneo en la momento, en desarrollo simultáneo en la academia y la industriaacademia y la industriaCambio histórico en modelo de diseño, de Cambio histórico en modelo de diseño, de programación y de despliegueprogramación y de desplieguePropiedad del código, control de la facturación por Propiedad del código, control de la facturación por su uso en ambientes de prueba y producciónsu uso en ambientes de prueba y producciónCambios sustanciales en modelo de negociosCambios sustanciales en modelo de negocios

Empresas ofrecen servicios a sus competidoresEmpresas ofrecen servicios a sus competidoresISV ofrecen servicios a otros ISVsISV ofrecen servicios a otros ISVs

Implementación posible de diversos modelos de Implementación posible de diversos modelos de computación distribuida (Pizarra, agentes…)computación distribuida (Pizarra, agentes…)Elaboración académica todavía pendienteElaboración académica todavía pendiente

Page 34: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

RecursosRecursos

Page 45: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

ReferenciasReferencias

Page 46: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

ReferenciasReferencias

Page 47: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

ReferenciasReferencias

Page 48: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

ReferenciasReferencias

Jason Bloomberg - “The role of the service-Jason Bloomberg - “The role of the service-oriented architect”. The Rational Edge, oriented architect”. The Rational Edge, http://www.therationaledge.com/may_03/f_bloohttp://www.therationaledge.com/may_03/f_bloomberg.jspmberg.jspMarc Brooks (MITRE) - “Service Oriented Marc Brooks (MITRE) - “Service Oriented Architecture and Grid Computing”. http://web-Architecture and Grid Computing”. http://web-services.gov/Brooks32404.pptservices.gov/Brooks32404.pptIan Foster, Carl Kesselman, Jeffrey Nick, Steven Ian Foster, Carl Kesselman, Jeffrey Nick, Steven Tuecke. “Physiology of the grid”. Tuecke. “Physiology of the grid”. http://www.globus.org/research/papers/ogsa.pdfhttp://www.globus.org/research/papers/ogsa.pdfBrian Randell, Rockford Lhotka - “Bridge the gap Brian Randell, Rockford Lhotka - “Bridge the gap between development and operation with between development and operation with Whitehorse”. MSDN Magazine, Julio de 2004Whitehorse”. MSDN Magazine, Julio de 2004

Page 49: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

ReferenciasReferencias

Werner Vogels - “Web services are not Werner Vogels - “Web services are not distributed objects”. distributed objects”. Http://weblogs.cs.cornell.edu/AllThingsDisHttp://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000119.html - 2003tributed/archives/000119.html - 2003Luis Felipe Cabrera, Christopher Kurt, Don Luis Felipe Cabrera, Christopher Kurt, Don Box. “An introduction to the Web Service Box. “An introduction to the Web Service Architecture and its specifications”. MSDN Architecture and its specifications”. MSDN Library, Setiembre 2004Library, Setiembre 2004

Page 53: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

ReferenciasReferencias

Roy Thomas Fielding. “Architectural styles Roy Thomas Fielding. “Architectural styles and the design of network-based software and the design of network-based software architectures”. Tesis doctoral, University of architectures”. Tesis doctoral, University of California, Irvine, 2000.California, Irvine, 2000.

Kevin Mitchell. “A matter of style: Web Kevin Mitchell. “A matter of style: Web Services architectural patterns”. Services architectural patterns”. XML XML Conference & Exposition 2002Conference & Exposition 2002, Baltimore, 8 , Baltimore, 8 al 13 de diciembre de 2002.al 13 de diciembre de 2002.

Http://www.ws-i.orgHttp://www.ws-i.orgBilly Reynoso - Documentos de arquitectura Billy Reynoso - Documentos de arquitectura en http://www.microsoft.com/spanish/msdn/en http://www.microsoft.com/spanish/msdn/arquitecturaarquitectura

Page 55: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

¿Preguntas?¿Preguntas?

Gracias!!!

Page 98: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Perspectiva académica : Perspectiva académica : SOA vs Objetos y Componentes SOA vs Objetos y Componentes distribuidosdistribuidos

Werner Vogels (Cornell University): Web Werner Vogels (Cornell University): Web Services y SOA no son objetos distribuidos.Services y SOA no son objetos distribuidos.

Los web services no requieren tecnología Los web services no requieren tecnología de objetos distribuidosde objetos distribuidosEl intercambio de documentos es un El intercambio de documentos es un concepto muy distinto a la instanciación de concepto muy distinto a la instanciación de un objeto, la invocación de un método de un objeto, la invocación de un método de una instancia, la recepción del resultado de una instancia, la recepción del resultado de la invocación y la liberación final de la la invocación y la liberación final de la instancia.instancia.Otros errores:Otros errores:

El debugging de web services es imposible...El debugging de web services es imposible...

Page 99: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Perspectiva académica : Perspectiva académica : SOA vs Objetos y Componentes SOA vs Objetos y Componentes distribuidosdistribuidos

Werner Vogels - Otros errores:Werner Vogels - Otros errores:““Web services son sólo RPC para Internet”Web services son sólo RPC para Internet”

En SOAP 1.2 En SOAP 1.2 RPC/encodedRPC/encoded es opcional, y se favorece es opcional, y se favorece document/literaldocument/literal

La interacción sincrónica en La interacción sincrónica en wide areawide area no es no es escalable, la coordinación de versiones será escalable, la coordinación de versiones será siempre complicadísimasiempre complicadísima

““Se requiere HTTP para tener servicios”Se requiere HTTP para tener servicios”Soporte de protocolos diversos desde WSE y en Soporte de protocolos diversos desde WSE y en .NET Framework 2.NET Framework 2

Page 100: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Perspectiva Académica : Perspectiva Académica : SOA vs Objetos y Componentes SOA vs Objetos y Componentes DistribuidosDistribuidos

Werner Vogels (cont.)Werner Vogels (cont.)““Se requieren servidores de web para tener Se requieren servidores de web para tener web services”web services”

““Web” debería haberse excluido, dejando Web” debería haberse excluido, dejando simplemente “services”simplemente “services”

Hay herramientas que no requieren servidores Hay herramientas que no requieren servidores de web: Simon Fell’s PocketSoap, Systinet’s de web: Simon Fell’s PocketSoap, Systinet’s WASP, IBM’s Emerging Technologies Toolkit, WASP, IBM’s Emerging Technologies Toolkit, Microsoft’s Web Services Enhancements (WSE).Microsoft’s Web Services Enhancements (WSE).

Sistemas de integración de empresas como Artix Sistemas de integración de empresas como Artix y DocSOAP proporcionan desarrollo de web y DocSOAP proporcionan desarrollo de web services que no requieren web serversservices que no requieren web servers

Page 101: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

SOA & Grid ComputingSOA & Grid Computing

Grid: Modelo de resolución de problemas usando gran Grid: Modelo de resolución de problemas usando gran número de computadoras heterogéneas organizadas en número de computadoras heterogéneas organizadas en clustersclusters2003: alguna convergencia con web services2003: alguna convergencia con web services

Open Grid Open Grid Service ArchitectureService Architecture (OGSA) implementa (OGSA) implementa fundamentalmente WSDL y SOAP (Globus Toolkit 3 fundamentalmente WSDL y SOAP (Globus Toolkit 3 framework)framework)Textos de Grid mencionan SOA como antecedenteTextos de Grid mencionan SOA como antecedenteAlchemi – Framework para Grid Computing en .NET, utilizando Alchemi – Framework para Grid Computing en .NET, utilizando .NET Remoting y web services.NET Remoting y web services

Page 102: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Agregar Restricciones a Agregar Restricciones a Diagrama LógicoDiagrama Lógico

Page 103: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Diseño con VS 2005 Class Diseño con VS 2005 Class DesignerDesigner

Sincronización de diagrama y códigoSincronización de diagrama y códigoSoporta diagramas similares a Class Soporta diagramas similares a Class Diagram de UML, pero con acceso a Diagram de UML, pero con acceso a métodos, propiedades, etcmétodos, propiedades, etc

Agregar diagrama de claseAgregar diagrama de claseVer Class Details para ver y modificar Ver Class Details para ver y modificar interface de la claseinterface de la claseTambién se pueden tratar clases de También se pueden tratar clases de otros otros assembliesassemblies referenciados referenciados

Page 104: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Recursos de SOA en Visual Recursos de SOA en Visual Studio 2005Studio 2005

Team SystemTeam SystemEngineEngine de modelado y herramientas de de modelado y herramientas de framework SOA en Visual Studio 2005framework SOA en Visual Studio 2005Resuelve el problema de Resuelve el problema de roundtrip roundtrip engineeringengineeringIncluye Distributed System DesignersIncluye Distributed System Designers

Application Connection DesignerApplication Connection DesignerClass DesignerClass DesignerLogical Datacenter DesignerLogical Datacenter Designer

......

Page 105: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Desarrollo de SOA en Team Desarrollo de SOA en Team SystemSystem

Application Connection DesignerApplication Connection DesignerDrag ExternalDatabase - SetearDrag ExternalDatabase - SetearpropiedadespropiedadesExponer los datos via Web ServiceExponer los datos via Web ServiceInterface (Web Service Endpoint)Interface (Web Service Endpoint)Drag ASP.NET web applicationDrag ASP.NET web applicationpara generar interface visualpara generar interface visual

Listo...Listo...

Page 106: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

Deployment de SOADeployment de SOA

Logical Datacenter DesignerLogical Datacenter DesignerDefinir IIS en Zone DesmilitarizadaDefinir IIS en Zone Desmilitarizada(DMZ)(DMZ)En la zona interior, un IIS En la zona interior, un IIS llamado AppServer y una llamado AppServer y una máquina que corremáquina que correSQL ServerSQL ServerConectar medianteConectar medianteConnection ToolConnection Tool

Page 107: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

SOA vs Objetos y SOA vs Objetos y Componentes DistribuidosComponentes Distribuidos

Los componentes ofrecían reutilización, Los componentes ofrecían reutilización, pero también acoplamiento pero también acoplamiento relativamente alto.relativamente alto.Las tecnologías seguían siendo Las tecnologías seguían siendo propietarias. propietarias.

““Aún cuando CORBA era un esfuerzo Aún cuando CORBA era un esfuerzo ostensiblemente basado en estándares, en la ostensiblemente basado en estándares, en la práctica se debía trabajar con una única práctica se debía trabajar con una única implementación comercial de la implementación comercial de la especificación” [especificación” [The Rational EdgeThe Rational Edge]]

El mercado de componentes no se El mercado de componentes no se desarrolló como se había previstodesarrolló como se había previsto

Page 108: SOA: Arquitectura Orientada a Servicios - LDC Noticias ...yudith/docencia/UCV/Exposiciones/SOA_UCVV0.2.… · agenda introduccion ¿ que es soa? soa como estilo de arquitectura relacion

SOA vs Objetos y SOA vs Objetos y Componentes DistribuidosComponentes DistribuidosServicios APIs Beneficios

Pocas interacciones, degrano grueso

Muchas interacciones,de grano fino

Se requiere menoscomunicación y haymenos sobrecarga

Cada interacción es lamisma

Cada interacción esdiferente

Más fácil deimplementar ycambiar

Cada interacción es unpaso en un proceso denegocios. No hayprocesos o estados demás bajo nivel.

Muchas interaccionespara completar unproceso de negocios.Muchos procesos oestados intermedios.

Menos complejidadcuando el consumidoro el proveedor debencambiar. Sólo serequiere acordarprocesos o estados anivel de negocios.