Uma arquitetura orientada a recursos (ROA) é o projeto estrutural que suporta o funcionamento dos recursos na Internet. Um recurso, neste contexto, é qualquer entidade que possa ser identificada e atribuída a um identificador uniforme de recursos (URI).
Na tecnologia da informação, arquitetura refere-se à estrutura geral de um sistema de informação e às inter-relações das entidades que compõem esse sistema. O ROA é considerado uma arquitetura RESTful. REST (representational state transfer) é definido por Roy Fielding, co-autor da especificação HTTP e co-fundador do projeto do servidor Apache HTTP, como um estilo arquitetônico que explora a tecnologia e protocolos existentes na Web, incluindo HTTP e XML.
No conceito ROA, os recursos incluem não apenas elementos de infra-estrutura de TI, como servidores, computadores e outros dispositivos, mas também páginas da Web, scripts e páginas JSP/ASP, e outras entidades, como semáforos.
Fielding’s doctoral dissertation, “Architectural Styles and the Design of Network-based Software Architectures,” identifies four essential concepts underlying the resource-oriented architecture:
- Resources
- Their names (URIs)
- Their representations
- The links between them.
and four properties:
- Addressability
- Statelessness
- Connectedness
- A uniform interface