Re: Guidance on Atom/APP in Restlet

2009-08-04 Thread Alex Milowski
Sorry to jump in so late on this thread...

On Fri, Jul 17, 2009 at 11:32 AM, Tim Peierlst...@peierls.net wrote:
 Some rambling newbie Restlet design questions:
 Background: I'm in the preliminary stages of a ground-up redesign of an
 existing non-Restlet application. I'm (naturally) convinced that Restlet is
 the way to go for this redesign, and I'm pretty sure I want the UI to be
 GWT-based. So far so good ... GWT-Restlet is alive and well. (And I'll get
 cracking on a Restlet-Guice extension before too long, or not, depending on
 how you define too.)
 My analysis of the existing application keeps leading me to the Atom
 Publishing Protocol, because the key elements of that application feel
 like collections of publishable/updatable resources (and collections of such
 collections). It doesn't fit the canonical examples of APP, however, which
 leads to my first questions: Does anyone know of APP being used successfully
 outside of the usual document/news item examples that everyone uses to
 explain it? If so, what criteria would you use to determine whether APP is
 really appropriate to my resource design?

I use the APP for all kinds of applications.  I use it as a basic storage
and retrieval mechanism.  Of course, I use a lot of advanced features
found inside Atomojo for querying feeds and that is most certainly
outside of the APP as a protocol.


 I'm sort of hoping the answer is a resounding yes to this, in which case my
 second question is: If I want to design my application around APP but I
 don't intend to use a file-based storage system like eXist, what does
 Atomojo have for me that the Restlet Atom extension doesn't? Is there
 something else that I should know about?

I think you are a bit confused about what Atomojo has to offer.  First of all,
there is a server that supports the APP and provides different storage
mechanisms.  There are currently two storage mechanisms: files and the
eXist XML database.  I've considered writing an Amazon S3 storage
back end but I haven't quite gotten to it yet.  Basically, storage is something
that you can change in the server.

The server itself maintains an index and supports different kinds of
metadata and query services independent of the storage used.  You can
use these services to build applications--which is what I do.

Atomojo also provides:

   * a Java client for interacting with the APP
   * a Javascript client for doing the same
   * a web server component that uses configures itself using
 atom feeds (a special wrap-up of Restlet)
   * some other application components for building
 web applications.

Much of this still needs documentation.  :(

--Alex Milowski

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2379543


RE: Guidance on Atom/APP in Restlet

2009-07-25 Thread Jerome Louvel
Hi Tim,

 

Using an object serialization representation does reintroduce strong
coupling between a REST client and server. It should only be done for
optimization purpose, as an alternative to more reusable and interoperable
JSON / XML representations. 

 

But wait! XML and JSON do introduce coupling as you need to know their
structure in advance most of the time! If you want an even less coupling,
then looking towards RDF is a good idea but still you will need to
understand some ontologies...

 

With REST/HTTP you can deal with this issue in two ways:

 - standard representation formats such as HTML, Atom (to a certain extent),
PNG, etc.

 - content negotiation

 

Best regards,
Jerome Louvel
--
Restlet ~ Founder and Lead developer ~  http://www.restlet.org/
http://www.restlet.org
Noelios Technologies ~ Co-founder ~  http://www.noelios.com/
http://www.noelios.com

 

 

De : tpeie...@gmail.com [mailto:tpeie...@gmail.com] De la part de Tim
Peierls
Envoyé : mardi 21 juillet 2009 15:08
À : discuss@restlet.tigris.org
Objet : Re: Guidance on Atom/APP in Restlet

 

On Tue, Jul 21, 2009 at 4:39 AM, Jerome Louvel jerome.lou...@noelios.com
wrote:

However, for communication with GWT, it is indeed a better idea to rely on
JSON. I have also been working on reusing the 'transparent' serialization of
beans between Restlet/Server and Restlet/GWT. This serialization is used in
GWT-RPC but can be reused in a RESTful way. This isn't quite ready yet, but
hopefully for Restlet 2.0 M4, I'll have something more stable.

 

I've already said that this is very cool, but it does make we wonder ...
Isn't this sort of, um, cheating? A representation that is coupled to a
particular client/service pair? Another few steps over the edge and we're
back to RPC-style services.

 

I guess the saving grace is that Restlet makes it easy, or even trivial, to
provide other representations in addition to the one that's optimized for
common use, and RPC-style frameworks can't offer that at all.

 

 

 

As David mentioned, this could be complementary to exposing Atom
representations of your resources. Finally, I'm not sure if you need to
support the full AtomPub standard or just the Atom XML one.

 

Hmm, the wind is going out of my sails. I started by recognizing that
AtomPub seemed to be a natural fit for my domain, and now I'm looking at
JSON/serialized beans and optional plain Atom feeds. (Optional in the
sense that my main applications wouldn't need them,  because they'd be
happily talking JSON.)

 

Anybody have anything encouraging to say about why I shouldn't just stick
with my existing DWR application? (www.directwebremoting.org)

 

--tim

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2375490

Re: Guidance on Atom/APP in Restlet

2009-07-25 Thread Rob Heittman
All valid points.  There must be cooperation between a client and server at
some level!

I have two problems with RPC style implementations on the Web:

1) The RPC paradigm hides the advanced properties of the Web and makes them
really difficult to leverage

