Arquitecturas orientadas a servicios: contratos y especificaciones

Clase 14 de 24Curso de Fundamentos de Arquitectura de Software

Resumen

Las arquitecturas orientadas a servicios son una manera efectiva de abordar problemas complejos al dividirlos en unidades funcionales casi independientes. Esta metodología está cimentada en contratos específicos que los proveedores y usuarios de servicios deben cumplir, asegurando claridad y eficiencia en la comunicación empresarial y tecnológica.

¿Qué es exactamente un contrato en arquitectura orientada a servicios?

Un contrato es una especificación puntual que detalla claramente las obligaciones y expectativas tanto del servicio cliente como del servidor proveedor. Estas especificaciones permiten una interacción efectiva y estandarizada, facilitando el uso de múltiples proveedores sin cambios significativos en las aplicaciones cliente.

Algunos formatos relevantes para estos contratos incluyen:

  • Open APIs.
  • Swagger.
  • Especificaciones basadas en XML, tales como SOAP.

¿Cómo se utilizaba XML en las arquitecturas de servicios?

Anteriormente, XML era ampliamente utilizado para definir y validar contratos a través del uso de estándares específicos. Algunos documentos clave incluían:

  • XSD: para validar que los contratos estuvieran estructurados correctamente según reglas específicas.
  • XSLT: facilitar la transformación de estos documentos en formatos como PDF o hojas de cálculo.

Además, la especificación WSDL (Web Services Description Language) resultaba vital para definir claramente las operaciones que un servidor podía ofrecer a los clientes, los tipos de datos utilizados y los mensajes intercambiados. También existían registros universales que permitían descubrir de manera rápida y sencilla los servidores que cumplían con ciertos contratos.

¿Dónde están presentes hoy día estos estándares?

Actualmente, un ejemplo cotidiano y práctico se encuentra en los sistemas gubernamentales para facturación electrónica. Estos sistemas requieren seguir cuidadosamente contratos específicos desgastados en WSDL, permitiendo interoperabilidad entre servicios del sector privado y entidades públicas de regulaciones fiscales.

¿Por qué surgieron nuevas alternativas arquitectónicas?

A pesar de su utilidad, la complejidad y rigidez de estos contratos hizo aparecer una carga cognitiva y técnica considerable, impulsando la búsqueda de otras opciones más flexibles y simples. Por ello, surgieron nuevas arquitecturas más ligeras, tales como las orientadas a eventos. Este tipo de soluciones se abordan cuando se enfrentan situaciones como:

  • Integración de sistemas heterogéneos.
  • Reacción dinámica ante estímulos externos.
  • Inclusión de otros sistemas distintos en soluciones específicas.

Abordar estos escenarios será fundamental para avanzar en los distintos enfoques arquitectónicos disponibles, especialmente el orientado a eventos.