Roy Fielding

Last updated
Roy Fielding
Roy Fielding (cropped).jpg
Fielding speaking at OSCON08
Born
Roy Thomas Fielding

September 1965 (age 59)
Alma mater University of California, Irvine
Known forREST, Apache HTTP Server
Scientific career
Fields Computer science
Thesis Architectural Styles and the Design of Network-based Software Architectures  (2000)
Website roy.gbiv.com

Roy Thomas Fielding (born 1965) is an American computer scientist, one of the principal authors of the HTTP specification and the originator of the Representational State Transfer (REST) architectural style. He is an authority on computer network architecture and co-founded the Apache HTTP Server project. [1] [2]

Contents

Fielding works as a senior principal scientist at Adobe Systems in San Jose, California. [3]

Biography

Fielding was born in 1965 in Laguna Beach, California. He describes himself as "part Maori, Kiwi, Yank, Irish, Scottish, British, and California beach bum". [4] [5] [6] In 1999, the Massachusetts Institute of Technology (MIT) Technology Review TR100 named him one of the top 100 innovators in the world under the age of 35. [7] In 2000, he received his doctorate from the University of California, Irvine. [8]

Contributions

Architectural Styles and the Design of Network-based Software Architectures, Fielding's doctoral dissertation, describes Representational State Transfer (REST) as a key architectural principle of the World Wide Web and received a large amount of attention. Computer engineers frequently hold up REST as an approach to developing web services, [8] as an alternative to other distributed-computing specifications such as SOAP. Fielding has also been heavily involved in the development of HTML and Uniform Resource Identifiers. Fielding co-founded the Apache HTTP Server project [9] [10] and was a member of the interim OpenSolaris Boards until he resigned from the community in 2008. [11] He chaired the Apache Software Foundation for its first three years and sat on its board of directors until May 2014. [12]

Between 2001 and 2006, Fielding worked on Waka, an application protocol intended as "a binary, token-based replacement for HTTP". [13] It was "designed to match the efficiency of the REST architectural style". [14] [15]

He coined the term HATEOAS (Hypermedia As The Engine Of Application State) in 2000 in his doctoral dissertation. [16]

Related Research Articles

<span class="mw-page-title-main">Web crawler</span> Software which systematically browses the World Wide Web

A Web crawler, sometimes called a spider or spiderbot and often shortened to crawler, is an Internet bot that systematically browses the World Wide Web and that is typically operated by search engines for the purpose of Web indexing.

<span class="mw-page-title-main">Software architecture</span> High level structures of a software system

Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations.

A web service (WS) is either:

CiteSeerX is a public search engine and digital library for scientific and academic papers, primarily in the fields of computer and information science.

A stateless protocol is a communication protocol in which the receiver must not retain session state from previous requests. The sender transfers relevant session state to the receiver in such a way that every request can be understood in isolation, that is without reference to session state from previous requests retained by the receiver.

In aspect-oriented software development, cross-cutting concerns are aspects of a program that affect several modules, without the possibility of being encapsulated in any of them. These concerns often cannot be cleanly decomposed from the rest of the system in both the design and implementation, and can result in either scattering, tangling, or both.

REST is a software architectural style that was created to guide the design and development of the architecture for the World Wide Web. REST defines a set of constraints for how the architecture of a distributed, Internet-scale hypermedia system, such as the Web, should behave. The REST architectural style emphasises uniform interfaces, independent deployment of components, the scalability of interactions between them, and creating a layered architecture to promote caching to reduce user-perceived latency, enforce security, and encapsulate legacy systems.

<span class="mw-page-title-main">Dynamic web page</span> Type of web page

A dynamic web page is a web page constructed at runtime, as opposed to a static web page, delivered as it is stored.

Free/open-source software – the source availability model used by free and open-source software (FOSS) – and closed source are two approaches to the distribution of software.

<span class="mw-page-title-main">Apache Axis2</span> Web service engine

Apache Axis2 is a web service engine. It is a redesign and re-write of the widely used Apache Axis SOAP stack. Implementations of Axis2 are available in Java and C.

In software engineering, a resource-oriented architecture (ROA) is a style of software architecture and programming paradigm for supportive designing and developing software in the form of Internetworking of resources with "RESTful" interfaces. These resources are software components which can be reused for different purposes. ROA design principles and guidelines are used during the phases of software development and system integration.

<span class="mw-page-title-main">Justin Erenkrantz</span>

Justin Erenkrantz was President of the Apache Software Foundation. He previously served as Treasurer for the ASF. Erenkrantz worked as a software engineer for Joost. He is currently working as Head of Compute Architecture at Bloomberg L.P., New York. Erenkrantz has made major coding developments on Apache HTTP Server, APR, mod_mbox, flood and Serf. As of 2010 Erenkrantz graduated from the University of California, Irvine where he received a PhD. His dissertation is titled Computational REST: A New Model for Decentralized, Internet-Scale Applications.

David James Brown is an American computer scientist. He was one of a small group at Stanford University that helped to develop the computer system that later became the foundational technology of Sun Microsystems, and was a co-founder of Silicon Graphics.

The Web of Things (WoT) refers to a set of standards developed by the World Wide Web Consortium (W3C) to ensure interoperability across different Internet of things platforms and application domains.

Hypermedia as the engine of application state (HATEOAS) is a constraint of the REST software architectural style that distinguishes it from other network architectural styles.

In the field of software development, an interceptor pattern is a software design pattern that is used when software systems or frameworks want to offer a way to change, or augment, their usual processing cycle. For example, a (simplified) typical processing sequence for a web-server is to receive a URI from the browser, map it to a file on disk, open the file and send its contents to the browser. Any of these steps could be replaced or changed, e.g. by replacing the way URIs are mapped to filenames, or by inserting a new step which processes the files contents.

An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build such a connection or interface is called an API specification. A computer system that meets this standard is said to implement or expose an API. The term API may refer either to the specification or to the implementation.

<span class="mw-page-title-main">Apache OODT</span>

The Apache Object Oriented Data Technology (OODT) is an open source data management system framework that is managed by the Apache Software Foundation. OODT was originally developed at NASA Jet Propulsion Laboratory to support capturing, processing and sharing of data for NASA's scientific archives.

RESTfulAPIDLs are formal languages designed to provide a structured description of a RESTful web API that is useful both to a human and for automated machine processing. API description languages are sometimes called interface description languages (IDLs). The structured description might be used to generate documentation for human programmers; such documentation may be easier to read than free-form documentation, since all documentation generated by the same tool follows the same formatting conventions. Additionally, the description language is usually precise enough to allow automated generation of various software artifacts, like libraries, to access the API from various programming languages, which takes the burden of manually creating them off the programmers.

Nenad Medvidović is a Professor of Computer Science and Informatics at the University of Southern California in Los Angeles, CA. He is a fellow of the IEEE and an ACM Distinguished Member. He was chair of ACM SIGSOFT and co-author of Software Architecture: Foundations, Theory, and Practice (2009). In 2008, he received the Most Influential Paper Award for a paper titled "Architecture-Based Runtime Software Evolution" published in the ACM/IEEE International Conference on Software Engineering 1998. In 2020, he received the Most Influential Paper Award for a paper titled "An architectural style for solving computationally intensive problems on large networks" published in the ACM/IEEE Software Engineering for Adaptive and Self-Managing Systems 2007. In 2017, he received an IEEE International Conference on Software Architecture Best Paper Award for his paper titled "Continuous Analysis of Collaborative Design".

References

  1. "Roy T. Fielding's personal Web site". 2012-11-19. Retrieved 2013-03-04.
  2. "Roy Fielding's publications in Google Scholar". Google Scholar. Retrieved 2013-03-04.
  3. "Roy T. Fielding". LinkedIn . Retrieved 2017-08-28.
  4. "Roy T. Fielding: Life story". University of California, Irvine.
  5. Roy T. Fielding (2011-07-27). "Re: OpenOffice.org branding". www-legal-discuss.
  6. Roy T. Fielding (1999-07-02). "Re: Kiwi Fruit". FoRK mailing list.
  7. "1999 Young Innovators Under 35". Technology Review . 1999. Retrieved 2013-03-04.
  8. 1 2 Fielding, R. T.; Taylor, R. N. (2000). "Principled design of the modern Web architecture". Proceedings of the 22nd international conference on Software engineering - ICSE '00. pp. 407–416. CiteSeerX   10.1.1.420.3952 . doi:10.1145/337180.337228. ISBN   978-1581132069. S2CID   2675076.
  9. Mockus, A.; Fielding, R. T.; Herbsleb, J. (2000). "A case study of open source software development". Proceedings of the 22nd international conference on Software engineering - ICSE '00. pp. 263–272. CiteSeerX   10.1.1.13.1121 . doi:10.1145/337180.337209. ISBN   978-1581132069. S2CID   9075291.
  10. Mockus, A.; Fielding, R. T.; Herbsleb, J. D. (2002). "Two case studies of open source software development: Apache and Mozilla". ACM Transactions on Software Engineering and Methodology. 11 (3): 309–346. CiteSeerX   10.1.1.594.5885 . doi:10.1145/567793.567795. S2CID   1938015.
  11. Roy T. Fielding (2008-02-14). "Sun's Responses to the OpenSolaris Trademark Questions". ogb-discuss.
  12. "Apache Software Foundation Board of Directors Meeting Minutes". 2014-05-21. Retrieved 2014-07-08.
  13. "A conversation with Roy Fielding about HTTP, REST, WebDAV, JSR 170, and Waka". jonudell.net. 2006-08-25.
  14. Roy T. Fielding, Ph.D. (2002-11-19). "waka: A replacement for HTTP" (PPT).
  15. Fielding, Roy T. (2012). "The Waka Protocol" (PDF). IETF.org. Retrieved 2017-03-23.
  16. Fielding, Roy Thomas (2000). "Representational State Transfer (REST)". Architectural Styles and the Design of Network-based Software Architectures (PhD). University of California, Irvine. p. 82. ISBN   0599871180.

Bibliography