Loading ...
Sorry, an error occurred while loading the content.
 

Are URI-Templates really coupling clients and server?

Expand Messages
  • Jakob Strauch
    In different resources on the web, i found different opinions about URI Templating. Some say, they are coupling clients and server (e.g. Erik Wilde). Some
    Message 1 of 19 , Aug 28, 2011
      In different resources on the web, i found different opinions about URI Templating. Some say, they are coupling clients and server (e.g. Erik Wilde). Some propose their usage (e.g. subbu).

      I dont see any coupling - it is not said, that an URI Template connot changed either over time. As long as the server communicates the templates - like URIs - in resource representations, where is the problem?

      Modern Web browsers support templated URIs, e.g. for search engines. By typing a keyword, e.g. wiki, and a search expression my browser is referring to a specific search page of wikipedia.

      Do i miss something here? Some opinions about this issue?
    • Jan Algermissen
      ... Hi Jakob, URI templates are fine, as long as the specification of the parameters is global (not just defined by the server for the sake of it s own API).
      Message 2 of 19 , Aug 28, 2011
        On Aug 28, 2011, at 11:00 AM, Jakob Strauch wrote:

        > In different resources on the web, i found different opinions about URI Templating. Some say, they are coupling clients and server (e.g. Erik Wilde). Some propose their usage (e.g. subbu).
        >
        > I dont see any coupling - it is not said, that an URI Template connot changed either over time. As long as the server communicates the templates - like URIs - in resource representations, where is the problem?
        >
        > Modern Web browsers support templated URIs, e.g. for search engines. By typing a keyword, e.g. wiki, and a search expression my browser is referring to a specific search page of wikipedia.
        >
        > Do i miss something here? Some opinions about this issue?

        Hi Jakob,

        URI templates are fine, as long as the specification of the parameters is 'global' (not just defined by the server for the sake of it's own API).

        My preference is to define the parameters as part of the specification of the link relation that is used with the template. Such a link relation specification must include two things:

        1) It must specifiy that the URI references used are to be interpreted as templates (because a template URI is a valid URI and you cannot tell the difference if you do not know up front that you are given a template URI reference).

        2) What parameters the client might encounter and what they mean.

        An example of this is the opensearch specification[1].

        Jan


        [1] http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_1.1_parameters




        >
        >
      • Jakob Strauch
        Thanks! I think you pointed out some clear arguments for something i had only a gut feeling. If i understand this correctly, i could link to an opensearch
        Message 3 of 19 , Aug 28, 2011
          Thanks! I think you pointed out some clear arguments for something i had only a gut feeling.

          If i understand this correctly, i could link to an opensearch compatibel resource with an URI Template based on this specification AND the rel="search" attribute specified by [1]?

          Furthermore, I´m playing around with the HAL specification [2]. I´m asking myself, if i can provide an URI template instead of an URI. Based on your comment, that URI templates are valid URIs and a link´s relation semantic is defined by a specification, i think i can.

          This would allow linking (highly dynmic) resource collections with a single URI Template without tight coupling. As long as the parameters are part of the specification.


          [1] http://www.iana.org/assignments/link-relations/link-relations.xml
          [2] http://stateless.co/hal_specification.html


          --- In rest-discuss@yahoogroups.com, Jan Algermissen <algermissen1971@...> wrote:
          >
          >
          > On Aug 28, 2011, at 11:00 AM, Jakob Strauch wrote:
          >
          > > In different resources on the web, i found different opinions about URI Templating. Some say, they are coupling clients and server (e.g. Erik Wilde). Some propose their usage (e.g. subbu).
          > >
          > > I dont see any coupling - it is not said, that an URI Template connot changed either over time. As long as the server communicates the templates - like URIs - in resource representations, where is the problem?
          > >
          > > Modern Web browsers support templated URIs, e.g. for search engines. By typing a keyword, e.g. wiki, and a search expression my browser is referring to a specific search page of wikipedia.
          > >
          > > Do i miss something here? Some opinions about this issue?
          >
          > Hi Jakob,
          >
          > URI templates are fine, as long as the specification of the parameters is 'global' (not just defined by the server for the sake of it's own API).
          >
          > My preference is to define the parameters as part of the specification of the link relation that is used with the template. Such a link relation specification must include two things:
          >
          > 1) It must specifiy that the URI references used are to be interpreted as templates (because a template URI is a valid URI and you cannot tell the difference if you do not know up front that you are given a template URI reference).
          >
          > 2) What parameters the client might encounter and what they mean.
          >
          > An example of this is the opensearch specification[1].
          >
          > Jan
          >
          >
          > [1] http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_1.1_parameters
          >
          >
          >
          >
          > >
          > >
          >
        • Subbu Allamaraju
          Neither coupling nor change is a problem as long as you re able to control and manage it. Subbu
          Message 4 of 19 , Aug 28, 2011
            Neither coupling nor change is a problem as long as you're able to control and manage it.

            Subbu

            On Aug 28, 2011, at 2:00 AM, Jakob Strauch wrote:

            > I dont see any coupling - it is not said, that an URI Template connot changed either over time. As long as the server communicates the templates - like URIs - in resource representations, where is the problem?
          • Roy T. Fielding
            ... That actually has nothing to do with templates themselves. Coupling depends on when the client receives the template and how it knows the variable values
            Message 5 of 19 , Aug 28, 2011
              On Aug 28, 2011, at 2:00 AM, Jakob Strauch wrote:

              > In different resources on the web, i found different opinions about URI Templating. Some say, they are coupling clients and server (e.g. Erik Wilde). Some propose their usage (e.g. subbu).

              That actually has nothing to do with templates themselves. Coupling depends
              on when the client receives the template and how it knows the variable values
              to use in the template. You can send both from the server on the fly and it
              has no more coupling than any hypertext form, or you can bake them into the
              client code and it is fully coupled. So, it has the same properties as URIs
              in general.

              ....Roy
            • Sebastien Lambla
              URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status
              Message 6 of 19 , Sep 11, 2011
                URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).

                The alternative is to use links and forms with server-generated URIs, which couples you to the hypermedia controls in your media type definition.

                So at the end of the day, it just shifts the coupling somewhere else. I'm not a big fan of templates myself, but I just built a system based on OpenSearch where they're used, and rather successfully, so it's always a question of balance.
                ________________________________________
                From: rest-discuss@yahoogroups.com [rest-discuss@yahoogroups.com] on behalf of Jakob Strauch [jakob.strauch@...]
                Sent: 28 August 2011 12:53
                To: rest-discuss@yahoogroups.com
                Subject: [rest-discuss] Re: Are URI-Templates really coupling clients and server?

                Thanks! I think you pointed out some clear arguments for something i had only a gut feeling.

                If i understand this correctly, i could link to an opensearch compatibel resource with an URI Template based on this specification AND the rel="search" attribute specified by [1]?

                Furthermore, I´m playing around with the HAL specification [2]. I´m asking myself, if i can provide an URI template instead of an URI. Based on your comment, that URI templates are valid URIs and a link´s relation semantic is defined by a specification, i think i can.

                This would allow linking (highly dynmic) resource collections with a single URI Template without tight coupling. As long as the parameters are part of the specification.


                [1] http://www.iana.org/assignments/link-relations/link-relations.xml
                [2] http://stateless.co/hal_specification.html


                --- In rest-discuss@yahoogroups.com, Jan Algermissen <algermissen1971@...> wrote:
                >
                >
                > On Aug 28, 2011, at 11:00 AM, Jakob Strauch wrote:
                >
                > > In different resources on the web, i found different opinions about URI Templating. Some say, they are coupling clients and server (e.g. Erik Wilde). Some propose their usage (e.g. subbu).
                > >
                > > I dont see any coupling - it is not said, that an URI Template connot changed either over time. As long as the server communicates the templates - like URIs - in resource representations, where is the problem?
                > >
                > > Modern Web browsers support templated URIs, e.g. for search engines. By typing a keyword, e.g. wiki, and a search expression my browser is referring to a specific search page of wikipedia.
                > >
                > > Do i miss something here? Some opinions about this issue?
                >
                > Hi Jakob,
                >
                > URI templates are fine, as long as the specification of the parameters is 'global' (not just defined by the server for the sake of it's own API).
                >
                > My preference is to define the parameters as part of the specification of the link relation that is used with the template. Such a link relation specification must include two things:
                >
                > 1) It must specifiy that the URI references used are to be interpreted as templates (because a template URI is a valid URI and you cannot tell the difference if you do not know up front that you are given a template URI reference).
                >
                > 2) What parameters the client might encounter and what they mean.
                >
                > An example of this is the opensearch specification[1].
                >
                > Jan
                >
                >
                > [1] http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_1.1_parameters
                >
                >
                >
                >
                > >
                > >
                >




                ------------------------------------

                Yahoo! Groups Links
              • Jan Algermissen
                ... Right. A URI template is equivalent to an HTML GET form - it just looks more elegant . Jan
                Message 7 of 19 , Sep 11, 2011
                  On Sep 11, 2011, at 1:51 PM, Sebastien Lambla wrote:

                  > URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).
                  >
                  > The alternative is to use links and forms with server-generated URIs,

                  Right.

                  A URI template is equivalent to an HTML GET form - it just looks more 'elegant'.

                  Jan
                • Sebastien Lambla
                  HTML GET is a form of URI template, and I don t necessarily like those either, the only property I use with those that is useful is that you get cache hits
                  Message 8 of 19 , Sep 11, 2011
                    HTML GET is a form of URI template, and I don't necessarily like those either, the only property I use with those that is useful is that you get cache hits locally without network crossing, which you don't get with a PRG. That's local optimization, depending on your scenario (and search is a very good scenario) then that's useful.

                    -----Original Message-----
                    From: Jan Algermissen [mailto:algermissen1971@...]
                    Sent: 11 September 2011 13:53
                    To: Sebastien Lambla
                    Cc: Jakob Strauch; rest-discuss@yahoogroups.com
                    Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?


                    On Sep 11, 2011, at 1:51 PM, Sebastien Lambla wrote:

                    > URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).
                    >
                    > The alternative is to use links and forms with server-generated URIs,

                    Right.

                    A URI template is equivalent to an HTML GET form - it just looks more 'elegant'.

                    Jan
                  • Philippe Mougin
                    ... Hi, In the context of this discussion, I don t see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI
                    Message 9 of 19 , Sep 11, 2011
                      Le 11 sept. 2011 à 14:53, Jan Algermissen a écrit :

                      >
                      > On Sep 11, 2011, at 1:51 PM, Sebastien Lambla wrote:
                      >
                      >> URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).
                      >>
                      >> The alternative is to use links and forms with server-generated URIs,
                      >
                      > Right.
                      >
                      > A URI template is equivalent to an HTML GET form - it just looks more 'elegant'.

                      Hi,

                      In the context of this discussion, I don't see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI evolvability (i.e, structural change over time without breaking the client).

                      Philippe
                    • Jan Algermissen
                      ... Can you provide an example of an evolution that can be done with templates but cannot be done with GET forms? Jan
                      Message 10 of 19 , Sep 11, 2011
                        On Sep 11, 2011, at 4:52 PM, Philippe Mougin wrote:

                        >
                        > In the context of this discussion, I don't see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI evolvability (i.e, structural change over time without breaking the client).

                        Can you provide an example of an evolution that can be done with templates but cannot be done with GET forms?


                        Jan



                        >
                        > Philippe
                        >
                        >
                      • Sebastien Lambla
                        From a functional point of view, querystrings are a form of templates. URI templates as used in things like opensearch have more features, but functionally
                        Message 11 of 19 , Sep 11, 2011
                          From a functional point of view, querystrings are a form of templates. URI templates as used in things like opensearch have more features, but functionally they are exactly the same thing.


                          -----Original Message-----
                          From: rest-discuss@yahoogroups.com [mailto:rest-discuss@yahoogroups.com] On Behalf Of Philippe Mougin
                          Sent: 11 September 2011 15:52
                          To: rest-discuss@yahoogroups.com
                          Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?

                          Le 11 sept. 2011 à 14:53, Jan Algermissen a écrit :

                          >
                          > On Sep 11, 2011, at 1:51 PM, Sebastien Lambla wrote:
                          >
                          >> URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).
                          >>
                          >> The alternative is to use links and forms with server-generated URIs,
                          >
                          > Right.
                          >
                          > A URI template is equivalent to an HTML GET form - it just looks more 'elegant'.

                          Hi,

                          In the context of this discussion, I don't see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI evolvability (i.e, structural change over time without breaking the client).

                          Philippe

                          ------------------------------------

                          Yahoo! Groups Links
                        • Philippe Mougin
                          ... http://example.com/pets?name=princess --- http://example.com/pets/princess Philippe
                          Message 12 of 19 , Sep 11, 2011
                            Le 11 sept. 2011 à 16:59, Jan Algermissen a écrit :

                            > On Sep 11, 2011, at 4:52 PM, Philippe Mougin wrote:
                            >
                            >>
                            >> In the context of this discussion, I don't see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI evolvability (i.e, structural change over time without breaking the client).
                            >
                            > Can you provide an example of an evolution that can be done with templates but cannot be done with GET forms?

                            http://example.com/pets?name=princess ---> http://example.com/pets/princess

                            Philippe
                          • Philippe Mougin
                            ... But URI templates can describe a larger range of URIs than HTML forms. This higher expressive power is relevant to the current discussion, which is about
                            Message 13 of 19 , Sep 11, 2011
                              Le 11 sept. 2011 à 17:06, Sebastien Lambla a écrit :

                              > From a functional point of view, querystrings are a form of templates. URI templates as used in things like opensearch have more features, but functionally they are exactly the same thing.

                              But URI templates can describe a larger range of URIs than HTML forms. This higher expressive power is relevant to the current discussion, which is about coupling between clients and servers.

                              Philippe

                              > -----Original Message-----
                              > From: rest-discuss@yahoogroups.com [mailto:rest-discuss@yahoogroups.com] On Behalf Of Philippe Mougin
                              > Sent: 11 September 2011 15:52
                              > To: rest-discuss@yahoogroups.com
                              > Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                              >
                              > Le 11 sept. 2011 à 14:53, Jan Algermissen a écrit :
                              >
                              >>
                              >> On Sep 11, 2011, at 1:51 PM, Sebastien Lambla wrote:
                              >>
                              >>> URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).
                              >>>
                              >>> The alternative is to use links and forms with server-generated URIs,
                              >>
                              >> Right.
                              >>
                              >> A URI template is equivalent to an HTML GET form - it just looks more 'elegant'.
                              >
                              > Hi,
                              >
                              > In the context of this discussion, I don't see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI evolvability (i.e, structural change over time without breaking the client).
                              >
                              > Philippe
                              >
                              > ------------------------------------
                              >
                              > Yahoo! Groups Links
                              >
                              >
                              >
                              >
                              >
                              > ------------------------------------
                              >
                              > Yahoo! Groups Links
                              >
                              >
                              >
                            • Sebastien Lambla
                              I m not sure this is relevant in any way. URIs stay opaque in the sense that, from the client perspective building /hello?mykey=myvalue or /hello/{myValue}
                              Message 14 of 19 , Sep 11, 2011
                                I'm not sure this is relevant in any way. URIs stay opaque in the sense that, from the client perspective building /hello?mykey=myvalue or /hello/{myValue} still results in an opaque identifier, so neither provide better or worse coupling between client and server. It limits the choices the server has in minting certain type of URIs, but that's a server concern, not a client-server one.

                                -----Original Message-----
                                From: Philippe Mougin [mailto:pmougin@...]
                                Sent: 11 September 2011 16:58
                                To: rest-discuss@yahoogroups.com
                                Cc: Sebastien Lambla
                                Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?


                                Le 11 sept. 2011 à 17:06, Sebastien Lambla a écrit :

                                > From a functional point of view, querystrings are a form of templates. URI templates as used in things like opensearch have more features, but functionally they are exactly the same thing.

                                But URI templates can describe a larger range of URIs than HTML forms. This higher expressive power is relevant to the current discussion, which is about coupling between clients and servers.

                                Philippe

                                > -----Original Message-----
                                > From: rest-discuss@yahoogroups.com [mailto:rest-discuss@yahoogroups.com] On Behalf Of Philippe Mougin
                                > Sent: 11 September 2011 15:52
                                > To: rest-discuss@yahoogroups.com
                                > Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                >
                                > Le 11 sept. 2011 à 14:53, Jan Algermissen a écrit :
                                >
                                >>
                                >> On Sep 11, 2011, at 1:51 PM, Sebastien Lambla wrote:
                                >>
                                >>> URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).
                                >>>
                                >>> The alternative is to use links and forms with server-generated URIs,
                                >>
                                >> Right.
                                >>
                                >> A URI template is equivalent to an HTML GET form - it just looks more 'elegant'.
                                >
                                > Hi,
                                >
                                > In the context of this discussion, I don't see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI evolvability (i.e, structural change over time without breaking the client).
                                >
                                > Philippe
                                >
                                > ------------------------------------
                                >
                                > Yahoo! Groups Links
                                >
                                >
                                >
                                >
                                >
                                > ------------------------------------
                                >
                                > Yahoo! Groups Links
                                >
                                >
                                >
                              • Philippe Mougin
                                ... Imagine a server that use an URI template as a hypertext control dynamically communicated to the client. The day the server decides to change its URI
                                Message 15 of 19 , Sep 11, 2011
                                  Le 11 sept. 2011 à 17:59, Sebastien Lambla a écrit :

                                  > I'm not sure this is relevant in any way. URIs stay opaque in the sense that, from the client perspective building /hello?mykey=myvalue or /hello/{myValue} still results in an opaque identifier, so neither provide better or worse coupling between client and server. It limits the choices the server has in minting certain type of URIs, but that's a server concern, not a client-server one.

                                  Imagine a server that use an URI template as a hypertext control dynamically communicated to the client. The day the server decides to change its URI structure from /hello?mykey=myvalue to /hello/{myValue}, it can do so without breaking the client because the change can be dynamically communicated to the client in the URI template.

                                  Alternatively, the server can avoid breaking the client by not changing the structure of its URIs (as you noted). It might be acceptable or not, depending on the specific context.
                                  But that whole idea of having servers dynamically instruct clients how to build URIs... isn't it, at least in part, about allowing changing things on the servers without breaking clients? As time pass and server side implementation evolve, what was once an apt URI structure might no longer be.

                                  Philippe

                                  > -----Original Message-----
                                  > From: Philippe Mougin [mailto:pmougin@...]
                                  > Sent: 11 September 2011 16:58
                                  > To: rest-discuss@yahoogroups.com
                                  > Cc: Sebastien Lambla
                                  > Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                  >
                                  >
                                  > Le 11 sept. 2011 à 17:06, Sebastien Lambla a écrit :
                                  >
                                  >> From a functional point of view, querystrings are a form of templates. URI templates as used in things like opensearch have more features, but functionally they are exactly the same thing.
                                  >
                                  > But URI templates can describe a larger range of URIs than HTML forms. This higher expressive power is relevant to the current discussion, which is about coupling between clients and servers.
                                  >
                                  > Philippe
                                  >
                                  >> -----Original Message-----
                                  >> From: rest-discuss@yahoogroups.com [mailto:rest-discuss@yahoogroups.com] On Behalf Of Philippe Mougin
                                  >> Sent: 11 September 2011 15:52
                                  >> To: rest-discuss@yahoogroups.com
                                  >> Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                  >>
                                  >> Le 11 sept. 2011 à 14:53, Jan Algermissen a écrit :
                                  >>
                                  >>>
                                  >>> On Sep 11, 2011, at 1:51 PM, Sebastien Lambla wrote:
                                  >>>
                                  >>>> URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).
                                  >>>>
                                  >>>> The alternative is to use links and forms with server-generated URIs,
                                  >>>
                                  >>> Right.
                                  >>>
                                  >>> A URI template is equivalent to an HTML GET form - it just looks more 'elegant'.
                                  >>
                                  >> Hi,
                                  >>
                                  >> In the context of this discussion, I don't see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI evolvability (i.e, structural change over time without breaking the client).
                                  >>
                                  >> Philippe
                                  >>
                                  >> ------------------------------------
                                  >>
                                  >> Yahoo! Groups Links
                                  >>
                                  >>
                                  >>
                                  >>
                                  >>
                                  >> ------------------------------------
                                  >>
                                  >> Yahoo! Groups Links
                                  >>
                                  >>
                                  >>
                                  >
                                  >
                                  >
                                  > ------------------------------------
                                  >
                                  > Yahoo! Groups Links
                                  >
                                  >
                                  >
                                • Sebastien Lambla
                                  You limit server choices in URI assignment, not client-server coupling: the coupling is still on some URI building language (querystring and URI templates),
                                  Message 16 of 19 , Sep 11, 2011
                                    You limit server choices in URI assignment, not client-server coupling: the coupling is still on some URI building language (querystring and URI templates), and in either case the client still consider the generated identifier as opaque, its level of coupling is the same.

                                    -----Original Message-----
                                    From: Philippe Mougin [mailto:pmougin@...]
                                    Sent: 11 September 2011 18:01
                                    To: rest-discuss@yahoogroups.com
                                    Cc: Sebastien Lambla
                                    Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?


                                    Le 11 sept. 2011 à 17:59, Sebastien Lambla a écrit :

                                    > I'm not sure this is relevant in any way. URIs stay opaque in the sense that, from the client perspective building /hello?mykey=myvalue or /hello/{myValue} still results in an opaque identifier, so neither provide better or worse coupling between client and server. It limits the choices the server has in minting certain type of URIs, but that's a server concern, not a client-server one.

                                    Imagine a server that use an URI template as a hypertext control dynamically communicated to the client. The day the server decides to change its URI structure from /hello?mykey=myvalue to /hello/{myValue}, it can do so without breaking the client because the change can be dynamically communicated to the client in the URI template.

                                    Alternatively, the server can avoid breaking the client by not changing the structure of its URIs (as you noted). It might be acceptable or not, depending on the specific context.
                                    But that whole idea of having servers dynamically instruct clients how to build URIs... isn't it, at least in part, about allowing changing things on the servers without breaking clients? As time pass and server side implementation evolve, what was once an apt URI structure might no longer be.

                                    Philippe

                                    > -----Original Message-----
                                    > From: Philippe Mougin [mailto:pmougin@...]
                                    > Sent: 11 September 2011 16:58
                                    > To: rest-discuss@yahoogroups.com
                                    > Cc: Sebastien Lambla
                                    > Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                    >
                                    >
                                    > Le 11 sept. 2011 à 17:06, Sebastien Lambla a écrit :
                                    >
                                    >> From a functional point of view, querystrings are a form of templates. URI templates as used in things like opensearch have more features, but functionally they are exactly the same thing.
                                    >
                                    > But URI templates can describe a larger range of URIs than HTML forms. This higher expressive power is relevant to the current discussion, which is about coupling between clients and servers.
                                    >
                                    > Philippe
                                    >
                                    >> -----Original Message-----
                                    >> From: rest-discuss@yahoogroups.com [mailto:rest-discuss@yahoogroups.com] On Behalf Of Philippe Mougin
                                    >> Sent: 11 September 2011 15:52
                                    >> To: rest-discuss@yahoogroups.com
                                    >> Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                    >>
                                    >> Le 11 sept. 2011 à 14:53, Jan Algermissen a écrit :
                                    >>
                                    >>>
                                    >>> On Sep 11, 2011, at 1:51 PM, Sebastien Lambla wrote:
                                    >>>
                                    >>>> URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).
                                    >>>>
                                    >>>> The alternative is to use links and forms with server-generated URIs,
                                    >>>
                                    >>> Right.
                                    >>>
                                    >>> A URI template is equivalent to an HTML GET form - it just looks more 'elegant'.
                                    >>
                                    >> Hi,
                                    >>
                                    >> In the context of this discussion, I don't see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI evolvability (i.e, structural change over time without breaking the client).
                                    >>
                                    >> Philippe
                                    >>
                                    >> ------------------------------------
                                    >>
                                    >> Yahoo! Groups Links
                                    >>
                                    >>
                                    >>
                                    >>
                                    >>
                                    >> ------------------------------------
                                    >>
                                    >> Yahoo! Groups Links
                                    >>
                                    >>
                                    >>
                                    >
                                    >
                                    >
                                    > ------------------------------------
                                    >
                                    > Yahoo! Groups Links
                                    >
                                    >
                                    >
                                  • Philippe Mougin
                                    ... Sure, but imagine a context where, for some reason, you don t want to limit server choice in URI assignment. Take it as a requirement for a minute. In such
                                    Message 17 of 19 , Sep 11, 2011
                                      Le 11 sept. 2011 à 19:12, Sebastien Lambla a écrit :

                                      > You limit server choices in URI assignment, not client-server coupling: the coupling is still on some URI building language (querystring and URI templates), and in either case the client still consider the generated identifier as opaque, its level of coupling is the same.

                                      Sure, but imagine a context where, for some reason, you don't want to limit server choice in URI assignment. Take it as a requirement for a minute. In such a context, where /hello?mykey=myvalue can later evolve to /hello/{myValue}, URIs templates allow for better evolvability (i.e., decoupling) than HTML forms (because at some point your HTML forms won't be able to communicate the new URI structure and then you'll have to switch to something else and break clients on that occasion). Don't they?

                                      Philippe


                                      > -----Original Message-----
                                      > From: Philippe Mougin [mailto:pmougin@...]
                                      > Sent: 11 September 2011 18:01
                                      > To: rest-discuss@yahoogroups.com
                                      > Cc: Sebastien Lambla
                                      > Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                      >
                                      >
                                      > Le 11 sept. 2011 à 17:59, Sebastien Lambla a écrit :
                                      >
                                      >> I'm not sure this is relevant in any way. URIs stay opaque in the sense that, from the client perspective building /hello?mykey=myvalue or /hello/{myValue} still results in an opaque identifier, so neither provide better or worse coupling between client and server. It limits the choices the server has in minting certain type of URIs, but that's a server concern, not a client-server one.
                                      >
                                      > Imagine a server that use an URI template as a hypertext control dynamically communicated to the client. The day the server decides to change its URI structure from /hello?mykey=myvalue to /hello/{myValue}, it can do so without breaking the client because the change can be dynamically communicated to the client in the URI template.
                                      >
                                      > Alternatively, the server can avoid breaking the client by not changing the structure of its URIs (as you noted). It might be acceptable or not, depending on the specific context.
                                      > But that whole idea of having servers dynamically instruct clients how to build URIs... isn't it, at least in part, about allowing changing things on the servers without breaking clients? As time pass and server side implementation evolve, what was once an apt URI structure might no longer be.
                                      >
                                      > Philippe
                                      >
                                      >> -----Original Message-----
                                      >> From: Philippe Mougin [mailto:pmougin@...]
                                      >> Sent: 11 September 2011 16:58
                                      >> To: rest-discuss@yahoogroups.com
                                      >> Cc: Sebastien Lambla
                                      >> Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                      >>
                                      >>
                                      >> Le 11 sept. 2011 à 17:06, Sebastien Lambla a écrit :
                                      >>
                                      >>> From a functional point of view, querystrings are a form of templates. URI templates as used in things like opensearch have more features, but functionally they are exactly the same thing.
                                      >>
                                      >> But URI templates can describe a larger range of URIs than HTML forms. This higher expressive power is relevant to the current discussion, which is about coupling between clients and servers.
                                      >>
                                      >> Philippe
                                      >>
                                      >>> -----Original Message-----
                                      >>> From: rest-discuss@yahoogroups.com [mailto:rest-discuss@yahoogroups.com] On Behalf Of Philippe Mougin
                                      >>> Sent: 11 September 2011 15:52
                                      >>> To: rest-discuss@yahoogroups.com
                                      >>> Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                      >>>
                                      >>> Le 11 sept. 2011 à 14:53, Jan Algermissen a écrit :
                                      >>>
                                      >>>>
                                      >>>> On Sep 11, 2011, at 1:51 PM, Sebastien Lambla wrote:
                                      >>>>
                                      >>>>> URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).
                                      >>>>>
                                      >>>>> The alternative is to use links and forms with server-generated URIs,
                                      >>>>
                                      >>>> Right.
                                      >>>>
                                      >>>> A URI template is equivalent to an HTML GET form - it just looks more 'elegant'.
                                      >>>
                                      >>> Hi,
                                      >>>
                                      >>> In the context of this discussion, I don't see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI evolvability (i.e, structural change over time without breaking the client).
                                      >>>
                                      >>> Philippe
                                      >>>
                                      >>> ------------------------------------
                                      >>>
                                      >>> Yahoo! Groups Links
                                      >>>
                                      >>>
                                      >>>
                                      >>>
                                      >>>
                                      >>> ------------------------------------
                                      >>>
                                      >>> Yahoo! Groups Links
                                      >>>
                                      >>>
                                      >>>
                                      >>
                                      >>
                                      >>
                                      >> ------------------------------------
                                      >>
                                      >> Yahoo! Groups Links
                                      >>
                                      >>
                                      >>
                                      >
                                      >
                                      >
                                      > ------------------------------------
                                      >
                                      > Yahoo! Groups Links
                                      >
                                      >
                                      >
                                    • Sebastien Lambla
                                      I have not made any statement about the evolvability of the server, only on the coupling between client and server and the coupling to unfinished and
                                      Message 18 of 19 , Sep 11, 2011
                                        I have not made any statement about the evolvability of the server, only on the coupling between client and server and the coupling to unfinished and non-modular specifications in media type definitions.

                                        -----Original Message-----
                                        From: Philippe Mougin [mailto:pmougin@...]
                                        Sent: 11 September 2011 18:41
                                        To: rest-discuss@yahoogroups.com
                                        Cc: Sebastien Lambla
                                        Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?


                                        Le 11 sept. 2011 à 19:12, Sebastien Lambla a écrit :

                                        > You limit server choices in URI assignment, not client-server coupling: the coupling is still on some URI building language (querystring and URI templates), and in either case the client still consider the generated identifier as opaque, its level of coupling is the same.

                                        Sure, but imagine a context where, for some reason, you don't want to limit server choice in URI assignment. Take it as a requirement for a minute. In such a context, where /hello?mykey=myvalue can later evolve to /hello/{myValue}, URIs templates allow for better evolvability (i.e., decoupling) than HTML forms (because at some point your HTML forms won't be able to communicate the new URI structure and then you'll have to switch to something else and break clients on that occasion). Don't they?

                                        Philippe


                                        > -----Original Message-----
                                        > From: Philippe Mougin [mailto:pmougin@...]
                                        > Sent: 11 September 2011 18:01
                                        > To: rest-discuss@yahoogroups.com
                                        > Cc: Sebastien Lambla
                                        > Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                        >
                                        >
                                        > Le 11 sept. 2011 à 17:59, Sebastien Lambla a écrit :
                                        >
                                        >> I'm not sure this is relevant in any way. URIs stay opaque in the sense that, from the client perspective building /hello?mykey=myvalue or /hello/{myValue} still results in an opaque identifier, so neither provide better or worse coupling between client and server. It limits the choices the server has in minting certain type of URIs, but that's a server concern, not a client-server one.
                                        >
                                        > Imagine a server that use an URI template as a hypertext control dynamically communicated to the client. The day the server decides to change its URI structure from /hello?mykey=myvalue to /hello/{myValue}, it can do so without breaking the client because the change can be dynamically communicated to the client in the URI template.
                                        >
                                        > Alternatively, the server can avoid breaking the client by not changing the structure of its URIs (as you noted). It might be acceptable or not, depending on the specific context.
                                        > But that whole idea of having servers dynamically instruct clients how to build URIs... isn't it, at least in part, about allowing changing things on the servers without breaking clients? As time pass and server side implementation evolve, what was once an apt URI structure might no longer be.
                                        >
                                        > Philippe
                                        >
                                        >> -----Original Message-----
                                        >> From: Philippe Mougin [mailto:pmougin@...]
                                        >> Sent: 11 September 2011 16:58
                                        >> To: rest-discuss@yahoogroups.com
                                        >> Cc: Sebastien Lambla
                                        >> Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                        >>
                                        >>
                                        >> Le 11 sept. 2011 à 17:06, Sebastien Lambla a écrit :
                                        >>
                                        >>> From a functional point of view, querystrings are a form of templates. URI templates as used in things like opensearch have more features, but functionally they are exactly the same thing.
                                        >>
                                        >> But URI templates can describe a larger range of URIs than HTML forms. This higher expressive power is relevant to the current discussion, which is about coupling between clients and servers.
                                        >>
                                        >> Philippe
                                        >>
                                        >>> -----Original Message-----
                                        >>> From: rest-discuss@yahoogroups.com [mailto:rest-discuss@yahoogroups.com] On Behalf Of Philippe Mougin
                                        >>> Sent: 11 September 2011 15:52
                                        >>> To: rest-discuss@yahoogroups.com
                                        >>> Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                        >>>
                                        >>> Le 11 sept. 2011 à 14:53, Jan Algermissen a écrit :
                                        >>>
                                        >>>>
                                        >>>> On Sep 11, 2011, at 1:51 PM, Sebastien Lambla wrote:
                                        >>>>
                                        >>>>> URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).
                                        >>>>>
                                        >>>>> The alternative is to use links and forms with server-generated URIs,
                                        >>>>
                                        >>>> Right.
                                        >>>>
                                        >>>> A URI template is equivalent to an HTML GET form - it just looks more 'elegant'.
                                        >>>
                                        >>> Hi,
                                        >>>
                                        >>> In the context of this discussion, I don't see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI evolvability (i.e, structural change over time without breaking the client).
                                        >>>
                                        >>> Philippe
                                        >>>
                                        >>> ------------------------------------
                                        >>>
                                        >>> Yahoo! Groups Links
                                        >>>
                                        >>>
                                        >>>
                                        >>>
                                        >>>
                                        >>> ------------------------------------
                                        >>>
                                        >>> Yahoo! Groups Links
                                        >>>
                                        >>>
                                        >>>
                                        >>
                                        >>
                                        >>
                                        >> ------------------------------------
                                        >>
                                        >> Yahoo! Groups Links
                                        >>
                                        >>
                                        >>
                                        >
                                        >
                                        >
                                        > ------------------------------------
                                        >
                                        > Yahoo! Groups Links
                                        >
                                        >
                                        >
                                      • Jan Algermissen
                                        ... Yep. +1 Jan
                                        Message 19 of 19 , Sep 11, 2011
                                          On Sep 11, 2011, at 5:59 PM, Sebastien Lambla wrote:

                                          > I'm not sure this is relevant in any way. URIs stay opaque in the sense that, from the client perspective building /hello?mykey=myvalue or /hello/{myValue} still results in an opaque identifier, so neither provide better or worse coupling between client and server. It limits the choices the server has in minting certain type of URIs, but that's a server concern, not a client-server one.

                                          Yep. +1

                                          Jan


                                          >
                                          > -----Original Message-----
                                          > From: Philippe Mougin [mailto:pmougin@...]
                                          > Sent: 11 September 2011 16:58
                                          > To: rest-discuss@yahoogroups.com
                                          > Cc: Sebastien Lambla
                                          > Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                          >
                                          > Le 11 sept. 2011 à 17:06, Sebastien Lambla a écrit :
                                          >
                                          > > From a functional point of view, querystrings are a form of templates. URI templates as used in things like opensearch have more features, but functionally they are exactly the same thing.
                                          >
                                          > But URI templates can describe a larger range of URIs than HTML forms. This higher expressive power is relevant to the current discussion, which is about coupling between clients and servers.
                                          >
                                          > Philippe
                                          >
                                          > > -----Original Message-----
                                          > > From: rest-discuss@yahoogroups.com [mailto:rest-discuss@yahoogroups.com] On Behalf Of Philippe Mougin
                                          > > Sent: 11 September 2011 15:52
                                          > > To: rest-discuss@yahoogroups.com
                                          > > Subject: Re: [rest-discuss] Re: Are URI-Templates really coupling clients and server?
                                          > >
                                          > > Le 11 sept. 2011 à 14:53, Jan Algermissen a écrit :
                                          > >
                                          > >>
                                          > >> On Sep 11, 2011, at 1:51 PM, Sebastien Lambla wrote:
                                          > >>
                                          > >>> URI templates decouple you from fixed identifiers, and couple you to a uri template definition (of which, so far, none has made it to standard status anywhere).
                                          > >>>
                                          > >>> The alternative is to use links and forms with server-generated URIs,
                                          > >>
                                          > >> Right.
                                          > >>
                                          > >> A URI template is equivalent to an HTML GET form - it just looks more 'elegant'.
                                          > >
                                          > > Hi,
                                          > >
                                          > > In the context of this discussion, I don't see URI templates and HTML forms as equivalent because URI templates allow for a much higher degree of URI evolvability (i.e, structural change over time without breaking the client).
                                          > >
                                          > > Philippe
                                          > >
                                          > > ------------------------------------
                                          > >
                                          > > Yahoo! Groups Links
                                          > >
                                          > >
                                          > >
                                          > >
                                          > >
                                          > > ------------------------------------
                                          > >
                                          > > Yahoo! Groups Links
                                          > >
                                          > >
                                          > >
                                          >
                                          >
                                        Your message has been successfully submitted and would be delivered to recipients shortly.