Arquitecturas orientadas a servicios: contratos y especificaciones
Clase 14 de 24 • Curso 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.