2) The RPC protocol and serialization behavior is totally opaque to any
client or server not using a compatible RPC library, of which (as in GWT)
there is usually only one, in one language.

Jerome's proposed use of the GWT RPC serialization works around both of
these objections.  Objection #1 goes away because the serialized
representations are exposed using Restlet.  Objection #2 goes away for two
reasons:

a) (weak) The GWT RPC serialization is not really very opaque (compared to,
say RMI tunnelled over HTTP).  It's JSON and, while terse, not beyond
comprehension.  I have actually written stuff to do GWT RPC server interop
with non-GWT clients, and it's possible, if yucky.

b) (strong) Restlet makes it trivial to expose alternate variants (e.g. XML,
HTML) for other clients, which you just can't do with RPC alone.

So I'm signed up for the serialization train.

- R

On Sat, Jul 25, 2009 at 5:44 AM, Jerome Louvel jerome.lou...@noelios.comwrote:

 But wait! XML and JSON do introduce coupling as you need to know their
 structure in advance most of the time! If you want an even less coupling,
 then looking towards RDF is a good idea but still you will need to
 understand some ontologies...


--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2375529

Re: Guidance on Atom/APP in Restlet

2009-07-21 Thread Hendy Irawan
Hi Tim,

The biggest APP user I know is Google, with practically all of its API
using the Google Data (GData) protocol. It's basically a extended
version of APP, most due to practicality reasons prevailing over
idealistic (i.e. pure APP).

GData puts some extensive stress testing on APP, i.e. Using advanced
features such as querying and returning different serialization
formats not just Atom+XML, but manages to adhere to fundamental
principles of APP.

Aside from Google's own proprietary auth mechanism (which I think
can be replaced with Oauth for general masses), I think Google's use
of GData/APP is a good example of APP in the real world.

On 7/18/09, Tim Peierls t...@peierls.net wrote:
 Some rambling newbie Restlet design questions:

 Background: I'm in the preliminary stages of a ground-up redesign of an
 existing non-Restlet application. I'm (naturally) convinced that Restlet is
 the way to go for this redesign, and I'm pretty sure I want the UI to be
 GWT-based. So far so good ... GWT-Restlet is alive and well. (And I'll get
 cracking on a Restlet-Guice extension before too long, or not, depending on
 how you define too.)

 My analysis of the existing application keeps leading me to the Atom
 Publishing Protocol, because the key elements of that application feel
 like collections of publishable/updatable resources (and collections of such
 collections). It doesn't fit the canonical examples of APP, however, which
 leads to my first questions: Does anyone know of APP being used successfully
 outside of the usual document/news item examples that everyone uses to
 explain it? If so, what criteria would you use to determine whether APP is
 really appropriate to my resource design?

 I'm sort of hoping the answer is a resounding yes to this, in which case my
 second question is: If I want to design my application around APP but I
 don't intend to use a file-based storage system like eXist, what does
 Atomojo have for me that the Restlet Atom extension doesn't? Is there
 something else that I should know about?

 --tim

 --
 http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372142

-- 
Sent from my mobile device

Best regards,
Hendy Irawan
http://www.hendyirawan.com/ :: he...@soluvas.com

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372637


RE: Guidance on Atom/APP in Restlet

2009-07-21 Thread Jerome Louvel
Hi Henry,

I was about to answer the same thing. In addition to Google, Microsoft is
making a heavy use of Atom as well in its ADO.NET Data Services (ex-Astoria)
technology:

Overview: ADO.NET Data Services
http://msdn.microsoft.com/en-us/data/bb931106.aspx?ppud=4

However, for communication with GWT, it is indeed a better idea to rely on
JSON. I have also been working on reusing the 'transparent' serialization of
beans between Restlet/Server and Restlet/GWT. This serialization is used in
GWT-RPC but can be reused in a RESTful way. This isn't quite ready yet, but
hopefully for Restlet 2.0 M4, I'll have something more stable.

As David mentioned, this could be complementary to exposing Atom
representations of your resources. Finally, I'm not sure if you need to
support the full AtomPub standard or just the Atom XML one. 

Best regards,
Jerome Louvel
--
Restlet ~ Founder and Lead developer ~ http://www.restlet.org
Noelios Technologies ~ Co-founder ~ http://www.noelios.com


-Message d'origine-
De : Hendy Irawan [mailto:he...@soluvas.com] 
Envoyé : lundi 20 juillet 2009 17:54
À : discuss@restlet.tigris.org
Objet : Re: Guidance on Atom/APP in Restlet

Hi Tim,

The biggest APP user I know is Google, with practically all of its API
using the Google Data (GData) protocol. It's basically a extended
version of APP, most due to practicality reasons prevailing over
idealistic (i.e. pure APP).

GData puts some extensive stress testing on APP, i.e. Using advanced
features such as querying and returning different serialization
formats not just Atom+XML, but manages to adhere to fundamental
principles of APP.

Aside from Google's own proprietary auth mechanism (which I think
can be replaced with Oauth for general masses), I think Google's use
of GData/APP is a good example of APP in the real world.

On 7/18/09, Tim Peierls t...@peierls.net wrote:
 Some rambling newbie Restlet design questions:

 Background: I'm in the preliminary stages of a ground-up redesign of an
 existing non-Restlet application. I'm (naturally) convinced that Restlet
is
 the way to go for this redesign, and I'm pretty sure I want the UI to be
 GWT-based. So far so good ... GWT-Restlet is alive and well. (And I'll get
 cracking on a Restlet-Guice extension before too long, or not, depending
on
 how you define too.)

 My analysis of the existing application keeps leading me to the Atom
 Publishing Protocol, because the key elements of that application feel
 like collections of publishable/updatable resources (and collections of
such
 collections). It doesn't fit the canonical examples of APP, however, which
 leads to my first questions: Does anyone know of APP being used
successfully
 outside of the usual document/news item examples that everyone uses to
 explain it? If so, what criteria would you use to determine whether APP is
 really appropriate to my resource design?

 I'm sort of hoping the answer is a resounding yes to this, in which case
my
 second question is: If I want to design my application around APP but I
 don't intend to use a file-based storage system like eXist, what does
 Atomojo have for me that the Restlet Atom extension doesn't? Is there
 something else that I should know about?

 --tim

 --

http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=23721
42

-- 
Sent from my mobile device

Best regards,
Hendy Irawan
http://www.hendyirawan.com/ :: he...@soluvas.com

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=23726
37

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372850


Re: Guidance on Atom/APP in Restlet

2009-07-21 Thread Tim Peierls
Thanks -- I was particularly interested in the Google Calendar Data API, but
I'd be rolling my own implementation, right?
--tim

On Mon, Jul 20, 2009 at 11:53 AM, Hendy Irawan he...@soluvas.com wrote:

 Hi Tim,

 The biggest APP user I know is Google, with practically all of its API
 using the Google Data (GData) protocol. It's basically a extended
 version of APP, most due to practicality reasons prevailing over
 idealistic (i.e. pure APP).

 GData puts some extensive stress testing on APP, i.e. Using advanced
 features such as querying and returning different serialization
 formats not just Atom+XML, but manages to adhere to fundamental
 principles of APP.

 Aside from Google's own proprietary auth mechanism (which I think
 can be replaced with Oauth for general masses), I think Google's use
 of GData/APP is a good example of APP in the real world.

 On 7/18/09, Tim Peierls t...@peierls.net wrote:
  Some rambling newbie Restlet design questions:
 
  Background: I'm in the preliminary stages of a ground-up redesign of an
  existing non-Restlet application. I'm (naturally) convinced that Restlet
 is
  the way to go for this redesign, and I'm pretty sure I want the UI to be
  GWT-based. So far so good ... GWT-Restlet is alive and well. (And I'll
 get
  cracking on a Restlet-Guice extension before too long, or not, depending
 on
  how you define too.)
 
  My analysis of the existing application keeps leading me to the Atom
  Publishing Protocol, because the key elements of that application feel
  like collections of publishable/updatable resources (and collections of
 such
  collections). It doesn't fit the canonical examples of APP, however,
 which
  leads to my first questions: Does anyone know of APP being used
 successfully
  outside of the usual document/news item examples that everyone uses to
  explain it? If so, what criteria would you use to determine whether APP
 is
  really appropriate to my resource design?
 
  I'm sort of hoping the answer is a resounding yes to this, in which case
 my
  second question is: If I want to design my application around APP but I
  don't intend to use a file-based storage system like eXist, what does
  Atomojo have for me that the Restlet Atom extension doesn't? Is there
  something else that I should know about?
 
  --tim
 
  --
 
 http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372142

 --
 Sent from my mobile device

 Best regards,
 Hendy Irawan
 http://www.hendyirawan.com/ :: he...@soluvas.com

 --

 http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372637


--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372938

Re: Guidance on Atom/APP in Restlet

2009-07-21 Thread Tim Peierls
On Tue, Jul 21, 2009 at 4:39 AM, Jerome Louvel jerome.lou...@noelios.comwrote:

 However, for communication with GWT, it is indeed a better idea to rely on
 JSON. I have also been working on reusing the 'transparent' serialization
 of
 beans between Restlet/Server and Restlet/GWT. This serialization is used in
 GWT-RPC but can be reused in a RESTful way. This isn't quite ready yet, but
 hopefully for Restlet 2.0 M4, I'll have something more stable.


I've already said that this is very cool, but it does make we wonder ...
Isn't this sort of, um, cheating? A representation that is coupled to a
particular client/service pair? Another few steps over the edge and we're
back to RPC-style services.

I guess the saving grace is that Restlet makes it easy, or even trivial, to
provide other representations in addition to the one that's optimized for
common use, and RPC-style frameworks can't offer that at all.




 As David mentioned, this could be complementary to exposing Atom
 representations of your resources. Finally, I'm not sure if you need to
 support the full AtomPub standard or just the Atom XML one.


Hmm, the wind is going out of my sails. I started by recognizing that
AtomPub seemed to be a natural fit for my domain, and now I'm looking at
JSON/serialized beans and optional plain Atom feeds. (Optional in the
sense that my main applications wouldn't need them,  because they'd be
happily talking JSON.)

Anybody have anything encouraging to say about why I shouldn't just stick
with my existing DWR application? (www.directwebremoting.org)

--tim

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372950

Re: Guidance on Atom/APP in Restlet

2009-07-21 Thread Tim Peierls
Do the Java Client libraries for the Google Data APIs run under GWT? I can't
find any indication one way or the other.
It'd be cool if they did, though.

--tim

On Tue, Jul 21, 2009 at 8:29 AM, Tim Peierls t...@peierls.net wrote:

 Thanks -- I was particularly interested in the Google Calendar Data API,
 but I'd be rolling my own implementation, right?
 --tim


 On Mon, Jul 20, 2009 at 11:53 AM, Hendy Irawan he...@soluvas.com wrote:

 Hi Tim,

 The biggest APP user I know is Google, with practically all of its API
 using the Google Data (GData) protocol. It's basically a extended
 version of APP, most due to practicality reasons prevailing over
 idealistic (i.e. pure APP).

 GData puts some extensive stress testing on APP, i.e. Using advanced
 features such as querying and returning different serialization
 formats not just Atom+XML, but manages to adhere to fundamental
 principles of APP.

 Aside from Google's own proprietary auth mechanism (which I think
 can be replaced with Oauth for general masses), I think Google's use
 of GData/APP is a good example of APP in the real world.

 On 7/18/09, Tim Peierls t...@peierls.net wrote:
  Some rambling newbie Restlet design questions:
 
  Background: I'm in the preliminary stages of a ground-up redesign of an
  existing non-Restlet application. I'm (naturally) convinced that Restlet
 is
  the way to go for this redesign, and I'm pretty sure I want the UI to be
  GWT-based. So far so good ... GWT-Restlet is alive and well. (And I'll
 get
  cracking on a Restlet-Guice extension before too long, or not, depending
 on
  how you define too.)
 
  My analysis of the existing application keeps leading me to the Atom
  Publishing Protocol, because the key elements of that application feel
  like collections of publishable/updatable resources (and collections of
 such
  collections). It doesn't fit the canonical examples of APP, however,
 which
  leads to my first questions: Does anyone know of APP being used
 successfully
  outside of the usual document/news item examples that everyone uses to
  explain it? If so, what criteria would you use to determine whether APP
 is
  really appropriate to my resource design?
 
  I'm sort of hoping the answer is a resounding yes to this, in which case
 my
  second question is: If I want to design my application around APP but I
  don't intend to use a file-based storage system like eXist, what does
  Atomojo have for me that the Restlet Atom extension doesn't? Is there
  something else that I should know about?
 
  --tim
 
  --
 
 http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372142

 --
 Sent from my mobile device

 Best regards,
 Hendy Irawan
 http://www.hendyirawan.com/ :: he...@soluvas.com

 --

 http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372637




--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372967

Re: Guidance on Atom/APP in Restlet

2009-07-21 Thread David Bordoley
On Tue, Jul 21, 2009 at 6:08 AM, Tim Peierlst...@peierls.net wrote:
 Hmm, the wind is going out of my sails. I started by recognizing that
 AtomPub seemed to be a natural fit for my domain, and now I'm looking at
 JSON/serialized beans and optional plain Atom feeds. (Optional in the
 sense that my main applications wouldn't need them,  because they'd be
 happily talking JSON.)

Interestingly enough, when work first began on the AtomPub spec, there
were some in the working group who were in favor of making the spec
representation agnostic [*]. Even with its concentration on Atom as
its representational format, the App spec for managing collections
provides a pretty clear outline of how to use HTTP effectively for
managing datasets.

[*] One of the AtomPub spec authors clued me in to this a few months ago.

 Anybody have anything encouraging to say about why I shouldn't just stick
 with my existing DWR application? (www.directwebremoting.org)
 --tim

I haven't used DWR in probably 3 years so I'm sure some stuff has
changed but let me enumerate my reasons for preferring a REST
approach:

1) REST approach works with the web, RPC works against it. When you
design your service API Restfully you get all the built in benefits of
HTTP such as: cache support, security, scalability, wide client
support, etc. This approach is proven. When using DWR you get none of
these. DWR must push all requests over POST to ensure that no cache
server accidentally caches a result thus breaking your app. Conversely
when using DWR you can't leverage internet caching architecture that
can help offload your servers. Furthermore, a restfully linked set of
resources that support con-neg can support multiple representational
types (such as HTML), thus your API is not just an API but also a
static HTML website that can be indexed by search engines, and allows
for a nice debugging interface in a browser.

2) Strongly defined server interface that is implementation agnostic.
When using DWR, you essentially are exposing your server's Java
methods and tying your client to that implementation. You can't
replace your Java implementation with one in Ruby/C#/fill in the blank
language, later. With the REST approach you are essentially defining
an implementation neutral wire protocol.

3) Strong client/server separation. When using HTTP as your protocol,
you're forced to acknowledge in your client code that you are
accessing a remote resource and take this into account. One of the
major flaws with RPC systems has been the attempt to give remote
resources the appearance of being local, which just doesn't work well
in practice.

4) Multiple client support. DWR only allows you to build your client
in JavaScript (well at least in a well defined way). However, what
happens when your service takes off and you want to support an iPhone
Apps, Android Apps, Desktop widgets, etc. A well defined REST service
may be reused across devices, because it defines a data model with
well understood semantics.

That said, from a software engineering perspective you need to look at
your intended goals for your application and make a sane cost/benefit
analysis.

