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

Reply via email to