Arquitetura orientada a recursos (ROA)

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:

  1. Resources
  2. Their names (URIs)
  3. Their representations
  4. The links between them.

and four properties:

  1. Addressability
  2. Statelessness
  3. Connectedness
  4. A uniform interface