Dave

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2373212


Re: Guidance on Atom/APP in Restlet

2009-07-20 Thread Tim Peierls
Thanks, Dave. I was going to ask about hAtom, templating engines, and JSON
in follow-up questions, but now I don't need to!
--tim

On Fri, Jul 17, 2009 at 6:16 PM, David Bordoley bordo...@gmail.com wrote:

 One way I've worked with Atom services within Restlet is to use
 freemarker templates to generate atom representations and use an XML
 parser to parse entity bodies of APP POST/PUT requests. This allows me
 to extract the data I'm interested in without pulling the whole Atom
 tree into memory as Rome would. A nice side effect of this design is
 that my resources support con-neg and can also return and process
 hAtom micro-formatted HTML and JSON (both generated using freemarker
 as well).

 One more note, Atom XML is great to use when you need to support
 generic APP clients, but if you control both the client and server I'd
 seriously consider using JSON (while also supporting Atom). JSON tends
 to push fewer bytes across the wire is infinitely easier to parse in a
 browser  (I'm not an XML hater, but when you need to support IE 6).

 Dave

 On Fri, Jul 17, 2009 at 2:00 PM, Tim Peierlst...@peierls.net wrote:
  Thanks, Stephen, this is very helpful.
  --tim
 
  On Fri, Jul 17, 2009 at 3:01 PM, Stephen Groucutt
  stephen.grouc...@gmail.com wrote:
 
  I'll qualify this by saying that I know of plans to use APP in
 enterprise
  applications, but I haven't ever actually seen anything in the
 enterprise.
  There's a good presentation on APP's capabilities in non-trivial
  environments over at
 
 http://qconsf.com/sf2007/presentation/Building+your+next+service+with+the+Atom+Publishing+Protocol
  that you might find helpful if you haven't already read it.
 
  To my mind, the thing APP really has going for it in terms of how it
  applies to the REST world is that it is a media type that allows for the
  fulfillment of the hypermedia as the engine of application state part
 of
  Dr. Fielding's thesis.  You can use the feeds, the links in the feeds,
 and
  some microformats you can develop specifically for your program domain,
 to
  develop APIs.  Links can send your clients to the next step of your
  workflows, if the clients understand your microformats.  If you google
  around for restbucks, you should find a good presentation on that kind
 of
  stuff.  In theory, it sounds great (but again, I haven't seen it done
  myself).
 
  As to what extensions are best, I was working on Atom stuff back around
  1.2 milestone 4 or so, and at that time I found it easiest to use ROME
 to
  offer up feed representations instead of the Restlet Atom extension, so
 I
  can't say much about what would work best now.
 
  On Fri, Jul 17, 2009 at 2:32 PM, Tim Peierls t...@peierls.net wrote:
 
  Some rambling newbie Restlet design questions:
  Background: I'm in the preliminary stages of a ground-up redesign of an
  existing non-Restlet application. I'm (naturally) convinced that
 Restlet is
  the way to go for this redesign, and I'm pretty sure I want the UI to
 be
  GWT-based. So far so good ... GWT-Restlet is alive and well. (And I'll
 get
  cracking on a Restlet-Guice extension before too long, or not,
 depending on
  how you define too.)
  My analysis of the existing application keeps leading me to the Atom
  Publishing Protocol, because the key elements of that application
 feel
  like collections of publishable/updatable resources (and collections of
 such
  collections). It doesn't fit the canonical examples of APP, however,
 which
  leads to my first questions: Does anyone know of APP being used
 successfully
  outside of the usual document/news item examples that everyone uses to
  explain it? If so, what criteria would you use to determine whether APP
 is
  really appropriate to my resource design?
  I'm sort of hoping the answer is a resounding yes to this, in which
 case
  my second question is: If I want to design my application around APP
 but I
  don't intend to use a file-based storage system like eXist, what does
  Atomojo have for me that the Restlet Atom extension doesn't? Is there
  something else that I should know about?
  --tim
 
 
 

 --

 http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372172


--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372601

Re: Guidance on Atom/APP in Restlet

2009-07-17 Thread Stephen Groucutt
I'll qualify this by saying that I know of plans to use APP in enterprise
applications, but I haven't ever actually seen anything in the enterprise.
There's a good presentation on APP's capabilities in non-trivial
environments over at
http://qconsf.com/sf2007/presentation/Building+your+next+service+with+the+Atom+Publishing+Protocolthat
you might find helpful if you haven't already read it.

To my mind, the thing APP really has going for it in terms of how it applies
to the REST world is that it is a media type that allows for the fulfillment
of the hypermedia as the engine of application state part of Dr.
Fielding's thesis.  You can use the feeds, the links in the feeds, and some
microformats you can develop specifically for your program domain, to
develop APIs.  Links can send your clients to the next step of your
workflows, if the clients understand your microformats.  If you google
around for restbucks, you should find a good presentation on that kind of
stuff.  In theory, it sounds great (but again, I haven't seen it done
myself).

As to what extensions are best, I was working on Atom stuff back around 1.2
milestone 4 or so, and at that time I found it easiest to use ROME to offer
up feed representations instead of the Restlet Atom extension, so I can't
say much about what would work best now.

On Fri, Jul 17, 2009 at 2:32 PM, Tim Peierls t...@peierls.net wrote:

 Some rambling newbie Restlet design questions:

 Background: I'm in the preliminary stages of a ground-up redesign of an
 existing non-Restlet application. I'm (naturally) convinced that Restlet is
 the way to go for this redesign, and I'm pretty sure I want the UI to be
 GWT-based. So far so good ... GWT-Restlet is alive and well. (And I'll get
 cracking on a Restlet-Guice extension before too long, or not, depending on
 how you define too.)

 My analysis of the existing application keeps leading me to the Atom
 Publishing Protocol, because the key elements of that application feel
 like collections of publishable/updatable resources (and collections of such
 collections). It doesn't fit the canonical examples of APP, however, which
 leads to my first questions: Does anyone know of APP being used successfully
 outside of the usual document/news item examples that everyone uses to
 explain it? If so, what criteria would you use to determine whether APP is
 really appropriate to my resource design?

 I'm sort of hoping the answer is a resounding yes to this, in which case my
 second question is: If I want to design my application around APP but I
 don't intend to use a file-based storage system like eXist, what does
 Atomojo have for me that the Restlet Atom extension doesn't? Is there
 something else that I should know about?

 --tim



--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372149

Re: Guidance on Atom/APP in Restlet

2009-07-17 Thread Tim Peierls
Thanks, Stephen, this is very helpful.
--tim

On Fri, Jul 17, 2009 at 3:01 PM, Stephen Groucutt 
stephen.grouc...@gmail.com wrote:

 I'll qualify this by saying that I know of plans to use APP in enterprise
 applications, but I haven't ever actually seen anything in the enterprise.
 There's a good presentation on APP's capabilities in non-trivial
 environments over at
 http://qconsf.com/sf2007/presentation/Building+your+next+service+with+the+Atom+Publishing+Protocolthat
  you might find helpful if you haven't already read it.

 To my mind, the thing APP really has going for it in terms of how it
 applies to the REST world is that it is a media type that allows for the
 fulfillment of the hypermedia as the engine of application state part of
 Dr. Fielding's thesis.  You can use the feeds, the links in the feeds, and
 some microformats you can develop specifically for your program domain, to
 develop APIs.  Links can send your clients to the next step of your
 workflows, if the clients understand your microformats.  If you google
 around for restbucks, you should find a good presentation on that kind of
 stuff.  In theory, it sounds great (but again, I haven't seen it done
 myself).

 As to what extensions are best, I was working on Atom stuff back around 1.2
 milestone 4 or so, and at that time I found it easiest to use ROME to offer
 up feed representations instead of the Restlet Atom extension, so I can't
 say much about what would work best now.

 On Fri, Jul 17, 2009 at 2:32 PM, Tim Peierls t...@peierls.net wrote:

 Some rambling newbie Restlet design questions:

 Background: I'm in the preliminary stages of a ground-up redesign of an
 existing non-Restlet application. I'm (naturally) convinced that Restlet is
 the way to go for this redesign, and I'm pretty sure I want the UI to be
 GWT-based. So far so good ... GWT-Restlet is alive and well. (And I'll get
 cracking on a Restlet-Guice extension before too long, or not, depending on
 how you define too.)

 My analysis of the existing application keeps leading me to the Atom
 Publishing Protocol, because the key elements of that application feel
 like collections of publishable/updatable resources (and collections of such
 collections). It doesn't fit the canonical examples of APP, however, which
 leads to my first questions: Does anyone know of APP being used successfully
 outside of the usual document/news item examples that everyone uses to
 explain it? If so, what criteria would you use to determine whether APP is
 really appropriate to my resource design?

 I'm sort of hoping the answer is a resounding yes to this, in which case
 my second question is: If I want to design my application around APP but I
 don't intend to use a file-based storage system like eXist, what does
 Atomojo have for me that the Restlet Atom extension doesn't? Is there
 something else that I should know about?

 --tim




--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372163

Re: Guidance on Atom/APP in Restlet

2009-07-17 Thread David Bordoley
One way I've worked with Atom services within Restlet is to use
freemarker templates to generate atom representations and use an XML
parser to parse entity bodies of APP POST/PUT requests. This allows me
to extract the data I'm interested in without pulling the whole Atom
tree into memory as Rome would. A nice side effect of this design is
that my resources support con-neg and can also return and process
hAtom micro-formatted HTML and JSON (both generated using freemarker
as well).

One more note, Atom XML is great to use when you need to support
generic APP clients, but if you control both the client and server I'd
seriously consider using JSON (while also supporting Atom). JSON tends
to push fewer bytes across the wire is infinitely easier to parse in a
browser  (I'm not an XML hater, but when you need to support IE 6).

Dave

On Fri, Jul 17, 2009 at 2:00 PM, Tim Peierlst...@peierls.net wrote:
 Thanks, Stephen, this is very helpful.
 --tim

 On Fri, Jul 17, 2009 at 3:01 PM, Stephen Groucutt
 stephen.grouc...@gmail.com wrote:

 I'll qualify this by saying that I know of plans to use APP in enterprise
 applications, but I haven't ever actually seen anything in the enterprise.
 There's a good presentation on APP's capabilities in non-trivial
 environments over at
 http://qconsf.com/sf2007/presentation/Building+your+next+service+with+the+Atom+Publishing+Protocol
 that you might find helpful if you haven't already read it.

 To my mind, the thing APP really has going for it in terms of how it
 applies to the REST world is that it is a media type that allows for the
 fulfillment of the hypermedia as the engine of application state part of
 Dr. Fielding's thesis.  You can use the feeds, the links in the feeds, and
 some microformats you can develop specifically for your program domain, to
 develop APIs.  Links can send your clients to the next step of your
 workflows, if the clients understand your microformats.  If you google
 around for restbucks, you should find a good presentation on that kind of
 stuff.  In theory, it sounds great (but again, I haven't seen it done
 myself).

 As to what extensions are best, I was working on Atom stuff back around
 1.2 milestone 4 or so, and at that time I found it easiest to use ROME to
 offer up feed representations instead of the Restlet Atom extension, so I
 can't say much about what would work best now.

 On Fri, Jul 17, 2009 at 2:32 PM, Tim Peierls t...@peierls.net wrote:

 Some rambling newbie Restlet design questions:
 Background: I'm in the preliminary stages of a ground-up redesign of an
 existing non-Restlet application. I'm (naturally) convinced that Restlet is
 the way to go for this redesign, and I'm pretty sure I want the UI to be
 GWT-based. So far so good ... GWT-Restlet is alive and well. (And I'll get
 cracking on a Restlet-Guice extension before too long, or not, depending on
 how you define too.)
 My analysis of the existing application keeps leading me to the Atom
 Publishing Protocol, because the key elements of that application feel
 like collections of publishable/updatable resources (and collections of such
 collections). It doesn't fit the canonical examples of APP, however, which
 leads to my first questions: Does anyone know of APP being used successfully
 outside of the usual document/news item examples that everyone uses to
 explain it? If so, what criteria would you use to determine whether APP is
 really appropriate to my resource design?
 I'm sort of hoping the answer is a resounding yes to this, in which case
 my second question is: If I want to design my application around APP but I
 don't intend to use a file-based storage system like eXist, what does
 Atomojo have for me that the Restlet Atom extension doesn't? Is there
 something else that I should know about?
 --tim




--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2372172