Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Resource-oriented architecture

From Wikipedia, the free encyclopedia
Architectural pattern in software design

Insoftware engineering, aresource-oriented architecture (ROA) is a style ofsoftware architecture andprogramming paradigm for supportive designing and developingsoftware in the form of Internetworking ofresources with "RESTful"interfaces. These resources aresoftware components (discretepieces of code and/ordata structures) which can bereused for different purposes. ROAdesign principles and guidelines are used during the phases ofsoftware development andsystem integration.

REST, or Representational State Transfer, describes a series of architectural constraints that exemplify how the web's design emerged.[1] Various concrete implementations of these ideas have been created throughout time, but it has been difficult to discuss the REST architectural style without blurring the lines between actual software and the architectural principles behind it.

In Chapter 5 of his thesis,Roy Fielding documents how the World Wide Web is designed to be constrained by the REST series of limitations. These are still fairly abstract and have been interpreted in various ways in designing new frameworks, systems, and websites. In the past, heated exchanges have been made about whetherRPC-style REST architectures are RESTful.[1][2]

Guidelines for clarification

[edit]

The Resource Oriented Architecture, as documented byLeonard Richardson and Sam Ruby in their 2007 bookRESTful Web Services,[3] gives concrete advice on specific technical details. Naming these collections of guidelines "Resource Oriented Architecture" may allow developers to discuss the benefits of an architecture in the context of ROA.

Some guidelines are already common within the larger REST communities such as: that an application should expose many URIs, one for each resource; and that processing cookies representing IDs in a server-side session is not RESTful.

Existing frameworks

[edit]

Richardson and Ruby also discuss many software frameworks that provide some or many features of the ROA. These include/db,[4]Django,TurboGears,Flask,EverRest,[5]JBoss RESTEasy,[6]JBoss Seam,Spring,[7]Apache Wink,[8]Jersey,NetKernel,Recess,[9]Ruby on Rails,Symfony,Yii2,[10]Play Framework,[11] andAPI Platform.[12]

Web infrastructure

[edit]

While REST is a set of architectural guidelines applicable to various types of computing infrastructures, Resource Oriented Architecture (ROA) is only coupled with the web. This architecture is therefore useful mostly to businesses that consider the web as the computing/publishing platform of choice.

The power of the web seems to mostly reside in its ability to lower the barriers to entry for human users who may not be highly trained in using computing machinery.[dubiousdiscuss] As such, the web widens the market reach for any business that decides to publish some of its content in electronic format.On the web, such published content is regarded as aweb resource.

References

[edit]
  1. ^abChapter 5 of Fielding's dissertation is"Representational State Transfer (REST)".
  2. ^Fielding, Roy T.; Taylor, Richard N. (May 2002),"Principled Design of the Modern Web Architecture"(PDF),ACM Transactions on Internet Technology,2 (2):115–150,doi:10.1145/514183.514185,ISSN 1533-5399
  3. ^Richardson and Ruby 2007.
  4. ^"API on the Fly™ - Automatically add REST API to Your Databases".SlashDB.
  5. ^"Google Code Archive - Long-term storage for Google Code Project Hosting".code.google.com.
  6. ^"RESTEasy - JBoss Community".resteasy.github.io.
  7. ^"Spring REST Tutorial".
  8. ^"Index".wink.apache.org.
  9. ^"recessframework.org".ww12.recessframework.org.
  10. ^"Yii Framework".Yii Framework.
  11. ^"Play Framework - Build Modern & Scalable Web Apps with Java and Scala".www.playframework.com.
  12. ^"API Platform - REST and GraphQL framework to build modern API-driven projects in PHP".api-platform.com.

Bibliography

[edit]
Protocols
Server APIs
Apache modules
Topics
Browser APIs
Web APIs
WHATWG
W3C
Khronos
Others
Topics
Related topics
Retrieved from "https://en.wikipedia.org/w/index.php?title=Resource-oriented_architecture&oldid=1255816095"
Category:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp