Aplicaciones prácticas de las arquitecturas orientadas al servicioD. Miguel Ángel Conde GonzálezGRupo de investigación en InterAcción y eLearning (GRIAL)Universidad de Salamancamconde@usal.esEscola Superior de Tecnologia e Gestão do Instituto Politécnico de Bragança5 de Maio, 2011
Sumario2Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
Sumario3Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
Introducción (I)4Aplicaciones prácticas de las arquitecturas orientadas al servicioNuevas aplicaciones, nuevas necesidades, nuevos contextos“Más del 80% de las “Fortune 500” modificaron su modelo de negocios en los últimos 2 años. Dos tercios de éstos informaron que los cambios en su negocio estuvieron restringidos por tecnología inflexible” Service Oriented Architecture: An Introduction for Managers” CBDI ForumCambios en el negocio del desarrollo de aplicaciones. “Entre 2005 y 2008, más del 80% de los proyectos de desarrollo se basarán en SOA (0.8 Prob.)” Service-Oriented Architectures Alter IT Services Market, GartnerNos estan diciendo que la Flexibilidad en el Negocio llegará a ser más importante que la Eficiencia Operacional...Es probable que estemos llegando a una nueva edad en donde veamos la muerte de algunas formas de hacer negocios porque no pudieron adaptarse lo suficientemente rápido	Bryan Glick, Global Future Forum. An Industry Think Tank
Introducción (II)5Aplicaciones prácticas de las arquitecturas orientadas al servicioProblemáticaNecesidades derivadas de las concepciones de Web 2.0Mayor evolución en las nuevas líneas de negocio y mayores dependencias con respecto a la tecnologíaPoca flexibilidad en el soporte al negocioFuertes restricciones y dificultades para la realización de cambios de negocioAmbientes distribución de aplicaciones heterogéneosIntegración de los sistemas es una pesadillaNecesidad de reutilización de tecnologías e inversiones
Introducción (III)6Aplicaciones prácticas de las arquitecturas orientadas al servicioTendencia hacia la modularización de los sistemas informáticosIndependencia de desarrollo y evolución, aumento de la seguridad, desarrollo escalable, etc. Se está trabajando en la producción de servicios software independientes de la implementación subyacenteAmbos conceptos podrían unirse constituyendo un modelo arquitectónico válido
Introducción (IV)¿Qué se pretende?Construir sistemas a partir de componentes comunes¿Qué se necesita?Una forma estándar de construir u organizar componentesAntecedentes1980 Corba: Arquitectura común de intermediarios en peticiones a objetosEn los 90 DCOM: Modelo de Objetos de Componentes DistribuidosÚltimos años SOA: Arquitectura orientada a servicios7Aplicaciones prácticas de las arquitecturas orientadas al servicio
Introducción (V)¿Qué es una arquitectura?Arquitectura es la organización fundamental de un sistema descrita enSus componentesRelación entre ellos y con el ambientePrincipios que guían su diseño y evoluciónIEEE 1471La arquitectura del software alude a la estructura global del software y las formas en que esa estructura proporciona integridad conceptual a un sistema [Shaw y Garlan, 1995]La arquitectura del software es la estructura lógica y física de un sistema, forjada por todas las decisiones de diseño estratégicas y tácticas aplicadas durante el desarrollo [Booch, 1994]8Aplicaciones prácticas de las arquitecturas orientadas al servicio
Introducción (VI)Evolución de las arquitecturasEcosistemaVerticalHorizontal3-Tier, N-TierWeb ServicesObjetos distribuidosEstructuradoClient/ServerMonolíticoServiciosComponentesAbstracción9Aplicaciones prácticas de las arquitecturas orientadas al servicio
Introducción (VII)Propiedades de las arquitecturas10Aplicaciones prácticas de las arquitecturas orientadas al servicio
Introducción (IX)Un servicio es una funcionalidad construida como un componente reusable para ser utilizado en un proceso de negocio [Fagalde, 2006]El proceso utilizado para implementar un servicio no es importante, siempre y cuandoresponda al requerimientoofrezca la calidad de servicio deseadaDesde la perspectiva de quien lo invoca, es visto como una funcionalidad autocontenida11Aplicaciones prácticas de las arquitecturas orientadas al servicio
12Introducción (X)Un servicio encapsula su implementación12Aplicaciones prácticas de las arquitecturas orientadas al servicio
Introducción (y XI)Los servicios pueden componerse, constituyendo los ”building blocks”, pudiendo ser reusados para desarrollar otras aplicacionesEl enfoque está en sus interfaces en lugar de los detalles de implementación (partes desacopladas)Los servicios son utilizados sin depender de su ubicación, su tecnología, o forma de invocación13Aplicaciones prácticas de las arquitecturas orientadas al servicio
Sumario14Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
¿Quées SOA? (I)SOA no se deriva de una propuesta académicaNo hay technical reports de SOA en SEI (Software Engineering Institute)Service-oriented architecturefuedescritaporprimeravezpor 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”Web Services surgen con mayor fuerzahacia el 200015Aplicaciones prácticas de las arquitecturas orientadas al servicio
¿Quées SOA? (II)“Conjunto de componentesquepuedenserinvocados, cuyasdescripciones de interfaces se puedenpublicar y descubrir” [W3C, 2004]CBDI rechazaesadefinición:Los componentespueden no serconjuntosLa definiciónsóloconsidera los componentes y no la práctica o el arte de construir la arquitectura“Estiloresultante de políticas, prácticas y frameworksquepermitenque la funcionalidad de unaaplicación se puedaproveer y consumircomoconjuntos de servicios, con unagranularidadrelevantepara el consumidor. Los serviciospuedeninvocarse, publicarse y descubrirse y estánabstraídos de suimplementaciónutilizandouna sola forma estándar de interface” [Sprott y Wilkies, 2004]Según OASIS, SOA es un paradigma para utilizar y organizar funcionalidades distribuidas que pueden estar controladas por diferentes propietarios de dominio. [OASIS, 2006]16Aplicaciones prácticas de las arquitecturas orientadas al servicio
¿Quées SOA? (III)“Infraestructura de alto nivelbasada en best practices y patronesparacrearsolucionesbasadas en servicios, de altacohesión y bajoacoplamiento” [Geniant, 2004]“Estiloarquitectónicoaptoparaimplementarbajoacoplamiento entre agentes. Los agentes son proveedores y consumidores de servicios, que son la unidad de trabajo”[HAO, 2003]“Unaarquitectura de aplicación en la cualtodaslasfunciones se definencomoserviciosindependientes con interfaces invocablesbiendefinidas, quepuedenserllamadas en secuenciasdefinidasparaformarprocesos de negocios” [Channabasavaiah, 2003]17Aplicaciones prácticas de las arquitecturas orientadas al servicio
¿Quées SOA? (IV)“SOA esunaarquitectura de software quecomienza con unadefinición de interface y construyetoda la topología de la aplicacióncomounatopología de interfaces, implementaciones y llamadas a  interfaces. Seríamejorllamada“arquitecturaorientada a interfaces”. SOA esunarelación de servicios y consumidores de servicios, ambos suficientementeampliospararepresentarunafunción de negocioscompleta”. [Natis, 2003] “La Arquitectura Basada en Servicios o SOA es una aproximación que proporciona una separación entre la interfaz que ofrece un tipo de servicio y sus posibles implementaciones. Así, los consumidores de servicio (aplicaciones) pueden interoperar con un gran conjunto de proveedores de servicio (implementaciones de los servicios) que cumplan con el estándar definido por la arquitectura” [Alier et al 2009]18Aplicaciones prácticas de las arquitecturas orientadas al servicio
¿Quées SOA? (V)SOA en la industria“La recompensapotencial [de SOA] esenormeparalasempresasqueentiendanestaevolución y se muevanhaciaestasarquitecturas. ... La tecnología de computacióndistribuidaprometeser lo suficientemente flexible y elegantepara responder a lasnecesidades de negocios y proporcionar la agilidad de negociosquelascompañíashananheladotantotiempo, perosiempre ha estadofuera de alcance”. [Bloomberg, 2003]“La mejorsolución a la integración de negocios...”[O’Toole, 2003]“SOA es la próximaola de desarrollo de aplicaciones. Esmásrápida, mejor y másbarata” [Pallos, 2001]19Aplicaciones prácticas de las arquitecturas orientadas al servicio
¿Quées SOA? (VI)“Comprender el rol y el significado de SOA, másallá del hypesimplista, esimperativoparacualquierarquitecto de software empresarial. ... Hacia 2008, SOA y Web Services seránimplementadosjuntos en más del 75% de los proyectosqueutilicen SOA y Web Services (probabilidad 0.7)”[Natis, 2003]“Hacia 2008, más del 75% de los paquetes de aplicación de eseentoncesseránnativamente SOA o expondrán interfaces SOA a través de unacapa de envoltura de interfaces (probabilidad 0.8)”[Natis, 2003]“Hacia 2008, SOA serála prácticaprevalente de ingeniería de software, acabando con los 40 años de dominación de lasarquitecturasmonolíticas (probabilidad 0.7)”[Natis, 2003]20Aplicaciones prácticas de las arquitecturas orientadas al servicio
¿Quées SOA? (y VII)SOA como arquitecturaComponente: ServicioConectores: Antes, RPC – Ahora, paso de mensajesConfiguración: DistribuidoBajo acoplamiento, independencia de modelo de programación, independencia de plataforma, transporte y protocolo por acuerdo de industria21Aplicaciones prácticas de las arquitecturas orientadas al servicio
Sumario22Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
Características de SOA (I)2323
Aplicaciones prácticas de las arquitecturas orientadas al servicio24Características de SOA (II)Nuevos mercados, canales y valor de sistemas existentesIngresoSoporte a modelos flexibles de Negocio habilitados por servicios y tecnología- enfoque agnósticoFlexibilidadPermite la reutilización de componentes prefabricados de servicio para implementaciones rápidas VelocidadIntegra sistemasseparados de distintasplataformas
Automatizaprocesos clave de negocios
Los recursostrabajanpara la mismaestrategia de TI EficaciaOfrecer nuevos servicios a clientes y socios utilizando la infraestructura de TI existenteServicioEliminar duplicidad de sistemasCostoMejorar visibilidad de procesos de negocioRiesgo[Fagalde, 2006]
Aplicaciones prácticas de las arquitecturas orientadas al servicio25BusServicioServicioServicioServicioServicioServicioCaracterísticas de SOA (III)
Características de SOA (IV)Servicios: Entidadeslógicas - Contratosdefinidosporuna o más interfaces públicasService provider: Entidad de software queimplementaunaespecificación de servicioService consumer (o requestor): Entidad de software que llama a un service provider. Tradicionalmente se lo llama “cliente”. Puedeserunaaplicación final u otroservicioService locator: Tipoespecífico de service provider queactúacomo registry y permitebuscar interfaces de service providers y susubicacionesService broker: Tipoespecífico de serviceprovider quepuedepasarrequisitosde servicios a otros service providersAplicaciones prácticas de las arquitecturas orientadas al servicio26
Características de SOA (y V)Implementaciones SOAWS no requiere despliegueWS no requiere clientes específicos ni driversSOA se redefine como paso de mensajes, no RPCDiferentes opciones de implementación de WSAplicaciones prácticas de las arquitecturas orientadas al servicio27
Sumario28Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
Servicios Web y Protocolos (I)Web services: Diferentesdefiniciones en W3C Web Services Architecture Working Group“Un servicio web es un sistema software diseñadoparasoportarinteracción entre nodos  de una red. Consta de unainterfazdescrita en un lenguajeprocesableporlasmáquinas (WSDL). Otrossistemasinteracturán con el servicio de la forma descrita en sudescripciónutilizandomensajes SOAP, típicamenteusando HTTP y en XML junto con otrosprotocolos web” [W3C,2004]SOA es históricamente anterior (no por mucho)Un web service es SOA si:Las interfaces se basan en protocolos de web (HTTP, SMTP, FTP)A excepción de los attachments, los mensajes se basan en XMLDos estilos de web service: SOAP y RESTREST es anti-RPC SOAP puedeinterpretarse en términos de mensajes o de RPC (Don Box)29Aplicaciones prácticas de las arquitecturas orientadas al servicio
InvolucraPoder preguntar por descripcionesde WS que ofrece un sitioDefinir formatos y ordenamiento de los mensajesFormato para enviar y recibir datos usando XMLUso de protocolos de internet abiertosWeb ServiceProtocolos  InternetAbiertosServicios Web y protocolos (II)Lógica de aplicación encapsulada como un componente en la Web para ser usada por otros programasUDDIWSDL contract languageSOAPXML, HTTP, HTTPSAplicaciones prácticas de las arquitecturas orientadas al servicio30
Servicios Web y Protocolos (II)CBDI: SOA es más amplio. Los web services son sólo una interface programática en conformidad con los protocolos WS-*Puede haber SOA sin WS (ej. REST)Los web services proporcionan independencia de plataforma, bajo acoplamiento, auto-descripción y descubrimientoLos web services no son parte obligatoria de SOA, pero son una implementación adecuada31Aplicaciones prácticas de las arquitecturas orientadas al servicio
Simple Object Access Protocol es el estándar de-facto para interconexiónPermite el intercambio de información estructurada y con tipos entre entidades (peers) descentralizadosCodificación y empaquetamiento basado en XML para intercambiar datos, mensajes, RPCsSOAP proporciona principalmenteLa construcción “envelope”Un conjunto de reglas de codificaciónLa representación de RPCs (convenciones)Servicios Web y Protocolos (III)32Aplicaciones prácticas de las arquitecturas orientadas al servicio
Servicios Web y Protocolos (IV)RespuestaPetición33Aplicaciones prácticas de las arquitecturas orientadas al servicio
Servicios Web y Protocolos (V)“REST es un intento de mostrar cómo debe comportarse unaaplicación Web bien diseñada: una red de páginas Web (una máquina de estados virtual) donde el usuario progresará seleccionando enlaces(transiciones de estado) que devuelven la página siguiente (el siguienteestado de la máquina) que el usuario manejará a su gusto”[Fielding,2000]34Aplicaciones prácticas de las arquitecturas orientadas al servicio
REST - REpresentational State TransferDescribe un estilo de arquitecturaSOA sin Web Services, ni SOAP ni RPCArquitectura con modelo de datos (recursos, URIs y representaciones XML)Composición de diversos estilos: repositorio replicado, cache, cliente-servidor, sistema en capas, sistema sin estado, máquina virtual, código bajo demanda e interfaz uniformeServicios Web y Protocolos (VI)35Aplicaciones prácticas de las arquitecturas orientadas al servicio
Servicios Web y Protocolos (VII)Unaaplicación REST transfiererepresentaciones entre componentesusandoconectoresComponentes: incluyenagentes de usuario (Mozilla, cURL) y servidores de origen (Apache, IIS)Los componentes de REST obedecenestasrestricciones:Estado y funcionalidad como recursosLas interaciones son statelessLos recursos se identificanmediante URIs (Uniform Resource Identifiers)No hay serviciosniobjetos, sólorecursosManipulación de recursos a través de representacionesConjunto de operaciones limitados GET,POST,PUT y DELETEConjunto limitado de tipos identificado mediante tipos MIME36Aplicaciones prácticas de las arquitecturas orientadas al servicio
Uso de un protocolo cliente/servidor. Cada mensaje HTTP contendrá la información necesaria para la peticiónUso de hipermedios para representar el estado de una aplicación. Esto permite al servidor saber el estado de sus recursos sin necesidad de almacenar el estado de de los clientesconcretosServicios Web y Protocolos (VIII)37Aplicaciones prácticas de las arquitecturas orientadas al servicio
Protocolos utilizadosHTTP [RFC 1945]: HyperTextTransferProtocolURL [RFC 1738] (UniformResourceLocator) como el mecanismo de identificación de recursosXML / HTML / PNG / etc.. comodistintosformatos de representación de recursosTipos MIME, como text/xml, text/html, image/png, etc.Servicios Web y Protocolos (y  IX)38Aplicaciones prácticas de las arquitecturas orientadas al servicio
Sumario39Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
Modelando SOA (I)40Aplicaciones prácticas de las arquitecturas orientadas al servicio
Se hace necesario modelar las arquitecturas SOASOAML definido por OMG [SOAml, 2009]Perfil UML y metamodelo para diseño de serviciosEstado Beta 2.0No hay herramientas para trabajar completamentePlugin Cameo SOA+ para MagicDrawVarios tipos de diagramaServiceArchitectureDiagramServiceDiagramMessagesdiagramProvisioningdiagramCompositeApplicationComponentDiagramModelando SOA (II)41Aplicaciones prácticas de las arquitecturas orientadas al servicio
Modelando SOA (III)42
Modelando SOA (IV)43
Modelando SOA (V)44
Modelando SOA (y VI)45
Sumario46Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningRecursos SOA
El eLearning está cambiandoNecesidad de mejor aprovechamiento de las herramientas existentesNecesidad de integración de nuevas herramientasNecesidad de exportación de funcionalidad e informaciónSOA trata de solventar esas necesidadesCasos prácticos (I)47Aplicaciones prácticas de las arquitecturas orientadas al servicio
Los LMS son una de las herramientas más utilizadas en el eLearning aunque pueden mejorarseIncorporando nuevas funcionalidades sin hackear la plataformaIntegrando con otras herramientas para facilitar su administración y ayudar a la evaluación de los alumnosAbriéndose a nuevos dispositivos y entornosSOA debe aplicarse a los LMSCasos prácticos (II)48Aplicaciones prácticas de las arquitecturas orientadas al servicio
Casos prácticos (III)Integración de SOA en Moodle49Aplicaciones prácticas de las arquitecturas orientadas al servicio
Casos prácticos (IV)50Aplicaciones prácticas de las arquitecturas orientadas al servicio
Casos prácticos (V)Diferentes aplicaciones51Aplicaciones prácticas de las arquitecturas orientadas al servicio
Casos prácticos (VI)Apertura a nuevas concepciones de aprendizaje52Aplicaciones prácticas de las arquitecturas orientadas al servicio
Sumario53Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
ConclusionesLas arquitecturas orientadas a servicios abren un camino hacia la integración y evolución del softwareAprovechamiento de lo existenteMejora de los productos con la adición de otrosNuevos modelos de negociosMás escalabilidad y flexibilidadBajo acoplamiento y alta cohesiónSu aplicación aporta grandes beneficiosEn el eLearningIntegración de nuevas herramientas y concepcionesFacilidad para la exportación de información e interacciónApertura de los productos hacia nuevas estrategiasModelado conceptual de aplicaciones web54
Recursos (I)55Aplicaciones prácticas de las arquitecturas orientadas al servicio
56Recursos (II)56Aplicaciones prácticas de las arquitecturas orientadas al servicio
Modelado conceptual de aplicaciones web57Recursos (III)
Modelado conceptual de aplicaciones web58Recursos (IV)
Recursos (V)59Aplicaciones prácticas de las arquitecturas orientadas al servicio
Recursos (VI)Recursos (vi)60Aplicaciones prácticas de las arquitecturas orientadas al servicio
Referencias (I)[Alier et al., 2009]Alier, M. Casany, M.J., Piguillem, J. (2009). Multiplatform E-Learning Systems and Technologies: Mobile Devices for Ubiquitous ICT-Based Education. T. Goh (Editor) capítulo XI Towards Mobile Learning Applications Integration with Learning Management Systems”. Ed. IGI Group 2009[Bloomberg, 2003] Jason Bloomberg - “The role of the service-oriented architect”. The Rational Edge. Últimavezconsultado 30-3-2009 http://download.boulder.ibm.com/ibmdl/pub/software/dw/rationaledge/may03/bloomberg.pdf[Booch, 1994] Booch, G. “Object Oriented Analysis and Design with Applications”. 2nd Edition. The Benjamin/Cummings Publishing Company, 1994[Channabasavaiah, 2003]Channabasavaiah, K., Holley, K., and Tuggle, J Migrating to a service-oriented architecture.  2003. Últimavezconsultado el 30-3-2009 http://ibm.com/developerworks/webservices/library/wsmigratesoa/[Fielding, 2000] Fielding, Roy T. “Architectural Styles and the Design of Networkbased Software Architectures.”Tesis Doctoral, Universidad de California, 2000[Fagalde, 2006] Fagalde, B. “SOA – ArquitecturaOrientada a Servicios”. 2006. Últimavezconsultado 30-3-2009. http://www.common.org.uy/adds/collaborate/images/wmContentFile_1149787725065_hW6_Introduccion%20a%20SOA.ppt 61
Referencias (II)[Geniant, 2004] Geniant, Service Oriented Architecture, What, Why, How, Technical Report, 26 April 2004[Hao, 2003]. What is Service Oriented Architecture? http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html. Última vez consultado 30-3-2009[Natis, 2003] Natis, Y., GartnerResearch Note AV-19-6751, 2003. Últimavezconsultado el 30-3-2009 http://www.gartner.com/resources/114300/114358/114358.pdf[OASIS, 2006] OASIS. Reference Model for SOA 1.0 Commitee Specification. Agosto 2006. http://oasis-open.org/. Última vez consultada a 30-3-2009[O’Toole, 2003] O'Toole, A. Web Service-Oriented Architecture - The Best Solution To Business Integration IT Management News, 2003[Pallos, 2001] PALLOS, M., Service-Oriented Architecture: A Primer , eAI Journal , December 2001.[Shaw y Garlan, 1996] Shaw, M., Garlan, D. “Software Architecture: Perspectives on a Emerging Discipline”. Prentice-Hall, 199662

