Sunteți pe pagina 1din 108

Arquitectura Orientada a Servicios (SOA)

Francelis Konrad

konrad.kols@hotmail.com

Objetivos
Comprender el estilo de arquitectura ms adecuado para soluciones de integracin. Caracterizar SOA (una iniciativa de industria) en trminos formales. Establecer relacin con estilos arquitectnicos de mayor grado de semejanza. Analizar puntualmente la relacin entre SOA y Web Services.
SOA como arquitectura, WS como implementacin.

Identificar los recursos de estado de arte para la realizacin de esta arquitectura

Agenda
INTRODUCCION Que es SOA? SOA COMO ESTILO DE ARQUITECTURA RELACION DE SOA CON LOS WEB SERVICES CUNDO NO ES APTO OPTAR POR UNA ARQUITECTURA SOA BENEFICIOS DE SOA CASO DE ESTUDIO CONCLUSIONES Y REFERENCIA

INTRODUCCION
QUEREMOS:

Diseos Fcilmente Adaptables Reutilizacin Sistemas con Mdulos Altamente Desacoplados Sistemas de Fcil Mantenimiento

INTRODUCCION
SOA facilita:
La interoperabilidad La reutilizacin La integracin entre aplicaciones La gilidad en la aplicacin de cambios

QUE ES SOA?
W3C: Conjunto de componentes que pueden ser invocados, cuyas descripciones de interfaces se pueden publicar y descubrir SEI rechaza esa definicin: Los componentes pueden no ser conjuntos La definicin slo considera los componentes y no la prctica o el arte de construir la arquitectura SEI : Estilo resultante de polticas, prcticas y frameworks que permiten que la funcionalidad de una aplicacin se pueda proveer y consumir como conjuntos de servicios, con una granularidad relevante para el consumidor. Los servicios pueden invocarse, publicarse y descubrirse y estn abstrados de su implementacin utilizando una sola forma estndar de interface

QUE ES SOA?
(IBM): Una arquitectura de aplicacin 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 definicin de interface y construye toda la topologa de la aplicacin como una topologa de interfaces, implementaciones y llamados a interfaces. Sera mejor llamada arquitectura orientada a interfaces. SOA es una relacin de servicios y consumidores de servicios, ambos suficientemente amplios para representar una funcin de negocios completa.

QUE ES SOA?
Francelis: SOA es un paradigma arquitectural que favorece la creacin de aplicaciones va la orquestacin de los servicios que interactan a travs de una variedad de interfaces basados en estndares. SOA no se deriva de una propuesta acadmica Service-oriented architecture fue descripta por primera vez por Gartner en 1996 SSA Research Note SPA-401-068, 12 de abril, Service Oriented Architectures, Part 1 y SSA Research Note SPA-401-069, 12 de abril, Service Oriented Architectures, Part 2

QUE ES SOA?
MITRE: Una aplicacin SOA es una coleccin de servicios Un servicio es la unidad atmica de una SOA Los servicios encapsulan procesos de negocios Los proveedores de servicios se registran solos Las instancias ms conocidas son los web services

SOA: Como Arquitectura


Estilos de Flujo de Datos
Tubera y filtros

Estilo

de

Estilos de Cdigo Mvil


Arquitectura de Mquinas Virtuales

Estilos Centrados en Datos


Arquitecturas de Pizarra o Repositorio

Estilos heterogneos
Sistemas de control de procesos Arquitecturas Basadas en Atributos

Estilos de Llamada y Retorno


Model-View-Controller (MVC) Arquitecturas en Capas Arquitecturas Orientadas a Objetos Arquitecturas Basadas en Componentes

Estilos Peer-to-Peer
Arquitecturas Basadas en Eventos Arquitecturas Orientadas a Servicios Arquitecturas Basadas en Recursos

SOA: Como Arquitectura

Estilo

de

Componente: Servicio Conectores: Antes, RPC Ahora, paso de mensajes Configuracin: Distribuido Constraint: Bajo acoplamiento, independencia de modelo de programacin, independencia de plataforma, transporte y protocolo por acuerdo de industria.

SOA: Como Arquitectura


Capa de Acceso

Estilo

de

Capa de Process Capa de Servicio Capa de Recursos

Evolucin de aplicaciones monolticas y cerradas a arquitectura de servicios reutilizables en red distribuidos en capas

SOA como Estilo de Arquitectura

SOA Como Arquitectura

Estilo

de

Implementacion de SOA

