Categorías: Todo - servicios - comunicación - xml - http

por Cristian Muñoz hace 5 años

434

SOA - Cristian Muñoz

La arquitectura orientada a servicios (SOA) se centra en crear aplicaciones que sean compatibles con los principios de la orientación a servicios. Esta compatibilidad se mide a través del cumplimiento de ciertos principios que influyen en el diseño, comportamiento y estilo del sistema.

SOA - Cristian Muñoz

Nombre: Cristian Muñoz Curso: 8vo B Sistemas Fecha: 19 de Junio del 2019 TUTOR: Ing.Gustavo Castillo Msc.

SOA

Perspectivas

CEO's
La Adopcion de SOA bien planificada y sobre todo administrada, generara una mayor agilidad para responder a los rápidos cambios del mercado cambiante.
Debido a esto, resulta necesario "vender la iniciativa de adopción de SOA" como una innovación empresarial focalizada sobre el negocio, en lugar de procurar explicar el valor de su madurez técnica.
Como CIO, seguramente le es mas facil apreciar los beneficios de la Arquitectura Orientada a Servicios (SOA), pero no siempre es tan fácil de explicar a sus Colegas de Negocio.
CTO's
Los recursos de una RED en un ambiente SOA se hacen independientes de la plataforma tecnologica que los soporta, lo importante es que se integren para apoyar a los procesos de negocios.
OASIS la organización para estandares avanzados estructurados define SOA como lo siguiente: “Es un paradigma para organizar y utilizar capacidades distribuidas y bajo el control de diferentes propietarios y dominios. Provee una manera uniforme de ofrecer, descubrir, interactuar y usar dichas capacidades para producir los efectos deseados de manera consistente y medible.”
La orientación a servicios describe una arquitectura de servicios independientes entre si, que se acoplan para soportar los diferentes requerimientos de los usuarios y los procesos de negocio.

Principios de SOA

El objetivo de la Orientación a Servicios es obtener software totalmente reutilizable a través de un conjunto de técnicas y principios como los descritos anteriormente.
Los Servicios deben de ser autónomos:

Todo Servicio debe tener su propio entorno de ejecución. De esta manera el servicio es totalmente independiente y nos podemos asegurar que así podrá ser re utilizable desde el punto de vista de la plataforma de ejecución.

Los Servicios deben poder ser descubiertos:

Todo servicio debe poder ser descubierto de alguna forma para que pueda ser utilizado, consiguiendo así evitar la creación accidental de servicios que proporcionen las mismas funcionalidades.

Los Servicios deben tener bajo acoplamiento:

Es decir, que los servicios tienen que minimizar las dependencias entre los sistemas y unicamente debe requerirse que cada sistema tenga conocimiento de que el otro sistema existe.

Los Servicios deben permitir la composición:

Todo servicio debe ser construido de tal manera que pueda ser utilizado para construir servicios genéricos de más alto nivel, el cual estará compuesto de servicios de más bajo nivel.

Los Servicios deben proporcionar un contrato formal:

Todo servicio desarrollado, debe proporcionar un contrato en el cual figuren: el nombre del servicio, su forma de acceso, las funcionales que ofrece, los datos de entrada de cada una de las funcionalidades y los datos de salida. De esta manera, todo consumidor del servicio, accederá a este mediante el contrato, logrando así la independencia entre el consumidor y la implementación del propio servicio.

Los Servicios no deben tener estado:

Un servicio no debe guardar ningún tipo de información. Esto es así porque una aplicación está formada por un conjunto de servicios, lo que implica que si un servicio almacena algún tipo de información, se pueden producir problemas de inconsistencia de datos.

WS-* (Especificaciones de WS)
Protocolos Estandáres Básicos para la Comunicación entre Servicios Web

UDDI o Descripción, descubrimiento e Integración Universal: Registro basado en XML para publicar descripciones de servicios (WSDL) y permitir su descubrimiento.

WSDL o Lenguaje de descripción de servicios web: Servicio basado en XML que describe las interfaces publicas, protocolos y formato de mensajes, requeridos para interactuar con un servicio web.

SOAP: Protocolo para intercambiar mensajes basados en XML en una red de computadores, usualmente usando HTTP.

HTTP o HTTPS: Protocolo para solicitar o responder mensajes entre clientes y servicios. Protocolo estandar web.

XML : Un lenguaje de etiquetas para describir datos en mensajes en formato de documento. Similar a html pero mucho mas completo y amplio.

Uno de los problemas con los que nos podemos encontrar a la hora de construir una aplicación SOA es el hecho de reconocer si la aplicación realmente es una aplicación "SOA Compliant". Para comprobar si una aplicación lo es, la mejor forma de hacerlo es chequeando que la aplicación cumpla con los Principios de la Orientación a Servicios.
Los siguientes son los principios especificos de la arquitectura SOA para el diseño y definición enfocada en servicios que deberan influenciar intrinsecamente sobre el comportamiento de un sistema, su estilo y su diseño.

Evolución de SOA

Oracle comenzo a hablar de SOA 2.0 como la proxima generación de SOA, combinando la arquitectura orientada a servicios y la arquitectura enfocada en eventos. En general se comenta que en lugar de hablar de SOA 2.0, se deberia hablar de la evolución de SOA.

Aportes de Valores

SOA puede también simplificar las integraciones y el reuso de los sistemas antiguos (legacy systems)
SOA promueve el reuso de servicios a nivel macro en lugar de a nivel micro (o nivel de objetos).
SOA puede ayudar a los Arquitectos Empresariales, ya que su negocio respondera más rápidamente y a menor costo, frente a los requerimientos de TI que sean demandados, por las condiciones cambiantes del mercado.
SOA está diseñado para habilitar y empoderar la Mejora Continua en las Corporaciones, a traves de la comunicacion on demand entre recursos (Humanos y Computacionales), que permita obtener mejores resultados de gestión, los cuales se ven favorecidos por una mejor y mayor comunicacion entre usuarios finales y servicios, ademas de poder encapsularlas para luego reutilizarlas como nuevos servicios.