27
Arquitectura Orientada a Arquitectura Orientada a Servicios (SOA) Servicios (SOA) Wilfredo Vilchez Daza Wilfredo Vilchez Daza David David Sarzanaula Alvarez Sarzanaula Alvarez UNMSM-FISI UNMSM-FISI

Presentacion SOA

Embed Size (px)

Citation preview

Page 1: Presentacion SOA

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

Wilfredo Vilchez DazaWilfredo Vilchez DazaDavid David Sarzanaula Alvarez Sarzanaula Alvarez UNMSM-FISIUNMSM-FISI

Page 2: Presentacion SOA

AgendaAgendaHistoriaHistoriaObjetivosObjetivosDefinicionDefinicionComponentesComponentesCaracteristicasCaracteristicasPrincipios fundamentalesPrincipios fundamentalesBeneficiosBeneficiosEjemplosEjemplosSOAPSOAPConclucionesConclucionesReferenciasReferencias

Page 3: Presentacion SOA

HistoriaHistoriaSOA no se deriva de una propuesta SOA no se deriva de una propuesta académicaacadémicaNo hay No hay informes técnicos de SOA en informes técnicos de SOA en SEI SEI Service-oriented architecture,Service-oriented architecture, fue descrita por primera vez por fue descrita por primera vez por Gartner en 1996 Gartner en 1996 En el 2003, SOA entra al fin por En el 2003, SOA entra al fin por completo en el mundo de las completo en el mundo de las TI(Tecnologia de Informaion) TI(Tecnologia de Informaion) empresariales, atraves de los empresariales, atraves de los servicios Webservicios Web

Page 4: Presentacion SOA

SOA - ObjetivosSOA - Objetivos

Los grandes objetivos de SOA tienen Los grandes objetivos de SOA tienen que ver con ayudar a alinear las que ver con ayudar a alinear las capacidades de TI(Tecnologia de capacidades de TI(Tecnologia de Información) con los objetivos de Información) con los objetivos de negocio y proveer una infraestructura negocio y proveer una infraestructura técnicamente ágil para responder fácil técnicamente ágil para responder fácil y rápidamente a los cambios y rápidamente a los cambios requerimientosrequerimientos.

Page 5: Presentacion SOA

SOA - DefinicionSOA - Definicion

““La 'Arquitectura La 'Arquitectura Orientada a Orientada a Servicios ' (SOA), es Servicios ' (SOA), es un concepto de un concepto de arquitectura de arquitectura de software que define software que define la utilización de la utilización de servicios para dar servicios para dar soporte a los soporte a los requisitos del requisitos del negocio.negocio.““Permite la creación Permite la creación de sistemas de de sistemas de información información altamente altamente escalables que escalables que reflejan el negocio reflejan el negocio de lade la

Page 6: Presentacion SOA

SOA – SOA – Definicion(continuacion)Definicion(continuacion)

organización, a su organización, a su vez brinda una vez brinda una forma bien definida forma bien definida de exposición e de exposición e invocación de invocación de servicios servicios (comúnmente pero (comúnmente pero no exclusivamente no exclusivamente servicios web), lo servicios web), lo cual facilita la cual facilita la interacción entre interacción entre diferentes sistemas diferentes sistemas propios o de propios o de terceros..terceros..

Page 7: Presentacion SOA

SOA-ComponentesSOA-Componentes

Servicios: Entidades lógicas - Servicios: Entidades lógicas - Contratos definidos por una o Contratos definidos por una o más interfaces públicas.más interfaces públicas.Service provider(proveedor de Service provider(proveedor de servicios): Entidad de software servicios): Entidad de software que implementa una que implementa una especificación de servicio.especificación de servicio.Service consumer o Service consumer o requestor(Servicio al requestor(Servicio al consumidor o solicitante): consumidor o solicitante): Entidad de software que llama Entidad de software que llama a un service provider. a un service provider. Tradicionalmente se lo llama Tradicionalmente se lo llama “cliente”. Puede ser una “cliente”. Puede ser una aplicación final u otro servicio.aplicación final u otro servicio.

