[Opensim-dev] RFC: RESTful dealings with regions

Alan M Webb alan_webb at us.ibm.com
Wed May 14 16:07:16 UTC 2008


I think the admin prefix is important, though the spelling may change. 
With Open Sim we
need to be able to partition the resource name spaces so that arbitrary 
REST-based
services can be implemented without conflict. Don't we? If we don;t then I 
think we can all
look forward to those interminable debates that inevitable arise once any 
kind of naming
or data organization scheme is enforced. It does remain true though, that 
once adopted,
a higher level prefix should have a recognized signficance.

Currently the prefix values used to match for existing stream handlers are 
scattered ad hoc
throught he source tree. I think there is a need for a single defining 
class for these strings.
If we carry this through to its natural conclusion I think we end up with 
the sort of REST 
manager that Dirk was thinking about originally.

I agree that we should use the HTTP message semantics to our maximum 
advantage.
The idea of flattening the URI tree with redirects is a nice one.

Could we use tagging to select the attributes we really want when we're 
retriving actual
data about a resource such as a region?

Should all this be done at a server level? It seems like this stuff has 
the same functional
relationship to a server as some of the other servers that have been 
broken out so they
have a one-to-many region relationship regardless of server topology (grid 
or s/a). This
seems like one more service that should be broken out and be handled in 
the same way.
Perhaps the grid server is a proxy variation on a server specific theme?

Best regards
Alan
-------------------
T.J. Watson Research Center, Hawthorne, NY
1-914-784-7286
alan_webb at us.ibm.com



Dr Scofield <DrScofield at xyzzyxyzzy.net> 
Sent by: opensim-dev-bounces at lists.berlios.de
05/14/2008 10:47 AM
Please respond to
opensim-dev at lists.berlios.de


To
opensim-dev at lists.berlios.de
cc

Subject
Re: [Opensim-dev] RFC: RESTful dealings with regions






Sean Dague wrote:
> On Tue, May 13, 2008 at 08:09:54PM +0200, Dr Scofield wrote:
> 
>> we are currently trying to figure out what the best approach for a REST 

>> "API" for regions is and would like to solicit comments :-)
>>
>> currently the idea is to have a scheme as follows:
>>
>>     * http://opensim.foobar.org:9000/admin/regions ---
>>           o GET returns an array of (UUID, name, x location, y 
location,
>>             region's REST URL)
>> 
>                    I think this should just return UUIDs  Let's not 
overload
>                    the list functionality with the actual data, as it 
may get
>                    you much more than you care about.
> 
yeah...was wondering about that. so we'd return region URL with is 
/regions/UUID, agree?
> 
>>           o POST would create a region
>>     * 
http://opensim.foobar.org:9000/admin/regions/4b787c46-1e3c-40ae-9494-2c924428f8e5/

>>           o GET would return detailed information about region
>>           o DELETE would delete region
>>           o PUT would update region information
>>     * 
http://opensim.foobar.org:9000/admin/regions/4b787c46-1e3c-40ae-9494-2c924428f8e5/name

>>           o GET would return name of region
>>           o PUT would update name of region
>>           o [similar for other region attributes if it makes sense]
>> 
>
> +1, I like all of that.  My only question is really why have the /admin
> at all.
> 
just wanted to avoid clashing with anything else...actually it currently 
is configurable :-)
> 
>> current planning is to have this as an ApplicationPlugin level set of 
>> RestPlugins. an alternative would be to use region modules plus an 
>> ApplicationPlugin (for GET/POST on /admin/regions).
>>
>> this applies to region (meta) data. the next question would be how to 
>> structure this for avatar information and also for stuff like 
inventory: 
>> something along the lines below?
>>
>>     * http://opensim.foobar.org/admin/avatars
>>           o GET returns list of known avatars?
>>           o POST creates account?
>> 
>
> I think the right resource name here is "users" instead of "avatars"
> 
ok.
> 
>>     * 
http://opensim.foobar.org/admin/avatars/430f1da7-0e35-4c0f-985d-15046c077967/

>>           o GET returns detailed information about avatar?
>>           o PUT updates?
>>           o DELETE deletes?
>>     * 
http://opensim.foobar.org/admin/avatars/430f1da7-0e35-4c0f-985d-15046c077967/inventory/

>>           o GET returns inventory listing?
>>           o POST adds items to inventory?
>>           o DELETE deletes inventory items?
>> 
>
> I think that as we dig into users -> inventory what we'll actually get
> is.
>
> /admin/avatars/430f1da7-0e35-4c0f-985d-15046c077967/inventory/ => 302 =>
> /admin/inventory/XXXX-...
>
> Which takes us into an inventory resource tree.  Remember, in using REST
> and HTTP you get to use all the HTTP semantics including all the 30x
> redirects.
> 
nice!

thx for the feedback!

    cheers,
    dr scofield/dirk

-- 
dr dirk husemann, mathmatics and computer science, ibm zurich research lab
SL: dr scofield ---- drscofield at xyzzyxyzzy.net ---- http://xyzzyxyzzy.net/
RL: hud at zurich.ibm.com - +41 44 724 8573 - http://www.zurich.ibm.com/~hud/

_______________________________________________
Opensim-dev mailing list
Opensim-dev at lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080514/2fa68ea6/attachment-0001.html>


More information about the Opensim-dev mailing list