Unitek 2019 La Arquitectura orientada a servicios (SOA) intenta dar soluciones tecnológicas a todo este tipo de necesidades que cualquier modelo de negocio pueda demandar. “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 del 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,M. 2009] Terminología Actores en el SOA Consumidor de servicios: Es una aplicación, un módulo de software u otro servicio que demanda la funcionalidad proporcionada por un servicio, y la ejecuta en una interfaz definida.
Proveedor de servicios: Es una entidad
accesible a través de la red que acepta y ejecuta consultas de consumidores y publica sus servicios y su contrato de interfaces en el registro de servicios para que el consumidor pueda descubrir y acceder al servicio.
Registro de servicios: Es un repositorio de
servicios disponibles y permitiento visualizar las interfaces de los proveedores de servicios a los consumidores interesados. Elementos del SOA Los componentes tecnológicos Bus de Servicios (ESB), donde se despliegan y ejecutan los servicios.
Registro de servicios, basado en el protocolo UDDI (Universal Description,
Discovery and Integration).
Business Process Management – BPM: componente para la orquestación de servicios
en procesos de negocio.
Business Activity Monitoring – BAM: componente para la visualización y el
seguimiento de las actividades del negocio. Protocolos utilizados HTTP[RFC 1945]-> HiperText Transfer Protocol
URL[RFC 1738] (Uniform Resource
Locator) mecanismo de identificación de recursos
XML/HTML/PNG/… distintos formatos de
representación de recursos
Tipos MIME como text/xml, text/html,
image/png,etc. Diferencia con otras arquitecturas Mitos y realidades Ambiente SOA La integración de procesos de negocio Comunicación entre las empresas y sus clientes por medio de los servicios, con estándares web que incluyeron: XML como formato estándar para describir los datos; SOAP como protocolo de intercambio de datos; WSDL para la descripción de los servicios disponibles; y finalmente UDDI para publicar la información y comprobar qué servicios web están disponibles. Principales estándares empleados en el modelo de despliegue del servicio web i. XML (eXtensible Markup Language) estándar para registrar, transportar e intercambiar datos.
ii. SOAP (Simple Object Access Protocol - Service
Oriented Access Protocol) es un protocolo que permite a los programas comunicarse vía http, independiente de plataforma y lenguaje.
iii. WSDL (Web Service Description Language) es un
lenguaje basado en XML, que se usa para definir los servicios web y describir cómo acceder a estos.
iv. UDDI (Descripción, Descubrimiento e Integración
Universal, en inglés Universal Description, Discovery and Integration) es un servicio de directorio donde se registran y buscan servicios web construidos por distintos proveedores. Se trata de un registro público donde se pueden realizar consultas sobre los servicios y su ubicación. Ventajas ● Respuesta rápida a nuevas necesidades de negocio ● Reducción del costo de desarrollo de IT ● Capacidad de integrar a clientes y socios ● Capacidad de generar nuevos modelos de negocios ● Alinear objetivos de IT a objetivos de negocio ● Apertura a nuevos mercados, canales y valor de sistemas existentes ● Permite la reutilización de componentes prefabricados de servicio para implementaciones lógicas ● Integra sistemas separados de distintas plataformas ● Eliminar duplicidad de sistemas ● Automatiza los procesos de negocios ● Mejorar la visibilidad de procesos de negocio Incovenientes SOA depende de la implementación de Incrementalmente se hace difícil y costoso el ser estándares. Sin estándares, la comunicación capaz de cumplir con los protocolos y hablar entre aplicaciones requiere de mucho tiempo y con un servicio. código.
SOA no es para: aplicaciones que no requieren
Implica conocer los procesos del negocio, de implementación del tipo request/response y clasificarlos, extraer las funciones que son para aplicaciones que tienen un corto periodo de comunes a ellos, estandarizarlas y formar con vida. ellas capas de servicios que serán requeridas por cualquier proceso de negocio. Herramientas Comerciales Herramientas Open Source Plataformas Caso práctico : e-learning El E-learning o el aprendizaje electrónico, es la educación a distancia completamente virtualizada, utilizando para ello las herramientas o aplicaciones en sistemas distribuidos. Caso práctico : e-learning Los LMS o Learning management system (sistema de gestión de aprendizaje) es un software instalado en un servidor web que se emplea para administrar, distribuir y controlar las actividades de formación no presencial (o aprendizaje electrónico) de una institución u organización. Caso práctico : e-learning Los LMS son una de las herramientas más utilizadas en el eLearning aunque pueden mejorarse: – Incorporando nuevas funcionalidades y tecnologías – Integrando distintas herramientas para facilitar la administración y el aprendizaje de los alumnos – Abriendose a nuevos dispositivos y entornos – Interconectando recursos, agentes educativos, comunidad. SOA y BPM SOA y BPM