Más contenido relacionado

PPT
Arquitectura de sistemas distribuidos
PDF
Ejemplo soa
PPT
SOA para Novatos
PPTX
Arquitectura de aplicaciones
PPTX
Tarea1 programacion-distribuida
PDF
Modelo de entidad relación extendido
PPTX
Diagrama de casos de usos
DOC
Seguridad En Sistemas Distribuidos
Arquitectura de sistemas distribuidos
Ejemplo soa
SOA para Novatos
Arquitectura de aplicaciones
Tarea1 programacion-distribuida
Modelo de entidad relación extendido
Diagrama de casos de usos
Seguridad En Sistemas Distribuidos

La actualidad más candente (20)

DOC
Capa de Red del modelo OSI
PDF
Cuadro comparativo modelos para el desarrollo de software
DOCX
Modelo 4+1
PDF
Seguridad en redes
DOCX
Factores de calidad según mc call
PPTX
Métricas de procesos y proyectos
PPTX
Redes neuronales artificiales supervisadas y no supervisadas
DOCX
Métrica de punto de función y lineas de codigo
PDF
Requisitos funcionales y no funcionales
PPTX
UML - Analisis de Sistemas
DOCX
Mapa conceptual sobre
PPTX
Metodología RUP
PPTX
2 2 estilos arquitectonicos
PDF
Modelo relacional
PPTX
Ventajas y desventajas de moprosoft
PPTX
Sistemas críticos - Ingeniería de Sistemas
PPTX
Taller de Base de Datos - Unidad 7 Conectividad
PDF
Diferencias entre scrum y xp
DOCX
TAREAS DE LA ING. DE REQUISITOS
PPTX
Herramientas case
Capa de Red del modelo OSI
Cuadro comparativo modelos para el desarrollo de software
Modelo 4+1
Seguridad en redes
Factores de calidad según mc call
Métricas de procesos y proyectos
Redes neuronales artificiales supervisadas y no supervisadas
Métrica de punto de función y lineas de codigo
Requisitos funcionales y no funcionales
UML - Analisis de Sistemas
Mapa conceptual sobre
Metodología RUP
2 2 estilos arquitectonicos
Modelo relacional
Ventajas y desventajas de moprosoft
Sistemas críticos - Ingeniería de Sistemas
Taller de Base de Datos - Unidad 7 Conectividad
Diferencias entre scrum y xp
TAREAS DE LA ING. DE REQUISITOS
Herramientas case
Publicidad

Destacado (20)

PPT
Arquitectura Orientada a Servicios
PDF
Introducción a las Arquitecturas Orientadas a Servicios
PDF
Arquitectura Orientada a Servicios (SOA)
DOCX
Arquitectura Orientada a Servicios
PPTX
SOA (arquitectura orientada a servicios)
PPT
Presentacion Soa Ibm Phb.V2
PPTX
PDF
SOA y Web Services
PPT
Oracle SOA Suite
DOCX
Modelo de casos de uso 2ª versión(2)
PDF
Portfolio imillera
PPTX
Arquitectura Orientada a Servicios
PDF
Experiencia de ESADE implantando ORACLE SOA Suite - Congreso CUORE Octubre 2011
PDF
El valor de la sinergia en BPM y SOA
PDF
Arquitectura orientada a servicios soa (accenture)
PPTX
2012 PresentacióN Linea De Servicios Oracle
PPTX
Integrando Oracle BI, BPM y BAM 11g: El ciclo completo de la información
PDF
Webinar Conceptos SOA & Oracle SOA Suite
DOCX
BPEL_sio2009
DOCX
Soa y los sevicios web tradicionales
Arquitectura Orientada a Servicios
Introducción a las Arquitecturas Orientadas a Servicios
Arquitectura Orientada a Servicios (SOA)
Arquitectura Orientada a Servicios
SOA (arquitectura orientada a servicios)
Presentacion Soa Ibm Phb.V2
SOA y Web Services
Oracle SOA Suite
Modelo de casos de uso 2ª versión(2)
Portfolio imillera
Arquitectura Orientada a Servicios
Experiencia de ESADE implantando ORACLE SOA Suite - Congreso CUORE Octubre 2011
El valor de la sinergia en BPM y SOA
Arquitectura orientada a servicios soa (accenture)
2012 PresentacióN Linea De Servicios Oracle
Integrando Oracle BI, BPM y BAM 11g: El ciclo completo de la información
Webinar Conceptos SOA & Oracle SOA Suite
BPEL_sio2009
Soa y los sevicios web tradicionales
Publicidad

