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
>> >> > [email protected]
>> >> > 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
>> >> [email protected]
>> >> http://lists.uwyn.com/mailman/listinfo/rife-users
>> >>
>> >
>> >
>> > --
>> > Venlig hilsen / Kind regards,
>> > Christian Vest Hansen.
>> > _______________________________________________
>> > Rife-users mailing list
>> > [email protected]
>> > 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
>> [email protected]
>> http://lists.uwyn.com/mailman/listinfo/rife-users
>>
>
>
> --
> Venlig hilsen / Kind regards,
> Christian Vest Hansen.
> _______________________________________________
> Rife-users mailing list
> [email protected]
> 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
[email protected]
http://lists.uwyn.com/mailman/listinfo/rife-users