Abstract
FOREST satisfies the need for objects to easily interact across the network in a RESTful way – without calling methods on each other. To do this, it asks you to set your objects up in an Observer Pattern relationship. Or, in particular, a “Functional Observer Pattern”, where an object’s state is set as a Function of its current state plus the state of other objects it Observes through links. This observation occurs through either pull or push of linked object state. Such a programming model maps directly to RESTful distribution over HTTP, using GET for pull and POST for push of object state, in both directions between interacting servers. Objects are published into a global interacting object Web. This distributed object architecture is declarative in nature, and thus very expressive, as well as being naturally concurrent.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Armstrong J., Williams M., Wikstrom C. and Virding R. Concurrent Programming in Erlang, Prentice-Hall, Englewood Cliffs, NJ, USA. (1996). Online: http://www.erlang.org
Berners-Lee, T., Fielding, R.T. et al. httpRange-14: What is the Range of the HTTP Dereference Function? (2010). Online: http://www.w3.org/2001/tag/issues.html#httpRange-14
Berners-Lee, T., Fielding, R.T. et al. Uniform Resource Identifier (URI): Generic Syntax, (2005). Online: http://www.ietf.org/rfc/rfc3986.txt
Cragg, D. Web Objects Ask, they Never Tell | The REST Dialogues, (2009). Online: http://duncan-cragg.org/blog/post/web-objects-ask-they-never-tell-rest-dialogues/
Dahl, R. Node.js, (2009). Online: http://nodejs.org/jsconf.pdf
Fielding, R.T. Architectural Styles and the Design of Network-based Software Architectures. Doctoral dissertation, University of California, Irvine, (2000). Online: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
Fielding, R.T. Post to the REST-Discuss Mailing List, (2006). Online: http://tech.groups.yahoo.com/group/rest-discuss/message/6613
Fielding, R.T. Economies of Scale, (2008). Online: http://roy.gbiv.com/untangled/2008/economies-of-scale
Fielding, R.T. et al. HTTP/1.1, Part 3: Message Payload and Content Negotiation, (2011). Online: http://tools.ietf.org/html/draft-ietf-httpbis-p3-payload-14
Fielding, R.T. et al. Hypertext Transfer Protocol – HTTP/1.1, (1999). Online: http://www.ietf.org/rfc/rfc2616.txt
Fielding, R.T. et al. HTTP/1.1, Part 2: Message Semantics, (2010). Online: http://tools.ietf.org/wg/httpbis/draft-ietf-httpbis-p2-semantics/
Hickey, R. Clojure’s Approach to Identity and State, (2009). Online: http://qconlondon.com/dl/qcon-london-2009/slides/RichHickey_PersistentDataStructuresAndManagedReferences.pdf
Mealling, M., Denenberg, R. Report from the Joint W3C/IETF URI Planning Interest Group: Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names (URNs): Clarifications and Recommendations, (2002). Online: http://www.ietf.org/rfc/rfc3305.txt
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Cragg, D. (2011). FOREST: An Interacting Object Web. In: Wilde, E., Pautasso, C. (eds) REST: From Research to Practice. Springer, New York, NY. https://doi.org/10.1007/978-1-4419-8303-9_7
Download citation
DOI: https://doi.org/10.1007/978-1-4419-8303-9_7
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4419-8302-2
Online ISBN: 978-1-4419-8303-9
eBook Packages: EngineeringEngineering (R0)