Similar a Aplicaciones prácticas de las arquitecturas orientadas al servicio (20)

PPTX
S11-DAW-2022S1.pptx
PDF
Ordenando los servicios web
PPTX
Integracion de soluciones SOA.pptx
PPT
PPT
Resumido
PPT
Benchmarking
PPT
Soa
PPT
Clase Soa
DOCX
CapíTulo 7
PPTX
Altenia SOA
PPTX
SOA---VERA GUIJARRO VIVIANA 3A6
PPT
Paradigmas De La Programacion
PPTX
Introducción soa
PPT
Paradigmas De La Programacion
PDF
Modelado de servicios en contextos web. Aplicación en ecosistemas de aprendizaje
PPTX
SIO_EQA8_T2.4_U2_SOA
PDF
Trabajo
PDF
razones de introducir SOA.pdf
S11-DAW-2022S1.pptx
Ordenando los servicios web
Integracion de soluciones SOA.pptx
Resumido
Benchmarking
Soa
Clase Soa
CapíTulo 7
Altenia SOA
SOA---VERA GUIJARRO VIVIANA 3A6
Paradigmas De La Programacion
Introducción soa
Paradigmas De La Programacion
Modelado de servicios en contextos web. Aplicación en ecosistemas de aprendizaje
SIO_EQA8_T2.4_U2_SOA
Trabajo
razones de introducir SOA.pdf