Estndares
OASIS (http://www.oasisopen.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 / WSReliableMessaging

Estndares
W3C (http://www.w3.org/2002/ws/) SOAP,WSDL XML Signature / Encryption, XKMS Semantic Web Services XML-binary Optimized Packaging (XOP) Message Transmission Optimization Mechanism (MTOM) Resource Representation SOAP Header Block (RRSHB) Web Services Choreography Description Language (WS-CDL) WS-Policy WS-Addressing WS-Eventing

Propiedades de SOA
Programacin Estructurada Granularidad Muy fina Objetos Componentes Servicios Fina Intermedia Gruesa

Contrato

Definido

Privado/Publico

Publico

Publicado

Reusabilidad

Baja

Baja

Intermedia

Alta

Acoplamiento

Fuerte

Fuerte

Dbil

Muy dbil

Dependencias

Tiempo de Compilacin

Tiempo de Compilacin

Tiempo de Compilacin

Run-Time

mbito de Comunicacin

IntraAplicacin

IntraAplicacin

InterAplicaciones

Inter-Empresas

Implementaciones RPC
SOA Puede ser implementado utilizando un amplio rango de tecnologas, incluyendo RPC, DCOM, CORBA o Web Services
DCOM ProtocoloRPC Formato mensaje Descripcin Descubrimiento Marshalling RPC NDR CORBA IIOP CDR JAVARMI IIOPoJRMP Java Serialization Format Java RMIRegistryo JNDI WS SOAP XML1.0 Namespaces WSDL UDDI Serialization

IDL Registry TypeLibrary Marshaller

OMGIDL NamingService

WS no requiere despliegue WS no requiere clientes especficos, ni drivers SOA se redefine como paso de mensajes, no RPC

Componentes de SOA lgicas - Contratos definidos por una o Servicios: Entidades

ms interfaces pblicas. Service provider: Entidad de software que implementa una especificacin de servicio. Service consumer (o requestor): Entidad de software que llama a un service provider. Tradicionalmente se lo llama cliente. Puede ser una aplicacin final u otro servicio. Service locator: Tipo especfico de service provider que acta como registry y permite buscar interfaces de service providers y sus ubicaciones. Service broker: Tipo especfico de service provider que puede pasar requerimientos de servicios a otros service providers.

RELACION DE SOA CON LOS WEB SERVICE


Arquitectura Las especificaciones de un servicio web son modulares. Incluyen: Protocolo de comunicacin Lenguaje de descripcin de servicios Protocolo de publicacin y descubrimiento de metadatos Normalmente oSOAP ( Simple Object Access Protocol) o WSDL ( Web Services Description Language) o UDDI (Universal Description Discovery and Integration )

RELACION DE SOA CON LOS WEB SERVICE


UDDI: define un modelo de datos para almacenar informacin de servicios y negocios.
SOAP(1998, IBM & W3C): Especificacin que describe mecanismos y un formato de mensaje (basado en XML) para intercambiar informacin entre aplicaciones, en un ambiente distribuido y descentralizado

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

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

RELACION DE SOA CON LOS WEB SERVICE


Metamodelo WSDL 2.4

Fuente: Red de Revista Cientficas de Amrica Latina, el Caribe, Portugal y Espaa, 2008.

CUNDO NO ES APTO OPTAR POR UNA ARQUITECTURA SOA

Cuando se tiene un ambiente de homogneos Cuando ocurre en tiempo real rendimiento es crtico Cuando las cosas no cambian

TI el

CASO DE ESTUDIO
Se basa en la integracin de dos aplicaciones: Un Sistema de multas de transito y un sistema de expedientes electrnicos. El sistema de multas de trnsito consiste en un webservice que permite el ingreso y consulta de multas por conductor o vehculo. A su vez el sistema de expedientes est compuesto de un Webservice, que permite la creacin y consulta de expedientes.

CASO Entorno

DE ESTUDIO: Definido

CASO Entorno

DE ESTUDIO: Definido

CASO DE ESTUDIO : Entorno Definido

Tooling BPEL Editor (Business Process Execution Language)

CASO DE ESTUDIO: Entorno Definido

OpenESB Features Tooling IEP Editor (Intelligent Event Processing)

CASO DE ESTUDIO

OpenESB Features Tooling Visual Service Assembly editor Composite Application Service Assembly

CASO DE ESTUDIO: Solucion

CASO DE ESTUDIO: Solucion

Conclusiones
SOA El estilo de arquitectura ms importante del momento, en desarrollo simultneo en la academia y la industria Cambio histrico en modelo de diseo, de programacin y de despliegue Propiedad del cdigo, control de la facturacin por su uso en ambientes de prueba y produccin Cambios sustanciales en modelo de negocios
Empresas ofrecen servicios a sus competidores ISV ofrecen servicios a otros ISVs

Implementacin posible de diversos modelos de computacin distribuida (Pizarra, agentes) Elaboracin acadmica todava pendiente

Recursos

Referencias

Referencias

Referencias

Referencias
Jason Bloomberg - The role of the serviceoriented architect. The Rational Edge, http://www.therationaledge.com/may_03/f_bloo mberg.jsp Marc Brooks (MITRE) - Service Oriented Architecture and Grid Computing. http://webservices.gov/Brooks32404.ppt Ian Foster, Carl Kesselman, Jeffrey Nick, Steven Tuecke. Physiology of the grid. http://www.globus.org/research/papers/ogsa.pdf Brian Randell, Rockford Lhotka - Bridge the gap between development and operation with Whitehorse. MSDN Magazine, Julio de 2004

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

Referencias
Roy Thomas Fielding. Architectural styles and the design of network-based software architectures. Tesis doctoral, University of California, Irvine, 2000. Kevin Mitchell. A matter of style: Web Services architectural patterns. XML Conference & Exposition 2002, Baltimore, 8 al 13 de diciembre de 2002. Http://www.ws-i.org Billy Reynoso - Documentos de arquitectura en http://www.microsoft.com/spanish/msdn/ arquitectura

Preguntas?
Gracias!!!

Perspectiva acadmica : SOA vs Objetos y Componentes distribuidos


Werner Vogels (Cornell University): Web Services y SOA no son objetos distribuidos. Los web services no requieren tecnologa de objetos distribuidos El intercambio de documentos es un concepto muy distinto a la instanciacin de un objeto, la invocacin de un mtodo de una instancia, la recepcin del resultado de la invocacin y la liberacin final de la instancia. Otros errores:
El debugging de web services es imposible...

Perspectiva acadmica : SOA vs Objetos y Componentes distribuidos


Werner Vogels - Otros errores:
document/literal

Web services son slo RPC para Internet


En SOAP 1.2 RPC/encoded es opcional, y se favorece La interaccin sincrnica en wide area no es escalable, la coordinacin de versiones ser siempre complicadsima

Se requiere HTTP para tener servicios


Soporte de protocolos diversos desde WSE y en .NET Framework 2

Perspectiva Acadmica : SOA vs Objetos y Componentes Distribuidos


Werner Vogels (cont.) Se requieren servidores de web para tener web services
Web debera haberse excluido, dejando simplemente services Hay herramientas que no requieren servidores de web: Simon Fells PocketSoap, Systinets WASP, IBMs Emerging Technologies Toolkit, Microsofts Web Services Enhancements (WSE). Sistemas de integracin de empresas como Artix y DocSOAP proporcionan desarrollo de web services que no requieren web servers

SOA & Grid Computing


Grid: Modelo de resolucin de problemas usando gran nmero de computadoras heterogneas organizadas en clusters 2003: alguna convergencia con web services
Open Grid Service Architecture (OGSA) implementa fundamentalmente WSDL y SOAP (Globus Toolkit 3 framework) Textos de Grid mencionan SOA como antecedente Alchemi Framework para Grid Computing en .NET, utilizando .NET Remoting y web services

Agregar Restricciones a Diagrama Lgico

Diseo con VS 2005 Class Designer


Sincronizacin de diagrama y cdigo Soporta diagramas similares a Class Diagram de UML, pero con acceso a mtodos, propiedades, etc
Agregar diagrama de clase Ver Class Details para ver y modificar interface de la clase Tambin se pueden tratar clases de otros assemblies referenciados

Recursos de SOA en Visual Studio 2005


Team System
Engine de modelado y herramientas de framework SOA en Visual Studio 2005 Resuelve el problema de roundtrip engineering Incluye Distributed System Designers
Application Connection Designer Class Designer Logical Datacenter Designer

...

Desarrollo de SOA en Team System


Application Connection Designer
Drag ExternalDatabase - Setear propiedades Exponer los datos via Web Service Interface (Web Service Endpoint) Drag ASP.NET web application para generar interface visual

Listo...

Deployment de SOA
Logical Datacenter Designer
Definir IIS en Zone Desmilitarizada (DMZ) En la zona interior, un IIS llamado AppServer y una mquina que corre SQL Server Conectar mediante Connection Tool

SOA vs Objetos y Componentes Distribuidos


Los componentes ofrecan reutilizacin, pero tambin acoplamiento relativamente alto. Las tecnologas seguan siendo propietarias.
An cuando CORBA era un esfuerzo ostensiblemente basado en estndares, en la prctica se deba trabajar con una nica implementacin comercial de la especificacin [The Rational Edge]

El mercado de componentes no se desarroll como se haba previsto

SOA vs Objetos y Componentes Distribuidos


Servicios APIs Beneficios Serequieremenos comunicacinyhay menossobrecarga Msfcilde implementary cambiar Menoscomplejidad cuandoelconsumidor oelproveedordeben cambiar.Slose requiereacordar procesosoestadosa niveldenegocios. Pocasinteracciones,de Muchasinteracciones, granogrueso degranofino Cadainteraccinesla misma Cadainteraccinesun pasoenunprocesode negocios.Nohay procesosoestadosde msbajonivel. Cadainteraccines diferente Muchasinteracciones paracompletarun procesodenegocios. Muchosprocesoso estadosintermedios.

S-ar putea să vă placă și