arquitectura orientada a servicies

 

  • Estos servicios pueden usar protocolos simples (típicamente HTTP con REST o mensajería liviana como RabbitMQ o ZeroMQ).6 Capas de software SOA define las siguientes capas
    de software: • Aplicaciones básicas: sistemas desarrollados bajo cualquier arquitectura o tecnología, geográficamente dispersos y bajo cualquier figura de propiedad; • De exposición de funcionalidades: donde las funcionalidades de la capa
    aplicativa son expuestas en forma de servicios (generalmente como servicios web); • De integración de servicios: facilitan el intercambio de datos entre elementos de la capa aplicativa orientada a procesos empresariales internos o en colaboración;
    • De composición de procesos: que define el proceso en términos del negocio y sus necesidades, y que varía en función del negocio; • De entrega: donde los servicios son desplegados a los usuarios finales.

  • Así que, una empresa no necesita realizar un cambio integral para adoptar SOA.9 Los beneficios que puede obtener una organización que adopte SOA son: • Mejora en los tiempos
    de realización de cambios en procesos • Facilidad para evolucionar a modelos de negocios basados en tercerización • Facilidad para abordar modelos de negocios basados en colaboración con otros entes (socios, proveedores): facilita la integración
    de sistemas y aplicaciones diferentes, lo cual mejora la comunicación y la capacidad de respuesta con sistemas externos • Poder para reemplazar elementos de la capa aplicativa SOA sin disrupción en el proceso de negocio • Facilidad para la
    integración de tecnologías disímiles • Mejora en la toma de decisiones: la organización dispone de mayor información y más actualizada, lo que le permite una respuesta rápida y eficaz cuando surgen problemas o cambios • Aplicaciones flexibles:
    la orientación a servicios permite desarrollar aplicaciones con independencia de las plataformas y lenguajes de programación que realizan los procesos • Aplicaciones reutilizables y adaptables: permite que las aplicaciones existentes para
    ser reutilizadas y adaptadas a nuevos entornos con facilidad.

  • Así conseguimos optimizar los recursos empleados en su desarrollo • Reducción de costes: el coste de ampliar o crear nuevos servicios se reduce considerablemente tanto en
    aplicaciones nuevas como ya existentes • Riesgo de migración: al adaptar SOA a partir de una tecnología existente se siguen utilizando los componentes existentes, por lo que se reduce el riesgo de introducir fallos Diferencias con otras arquitecturas
    Al contrario de las arquitecturas orientado a objetos, las SOA están formadas por servicios de aplicación débilmente acoplados y altamente interoperables.

  • Web Services (WS) engloba varias tecnologías, incluyendo XML, SOAP, WSDL, UDDI…los cuales permiten construir soluciones de programación para mensajes específicos y para problemas
    de integración de aplicaciones.3 En cambio SOA es una arquitectura de aplicación en la cual todas las funciones están definidas como servicios independientes con interfaces invocables que pueden ser llamados en secuencias bien definidas para
    formar los procesos de negocio.

  • Algunos de los principios publicados son los siguientes: • Contrato de servicios estandarizados: los servicios adhieren a un acuerdo de comunicación, según se define en conjunto
    con uno o más documentos de descripción de servicios.

  • • Transparencia de ubicación de servicios: se refiere a la capacidad de un consumidor de servicios para invocar a un servicio independientemente de su ubicación en la red.

  • La orientación a servicios es una forma de pensar en servicios, su construcción y sus resultados.

  • Un servicio es una representación lógica de una actividad de negocio que tiene un resultado de negocio específico (ejemplo: comprobar el crédito de un cliente, obtener datos
    de clima, consolidar reportes de perforación) El estilo de arquitectura SOA se caracteriza por: • Estar basado en el diseño de servicios que reflejan las actividades del negocio en el mundo real.

  • Consumidor: La función que consume el resultado del servicio provisto por un proveedor Principios No hay estándares en relación a la composición exacta de una arquitectura
    orientada a servicios, aunque muchas fuentes de la industria han publicado sus propios principios.

  • • Servicios sin-estado: los servicios minimizan el consumo de recursos aplazando la gestión de la información de estado cuando sea necesario.

  • Esta función permite realizar dos de los puntos críticos: los servicios son realmente independientes y pueden ser manejados.

  • • Requerir un gobierno fuerte sobre las representación e implementación de servicios.

  • En los años 80 aparecieron los modelos orientados a objetos, en los 90 aparecieron los modelos basados en componentes y en la actualidad han aparecido los modelos orientados
    a servicios.1 Aunque la arquitectura orientada a servicios no es un concepto nuevo (si bien fue descrita por primera vez por Gartner hasta en 1996), sí se ha visto incrementada su presencia en la actualidad, en gran medida debido al aumento
    de uso de servicios web.

  • Este organismo tiene por principal objetivo asegurar que los grupos de trabajo que definen las especificaciones sobre WS utilizan estándares adecuados, a la vez que monitoriza
    el avance de sus trabajos; no define ni desarrolla estándares.4 SOA y Web 2.0 SOA, acrónimo de Service-Oriented Architectures (Arquitecturas orientadas a Servicios), es una arquitectura que permite que las nuevas aplicaciones no sean desarrolladas
    de cero sino una integración de un conjunto de servicios publicados.

  • El desarrollo de sistemas usando SOA requiere un compromiso con este modelo en términos de planificación, herramientas e infraestructura.

  • Aquí es donde el consumidor simplemente llama a un servicio lógico, mientras que un SOA habilita la ejecución del componente de la infraestructura, normalmente un bus de servicios,
    que mapea este servicio lógico y llama al servicio físico.

  • [5] o Autonomía: Los servicios deben tener un gran control de los recursos tecnológicos sobre los cuales están implementados.

  • En algunos casos, los servicios se desnormalizan para fines específicos, como la optimización del rendimiento, el acceso y agregación.

  • Los servicios pueden también ejecutar unidades discretas de trabajo como serían editar y procesar una transacción.

  • La mayoría de las definiciones de SOA identifican la utilización de servicios web (empleando SOAP y WSDL) en su implementación, no obstante se puede implementar SOA utilizando
    cualquier tecnología basada en servicios.

  • Aunque estas se basan en la arquitectura de tecnologías Web y en la Arquitectura orientada a servicios presentan diferencias.

  • • Granularidad de servicios: una consideración de diseño para proporcionar un ámbito óptimo y un correcto nivel granular de la funcionalidad del negocio en una operación de
    servicio.

  • Aunque los servicios web usan con frecuencia SOA, SOA es neutral e independiente de la tecnología utilizada y por tanto no depende de los servicios web, aunque estos la popularizan.2
    Terminología Servicio: Una función sin estado, auto-contenida, que acepta una(s) llamada(s) y devuelve una(s) respuesta(s) mediante una interfaz bien definida.

  • • Encapsulación de servicios: muchos servicios están consolidados para el uso de SOA.

  • Proveedor: La función que brinda un servicio en respuesta a una llamada o petición desde un consumidor.

  • Elementos de una arquitectura SOA, por Dirk Krafzig, Karl Banke, y Dirk Slama.7 Cuando la mayoría de la gente habla de una arquitectura orientada a servicios están hablando
    de un juego de servicios residentes en Internet o en una intranet, usando servicios web.

  • [7] o Garantizar su descubrimiento: Lo servicios cuentan con metadata que permite descubrirlos e interpretar el servicio en términos de negocio.

  • SOA y los microservicios Los microservicios son una interpretación moderna de la arquitectura orientada a servicios usada para construir sistemas distribuidos.

  • Las características propias de SOA permiten a las organizaciones la capacidad de controlar un problema de forma general, permitiendo una respuesta más rápida y eficaz y por
    tanto adaptarse de la mejor forma a los cambios.8 Otra de sus ventajas es la independencia de las plataformas e infraestructuras tecnológicas, lo que le permite integrarse con sistemas y aplicaciones diferentes de forma sencilla.

  • Diseño orientado a servicios, El diseño orientado a servicios cuenta con 8 principios de diseño que se aplican sobre cada uno de los servicios modelados, esto principios de
    diseño son: o Contrato de servicio estandarizado: Los contratos de servicio cumplen con los mismos estándares de diseño.

  • • La normalización de servicios: los servicios se descomponen a un nivel de forma normal para minimizar la redundancia.

  • [8] o Preparado para ser usado en composiciones: Los servicios pueden hacer parte de una composición sin importar el tamaño y complejidad de la misma.

  • La definición de la interfaz encapsula (oculta) las particularidades de una implementación, lo que la hace independiente del fabricante, del lenguaje de programación o de
    la tecnología de desarrollo (como Plataforma Java o Microsoft .NET).

  • • Autonomía de servicios: los servicios tienen control sobre la lógica que encapsulan, desde una perspectiva de diseño y ejecución.

  • • Optimización de servicios: los servicios de alta calidad son preferibles a los de baja calidad.

 

Works Cited

[“• Norbert Bieberstein et al. Service-Oriented Architecture Compass, Pearson 2006, ISBN 0-13-187002-5
• Eben Hewitt. Java SOA Cookbook, 1st Edition, O’reilly 2009
• http://shop.oreilly.com/product/9780596520731.do – Evaluating a Service Oriented
Architecture (SEI)
o «Copia archivada». Archivado desde el original el 21 de marzo de 2014. Consultado el 5 de mayo de 2014.
o ↑ http://upcommons.upc.edu/pfc/bitstream/2099.1/12312/1/ESTUDIO_DE_ARQUITECTURAS_DE_REDES_ORIENTADAS_A_SERVICIO.pdf
o ↑
Kishore Channabasavaiah and Kerrie Holley, IBM Global Services, and Edward M. Tuggle, Jr., IBM Software Group, “On demand operating environment solutions: Migrating to a service-oriented architecture”, white paper, April 2004.
o ↑ ARQ-RFC “Pautas
y recomendaciones para SOA v.091”, July 2006
o ↑ «Microservices: yesterday, today, and tomorrow». Consultado el 6 de julio de 2016.
o ↑ James Lewis and Martin Fowler. «Microservices».
o ↑ Enterprise SOA. Prentice Hall, 2005
o ↑ «Copia archivada».
Archivado desde el original el 5 de mayo de 2014. Consultado el 5 de mayo de 2014.
o ↑ http://upcommons.upc.edu/pfc/bitstream/2099.1/12312/1/ESTUDIO_DE_ARQUITECTURAS_DE_REDES_ORIENTADAS_A_SERVICIO.pdf
Photo credit: https://www.flickr.com/photos/brillianthues/8926641787/”]