Está en la página 1de 30

Acerca de SOA

Prof. Elian Laura


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