Page 8: Presentacion SOA

SOA-ComponentesSOA-Componentes

Service locator(Servicio de Service locator(Servicio de localización): Tipo específico de localización): Tipo específico de service proveedor que actúa como service proveedor que actúa como registro y permite buscar registro y permite buscar interfaces de service proveedor y interfaces de service proveedor y sus ubicaciones.sus ubicaciones.

Service broker(servicio corredor): Service broker(servicio corredor): Tipo específico de servicio Tipo específico de servicio proveedor que puede pasar proveedor que puede pasar requerimientosrequerimientosde servicios a otros service de servicios a otros service proveedor.proveedor.

Page 9: Presentacion SOA

SOA - CaracteristicasSOA - Caracteristicas

La interacción con los La interacción con los servicios, es decir es servicios, es decir es desacoplada. desacoplada. Puede involucrar Puede involucrar procesos de negocios procesos de negocios que se convierten en que se convierten en servicios servicios interoperables. interoperables. Clientes y otros Clientes y otros servicios pueden servicios pueden accede a servicios accede a servicios locales que se locales que se ejecutan en el mismo ejecutan en el mismo nivel. nivel.

Page 10: Presentacion SOA

SOA - CaracteristicasSOA - Caracteristicas

Clientes y otros Clientes y otros servicios acceden a servicios acceden a servicios remotos servicios remotos sobre una red que los sobre una red que los conecta. conecta. Estos servicios Estos servicios pueden usar un rango pueden usar un rango de protocolos y de protocolos y formatos de datos formatos de datos para comunicar para comunicar información.información.

Page 11: Presentacion SOA

Principios Principios Fundamentales. Fundamentales.

Los principios fundamentales Los principios fundamentales de la arquitectura estilo SOA de la arquitectura estilo SOA son: son:

Los servicios son autónomos. Los servicios son autónomos. Cada servicio SOA es Cada servicio SOA es mantenido, desarrollado, mantenido, desarrollado, instalado y versionado de instalado y versionado de forma independiente.forma independiente.

Los servicios son Los servicios son distribuibles. Los servicios SOA distribuibles. Los servicios SOA pueden ser localizados en pueden ser localizados en cualquier parte sobre la red, cualquier parte sobre la red, local o remotamente en tanto local o remotamente en tanto que la red soporte los que la red soporte los protocolos de comunicación protocolos de comunicación requeridosrequeridos..

Page 12: Presentacion SOA

Principios Principios Fundamentales. Fundamentales.

Los servicios son Los servicios son desacoplados. Cada servicio desacoplados. Cada servicio SOA es independiente de los SOA es independiente de los otros y puede ser reemplazado otros y puede ser reemplazado o actualizado sin romper con o actualizado sin romper con las aplicaciones que lo las aplicaciones que lo consumen en tanto que la consumen en tanto que la interface siga siendo interface siga siendo compatible. compatible.

Los servicios comparten Los servicios comparten esquemas y contratos no esquemas y contratos no clases. Los servicios SOA clases. Los servicios SOA comparten contratos y comparten contratos y esquemas cuando se esquemas cuando se comunican, no clases internas.comunican, no clases internas.

Page 13: Presentacion SOA

SOA-BeneficiosSOA-BeneficiosAlineación con el Alineación con el DominioDominio. El re-uso de . El re-uso de servicios comunes con servicios comunes con interfaces estándar interfaces estándar incrementa las incrementa las oportunidades de negocios oportunidades de negocios y reduce costos. y reduce costos. • • Abstracción.Abstracción. Los Los servicios son autónomos y servicios son autónomos y se accede a ellos a través se accede a ellos a través de un contrato formal lo de un contrato formal lo que provee desacople y que provee desacople y abstracción. abstracción. • • Capacidad de Capacidad de DescubrimientoDescubrimiento. Los . Los servicios pueden exponer servicios pueden exponer descripciones que permiten descripciones que permiten a otras aplicaciones y a otras aplicaciones y servicios localizarlos y servicios localizarlos y determinar de forma determinar de forma automática la interfaz.automática la interfaz.

