It's an architectural style to allow programs to communicate with stateless packets, internally or externally. For example, an HTTP client/server is a logical implementation of a REST design.
Unlike the SOAP style, methods are uniform and resources follow a pattern. Please review the dissertation that covers it all in detail: http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm Carlo Wood wrote: > Heyas Dzonatas, > > nice work. I think this approach needs serious consideration. > Perhaps you can be so friendly as to explain to the list > what defines REST, and why this approach is a RESTfull > implementation? > > On Wed, Mar 17, 2010 at 10:21:06AM -0700, Dzonatas Sol wrote: > >> Here is a sample of the REST/HTTP doc for SNOW-375. >> >> SNOW-375 adds a HTTP server in the viewer to be easily accessible by any >> process or client-side script in a language agnostic manner. >> >> I posted this here to hopefully encourage forward movement in >> client-side scripting and to avoid the backpedal and reinventions. >> >> Note: This is tried, tested, and works. This is not just "talk" or >> made-up documentation. >> >> +++++++++++++ >> >> SNOW-375: REST/HTTP URI patterns and response summary as of March 2010 >> >> All names that appears in angle brackets, <>, are variable. >> >> Note full URI paths used, yet these don't include the >> "http://host:port/" designation. >> >> Example URI: http://localhost:50140/ControlGroup/SavedSettings >> >> All responses are wrapped in LLSD (examples not included in this doc). >> >> Most of these use the GET method, and combined/burst throughput via the >> POST method. >> >> ---------------------------- >> /ControlGroup >> >> Response is a list of control groups. >> >> >> ---------------------------- >> /ControlGroup/<group> >> >> Response is a list of valid variables in a controlgroup with default >> settings >> >> <group> is currently either "SavedSettings" or "SavedPerAccountSettings" >> >> >> ---------------------------- >> /ControlGroup/<group>/<identifier> >> >> Response is a detailed and update of current settings for the specific >> variable identified. >> >> <group> is currently either "SavedSettings" or "SavedPerAccountSettings" >> <identifier> is a valid variable name from one of the variable control >> groups. >> >> >> ---------------------------- >> /Agent/Groups >> >> Response is a list with details of groups joined by the connected agent. >> >> >> ---------------------------- >> /AvatarTracker/Friends >> >> Response is the UUID list of the agent's friends and basic status of each. >> >> >> ---------------------------- >> /AvatarTracker/Friend/<uuid> >> >> Response is a detailed relationship information for a specified friend UUID. >> >> >> ---------------------------- >> /GestureManager/Items >> >> Response is a list of UUID of active gestures. >> >> >> ---------------------------- >> /GestureManager/Item/<uuid> >> >> Response is the details of a MultiGesture structure for the UUID specified. >> >> >> ---------------------------- >> /Inventory/Item/<uuid> >> >> Response is the details of an inventory item specified by the UUID. >> >> >> ---------------------------- >> /Inventory/Root >> >> Response is the UUID of the root inventory folder. >> >> >> ---------------------------- >> /Inventory/Category/<uuid> >> >> Response is the UUIDs of the descendant categories and items of the >> specified UUID. >> >> >> ---------------------------- >> /Asset/Notecard/<uuid> >> >> Response is the notecard item specified by UUID converted to XML format >> (rather than 'linden notecard format'). >> >> ---------------------------- >> /Interface/Connect >> >> POST: Attempt to negotiate a connection to enable the above resources. >> * Details of connection steps not included in this doc. >> >> ---------------------------- >> /AvatarTracker/Friend/s >> /GestureManager/Item/s >> /Inventory/Item/s >> /Inventory/Category/s >> >> POST: List of UUIDs for combined query, as above where <uuid> is replace >> with just an "s". >> Response: List of combined queries as if each item is an individual >> responses to each UUID. >> > > _______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges