You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@abdera.apache.org by Remy Gendron <re...@arrova.ca> on 2008/02/04 22:16:38 UTC

REST services along side Atom APP

Hello all,

 

Has anybody given thoughts on how to implement standard REST services on top
of Atom/APP/Abdera.

 

For instance:

 

Assume I have entity A which is subject to a workflow process in my business
layer.

 

Of course, CRUDs are implemented as APP/Abdera interactions.

 

But how would I go about triggering a workflow action on A and getting back
the new workflow state of A?

 

Should I do an APP PUT on the targeted entry with additional parameters
associated to the workflow action and alter my PUT handling in the adapter
when I detect those parameters?

 

Should I create dedicated standard REST calls to handle these actions
outside of the APP universe? Is Atom/APP exclusively reserved to CRUD
syndication?

 

If the latter is recommended, I will alter my server configuration so that
the Abdera servlet only services calls to
//domain/appctx/feeds/collection_id/entry_id. Currently, the Abdera servlet
handles everything under the application context. I would now use
//domain/appctx/rest/… for everything not APP.

 

Your thoughts?

 

Rémy


No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.516 / Virus Database: 269.19.19/1258 - Release Date: 2008.02.04
10:10
 

Re: REST services along side Atom APP

Posted by James M Snell <ja...@gmail.com>.
Keep in mind that CollectionAdapter has the extensionRequest method for 
handling requests that do not fit the other methods.  Also, TargetType 
is extensible so you can add new types of Target's to the system.

- James

Vasu Nori wrote:
> On Feb 4, 2008 6:10 PM, Dan Diephouse <da...@mulesource.com> wrote:
> 
>> You should be able to extend the Provider/Resolver APIs enough inside
>> abdera to handle this type of thing. For instance, if you wanted to
>> override the PUT handling, you would just detect that inside
>> CollectionAdapter.putEntry().
>>
>> On a related note, I've looked at integrating say Restlet and Abdera. Or
>> JAX-RS and Abdera. They're complimentary IMO. For instance once could
>> theoretically use a Restlet router to direct requests to Abdera or a
>> Restlet. One would just need to create a restlet Request -> Abdera
>> RequestContext mapping.
>>
> 
> this sounds great. I haven't had time to play with it yet.
> but if anyone does build it this way, please share it - or better yet, check
> it into examples/ dir in abdera repo.
> 
> 
> 
>> Cheers,
>> - Dan
>>
>> Remy Gendron wrote:
>>> Hello all,
>>>
>>>
>>>
>>> Has anybody given thoughts on how to implement standard REST services on
>> top
>>> of Atom/APP/Abdera.
>>>
>>>
>>>
>>> For instance:
>>>
>>>
>>>
>>> Assume I have entity A which is subject to a workflow process in my
>> business
>>> layer.
>>>
>>>
>>>
>>> Of course, CRUDs are implemented as APP/Abdera interactions.
>>>
>>>
>>>
>>> But how would I go about triggering a workflow action on A and getting
>> back
>>> the new workflow state of A?
>>>
>>>
>>>
>>> Should I do an APP PUT on the targeted entry with additional parameters
>>> associated to the workflow action and alter my PUT handling in the
>> adapter
>>> when I detect those parameters?
>>>
>>>
>>>
>>> Should I create dedicated standard REST calls to handle these actions
>>> outside of the APP universe? Is Atom/APP exclusively reserved to CRUD
>>> syndication?
>>>
>>>
>>>
>>> If the latter is recommended, I will alter my server configuration so
>> that
>>> the Abdera servlet only services calls to
>>> //domain/appctx/feeds/collection_id/entry_id. Currently, the Abdera
>> servlet
>>> handles everything under the application context. I would now use
>>> //domain/appctx/rest/… for everything not APP.
>>>
>>>
>>>
>>> Your thoughts?
>>>
>>>
>>>
>>> Rémy
>>>
>>>
>>> No virus found in this outgoing message.
>>> Checked by AVG Free Edition.
>>> Version: 7.5.516 / Virus Database: 269.19.19/1258 - Release Date:
>> 2008.02.04
>>> 10:10
>>>
>>>
>>>
>>
>> --
>> Dan Diephouse
>> MuleSource
>> http://mulesource.com | http://netzooid.com/blog
>>
>>
> 

Re: REST services along side Atom APP

Posted by Vasu Nori <va...@gmail.com>.
On Feb 4, 2008 6:10 PM, Dan Diephouse <da...@mulesource.com> wrote:

