Resource-oriented architecture (ROA)

Een resource-oriented architecture (ROA) is het structurele ontwerp ter ondersteuning van de internetworking van resources. Een resource is in deze context elke entiteit die kan worden geïdentificeerd en waaraan een uniform resource identifier (URI) kan worden toegekend.

In de informatietechnologie verwijst architectuur naar de algemene structuur van een informatiesysteem en de onderlinge relaties van entiteiten waaruit dat systeem is opgebouwd. ROA wordt beschouwd als een RESTful architectuur. REST (representational state transfer) is gedefinieerd door Roy Fielding, medeauteur van de HTTP specificatie en medeoprichter van het Apache HTTP server project, als een architectuurstijl die gebruik maakt van de bestaande technologie en protocollen van het Web, inclusief HTTP en XML.

Binnen het ROA concept, omvatten resources niet alleen IT infrastructuur elementen zoals servers, computers en andere apparaten, maar ook Web pagina's, scripts, en JSP/ASP pagina's, en andere entiteiten zoals verkeerslichten.

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