Más de Grial - University of Salamanca (20)

PDF
Gender mainstreaming in Engineering Education
PDF
Mesa redonda Género y Diversidad - Importancia de exponer a los jóvenes a rol...
PDF
Mesa redonda Género y Diversidad - Robótica e inclusión
PDF
Mesa redonda Género y Diversidad - Cátedra de brecha digital de género GVA-UV
PDF
Study for the improvement of the Moroccan public higher education system base...
PDF
Taller de WordPress en el Máster TIC de la USAL (Actualizado 2020)
PDF
Facilitating access to the role models of women in STEM: W-STEM mobile app
PDF
Perception of the gender gap in computer engineering studies: a comparative s...
PDF
Young people participation in the Digital Society: a case study in Brazil
PDF
C4 model in a Software Engineering subject to ease the comprehension of UML a...
PDF
Gender equality in STEM programs: a proposal to analyse the situation of a un...
PDF
Equity in mathematical modelling education: a literature review
PDF
Engaging women into STEM in Latin America: W-STEM project
PDF
Estudio piloto sobre la percepción de la brecha de género en estudios de inge...
PDF
La brecha de género en el sector STEM en Latino América: una propuesta europea
PDF
Desayuno de mujeres investigadoras - I Jornadas de Buenas Prácticas USAL
PDF
HIPPOCAMPUS project: usability study
PDF
An app to support yoga teachers to implement a yoga-based approach to promote...
PDF
Ecosistema tecnológico WYRED - Estudios de usabilidad
PDF
Age influence in gender stereotypes related to Internet use in young people: ...
Gender mainstreaming in Engineering Education
Mesa redonda Género y Diversidad - Importancia de exponer a los jóvenes a rol...
Mesa redonda Género y Diversidad - Robótica e inclusión
Mesa redonda Género y Diversidad - Cátedra de brecha digital de género GVA-UV
Study for the improvement of the Moroccan public higher education system base...
Taller de WordPress en el Máster TIC de la USAL (Actualizado 2020)
Facilitating access to the role models of women in STEM: W-STEM mobile app
Perception of the gender gap in computer engineering studies: a comparative s...
Young people participation in the Digital Society: a case study in Brazil
C4 model in a Software Engineering subject to ease the comprehension of UML a...
Gender equality in STEM programs: a proposal to analyse the situation of a un...
Equity in mathematical modelling education: a literature review
Engaging women into STEM in Latin America: W-STEM project
Estudio piloto sobre la percepción de la brecha de género en estudios de inge...
La brecha de género en el sector STEM en Latino América: una propuesta europea
Desayuno de mujeres investigadoras - I Jornadas de Buenas Prácticas USAL
HIPPOCAMPUS project: usability study
An app to support yoga teachers to implement a yoga-based approach to promote...
Ecosistema tecnológico WYRED - Estudios de usabilidad
Age influence in gender stereotypes related to Internet use in young people: ...

Último (20)

PPTX
RCP avanzado_Luis Minaya_ Septiembre 25.pptx
PDF
200514 Colombia hacia una sociedad del conocimiento vol I_CC.pdf
PDF
50000 mil words en inglés más usados.pdf
PDF
VATICANO Y LOS GRANDES GENOCIDIOS DEL SIGLO XX.pdf
DOCX
Programa Analítico- Lenguajes-Ingles 3º (1).docx
PDF
Carta magna de la excelentísima República de México
DOCX
PCI LARAOS 2025. 2024 documento de gestión
PDF
El Seminario de Jacques Lacan_ Libro 3.pdf
PDF
Libro-Libroferia-Encarnación-una-experiencia-de-alfabetizacion-cultural-Nadia...
PPTX
preeclampsia + eclampsia, sindrome de HeLLP
DOCX
Área transición documento word el m ejor
PDF
Biografia del Genio Steve Jobs Ccesa007.pdf
PDF
4. Guía para el Seguimiento y Evaluación de Proyectos Sociales.pdf
PDF
Aportes Pedagógicos para el currículum d
PDF
1er Grado - Dosificación Anual con Contenidos y PDA (2025-2026) (1).pdf
PDF
Esc. Sabática lección 9. Cómo vivir la ley.pdf
PDF
CUIDADOS DE PERIOPERATORIO I-ENFERMERIA I
PDF
Problemas de Algebra Pre-Universitaria Ccesa007.pdf
PDF
Manual-de-Cargos-y-Funciones-V-02-11-2025
PDF
ESTRATEGIAS_PARA_CONSTRUIR_LA_CONVIVENCI.pdf
RCP avanzado_Luis Minaya_ Septiembre 25.pptx
200514 Colombia hacia una sociedad del conocimiento vol I_CC.pdf
50000 mil words en inglés más usados.pdf
VATICANO Y LOS GRANDES GENOCIDIOS DEL SIGLO XX.pdf
Programa Analítico- Lenguajes-Ingles 3º (1).docx
Carta magna de la excelentísima República de México
PCI LARAOS 2025. 2024 documento de gestión
El Seminario de Jacques Lacan_ Libro 3.pdf
Libro-Libroferia-Encarnación-una-experiencia-de-alfabetizacion-cultural-Nadia...
preeclampsia + eclampsia, sindrome de HeLLP
Área transición documento word el m ejor
Biografia del Genio Steve Jobs Ccesa007.pdf
4. Guía para el Seguimiento y Evaluación de Proyectos Sociales.pdf
Aportes Pedagógicos para el currículum d
1er Grado - Dosificación Anual con Contenidos y PDA (2025-2026) (1).pdf
Esc. Sabática lección 9. Cómo vivir la ley.pdf
CUIDADOS DE PERIOPERATORIO I-ENFERMERIA I
Problemas de Algebra Pre-Universitaria Ccesa007.pdf
Manual-de-Cargos-y-Funciones-V-02-11-2025
ESTRATEGIAS_PARA_CONSTRUIR_LA_CONVIVENCI.pdf

