About InfoWorld : Advertise : Subscribe : Contact Us : Awards : Events : Store
InfoWorld HomeNewsTest CenterOpinionsProduct GuideTechIndex
 COLUMN ARCHIVE  FORUMS
 

COLUMN

 
Strategic Developer
Jon Udell

Designing Web services namespaces

As we reported last week [1], Groove Networks showed me its much-anticipated SOAP API, which will be called Groove Web Services, and it's a beautiful thing to behold. Credit for the design goes to Peter Drayton, who lectured masterfully [2] on the subject of "RESTful SOAP" in October and then, in November, found himself with a one-way ticket to Seattle as Microsoft's newly appointed .Net CLR Program Manager. REST, in case you've managed to avoid this somewhat arcane debate, stands for Representational State Transfer and refers to the architectural style of the Web as articulated by one of HTTP's architects, Roy Fielding. In his lecture, Peter neatly distilled the REST principles and cogently related them to SOAP Web services:

   ADVERTISEMENT
  

Free IT resource

Hear how top CIOs turn change into a competitive advantage.

Sponsored by HP

Free IT resource

Attend the SOA Executive Forum: Breaking SOA Bottlenecks SOAExecForum.com/may2007

Sponsored by InfoWorld

RELATED LINKS

IDG ENTERPRISE NETWORK
More App Development News...  (ComputerWorld)
JBoss buys former HP middleware  (ComputerWorld)

TOP NEWS 


IT SOLUTION SEARCH
- Model your system as a set of resources.

- Assign logical URIs (uniform resource identifier) to resources.

- Define schemas for resource representations.

- Enable discoverability of resources.

- Provide appropriate resource manipulation operations.

Because the Groove Web Services API follows these principles closely, it makes immediate sense to a Web developer like me. The resources modeled by GWS are Groove accounts, identities, shared spaces, tools, and the data items controlled by tools. The modeling is accomplished in XML Schema, which is used to define XML documents that represent the resources -- or nouns -- of a system. As per the Web's style, a handful of primitive verbs (Read, Update) operate on these nouns. The system as a whole behaves as a linked web of XML documents; you discover resources by traversing that Web.

I've said it before: hyperlinks matter [3]. That idea seems to be echoing everywhere now. Mark O'Neill, CTO of Vordel, a provider of Web services security solutions, notes on his Weblog [4] that naming Web services with URIs means "that the way in which the Web Service is referenced as a 'resource' in a security policy can match the way in which it is referenced by a Web Service client." When I interviewed Tim Bray, co-inventor of XML and now CEO of Antarctica Systems, he told me: "This whole notion of addressing everything by URI, and composing applications accordingly, just works."

Here's an interesting measure of the distance traveled in recent months of the occurrences of the term "Web-friendly":

In the SOAP 1.1 spec: 0

In the SOAP 1.2 primer: 9

As we proceed to put the Web back into Web services, we'll revisit lessons that we learned, or didn't, about how to design URI namespaces. Software developer Brent Simmons recently proposed Brent's Law of CMS (Content Management Systems) URLs: "The more expensive the CMS, the crappier the URLs." He refers to the inscrutable URIs generated by, for example, Vignette, whose Web site represents its customer list with this URL:

http://www.vignette.com/contentmanagement/0,2097,1-1-31-1495,00.html

There are, of course, conflicting forces at work here. URIs inhabit two parallel ecosystems: meatspace and cyberspace. We humans want URIs to be short, mnemonic, writeable, speakable. We want to be able to bookmark them and e-mail them to friends and colleagues. Unfortunately, we have to invest a lot of intellectual effort to achieve these goals. It's hard to think up good names for things. So as resources multiply, we tend to delegate naming to the machines -- a chore they happily perform, but not in ways helpful to us.

We can benefit enormously from de facto standards that guide the choice of names. Naming conventions for e-mail addresses are a great example. My published address is pretty easily discoverable: jon_udell@infoworld.com. Of course, there are a couple of different standards in play. It's straightforward to map from one namespace to another, though. If you guessed I am reachable at jon.udell@infoworld.com, you'd be right. I just checked; our IT guys sensibly support that flavor too. Microsoft's e-mail addresses are discoverable, but less easily. If I were the 4th John S[a-z]+ at the company, it would take you five tries to find me:

