Una arquitectura orientada a recursos (ROA) es el diseño estructural que soporta la interconexión de recursos. Un recurso, en este contexto, es cualquier entidad que se puede identificar y asignar un identificador uniforme de recursos (URI).
En tecnología de la información, la arquitectura se refiere a la estructura general de un sistema de información y las interrelaciones de las entidades que componen ese sistema. ROA se considera una arquitectura RESTful. REST (transferencia de estado representacional) está definido por Roy Fielding, coautor de la especificación HTTP y cofundador del proyecto del servidor HTTP Apache, como un estilo arquitectónico que explota la tecnología y los protocolos existentes de la Web, incluidos HTTP y XML.
Dentro del concepto de ROA, los recursos incluyen no solo elementos de infraestructura de TI como servidores, computadoras y otros dispositivos, sino también páginas web, scripts y páginas JSP / ASP, y otras entidades como semáforos.
La tesis doctoral de Fielding, "Estilos arquitectónicos y el diseño de arquitecturas de software basadas en red", identifica cuatro conceptos esenciales que subyacen a la arquitectura orientada a recursos:
- Recursos
- Sus nombres (URI)
- Sus representaciones
- Los vínculos entre ellos.
y cuatro propiedades:
- Direccionabilidad
- Apatridia
- Conectividad
- Una interfaz uniforme