Hi Christian,

this all sounds very interesting. Did you have time to look a bit deeper? What are your thoughts?

Take care,

Geert

On 08 Feb 2007, at 19:56, Christian Vest Hansen wrote:

I wrote a prototype of a framework that took implementations of a
RestService interface and exsposed them as services through a servlet.
It uses Castor for marshalling, which works great. But this whole
"roll your own framework" thing is a dangarous path to venture, lest
your certain you can lift the burden of maintaining it.

The thing is, that I don't really know what'll integrate with these
services. All I know is, that it's probably a Rails app.
And we're still tumbling the question of SOAP vs. REST. We've been
doing SOAP with JSR-181 annotations till recently, and it has shown
quite a bit of a hassle when Rails wants to use these services, which
defeated the annotaion induced productivety increase.
This was due to two things: Rails being a bitch with conventions, and
Axis/JBossws being a jerk with marshalling and other forms of XML
generation.

So now we're trying to give REST a spin... trying as in fumbling in
the dark, hoping to strike gold.

I just checked out the source of RIFE/Crud. It seemed suprisingly
small, and if replacing templates is all it takes, then it does indeed
sound easy.

I guess tomorrow will tell if we'll be investing time in it.

2007/2/8, Geert Bevin <[EMAIL PROTECTED]>:
Well, it depends on how you look at it. Indeed, the purist would
modify and enforce the HTTP verbs, but I think that a RESTful
approach (instead of pure REST) is much more practical. The HTTP
verbs are too limited and I think that for a pure web service both
GET and POST should be accepted. Using the submission name as an
alternative works really well, one of the benefits this has is that
you can rely on RIFE's behavioral inheritance to chain submissions in
one request (first authenticate and then perform an action). RESTful
web services like this are intended to be called from inside an
application and not to be present as accessible HTML links inside a
web page, which is why the distinction between GET and POST to
enforce idempotency is a bit moot. You can just as easily craft a GET
request as a POST request inside your application. Also, as Emmanuel
rightfully says, this approach has the benefit of making it easy to
quickly call RESTful web services by simply typing the commands in
the browser location bar.

To create RESTful web services in RIFE, all you need to do is replace
the HTML templates with XML templates that contain the structures you
want to return. This is what I did with Bla-bla List and it could
indeed be easily done with RIFE/Crud. If you do this, it would be a
great contribution.

Take care,

Geert

On 07 Feb 2007, at 22:01, Christian Vest Hansen wrote:

> Hmm... it's lacking in some respects, if you want to go purist.
>
> Take this URL from the wiki:
>
> http://blablalist.com/createlist?
>    submission=credentials&
>    login=johnsmith&
>    password=password&
>    submission=create&
>    name=Things+I+need+to+do+today
>
> That looks like a HTTP GET to me, in which case, it is missing on a
> key point of REST: the HTTP verbs.
>
> Instead, it should have been a POST to this URL (for instance):
>
> http://blablalist.com/lists/Things+I+need+to+do+today/
>
> With this XML document in the POST payload:
>
> <list>
>    <credentials>
>        <login>johnsmith</login>
>        <password>password</password>
>    </credentials>
> </list>
>
> This is the kind of thing that I thought would be nice if it could be
> auto generated based on meta data :)
>
> Some extra info: http://www.xfront.com/REST-Web-Services.html
>
>
> 2007/2/7, Emmanuel Okyere <[EMAIL PROTECTED]>:
>> Christian,
>>
>> Have you seen blabla list? this is a link to it's REST API:
>> http://rifers.org/wiki/display/BLA/REST+API
>>
>> You don't have to do anything special to return XML over HTTP; just
>> set your templates to describe the xml structs you want to return
>> with
>> value placeholders for the dynamic bits, just as you would for an
>> xhtml output. Download the blabla code. Should help more.
>>
>> HTH
>>
>> Cheers,
>> Emmanuel
>>
>> On 2/7/07, Christian Vest Hansen <[EMAIL PROTECTED]> wrote:
>> > Hi,
>> >
>> > There aren't any special support for REST style web services in
>> RIFE, are there?
>> > At my company, they've gone web service crazy, and as a
>> developer I'm
>> > finding myself in the middle of it all.
>> > I noticed that many of the services that I create are nothing more >> > than simple crud operations - this fits rather nicely with a REST
>> > architecture.
>> > And then it hit me; if I'm not mistaken, RIFE/Crud can generate
>> fully
>> > functional websites based on just the entity beans and the meta
>> data
>> > classes, to support precisely that I'm coding by hand these
>> days, the
>> > only difference being that I'm writing web services, and RIFE/ Crud >> > generates web sites with HMTL and all that. So, if I can generate
>> > entier web sites, then I ought to be able to generate some web
>> > services too, boasting the same exact functionality.
>> >
>> > If this isn't already in there, how hard do you think it would
>> be to add?
>> >
>> >
>> > --
>> > Venlig hilsen / Kind regards,
>> > Christian Vest Hansen.
>> > _______________________________________________
>> > Rife-users mailing list
>> > Rife-users@uwyn.com
>> > http://lists.uwyn.com/mailman/listinfo/rife-users
>> >
>>
>>
>> --
>> blog -- http://eokyere.blogspot.com
>> RIFE Framework -- http://rifers.org
>> RIFE Training      -- http://rifers.org/training
>>
>> Mohandas Gandhi - "You must be the change you wish to see in the
>> world."
>> _______________________________________________
>> Rife-users mailing list
>> Rife-users@uwyn.com
>> http://lists.uwyn.com/mailman/listinfo/rife-users
>>
>
>
> --
> Venlig hilsen / Kind regards,
> Christian Vest Hansen.
> _______________________________________________
> Rife-users mailing list
> Rife-users@uwyn.com
> http://lists.uwyn.com/mailman/listinfo/rife-users
>

--
Geert Bevin
Uwyn "Use what you need" - http://uwyn.com
RIFE Java application framework - http://rifers.org
Music and words - http://gbevin.com


_______________________________________________
Rife-users mailing list
Rife-users@uwyn.com
http://lists.uwyn.com/mailman/listinfo/rife-users



--
Venlig hilsen / Kind regards,
Christian Vest Hansen.
_______________________________________________
Rife-users mailing list
Rife-users@uwyn.com
http://lists.uwyn.com/mailman/listinfo/rife-users


--
Geert Bevin
Uwyn "Use what you need" - http://uwyn.com
RIFE Java application framework - http://rifers.org
Music and words - http://gbevin.com


_______________________________________________
Rife-users mailing list
Rife-users@uwyn.com
http://lists.uwyn.com/mailman/listinfo/rife-users

Reply via email to