Page 14: Presentacion SOA

EjemplosEjemplos

Ejemplos comunes de Ejemplos comunes de aplicaciones orientadas a aplicaciones orientadas a servicios incluyen: servicios incluyen:

Sistemas que comparten Sistemas que comparten información médica.(Harvard información médica.(Harvard Medical School) Medical School)

Sistemas de reservas Sistemas de reservas ((Starwood Hotels and Resorts) and Resorts)

Sistemas de WorkFlow. Sistemas de WorkFlow. (State Children’s (State Children’s Health Insurance Program) Program)

Page 15: Presentacion SOA

Servicio Web Un servicio web (en inglés, Web services) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones.

Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes

de ordenadores como Internet.

Page 16: Presentacion SOA

Arquitectura – Servicio Web

Page 17: Presentacion SOA

WSDL (Web Services Description Language)

Un formato XML que se utiliza para describir servicios Web

Neutral respecto al lenguaje de programación

¿Qué puede hacer el servicio?

¿Dónde reside?

¿Cómo invocarlo?

Page 18: Presentacion SOA

Estructura: Sección abstracta Definición de los tipos utilizados por el servicio (los tipos de las variables intercambiadas en los mensajes)

Un int de Java se transforma en su equivalente XML: xs:int

Sección concreta Define los puntos finales y su protocolo de enlace

Componentes:Servicio: descripción del servicio Punto final: dirección de acceso (típicamente una URL) Enlace: modo de comunicación subyacente (HTTP, etc.) Interfaz: definición de las operaciones y argumentos Operación: cada una de las operaciones, y su E/S Tipo: de los argumentos de E/S

Page 19: Presentacion SOA

Generacion archivos WDSL

De modo gráfico WSDL4J

Java2WSDL

Page 20: Presentacion SOA

UUDIP (Universal Description, Discovery and Integration)

Protocolo para interactuar con un servidor que proporciona operaciones (vıa SOAP) para registrar y buscar Servicios Web.Cada servicio se registra dando su nombre, una descripción del servicioOfrecer soporte para encontrar información sobre servicios Web y poder construir clientes

Page 21: Presentacion SOA

Estructura básica del UDDIP

Paginas blancas : Identificador y direcci´on de contacto de la empresa/organizacion que publica el Servicio WebPaginas amarillas : Descripciones de los Servicios Web ofrecidos usando diferentes tipos de categorizaciones Paginas verdes : Info. tecnica sobre los servicios web (URL de descarga del WSDL)

Page 22: Presentacion SOA

SOAP (siglas de Simple Object Access

Protocol) Es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML

Especifica: Un formato de mensaje para comunicaciones en una dirección, describiendo como se organiza la información en un documento XMLUna descripción de cómo su mensaje SOAP se debería transportar sobre HTTP y SMTP.

Es independiente del protocolo de transporte

Page 23: Presentacion SOA

Estructura de los mensajes SOA

Cononsiste en tres partes:Envelope: Un envoltorio que sirve de contenedor del mensaje, , describe el contenido del mensaje e indica cómo procesarloHead: información de coordinación, identificadores (p.e., transacciones), información de seguridad (p.e, certificados)Body: Contiene información específica a usar por las aplicaciones que usan o implementan el Servicio Web

Page 24: Presentacion SOA
Page 25: Presentacion SOA

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 26: Presentacion SOA

ReferenciasReferencias

Roy Thomas Fielding. “Architectural Roy Thomas Fielding. “Architectural styles and the design of network-based styles and the design of network-based software architectures”. Tesis doctoral, software architectures”. Tesis doctoral, University of California, Irvine, 2000.University of 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 al 13 de diciembre de 2002.Baltimore, 8 al 13 de diciembre de 2002.

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

Page 27: Presentacion SOA

¿Preguntas?¿Preguntas?