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

3649Re: [rest-discuss] Why do I care about visibility?

Expand Messages
  • Roy T. Fielding
    May 1, 2003
      >> I've been trying to get my mind around exactly what visibility means
      >> and
      >> why its important to REST. I think I have a vague sense of what it
      >> is,
      >> but I'm not sure I understand why its important. I took a look at
      >> Fielding's thesis, but I didn't see much at all on visibility.
      > What it said was pretty good though, even just this sentence;
      > "Visibility in this case refers to the ability of a component to
      > monitor
      > or mediate the interaction between two other components. "

      Why it's important? Hmm...

      There are several places where it comes into play:

      o efficient intermediaries

      - security across trust boundaries

      Many networks don't trust each other, or at least don't trust what
      is on the other side of a firewall. As a result, intermediaries are
      installed to filter traffic. That is a hard problem for
      application protocols, so we need to make it easier in order to make
      filtering more efficient and gain the trust of firewall admins.

      - extensibility

      Visibility calls for more explicit descriptions within messages, as
      opposed to relying on external IDLs or XDR-style typing by schema,
      which in turn makes it easier to extend the functionality later.

      - evolvability

      When intermediaries can understand a request, they can more easily
      perform or adjust it on behalf of the intended recipient, just as
      WebTV or cell phone networks can adjust for their clients.

      - performance

      Visibility is necessary for cacheability.

      o understandability

      It is simply easier to build complex systems if you can see and
      understand the individual interactions.

      o reusability

      People learn by emulation. That is described somewhat in the
      on Java versus Javascript.

      There are probably others.


      Roy T. Fielding, Chief Scientist, Day Software
      2 Corporate Plaza, Suite 150
      Newport Beach, CA 92660-7929 fax:+1.949.644.5064
      (roy.fielding@...) <http://www.day.com/>

      Co-founder, The Apache Software Foundation
      (fielding@...) <http://www.apache.org/>
    • Show all 10 messages in this topic