Aplicaciones prácticas de las arquitecturas orientadas al servicio

  • 1. Aplicaciones prácticas de las arquitecturas orientadas al servicioD. Miguel Ángel Conde GonzálezGRupo de investigación en InterAcción y eLearning (GRIAL)Universidad de [email protected] Superior de Tecnologia e Gestão do Instituto Politécnico de Bragança5 de Maio, 2011
  • 2. Sumario2Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
  • 3. Sumario3Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
  • 4. Introducción (I)4Aplicaciones prácticas de las arquitecturas orientadas al servicioNuevas aplicaciones, nuevas necesidades, nuevos contextos“Más del 80% de las “Fortune 500” modificaron su modelo de negocios en los últimos 2 años. Dos tercios de éstos informaron que los cambios en su negocio estuvieron restringidos por tecnología inflexible” Service Oriented Architecture: An Introduction for Managers” CBDI ForumCambios en el negocio del desarrollo de aplicaciones. “Entre 2005 y 2008, más del 80% de los proyectos de desarrollo se basarán en SOA (0.8 Prob.)” Service-Oriented Architectures Alter IT Services Market, GartnerNos estan diciendo que la Flexibilidad en el Negocio llegará a ser más importante que la Eficiencia Operacional...Es probable que estemos llegando a una nueva edad en donde veamos la muerte de algunas formas de hacer negocios porque no pudieron adaptarse lo suficientemente rápido Bryan Glick, Global Future Forum. An Industry Think Tank
  • 5. Introducción (II)5Aplicaciones prácticas de las arquitecturas orientadas al servicioProblemáticaNecesidades derivadas de las concepciones de Web 2.0Mayor evolución en las nuevas líneas de negocio y mayores dependencias con respecto a la tecnologíaPoca flexibilidad en el soporte al negocioFuertes restricciones y dificultades para la realización de cambios de negocioAmbientes distribución de aplicaciones heterogéneosIntegración de los sistemas es una pesadillaNecesidad de reutilización de tecnologías e inversiones
  • 6. Introducción (III)6Aplicaciones prácticas de las arquitecturas orientadas al servicioTendencia hacia la modularización de los sistemas informáticosIndependencia de desarrollo y evolución, aumento de la seguridad, desarrollo escalable, etc. Se está trabajando en la producción de servicios software independientes de la implementación subyacenteAmbos conceptos podrían unirse constituyendo un modelo arquitectónico válido
  • 7. Introducción (IV)¿Qué se pretende?Construir sistemas a partir de componentes comunes¿Qué se necesita?Una forma estándar de construir u organizar componentesAntecedentes1980 Corba: Arquitectura común de intermediarios en peticiones a objetosEn los 90 DCOM: Modelo de Objetos de Componentes DistribuidosÚltimos años SOA: Arquitectura orientada a servicios7Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 8. Introducción (V)¿Qué es una arquitectura?Arquitectura es la organización fundamental de un sistema descrita enSus componentesRelación entre ellos y con el ambientePrincipios que guían su diseño y evoluciónIEEE 1471La arquitectura del software alude a la estructura global del software y las formas en que esa estructura proporciona integridad conceptual a un sistema [Shaw y Garlan, 1995]La arquitectura del software es la estructura lógica y física de un sistema, forjada por todas las decisiones de diseño estratégicas y tácticas aplicadas durante el desarrollo [Booch, 1994]8Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 9. Introducción (VI)Evolución de las arquitecturasEcosistemaVerticalHorizontal3-Tier, N-TierWeb ServicesObjetos distribuidosEstructuradoClient/ServerMonolíticoServiciosComponentesAbstracción9Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 10. Introducción (VII)Propiedades de las arquitecturas10Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 11. Introducción (IX)Un servicio es una funcionalidad construida como un componente reusable para ser utilizado en un proceso de negocio [Fagalde, 2006]El proceso utilizado para implementar un servicio no es importante, siempre y cuandoresponda al requerimientoofrezca la calidad de servicio deseadaDesde la perspectiva de quien lo invoca, es visto como una funcionalidad autocontenida11Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 12. 12Introducción (X)Un servicio encapsula su implementación12Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 13. Introducción (y XI)Los servicios pueden componerse, constituyendo los ”building blocks”, pudiendo ser reusados para desarrollar otras aplicacionesEl enfoque está en sus interfaces en lugar de los detalles de implementación (partes desacopladas)Los servicios son utilizados sin depender de su ubicación, su tecnología, o forma de invocación13Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 14. Sumario14Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
  • 15. ¿Quées SOA? (I)SOA no se deriva de una propuesta académicaNo hay technical reports de SOA en SEI (Software Engineering Institute)Service-oriented architecturefuedescritaporprimeravezpor 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”Web Services surgen con mayor fuerzahacia el 200015Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 16. ¿Quées SOA? (II)“Conjunto de componentesquepuedenserinvocados, cuyasdescripciones de interfaces se puedenpublicar y descubrir” [W3C, 2004]CBDI rechazaesadefinición:Los componentespueden no serconjuntosLa definiciónsóloconsidera los componentes y no la práctica o el arte de construir la arquitectura“Estiloresultante de políticas, prácticas y frameworksquepermitenque la funcionalidad de unaaplicación se puedaproveer y consumircomoconjuntos de servicios, con unagranularidadrelevantepara el consumidor. Los serviciospuedeninvocarse, publicarse y descubrirse y estánabstraídos de suimplementaciónutilizandouna sola forma estándar de interface” [Sprott y Wilkies, 2004]Según OASIS, SOA es un paradigma para utilizar y organizar funcionalidades distribuidas que pueden estar controladas por diferentes propietarios de dominio. [OASIS, 2006]16Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 17. ¿Quées SOA? (III)“Infraestructura de alto nivelbasada en best practices y patronesparacrearsolucionesbasadas en servicios, de altacohesión y bajoacoplamiento” [Geniant, 2004]“Estiloarquitectónicoaptoparaimplementarbajoacoplamiento entre agentes. Los agentes son proveedores y consumidores de servicios, que son la unidad de trabajo”[HAO, 2003]“Unaarquitectura de aplicación en la cualtodaslasfunciones se definencomoserviciosindependientes con interfaces invocablesbiendefinidas, quepuedenserllamadas en secuenciasdefinidasparaformarprocesos de negocios” [Channabasavaiah, 2003]17Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 18. ¿Quées SOA? (IV)“SOA esunaarquitectura de software quecomienza con unadefinición de interface y construyetoda la topología de la aplicacióncomounatopología de interfaces, implementaciones y llamadas a interfaces. Seríamejorllamada“arquitecturaorientada a interfaces”. SOA esunarelación de servicios y consumidores de servicios, ambos suficientementeampliospararepresentarunafunción de negocioscompleta”. [Natis, 2003] “La Arquitectura Basada en Servicios o SOA es una aproximación que proporciona una separación entre la interfaz que ofrece un tipo de servicio y sus posibles implementaciones. Así, los consumidores de servicio (aplicaciones) pueden interoperar con un gran conjunto de proveedores de servicio (implementaciones de los servicios) que cumplan con el estándar definido por la arquitectura” [Alier et al 2009]18Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 19. ¿Quées SOA? (V)SOA en la industria“La recompensapotencial [de SOA] esenormeparalasempresasqueentiendanestaevolución y se muevanhaciaestasarquitecturas. ... La tecnología de computacióndistribuidaprometeser lo suficientemente flexible y elegantepara responder a lasnecesidades de negocios y proporcionar la agilidad de negociosquelascompañíashananheladotantotiempo, perosiempre ha estadofuera de alcance”. [Bloomberg, 2003]“La mejorsolución a la integración de negocios...”[O’Toole, 2003]“SOA es la próximaola de desarrollo de aplicaciones. Esmásrápida, mejor y másbarata” [Pallos, 2001]19Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 20. ¿Quées SOA? (VI)“Comprender el rol y el significado de SOA, másallá del hypesimplista, esimperativoparacualquierarquitecto de software empresarial. ... Hacia 2008, SOA y Web Services seránimplementadosjuntos en más del 75% de los proyectosqueutilicen SOA y Web Services (probabilidad 0.7)”[Natis, 2003]“Hacia 2008, más del 75% de los paquetes de aplicación de eseentoncesseránnativamente SOA o expondrán interfaces SOA a través de unacapa de envoltura de interfaces (probabilidad 0.8)”[Natis, 2003]“Hacia 2008, SOA serála prácticaprevalente de ingeniería de software, acabando con los 40 años de dominación de lasarquitecturasmonolíticas (probabilidad 0.7)”[Natis, 2003]20Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 21. ¿Quées SOA? (y VII)SOA como arquitecturaComponente: ServicioConectores: Antes, RPC – Ahora, paso de mensajesConfiguración: DistribuidoBajo acoplamiento, independencia de modelo de programación, independencia de plataforma, transporte y protocolo por acuerdo de industria21Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 22. Sumario22Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
  • 24. Aplicaciones prácticas de las arquitecturas orientadas al servicio24Características de SOA (II)Nuevos mercados, canales y valor de sistemas existentesIngresoSoporte a modelos flexibles de Negocio habilitados por servicios y tecnología- enfoque agnósticoFlexibilidadPermite la reutilización de componentes prefabricados de servicio para implementaciones rápidas VelocidadIntegra sistemasseparados de distintasplataformas
  • 26. Los recursostrabajanpara la mismaestrategia de TI EficaciaOfrecer nuevos servicios a clientes y socios utilizando la infraestructura de TI existenteServicioEliminar duplicidad de sistemasCostoMejorar visibilidad de procesos de negocioRiesgo[Fagalde, 2006]
  • 27. Aplicaciones prácticas de las arquitecturas orientadas al servicio25BusServicioServicioServicioServicioServicioServicioCaracterísticas de SOA (III)
  • 28. Características de SOA (IV)Servicios: Entidadeslógicas - Contratosdefinidosporuna o más interfaces públicasService provider: Entidad de software queimplementaunaespecificación de servicioService consumer (o requestor): Entidad de software que llama a un service provider. Tradicionalmente se lo llama “cliente”. Puedeserunaaplicación final u otroservicioService locator: Tipoespecífico de service provider queactúacomo registry y permitebuscar interfaces de service providers y susubicacionesService broker: Tipoespecífico de serviceprovider quepuedepasarrequisitosde servicios a otros service providersAplicaciones prácticas de las arquitecturas orientadas al servicio26
  • 29. Características de SOA (y V)Implementaciones SOAWS no requiere despliegueWS no requiere clientes específicos ni driversSOA se redefine como paso de mensajes, no RPCDiferentes opciones de implementación de WSAplicaciones prácticas de las arquitecturas orientadas al servicio27
  • 30. Sumario28Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
  • 31. Servicios Web y Protocolos (I)Web services: Diferentesdefiniciones en W3C Web Services Architecture Working Group“Un servicio web es un sistema software diseñadoparasoportarinteracción entre nodos de una red. Consta de unainterfazdescrita en un lenguajeprocesableporlasmáquinas (WSDL). Otrossistemasinteracturán con el servicio de la forma descrita en sudescripciónutilizandomensajes SOAP, típicamenteusando HTTP y en XML junto con otrosprotocolos web” [W3C,2004]SOA es históricamente anterior (no por mucho)Un web service es SOA si:Las interfaces se basan en protocolos de web (HTTP, SMTP, FTP)A excepción de los attachments, los mensajes se basan en XMLDos estilos de web service: SOAP y RESTREST es anti-RPC SOAP puedeinterpretarse en términos de mensajes o de RPC (Don Box)29Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 32. InvolucraPoder preguntar por descripcionesde WS que ofrece un sitioDefinir formatos y ordenamiento de los mensajesFormato para enviar y recibir datos usando XMLUso de protocolos de internet abiertosWeb ServiceProtocolos InternetAbiertosServicios Web y protocolos (II)Lógica de aplicación encapsulada como un componente en la Web para ser usada por otros programasUDDIWSDL contract languageSOAPXML, HTTP, HTTPSAplicaciones prácticas de las arquitecturas orientadas al servicio30
  • 33. Servicios Web y Protocolos (II)CBDI: SOA es más amplio. Los web services son sólo una interface programática en conformidad con los protocolos WS-*Puede haber SOA sin WS (ej. REST)Los web services proporcionan independencia de plataforma, bajo acoplamiento, auto-descripción y descubrimientoLos web services no son parte obligatoria de SOA, pero son una implementación adecuada31Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 34. Simple Object Access Protocol es el estándar de-facto para interconexiónPermite el intercambio de información estructurada y con tipos entre entidades (peers) descentralizadosCodificación y empaquetamiento basado en XML para intercambiar datos, mensajes, RPCsSOAP proporciona principalmenteLa construcción “envelope”Un conjunto de reglas de codificaciónLa representación de RPCs (convenciones)Servicios Web y Protocolos (III)32Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 35. Servicios Web y Protocolos (IV)RespuestaPetición33Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 36. Servicios Web y Protocolos (V)“REST es un intento de mostrar cómo debe comportarse unaaplicación Web bien diseñada: una red de páginas Web (una máquina de estados virtual) donde el usuario progresará seleccionando enlaces(transiciones de estado) que devuelven la página siguiente (el siguienteestado de la máquina) que el usuario manejará a su gusto”[Fielding,2000]34Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 37. REST - REpresentational State TransferDescribe un estilo de arquitecturaSOA sin Web Services, ni SOAP ni RPCArquitectura con modelo de datos (recursos, URIs y representaciones XML)Composición de diversos estilos: repositorio replicado, cache, cliente-servidor, sistema en capas, sistema sin estado, máquina virtual, código bajo demanda e interfaz uniformeServicios Web y Protocolos (VI)35Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 38. Servicios Web y Protocolos (VII)Unaaplicación REST transfiererepresentaciones entre componentesusandoconectoresComponentes: incluyenagentes de usuario (Mozilla, cURL) y servidores de origen (Apache, IIS)Los componentes de REST obedecenestasrestricciones:Estado y funcionalidad como recursosLas interaciones son statelessLos recursos se identificanmediante URIs (Uniform Resource Identifiers)No hay serviciosniobjetos, sólorecursosManipulación de recursos a través de representacionesConjunto de operaciones limitados GET,POST,PUT y DELETEConjunto limitado de tipos identificado mediante tipos MIME36Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 39. Uso de un protocolo cliente/servidor. Cada mensaje HTTP contendrá la información necesaria para la peticiónUso de hipermedios para representar el estado de una aplicación. Esto permite al servidor saber el estado de sus recursos sin necesidad de almacenar el estado de de los clientesconcretosServicios Web y Protocolos (VIII)37Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 40. Protocolos utilizadosHTTP [RFC 1945]: HyperTextTransferProtocolURL [RFC 1738] (UniformResourceLocator) como el mecanismo de identificación de recursosXML / HTML / PNG / etc.. comodistintosformatos de representación de recursosTipos MIME, como text/xml, text/html, image/png, etc.Servicios Web y Protocolos (y IX)38Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 41. Sumario39Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
  • 42. Modelando SOA (I)40Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 43. Se hace necesario modelar las arquitecturas SOASOAML definido por OMG [SOAml, 2009]Perfil UML y metamodelo para diseño de serviciosEstado Beta 2.0No hay herramientas para trabajar completamentePlugin Cameo SOA+ para MagicDrawVarios tipos de diagramaServiceArchitectureDiagramServiceDiagramMessagesdiagramProvisioningdiagramCompositeApplicationComponentDiagramModelando SOA (II)41Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 48. Sumario46Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningRecursos SOA
  • 49. El eLearning está cambiandoNecesidad de mejor aprovechamiento de las herramientas existentesNecesidad de integración de nuevas herramientasNecesidad de exportación de funcionalidad e informaciónSOA trata de solventar esas necesidadesCasos prácticos (I)47Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 50. Los LMS son una de las herramientas más utilizadas en el eLearning aunque pueden mejorarseIncorporando nuevas funcionalidades sin hackear la plataformaIntegrando con otras herramientas para facilitar su administración y ayudar a la evaluación de los alumnosAbriéndose a nuevos dispositivos y entornosSOA debe aplicarse a los LMSCasos prácticos (II)48Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 51. Casos prácticos (III)Integración de SOA en Moodle49Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 52. Casos prácticos (IV)50Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 53. Casos prácticos (V)Diferentes aplicaciones51Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 54. Casos prácticos (VI)Apertura a nuevas concepciones de aprendizaje52Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 55. Sumario53Aplicaciones prácticas de las arquitecturas orientadas al servicioIntroducción¿Qué es SOA?Características de SOAServicios Web y protocolosModelando SOACasos prácticos: aplicación en el ámbito del eLearningConclusiones
  • 56. ConclusionesLas arquitecturas orientadas a servicios abren un camino hacia la integración y evolución del softwareAprovechamiento de lo existenteMejora de los productos con la adición de otrosNuevos modelos de negociosMás escalabilidad y flexibilidadBajo acoplamiento y alta cohesiónSu aplicación aporta grandes beneficiosEn el eLearningIntegración de nuevas herramientas y concepcionesFacilidad para la exportación de información e interacciónApertura de los productos hacia nuevas estrategiasModelado conceptual de aplicaciones web54
  • 57. Recursos (I)55Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 58. 56Recursos (II)56Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 59. Modelado conceptual de aplicaciones web57Recursos (III)
  • 60. Modelado conceptual de aplicaciones web58Recursos (IV)
  • 61. Recursos (V)59Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 62. Recursos (VI)Recursos (vi)60Aplicaciones prácticas de las arquitecturas orientadas al servicio
  • 63. Referencias (I)[Alier et al., 2009]Alier, M. Casany, M.J., Piguillem, J. (2009). Multiplatform E-Learning Systems and Technologies: Mobile Devices for Ubiquitous ICT-Based Education. T. Goh (Editor) capítulo XI Towards Mobile Learning Applications Integration with Learning Management Systems”. Ed. IGI Group 2009[Bloomberg, 2003] Jason Bloomberg - “The role of the service-oriented architect”. The Rational Edge. Últimavezconsultado 30-3-2009 http://download.boulder.ibm.com/ibmdl/pub/software/dw/rationaledge/may03/bloomberg.pdf[Booch, 1994] Booch, G. “Object Oriented Analysis and Design with Applications”. 2nd Edition. The Benjamin/Cummings Publishing Company, 1994[Channabasavaiah, 2003]Channabasavaiah, K., Holley, K., and Tuggle, J Migrating to a service-oriented architecture. 2003. Últimavezconsultado el 30-3-2009 http://ibm.com/developerworks/webservices/library/wsmigratesoa/[Fielding, 2000] Fielding, Roy T. “Architectural Styles and the Design of Networkbased Software Architectures.”Tesis Doctoral, Universidad de California, 2000[Fagalde, 2006] Fagalde, B. “SOA – ArquitecturaOrientada a Servicios”. 2006. Últimavezconsultado 30-3-2009. http://www.common.org.uy/adds/collaborate/images/wmContentFile_1149787725065_hW6_Introduccion%20a%20SOA.ppt 61
  • 64. Referencias (II)[Geniant, 2004] Geniant, Service Oriented Architecture, What, Why, How, Technical Report, 26 April 2004[Hao, 2003]. What is Service Oriented Architecture? http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html. Última vez consultado 30-3-2009[Natis, 2003] Natis, Y., GartnerResearch Note AV-19-6751, 2003. Últimavezconsultado el 30-3-2009 http://www.gartner.com/resources/114300/114358/114358.pdf[OASIS, 2006] OASIS. Reference Model for SOA 1.0 Commitee Specification. Agosto 2006. http://oasis-open.org/. Última vez consultada a 30-3-2009[O’Toole, 2003] O'Toole, A. Web Service-Oriented Architecture - The Best Solution To Business Integration IT Management News, 2003[Pallos, 2001] PALLOS, M., Service-Oriented Architecture: A Primer , eAI Journal , December 2001.[Shaw y Garlan, 1996] Shaw, M., Garlan, D. “Software Architecture: Perspectives on a Emerging Discipline”. Prentice-Hall, 199662
  • 65. Referencias (y III)[SOAml, 2009]SoaML 1.1 Beta especification. Última vez visitado: Enero, 2010; http://www.omg.org/spec/SoaML/1.0/Beta1/PDF/[Sprott y Wilkies, 2004]Sprott, D., Wilkes, L. “Undestanding Service-Oriented Architecture. CBDI Forum. January 2004. [W3C, 2004] Web ServicesGlosary, 11 Febrero 2004. Última vez consultado 30-3-2009. http://www.w3.org/TR/ws-gloss/63
  • 66. Aplicaciones prácticas de las arquitecturas orientadas al servicioD. Miguel Ángel Conde GonzálezGRupo de investigación en InterAcción y eLearning (GRIAL)Universidad de [email protected] Superior de Tecnologia e Gestão do Instituto Politécnico de Bragança5 de Maio, 2011