> You should be able to extend the Provider/Resolver APIs enough inside
> abdera to handle this type of thing. For instance, if you wanted to
> override the PUT handling, you would just detect that inside
> CollectionAdapter.putEntry().
>
> On a related note, I've looked at integrating say Restlet and Abdera. Or
> JAX-RS and Abdera. They're complimentary IMO. For instance once could
> theoretically use a Restlet router to direct requests to Abdera or a
> Restlet. One would just need to create a restlet Request -> Abdera
> RequestContext mapping.
>

this sounds great. I haven't had time to play with it yet.
but if anyone does build it this way, please share it - or better yet, check
it into examples/ dir in abdera repo.



> Cheers,
> - Dan
>
> Remy Gendron wrote:
> > Hello all,
> >
> >
> >
> > Has anybody given thoughts on how to implement standard REST services on
> top
> > of Atom/APP/Abdera.
> >
> >
> >
> > For instance:
> >
> >
> >
> > Assume I have entity A which is subject to a workflow process in my
> business
> > layer.
> >
> >
> >
> > Of course, CRUDs are implemented as APP/Abdera interactions.
> >
> >
> >
> > But how would I go about triggering a workflow action on A and getting
> back
> > the new workflow state of A?
> >
> >
> >
> > Should I do an APP PUT on the targeted entry with additional parameters
> > associated to the workflow action and alter my PUT handling in the
> adapter
> > when I detect those parameters?
> >
> >
> >
> > Should I create dedicated standard REST calls to handle these actions
> > outside of the APP universe? Is Atom/APP exclusively reserved to CRUD
> > syndication?
> >
> >
> >
> > If the latter is recommended, I will alter my server configuration so
> that
> > the Abdera servlet only services calls to
> > //domain/appctx/feeds/collection_id/entry_id. Currently, the Abdera
> servlet
> > handles everything under the application context. I would now use
> > //domain/appctx/rest/… for everything not APP.
> >
> >
> >
> > Your thoughts?
> >
> >
> >
> > Rémy
> >
> >
> > No virus found in this outgoing message.
> > Checked by AVG Free Edition.
> > Version: 7.5.516 / Virus Database: 269.19.19/1258 - Release Date:
> 2008.02.04
> > 10:10
> >
> >
> >
>
>
> --
> Dan Diephouse
> MuleSource
> http://mulesource.com | http://netzooid.com/blog
>
>

Re: REST services along side Atom APP

Posted by Dan Diephouse <da...@mulesource.com>.
You should be able to extend the Provider/Resolver APIs enough inside 
abdera to handle this type of thing. For instance, if you wanted to 
override the PUT handling, you would just detect that inside 
CollectionAdapter.putEntry().

On a related note, I've looked at integrating say Restlet and Abdera. Or 
JAX-RS and Abdera. They're complimentary IMO. For instance once could 
theoretically use a Restlet router to direct requests to Abdera or a 
Restlet. One would just need to create a restlet Request -> Abdera 
RequestContext mapping.

Cheers,
- Dan

Remy Gendron wrote:
> Hello all,
>
>  
>
> Has anybody given thoughts on how to implement standard REST services on top
> of Atom/APP/Abdera.
>
>  
>
> For instance:
>
>  
>
> Assume I have entity A which is subject to a workflow process in my business
> layer.
>
>  
>
> Of course, CRUDs are implemented as APP/Abdera interactions.
>
>  
>
> But how would I go about triggering a workflow action on A and getting back
> the new workflow state of A?
>
>  
>
> Should I do an APP PUT on the targeted entry with additional parameters
> associated to the workflow action and alter my PUT handling in the adapter
> when I detect those parameters?
>
>  
>
> Should I create dedicated standard REST calls to handle these actions
> outside of the APP universe? Is Atom/APP exclusively reserved to CRUD
> syndication?
>
>  
>
> If the latter is recommended, I will alter my server configuration so that
> the Abdera servlet only services calls to
> //domain/appctx/feeds/collection_id/entry_id. Currently, the Abdera servlet
> handles everything under the application context. I would now use
> //domain/appctx/rest/… for everything not APP.
>
>  
>
> Your thoughts?
>
>  
>
> Rémy
>
>
> No virus found in this outgoing message.
> Checked by AVG Free Edition. 
> Version: 7.5.516 / Virus Database: 269.19.19/1258 - Release Date: 2008.02.04
> 10:10
>  
>
>   


-- 
Dan Diephouse
MuleSource
http://mulesource.com | http://netzooid.com/blog