Posts Tagged ‘Representational State Transfer’

Properties Of Interest

Roy Fielding‘s famous PhD thesis, “Architectural Styles and the Design of Network-based Software Architectures” introduces the REST (REpresentational State Transfer) architectural style for large-scale, distributed, hypermedia-based network applications.

In his thesis, Mr. Fielding defines the non-functional property set that he uses to evaluate various architectural styles against one another:

Of course, there is no universal set of “ilities” definitions that technical stakeholders use to reason about, and evaluate, software architectures. Plus, depending on the application domain one is immersed in, some “ilities” are more important than others. Nevertheless, Mr. Fielding’s set is as good as any other that I’ve seen to date.

Whenever I see someone’s personal list of “ilities“, sometimes I discover at least one that I’ve never seen before. In Mr. Fielding’s list, the “visibility” property is one such “ility“. Here’s Mr. Fielding’s definition:

Visibility… refers to the ability of a component to monitor or mediate the interaction between two other components.

In a “distributed hypermedia systems” application like the www, visibility impacts several other properties as follows:

Visibility can enable improved performance via shared caching of interactions, scalability through layered services, reliability through reflective monitoring,
and security by allowing the interactions to be inspected by mediators (e.g., network firewalls).

I wonder what my next “ility” discovery will be?

%d bloggers like this: