ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> xml-dev
xml-dev
Re: [xml-dev] Exposing resources/services vs hiding implementation details
by Bill de hÓra other posts by this author
Apr 5 2005 9:18AM messages near this date
Re: [xml-dev] Exposing resources/services vs hiding implementation details | Re: [xml-dev] Exposing resources/services vs hiding implementation details
& XSLT Michael Champion wrote:

>  Why " give things of interest (the equivalent of your objects in your
>  domain model or your table rows in your physical data model) visible
>  identity?"    That seems to violate the principle of information
>  hiding that has been around since before OO.  It seems to be simply a
>  Bad Idea to expose internal details in a world where slimeballs have
>  proliferated  who would love to subvert your website for fun and/or
>  profit.  Why not hide them behind a "controller URI" that accepts
>  requests and gives them a going over with the polygraph and
>  protocoscope, then routes them to whereever the system thinks they
>  should be routed at this moment?

Oh gosh, I wasn't talking about actually mapping table rows or objects. 
But many systems have a domain model. I see no reason not to have 
multiple URLs to name the things of interest to the domain. I think 
you're arguing for an obscurity by design that isn't always valuable.

In implementation terms by all means drive everything through a single 
ASP or Servlet -  for a lot of web frameworks out there, you don't have 
a choice. That does not mean you have to have a single exposed URL to 
the world. Who's really exposing implementation details in this case?

If I turned your argument around and said there should be one 
self-joining uber-table (property values) or one uber-object (HashMap?) 
in a system it would surely be something to question. What's special 
about mapping a domain onto URL space that we have to have one uber-URL?

For example every book on Amazon (I think) has a URL (if not a few).
tell me whether you prefer that approach over this for tv channels:

  http://www.rte.ie/arts/tvradio.html

that's a classic controller design. I think you'll find Amazon has the 
edge in design terms (yes, you can get at the RTE domain model for TV 
channels, but the website is not designed that way, perhaps because 
somebody thought it's better to keep the user on the same URL...). There 
are other systems where the same URL points you to different *entities* 
depending on whatever the server session state happens to be (JIRA comes 
to mind today). It means I can't bookmark stuff easily - and not being 
able to bookmark is to my mind a leading indicator for two things; 
difficult to innovate with and difficult to manage.

If the purpose of the system is to front a messaging endpoint or 
something then sure, designing in an artificial serialization might make 
sense;  that would be akin to decorating a hashmap behind a queue. There 
is a genuine (I think) impedence between message queues and URL space, 
which I've waffled about before:

  http://www.dehora.net/journal/2004/11/rest_uris_and_queues.html

I think one reason RSS (and search) is huge, because they're a cheap way 
to create iterators over a  space (the Web) that has random access, but 
no natural iterators. Having bridged a few queuing systems with the web, 
I think this area is ripe for exploration; it's definitely not a done deal.

I do take Rick's point from the NAT analogy (NAT of course has pros and 
cons) and I'm not arguing from an absolute position. I just find 
controller designs need to be questioned for suitability. Controller 
implementations are another thing.

cheers
Bill


-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org> , an
initiative of OASIS <http://www.oasis-open.org> 

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://www.oasis-open.org/mlmanage/index.php> 
Thread:
Claude L Bullard
Marc de Graauw
Joe Gregorio
Bill de hÓra
Michael Champion
Uche Ogbuji
Jan Algermissen
Uche Ogbuji
Rich Salz
Jan Algermissen
Rich Salz
Michael Champion
Bill de hÓra
Michael Champion
Uche Ogbuji
Bill de hÓra
Robert Koberg
Peter Hunsberger
Michael Champion
Leigh Dodds
Jan Algermissen
Leigh Dodds
Bill de hÓra
Michael Champion
Leigh Dodds
Michael Champion
Rick Marshall
Bill de hÓra
Robert Koberg
Rich Salz
Leigh Dodds
Rich Salz
Leigh Dodds
Rich Salz
Leigh Dodds
Andrzej Jan Taramina
Rich Salz
Bob Foster
Jan Algermissen
Mark Baker
Michael Champion
Michael Champion
Mark Baker
Mark Baker
Michael Champion
Bill de hÓra
Rich Salz
David Lyon
Rich Salz
Joe Gregorio
Rich Salz
Joe Gregorio
Saptagirisa N
Arvind Singh
Rich Salz
Joe Gregorio
Rich Salz
Joe Gregorio
Rich Salz
Dave Pawson
Mark Baker
Joe Gregorio
Mark Baker
Rich Salz
Michael Champion
Elliotte Rusty Harold
Joe Gregorio
Michael Champion
Jan Algermissen
Bill de hÓra
Joe Gregorio
Charles Woerner
Rich Salz

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved