Tiempo de lectura estimado: 8-9 minutos.
Antes de comenzar, me gustaría recordar que en la parte anterior (parte 3) sobre Arquitectura de Software vimos Representación de la Arquitectura (Viewpoints, Views, Perspectives, SAD) y Patrones de Arquitectura (Contexto + Problema + Solución, ej. Broker). Sigamos ahora con estos dos últimos temas: SOA y Evaluaciones.
Arquitectura Orientada a Servicios
La puesta en práctica del paradigma Service Oriented Computing (SOC) requiere la implementación de una Service Oriented Architecture (SOA).SOC es un paradigma de computación que utiliza servicios como elementos fundamentales para dar soporte al desarrollo rápido y de bajo costo, de aplicaciones distribuidas en ambientes heterogéneos.
SOA es una forma lógica de diseñar un sistema de software para proveer servicios a usuarios finales, aplicaciones u otros servicios, a través de interfaces públicas que pueden ser descubiertas.
Algunas características de este tipo de arquitecturas son:
- Los servicios se mapean a funcionalidades de negocio
- Cada servicio tiene una interfaz bien definida que le permite ser publicado, descubierto e invocado
- Una organización puede publicar sus servicios de forma externa, para interactuar con sus socios de negocio, o de forma interna a la organización
- Debe cumplir con principios tales como Contratos estandarizados, Abstracción, Reusabilidad, Autonomía