johns@microsoft.com

johnsm@microsoft.com

johnsmi@microsoft.com

johnsmit@microsoft.com

On Web sites there are plenty of de facto standards, but they don't tend to control namespaces very well. Every corporate Web site has a contacts page, a news page, and an about page. But these pages are not canonically available as /contacts, /news, /about. We obfuscate our namespaces with leading directory paths and trailing extensions (.html, .php). It was always a good idea to clean this stuff up. Namespace design is, in fact, an engineering challenge. Now that we're entering the era of RESTful Web services, perhaps we'll see that more clearly.

1. http://www.infoworld.com/articles/pl/xml/02/11/04/021104plgroove.xml

2. http://www.razorsoft.net/slides/RESTfulSOAP/RESTfulSOAP_files/frame.htm

3. http://www.infoworld.com/articles/pl/xml/02/05/20/020520pllinks.xml

4. http://radio.weblogs.com/0111797/2002/11/03.html#a24


Jon Udell is lead analyst at the InfoWorld Test Center. Contact him at jon_udell@infoworld.com and check out his Weblog at http://weblog.infoworld.com/udell.




RELATED SUBJECTS

Enterprise Applications
Web Technologies


SPONSORED WHITE PAPERS
EMC - Lower costs and improve reliability-Get the EMC CLARiiON white paper!
Ciphertrust - Are you ready for Sobig.G? Learn how to protect your email systems.
CDW - Personal attention. CDW. The Right Technology. Right Away.
EMC - Explore key performance features and capabilities of EMC ControlCenter 5.1.1.
Intel - Free Intel white paper shows you how to deploy a secure wireless LAN
Cisco - FREE WHITE PAPER: BLUEPRINT to design and implement secure VPNs
Verity, Inc. - "Mass Consolidation Hits the Web-Search Market"
McDATA - Download a FREE storage consolidation white paper from McDATA(R).
Lucent Technologies - Overcoming Common Firewall Limitations
Lucent Technologies - Leverage Your Mobile High Speed Data Access. Download Free White Paper!
Nokia - Get the scoop! Mobilizing business white papers & case studies.
BMC Software - Maximize the Potential of Enterprise Data: Free white paper!
Network Associates - Free white paper - Strategies for Optimizing Network Costs and Benefits
Entrust - Manage identities across applications. Improve productivity.
Stalker Software - CommuniGate Pro - Transform your Email and Calendaring
Remedy - A NEW Gartner Research Note:Producing Quality IT Services

Search the IDG White Paper Library:


SPONSORED LINKS

INFOWORLD MARKETPLACE


» EMC delivers high-speed image capture, storage
Learn how you can quickly capture, organize, and deliver information with EMC ApplicationXtender.
» Register for your FREE Desktop Virtualization kit.
Take command of the desktop with VMware desktop virtualization  Register today for your FREE kit.
» FREE Sophos Threat Detection Test
Is your AV catching everything it should? Free virus, spyware and adware scan.
» Web based bug tracking - AdminiTrack.com
AdminiTrack offers an effective web-based bug tracking system designed for professional software ...
» Free SOA Webinar with CTOs of Capgemini and Vitria
Register here for this valuable Webinar centering on the automation of process exceptions.




 HOME  NEWS  TEST CENTER  OPINIONS  PRODUCT GUIDE  TECHINDEX   About : Advertise : Subscribe : Contact Us : Awards : Events 

Copyright © 2008, Reprints, Permissions, Licensing, IDG Network, Privacy Policy

All Rights reserved. InfoWorld is a leading publisher of technology information and product reviews on topics including viruses, phishing, worms, firewalls, security, servers, storage, networking, wireless, databases, and web services.

Computerworld :: Network World :: CIO :: PC World :: Darwin :: CMO :: CSO
IT Careers :: JavaWorld :: Macworld :: Mac Central :: Playlist :: GamePro :: GameStar :: Gamerhelp
ITWorld Canada :: Computerwoche :: Techworld UK :: tecChannel :: IDG.se :: IDG.no