Vincent <vincent.lari <at> yahoo.ca> writes:
> > Hi Matthieu, Hello Vincent You'll find comments within the text below. Best regards, > > > Basically I've a rich client application (Flex) accessing > > Ah, but it's quite a different story, as the final (visual) representation is > assembled on the client, not on the server. > Absolutly. > > I considered each resource as > > being kind of a "virtual web page", with one URI and one (or several if > > required) "layouts" (representations). The application accesses the > > required > > resources, and assembles them for display. > > So if one page displays A and B, and another page displays A, B, and C, > A knows it has two layouts (a/B and A/B/C). If you later add D to the page, > you'll add a third layout for A. Is that correct? > "layout" is really misleading, sorry about that: it was meant to relate to restlet's representation (the way the resource is viewed by the client), not to the display within the client. All resources are represented as atom feeds: so the representation (which I wrongly called "layout") in restlet sense is this atom feed; then the client displays it as it wishes. So A does not know (and shouldn't IMHO) it can be dispayed with B or with B/C. If D is added later, and it is independent from A and it is only a client issue. > > > > An important point is that each resource includes links to all other > > resources it is logically linked to: the client has absolutly NO > > knowledge of the links between resources, it virtually navigates between > >them as needed. If A is linked to A and B, when the client accesses A it > > receives its representation, including a link to B and a link to C; > > Let say these resources are independent one of another (For instance if > A is a weather report, B a news feed, and C your profile). Who is responsible > for linking them together? Does A know it's linked to B and C, or are these > associations established at a higher level? > If resources are independent there're not linked together. The link must be meaningful in a business sense. There could definitly be a higher level resource that associates independent resources. For instance, let's say that your example relates to a personal mashup, something like google personal page or netvibes. Then you could consider that C contains links to B and A (the user chose B and A among a series of mashups, and its part of his profile), but A and B are not linked together (another user could use A without B). In that case C would stand for the higher level resource. > A's representation contains a link to B and C, which means the client has > to GET and C, and pass their representation to the template in order to > generate the page. So, do B and C's representations contain links to A? > The client indeed navigates through the resources and the links provided in their representation exactly like a human would navigate through web pages: it has no other knowledge than the links provided by resources (no resource can be accessed if it is not linked by a previously loaded resource). Then it is not mandatory to have symmetric links. Resources are really analoguous to web pages: many pages have links to Amazon, but Amazon does not have symmetric links to all of them. However until now symmetric links proved to be useful to navigate between resources of the application. > -vincent. > >

