Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Principled design of the modern Web architecture

Published: 01 May 2002 Publication History

Abstract

The World Wide Web has succeeded in large part because its software architecture has been designed to meet the needs of an Internet-scale distributed hypermedia application. The modern Web architecture emphasizes scalability of component interactions, generality of interfaces, independent deployment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems. In this article we introduce the Representational State Transfer (REST) architectural style, developed as an abstract model of the Web architecture and used to guide our redesign and definition of the Hypertext Transfer Protocol and Uniform Resource Identifiers. We describe the software engineering principles guiding REST and the interaction constraints chosen to retain those principles, contrasting them to the constraints of other architectural styles. We then compare the abstract model to the currently deployed Web architecture in order to elicit mismatches between the existing protocols and the applications they are intended to support.

References

[1]
Andrews, G. 1991. Paradigms for process interaction in distributed programs. ACM Computing Surv. 23, 1 (March 1991), 49--90.]]
[2]
Anklesaria, F., et al. 1993. The Internet Gopher protocol (a distributed document search and retrieval protocol). Internet RFC 1436, March 1993.]]
[3]
Baker, M., et al. 2002. RESTwiki. <http://conveyor.com/RESTwiki/moin.cgi>, April 2002.]]
[4]
Barrett, D. J., Clarke, L. A., Tarr, P. L., and Wise, A. E. 1996. A framework for event-based software integration. ACM Trans. Soft. Eng. Methodol. 5, 4 (Oct. 1996), 378--421.]]
[5]
Bass, L., Clements, P., and Kazman, R. 1996. Software Architecture in Practice. Addison Wesley, Reading, MA.]]
[6]
Berners-Lee, T. 1994. Universal resource identifiers in WWW. Internet RFC 1630, June 1994.]]
[7]
Berners-Lee, T., Masinter, L., and McCahill, M. 1994. Uniform resource locators (URL). Internet RFC 1738, Dec. 1994.]]
[8]
Berners-Lee, T. and Connolly, D. 1995. Hypertext markup language---2.0. Internet RFC 1866, Nov. 1995.]]
[9]
Berners-Lee, T. 1996. WWW: Past, present, and future. Computer 29, 10 (Oct. 1996), 69--77.]]
[10]
Berners-Lee, T., Fielding, R. T., and Nielsen, H. F. 1996. Hypertext transfer protocol---HTTP/1.0. Internet RFC 1945, May 1996.]]
[11]
Berners-Lee, T., Fielding, R. T., and Masinter, L. 1998. Uniform resource identifiers (URI): Generic syntax. Internet RFC 2396, Aug. 1998.]]
[12]
Brooks, C., Mazer, M. S., Meeks, S., and Miller, J. 1995. Application-specific proxy servers as HTTP stream transducers. In Proceedings of the Fourth International World Wide Web Conference (Boston, MA, Dec. 1995), 539--548.]]
[13]
Chin, R. S. and Chanson, S. T. 1991. Distributed object-based programming systems. ACM Comput. Surv. 23, 1 (March 1991), 91--124.]]
[14]
Clark, D. D. and Tennenhouse, D. L. 1990. Architectural considerations for a new generation of protocols. In Proceedings ACM SIGCOMM'90 Symposium (Philadelphia, PA, Sept. 1990), 200--208.]]
[15]
Davis, F., et. al. 1990. WAIS interface protocol prototype functional specification (v.1.5). Thinking Machines Corp., Apr. 1990.]]
[16]
Fielding, R. T. 1995. Relative uniform resource locators. Internet RFC 1808, June 1995.]]
[17]
Fielding, R. T. 1994. Maintaining distributed hypertext infostructures: Welcome to MOMspider's web. Comput. Net. ISDN Syst. 27, 2 (Nov. 1994), 193--204.]]
[18]
Fielding, R. T. 2000. Architectural styles and the design of network-based software architectures. PhD Dissertation. Dept. of Information and Computer Science, University of California, Irvine.]]
[19]
Fielding, R. T., Gettys, J., Mogul, J. C., Nielsen, H. F., Masinter, L., Leach, P., and Berners-Lee, T. 1999. Hypertext transfer protocol---HTTP/1.1. Internet RFC 2616, June 1999.]]
[20]
Fielding, R. T., Whitehead, E. J., Jr., Anderson, K. M., Bolcer, G., Oreizy, P., and Taylor, R. N. 1998. Web-based development of complex information products. Commun. ACM 41, 8 (Aug. 1998), 84--92.]]
[21]
Flanagan, D. 1999. Java™ in a Nutshell, 3rd ed. O'Reilly & Associates, Sebastopol.]]
[22]
Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, P., Luotonen, A., Sink, E., and Stewart, L. 1999. HTTP authentication: Basic and digest access authentication. Internet RFC 2617, June 1999.]]
[23]
Freed, N. and Borenstein, N. 1996. Multipurpose internet mail extensions (MIME) Part One: Format of internet message bodies. Internet RFC 2045, Nov. 1996.]]
[24]
Freed, N., Klensin, J., and J. Postel, J. 1996. Multipurpose internet mail extensions (MIME) Part Four: Registration procedures. Internet RFC 2048, Nov. 1996.]]
[25]
Fuggetta, A., Picco, G. P., and Vigna, G. 1998. Understanding code mobility. IEEE Trans. Soft. Eng. 24, 5 (May 1998), 342--361.]]
[26]
Garlan, D. and Shaw, M. 1993. An introduction to software architecture. Ambriola and Tortola, eds. In Advances in Software Engineering & Knowledge Engineering, vol. II, World Scientific 1993, 1--39.]]
[27]
Glassman, S. 1994. A caching relay for the World Wide Web. Comput. Net. ISDN Syst. 27, 2 (Nov. 1994), 165--173.]]
[28]
Grønbaek, K. and Trigg, R. H. 1994. Design issues for a Dexter-based hypermedia system. Commun. ACM 37, 2 (Feb. 1994), 41--49.]]
[29]
Heidemann, J., Obraczka, K., and Touch, J. 1997. Modeling the performance of HTTP over several transport protocols. IEEE/ACM Trans. Net. 5, 5 (Oct. 1997), 616--630.]]
[30]
Holtman, K. and Mutz, A. 1998. Transparent content negotiation in HTTP. Internet RFC 2295, March 1998.]]
[31]
Kristol, D. and Montulli, L. 1997. HTTP state management mechanism. Internet RFC 2109, Feb. 1997.]]
[32]
Luotonen, A. and Altis, K. 1994. World-Wide Web proxies. Comput. Net. ISDN Syst. 27, 2 (Nov. 1994), 147--154.]]
[33]
Manola, F. 1999. Technologies for a Web object model. IEEE Internet Comput. 3, 1 (Jan.-Feb. 1999), 38--47.]]
[34]
Maurer, H. 1996. HyperWave: The Next-Generation Web Solution. Addison-Wesley, Harlow, England, 1996.]]
[35]
Mogul, J., Fielding, R. T., Gettys, J., and Nielsen, H. F. 1997. Use and interpretation of HTTP version numbers. Internet RFC 2145, May 1997.]]
[36]
Nielsen, H. F., Leach, P., and Lawrence, S. 2000. HTTP extension framework, Internet RFC 2774, Feb. 2000.]]
[37]
Padmanabhan, V. N. and Mogul, J. C. 1995. Improving HTTP latency. Comput. Net. ISDN Syst. 28 (Dec. 1995), 25--35.]]
[38]
Perry, D. E. and Wolf, A. 1992. Foundations for the study of software architecture. ACM SIGSOFT Soft. Eng. Notes 17, 4 (Oct. 1992), 40--52.]]
[39]
Postel, J. 1996. Media type registration procedure. Internet RFC 1590, Nov. 1996.]]
[40]
Postel, J. and Reynolds, J. 1985. File transfer protocol. Internet STD 9, RFC 959, Oct. 1985.]]
[41]
Rosenblum, D. S. and Wolf, A. L. 1997. A design framework for Internet-scale event observation and notification. In Proceedings of the 6th European Software Engineering Conference and 5th ACM SIGSOFT Symposium on the Foundations of Software Engineering (Zurich, Switzerland, Sept. 1997), 344--360.]]
[42]
Sinha, A. 1992. Client-server computing. Commun. ACM 35, 7 (July 1992), 77--98.]]
[43]
Sollins, K. and Masinter, L. 1994. Functional requirements for Uniform Resource Names. Internet RFC 1737, Dec. 1994.]]
[44]
Spero, S. E. 1994. Analysis of HTTP performance problems. Published on the Web, <http://metalab.unc.edu/mdma-release/http-prob.html>.]]
[45]
Sullivan, K. J. and Notkin, D. 1992. Reconciling environment integration and software evolution. ACM Trans. Soft. Eng. Methodol. 1, 3 (July 1992), 229--268.]]
[46]
Taylor, R. N., Medvidovic, N., Anderson, K. M., Whitehead Jr., E. J., Robbins, J. E., Nies, K. A., Oreizy, P., and Dubrow, D. L. 1996. A component- and message-based architectural style for GUI software. IEEE Trans. Soft. Eng. 22, 6 (June 1996), 390--406.]]
[47]
Waldo, J., Wyant, G., Wollrath, A., and Kendall, S. 1994. A note on distributed computing. Tech. Rep. SMLI TR-94-29, Sun Microsystems Laboratories, Inc., Nov. 1994.]]
[48]
Wolman, A., Voelker, G., Sharma, N., Cardwell, N., Brown, M., Landray, T., Pinnel, D., Karlin, A., and Levy, H. 1999. Organization-based analysis of Web-object sharing and caching. In Proceedings of the 2nd USENIX Conference on Internet Technologies and Systems (Oct. 1999).]]

Cited By

View all
  • (2024)A distributed collaborative platform for multi-stakeholder multi-level management of renovation projectsJournal of Information Technology in Construction10.36680/j.itcon.2024.01129(219-246)Online publication date: 29-Mar-2024
  • (2024)ADVANCING WEB DEVELOPMENT: A COMPARATIVE ANALYSIS OF MODERN FRAMEWORKS FOR REST AND GRAPHQL BACK-END SERVICESGrail of Science10.36074/grail-of-science.15.03.2024.031(216-228)Online publication date: 23-Mar-2024
  • (2024)A User Study on Modeling IoT-Aware Processes with BPMN 2.0Information10.3390/info1504022915:4(229)Online publication date: 18-Apr-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Internet Technology
ACM Transactions on Internet Technology  Volume 2, Issue 2
May 2002
107 pages
ISSN:1533-5399
EISSN:1557-6051
DOI:10.1145/514183
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 2002
Published in TOIT Volume 2, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Network-based applications
  2. REST
  3. World Wide Web

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)439
  • Downloads (Last 6 weeks)49
Reflects downloads up to 17 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A distributed collaborative platform for multi-stakeholder multi-level management of renovation projectsJournal of Information Technology in Construction10.36680/j.itcon.2024.01129(219-246)Online publication date: 29-Mar-2024
  • (2024)ADVANCING WEB DEVELOPMENT: A COMPARATIVE ANALYSIS OF MODERN FRAMEWORKS FOR REST AND GRAPHQL BACK-END SERVICESGrail of Science10.36074/grail-of-science.15.03.2024.031(216-228)Online publication date: 23-Mar-2024
  • (2024)A User Study on Modeling IoT-Aware Processes with BPMN 2.0Information10.3390/info1504022915:4(229)Online publication date: 18-Apr-2024
  • (2024)PROTOTYPE DEVELOPMENT OF API INTEGRATION PLATFORM TO DRIVE NEW SERVICES FOR THE CONSTRUCTION PHASE建設施工段階の新規サービス促進を目指したAPI連携基盤のプロトタイプ開発Japanese Journal of JSCE10.2208/jscejj.23-0015080:8(n/a)Online publication date: 2024
  • (2024)Serverless computing based on dynamic-addressable sessionSCIENTIA SINICA Informationis10.1360/SSI-2023-015554:3(582)Online publication date: 11-Mar-2024
  • (2024)A knowledge interchange broker composition modeling framework for simulating water, energy, and water-energy nexus systemsSimulation10.1177/00375497241233783100:7(657-682)Online publication date: 1-Jul-2024
  • (2024)Intent-Based Management for Software-Defined Vehicles in Intelligent Transportation Systems2024 IEEE 10th International Conference on Network Softwarization (NetSoft)10.1109/NetSoft60951.2024.10588911(1-6)Online publication date: 24-Jun-2024
  • (2024)RESTRuler: Towards Automatically Identifying Violations of RESTful Design Rules in Web APIs2024 IEEE 21st International Conference on Software Architecture (ICSA)10.1109/ICSA59870.2024.00020(123-134)Online publication date: 4-Jun-2024
  • (2024)An Intent-Driven Management Automation for 5G Mobile Networks2024 International Conference on Information Networking (ICOIN)10.1109/ICOIN59985.2024.10572068(714-719)Online publication date: 17-Jan-2024
  • (2024)Server-enabled mixed reality for flood risk communicationEnvironmental Modelling & Software10.1016/j.envsoft.2024.106054177:COnline publication date: 1-Jun-2024
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media