Inicio > Otras Cosas >  Descifrador de Jerga

Descifrador de Jerga

¿Qué es la Arquitectura Orientada a los Servicios (SOA)?

La Arquitectura Orientada a los Servicios (Service Oriented Architecture o SOA en inglés) es una propuesta cada vez más popular para desplegar funcionalidad empresarial por medio de software estructurado para proveer y/o consumir servicios. En términos muy simples, un servicio dentro de SOA funciona muy semejante a la llamade de un procedimiento. En términos concretos, un servicio, tal como un procedimiento, se implementa como un pedazo de código que devuelve un resultado o causa alguna consecuencia indirecta. Por ejemplo, el código puede calcular y devolver una calificación de crédito de un individuo, hacer reservaciones aéreas, enviar mensajes electrónicos, o arrancar una máquina.

Los aspectos claves de una Arquitectura Orientada a los Servicios

Los servicios de SOA tienen tres aspectos técnicos que son claves:

  • Las aplicaciones pueden invocar servicios de SOA local o remotamente por medio de un protocolo de invocación que no está atada a ningún lenguaje, sistema de operaciones, o plataforma de aplicaciones Web
  • Los servicios de SOA se pueden invocar asincrónicamente tanto como sincrónicamente
  • La implementación no mantiene ningún estado entre invocaciones

Las primeras dos características proveen mayor flexibilidad e interoperabilidad que las llamadas de procedimiento, local o remota, que son dependientes de lenguaje o plataforma. La contribución crucial de SOA es la habilidad de hacer llamadas de procedimiento a través de una gama de ambientes. Por ejemplo, una aplicación LANSA que se ejecuta en i5/OS puede invocar un servicio implementado en C## que se ejecuta en ambiente de .NET.

La tercera característica, los llamados “servicios sin estado,” produce un acoplamiento más suelto entre una aplicación que usa un servicio y la implementación del servicio, lo que permite que los servicios sean invocados de manera fácil a través de Internet.

SOA es útil para la integración de aplicaciones que se ejecutan completamente en un sistema unico, especialmente en los procesos de flujo de trabajo o cuando se integran las aplicaciones heredadas con unas nuevas. SOA es también una herramienta tremenda para las aplicaciones distribuidas que comunican a través de Internet.

Etapas en el camino a implementar SOA

La importancia de los Servicios Web

Aunque haya muchas formas potenciales de SOA, el que se usa más comunmente se basa en los estándares de servicios Web, que permiten la comunicación por medio de intranet o Internet. Los más importantes estándares de servicios Web incluyen:

  • XML para el estructura y sintaxis de los mensajes e información de configuración
  • SOAP (originalmente un acrónimo para Simple Object Access Protocol (Protocolo para el Acceso de Objetos Simples) define la estructura de mensajes y la manera de intercambiar mensajes dentro de una red
  • WSDL (Web Services Definition Language en inglés o Lenguaje de Definición de Servicios Web) describe las interfaces públicas disponibles a los servicios Web, incluyendo los formatos de mensaje que se debe utilizar par interactuar con los servicios
  • UDDI (Universal Description, Discovery and Integration en inglés o Descripción, Descubrimiento e Integración Universales) es un estándar para una guía (o registro) que contiene entradas que describen los servicios disponibles

Hay un número de otros estándares de servicios Web que cubren la seguridad, confiabilidad y otros aspectos para invocar servicios y responder a los pedidos de servicio.

La implementacion práctica de SOAP y servicios Web con LANSA

Los servicios Web son un ejemplo óptimo para mostrar cuán esencial son los frameworks y herramientas a una estrategia flexible, confiable y productiva de desarrollo. Aunque el concepto de invocar un servicio Web no es más complicado que llamar a un procedimiento, el código de “plomería” sí es complejo y no perdona los errores.

Para codificar manualmente una invocación de servicios Web, un programador necesita aprender una cantidad enorme de detalles y ejercer mucho cuidado en codificar los pasos y propiedades de configuración con mucha precisión, que no contribuye nada a la implementación de las reglas o los procesos de negocio mismos.

Sin embargo, cuando se usa LANSA, todo el código y las propiedades de configuración requeridos se pueden generar con unas pocas especificaciones. Asímismo, la implementación manual de un servicio Web es una tarea agobiante, pero con el Asistente SOAP de LANSA, no es nada más complicada que escribir un procedimiento ordinario.