skip to main content
10.1145/337180.337228acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article
Free Access

Principled design of the modern Web architecture

Authors Info & Claims
Published:01 June 2000Publication 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 system. 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 paper, we introduce the Representational State Transfer (REST) architectural style, developed as an abstract model of the Web architecture 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. 1.Andrews, G. Paradigms for process interaction in distrib-uted programs. ACM Computing Surveys 23,1(Mar. 1991), pp. 49-90.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.Anklesaria, F., et al. The Internet Gopher protocol (a distributed document search and retrieval protocol). Internet RFC 1436, Mar. 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Bass,L.,P.Clements,andR.Kazman.Software Architecture in Practice. Addison Wesley, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Berners-Lee, T. WWW: Past, present, and future. Computer 29, 10 (Oct. 1996), pp. 69-77.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.Berners-Lee, T., R.T. Fielding, and H.F. Nielsen. Hypertext Transfer Protocol - HTTP/1.0. Internet RFC 1945, May 1996.]] Google ScholarGoogle Scholar
  6. 6.Berners-Lee, T., R.T. Fielding, and L. Masinter. Uniform Resource Identifiers (URI): Generic syntax. Internet RFC 2396, Aug. 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.Chin, R.S., and S.T. Chanson. Distributed object-based programming systems. ACM Computing Surveys 23,1 (Mar. 1991), pp. 91-124.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.Davis, F., et. al. WAIS interface protocol prototype functional specification (v.1.5). Thinking Machines Corporation, Apr. 1990.]]Google ScholarGoogle Scholar
  9. 9.Fielding, R.T. Maintaining distributed hypertext infostructures: Welcome to MOMspider's web. Computer Networks and ISDN Systems 27,2(Nov. 1994), pp. 193~-204.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.Fielding, R.T., J. Gettys, J.C. Mogul, H.F. Nielsen, L. Masinter, P. Leach, and T. Berners-Lee. Hypertext Transfer Protocol -HTTP/1.1. Internet RFC 2616,June 1999. {Obsoletes RFC 2068, Jan. 1997.}]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.Fielding, R.T., E.J. Whitehead Jr., K.M. Anderson, G.Bolcer,P.Oreizy,andR.N.Taylor.Web-based development of complex information products. Comm. of the ACM 41, 8 (Aug. 1998), pp. 84-92.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.Fuggetta, A., G.P. Picco, and G. Vigna. Understanding code mobility. IEEE Transactions on Software Engineering 24, 5 (May 1998), pp. 342-361.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.Garlan, D., and M. Shaw. An introduction to software architecture. Ambriola & Tortola (eds.), Advances in Software Engineering & Knowledge Engineering, vol. II, World Scientific Pub Co., 1993, pp. 1-39.]]Google ScholarGoogle Scholar
  14. 14.Gr~nbaek, K., and R.H. Trigg. Design issues for a Dexter-based hypermedia system. Communications of the ACM 37, 2 (Feb. 1994), pp. 41-49.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Kristol, D., and L. Montulli. HTTP State Management Mechanism. Internet RFC 2109, Feb. 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.Manola, F. Technologies for a Web object model. IEEE Internet Computing 3, 1 (Jan.-Feb. 1999), pp. 38-47.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.Perry, D.E., and A. Wolf. Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17, 4 (Oct. 1992), pp. 40-52.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.Postel, J. Media type registration procedure. Internet RFC 1590, Nov. 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.Postel, J., and J. Reynolds. File Transfer Protocol. Internet STD 9, RFC 959, Oct. 1985.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.Sinha, A. Client-server computing. Communications of the ACM 35, 7 (July 1992), pp. 77-98.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.Sollins, K., and L. Masinter. Functional requirements for Uniform Resource Names. Internet RFC 1737,Dec. 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.Taylor, R.N., N. Medvidovic, K.M. Anderson, E.J. Whitehead Jr., J.E. Robbins, K.A. Nies, P. Oreizy, and D.L. Dubrow. A component- and message-based architectural style for GUI software. IEEE Transactions on Software Engineering 22, 6 (Jun. 1996), pp. 390-406.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Principled design of the modern Web architecture

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                ICSE '00: Proceedings of the 22nd international conference on Software engineering
                June 2000
                843 pages
                ISBN:1581132069
                DOI:10.1145/337180

                Copyright © 2000 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 June 2000

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • Article

                Acceptance Rates

                Overall Acceptance Rate276of1,856submissions,15%

                Upcoming Conference

                ICSE 2025

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader