Sunteți pe pagina 1din 50

ARQUITECTURA ORIENTADA A SERVICIOS - SOA

Introduccin y fundamentos

Presentacin
Docente: Msc. FREDY H. VERA R. Ingeniero de Sistemas - UIS. Magister en Ingeniera rea informtica y Ciencias de la computacin - UIS.

Agenda
Objetivo Competencias Metodologa de la clase Introduccin a SOA Arquitectura Orientada a Servicios - SOA Web Services Composicin de Servicios Actividad de tiempo independiente Taller Bibliografa

Agenda
Objetivo
Competencias Metodologa de la clase Introduccin Arquitectura Orientada a Servicios - SOA Web Services Composicin de Servicios Actividad de tiempo independiente Taller Bibliografa

Objetivo
Proporcionar al estudiante una fundamentacin terica para el anlisis y diseo de mecanismos de integracin de aplicaciones empresariales usando la arquitectura orientada a servicios .

Agenda
Objetivo

Competencias
Metodologa de la clase Introduccin a SOA Arquitectura Orientada a Servicios - SOA Web Services Composicin de Servicios Actividad de tiempo independiente Taller Bibliografa

Competencias
Procedimentales Entiende el modelo de desarrollo de aplicaciones basadas en servicios. Comprende cmo realizar la integracin de sistemas por medio de la implementacin de SOA y los servicios web.

Competencias
Cognitivas Conoce los trminos, siglas y definiciones fundamentales de arquitectura orientada a servicios. Identifica y describe los principales componentes de la arquitectura orientada a servicios Identifica los principios y caractersticas de la arquitectura orientada a servicios. Conoce los estndares y protocolos para la implementacin de servicios web.

Competencias
Actitudinales Asume con creatividad, honestidad y responsabilidad el diseo de soluciones computacionales utilizando la arquitectura orientada a servicios. Participa en grupos o equipos de trabajo, analizando y discutiendo sobre soluciones dadas a problemas usando la arquitectura orientada a servicios.

Agenda
Objetivo Competencias

Metodologa de la clase
Introduccin a SOA Arquitectura Orientada a Servicios - SOA Web Services Composicin de Servicios Actividad de tiempo independiente Taller Bibliografa

Metodologa de la Clase
Clase Magistral

Exposicin de los fundamentos tericos de SOA.

Taller en grupo

En grupos de dos personas resolver las preguntas planteadas en el taller Sustentacin y discusin grupal de las respuestas al taller planteado

Puestas en comn

Evaluacin

Presentacin escrita del taller Sustentacin y participacin en la discusin grupal

Agenda
Objetivo Competencias Metodologa de la clase

Introduccin a SOA
Arquitectura Orientada a Servicios - SOA Web Services Composicin de Servicios Actividad de tiempo independiente Taller Bibliografa

Introduccin a SOA
Antecedentes El termino Arquitectura orientada a servicios - SOA por sus siglas en ingles (Service Oriented Architecture) se viene trabajando desde los 80 fue impulsado por las comunidades desarrolladoras de software basado en componentes. En 1996 Gartner Inc. Describe por primera vez SOA en sus artculos: Service Oriented Architectures. En 2003 ingresa en las TI empresariales a travs de los servicios web.

Evolucin de las Arquitecturas de Software


Monolticas

Cliente / Servidor Web Multicapa Orientada a servicios

Introduccin a SOA

Tomado de SmartJSP: http://72.55.164.244:8090/web/guest/soa, visitada el 01/04/2013

Construccin de Sistemas Orientados a Servicios


Servicio Web

Servicio Web Servicio Web


Servicio Web

Servicio Web

Servicio Web

Servicio Web
Servicio Web

Servicio Web

Construccin de Sistemas Orientados a Servicios


La construccin se realiza basada en componentes, donde el componente principal es el Servicio Web. Los sistemas empresariales se realizan ensamblando y reutilizando servicios de diferentes niveles.

Construccin de Sistemas Orientados a Servicios

Agenda

Objetivo Competencias Metodologa de la clase Introduccin a SOA


Web Services Composicin de Servicios Actividad de tiempo independiente Taller Bibliografa

Arquitectura Orientada a Servicios - SOA

Arquitectura Orientada a Servicios SOA

Tomado de http://2.bp.blogspot.com/-N6SCTx6oqEo/UTl_crRcaHI/AAAAAAAAA14/roF9n6ErHtg/s1600/1-wso2-productplatform-all-prod_Sep_2009.png - Visitada el 02/04/2013

Definicin de Arquitectura
Arquitectura RAE: Estructura lgica y fsica de los componentes de un computador. Estructura: Distribucin y orden de las partes importantes que componen un todo.

La arquitectura define la forma como se organizan y se interrelacionan los diversos componentes de un sistema. (Toro, Victor, 2007)
Organizacin fundamental de un sistema descrita en sus componentes, la relacin entre ellos y con el ambiente (IEEE)

Definicin de arquitectura SOA


Segn W3C: Conjunto de componentes que pueden ser invocados, cuyas descripciones de interfaces se pueden publicar y descubrir Segn Thomas Erl: SOA es una forma de arquitectura tecnolgica que adhiere los principios de la orientacin a servicios. Los cuales son implementados por medio de Servicios Web, establece el potencial para soportar y promover estos principios a travs de los proceso de negocio de una empresa.

Principios de la orientacin a servicios


Orientacin a Servicios Bajo acoplamiento Contrato de servicio

Autonoma

Abstraccin

Reusabilidad

Detectibilidad

Caractersticas principales de SOA


Basada en estndares abiertos arquitectnicamente ensamblable

SOA

Capaz de mejorar la calidad del servicio QoS Servicios autnomos y granulares Proveedores y consumidores dbilmente acoplados

Componentes bsicos de SOA


Elemento
Procesos

Estndar
BPEL

Lenguaje de ejecucin de procesos de negocio


Registro Repositorio.

Descubrir

UDDI
WSDL WADL

Describir

Especificacin, como se usa Creacin, llamado y recepcin de mensajes Medio de comunicacin

Mensajes

SOAP REST
HTTP

Transporte

Componentes bsicos de SOA


BPEL: Lenguaje de ejecucin de procesos de negocio. Consiste en un lenguaje basado en XML diseado para el control centralizado de la invocacin y creacin de diferentes servicios Web para los procesos de negocio. UDDI: Universal Description, Discovery and Integration. Permite el registro y catalogacin dentro del directorio o repositorio de servicios web.

Componentes bsicos de SOA


WSDL: Lenguaje de definicin de servicios web. Es la especificacin del servicio web, establece su ubicacin y la forma como se debe utilizar. WADL: Web Application Description Language. Describe un servicio REST de manera similar a cmo el WSDL describe un servicio SOAP

Componentes bsicos de SOA

Ventajas y desventajas de usar SOA


Ventajas Se puede reemplazar un servicio sin tener que preocuparse por la tecnologa fundamental; la interfase es lo que importa, y est definida en un estndar universal en servicios Web y XML. Es una arquitectura distribuida, la carga de las transacciones se pueden dividir en diferentes servidores comunicndose todos por medio del los servicios web. Los componentes de un sistemas basado en SOA estn dbilmente acoplados.

Ventajas y desventajas de usar SOA


Ventajas El servicio puede recibir requerimientos de cualquier origen. La funcionalidad del servicio se puede ampliar o modificar sin rendir cuentas a quienes lo requieran. Los componentes que requieran un servicio pueden descubrirlo y utilizarlo dinmicamente. Alta interoperabilidad con otras plataformas.

Ventajas y desventajas de usar SOA


Desventajas La velocidad de intercambio de informacin es ms lenta que una conexin directa entre los elementos. Su implantacin es compleja y se requiere de grandes esfuerzos en su desarrollo. Los clientes necesitan saber las operaciones y su semntica antes del uso.

Cuando usar SOA


Se debe usar: Cuando se necesite distribuir los componentes del sistema en diferentes maquinas y que funcionen en diferentes plataformas a las cuales fueron implementados. Cuando el sistema es basado en mensajes, en especial mensajes asncronos. Para sistemas multiplataforma, debido a que los servicios web se basan en un estndar XML unificado.

Agenda
Objetivo Competencias Metodologa de la clase Introduccin a SOA Arquitectura Orientada a Servicios - SOA

Web Services
Composicin de Servicios Actividad de tiempo independiente Taller Bibliografa

Web Services
Definicin Un servicio es una entidad de software que encapsula funcionalidad de negocio y proporciona dicha funcionalidad a otras entidades a travs de interfaces pblicas bien definidas. Un servicio web es un componente de Software que utiliza un conjunto de protocolos y estndares para intercambiar datos entre aplicaciones sobre una red (W3C). Posee una interfaz descrita en un formato procesable por mquina (por ejemplo WSDL).

Caractersticas de los Servicios Web


Caractersticas

Son interoperables e independientes de la plataforma en la cual fueron implementados Superan las barreras geogrficas Se basan en el protocolo HTTP Encapsulan lgica de negocio para su reutilizacin. Poseen una interfaz (descriptor) bien definida que describe su funcionalidad. Se implementa segn SOAP o REST

SOAP
SOAP: Simple Object Access Protocolo, es un protocolo estndar que define cmo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML.

REST
REST: (Representational State Transfer) o REST es una tcnica de arquitectura software para sistemas distribuidos. Describe cualquier interfaz web simple que utiliza XML y HTTP. Permite disear servicios web e interfaces XML HTTP de acuerdo con el estilo de llamada a procedimiento remoto pero sin usar SOAP.

Agenda
Objetivo Competencias Metodologa de la clase Introduccin a SOA Arquitectura Orientada a Servicios - SOA Web Services

Composicin de Servicios Actividad de tiempo independiente Taller


Bibliografa

Composicin (Orquestacin) de Servicios


Definicin y Caractersticas
Consiste en unir dos o ms servicios, con alguna lgica para crear otro servicio ms complejo. La lgica depende de los proceso de negocio: simple o secuencial. Se crean con un lenguaje diferente a los servicios bsicos, como es el BPEL. La administracin, metodologa y estndares utilizados para estos proceso es el BPM (Business Process Managament)

Composicin (Orquestacin) de Servicios


En un proceso de negocio un servicio puede implementar un paso del proceso o un subproceso de este. El proceso de negocio tambin se puede exponer como un servicio.

Ejemplo de Composicin de Servicios: Venta de un producto

Agenda
Objetivo Competencias Metodologa de la clase Introduccin a SOA Arquitectura Orientada a Servicios - SOA Web Services Composicin de Servicios

Actividad de tiempo independiente Taller


Bibliografa

Actividad de Tiempo Independiente


Taller

En grupo de dos personas desarrollar los siguientes puntos y enviar al correo freve9@hotmail.com en un documento word.
1. 2. 3. Elabore un diagrama de actividades en UML donde se detalle el proceso de creacin, distribucin y uso de servicios web. Investigue y elabore una tabla comparativa entre los protocolos SOAP y REST Caso de estudio: Investigue y analice una solucin dada a un problema de integracin de sistemas de informacin usando SOA. Elabore un grafico donde se aprecie la arquitectura SOA usada y los servicios web implementados. Realice la lectura del artculo: Introduccin al modelo de arquitectura SOA de Jorge E. Heredia. Elabore un mapa conceptual donde se detallen los principios de diseo del paradigma de orientacin a servicios.

4.

Proyecto de Clase

Sistema de

Proyecto de Clase
EJB Lgica del Negocio Enterprise Java Beans

JPA Java Persistence Api Mapeo Objeto - Relacional

Servicios Web JAX-WS JAX-RS

Base de Datos: Mysql o postgres

Agenda
Objetivo Competencias Metodologa de la clase Introduccin a SOA Arquitectura Orientada a Servicios - SOA Web Services Composicin de Servicios Actividad de tiempo independiente Taller

Bibliografa

Bibliografa
Thomas Erl. Service-Oriented Architecture: Concepts, Technology, and Design, Prentice Hall, 2006.
Thomas Earl. SOA Principles of Service Design, Prentice Hall, 2008 Pgina web: SmartJSP: http://72.55.164.244:8090/web/guest/soa, visitada el 01/04/2013

TORO, Vctor Manuel. Conferencia Panorama sobre la Ingeniera del Software. CincoSOFT LTDA. 2007

Bibliografa
W3C, World Wide Web Consortium. Visitada el 05/04/2013. http://www.w3.org/standards/webofservices/
Quispe Ortega, Lucio Marcelo. Conferencia: Arquitectura Orientada a Servicios. 2.011. Visitada el 05/04/2013 Disponible en http://www.slideshare.net/Mache007/arquitecturaorientada-a-servicios-soa-12818946

Vera R, Fredy H. Propuesta de un proceso de desarrollo de componentes software reutilizables. Tesis para optar el titulo de magister. Universidad industrial de Santander. 2009.

Gracias por su atencin


M.Sc. Fredy H. Vera R.
Ccuta 2013