- From: Jan Algermissen <jalgermissen@topicmapping.com>
- Date: Wed, 1 Jun 2005 21:41:28 +0200
- To: public-web-http-desc@w3.org
Hi, some feedback regarding Mark's posting: I see two purposes of a description langauge: Generating code and keeping documentation about services. Especially in an IT service management or software portfolio management context, such documentation is key anyhow. If it is standardized, so much the better. IMHO, code generation only makes sense for the service implementation while consumers should only implement MIME type semantics (and not knowledge about the service's state machine which is discovered at runtime in the Web's application model). Regarding the question *what* should be described, I think that Web services are simply RESTful applications[1] and that these can be described as a state machine, where each state definition is a pattern or predicate (expressed in terms of a common data model[2]) and each allowed transition is a combination of HTTP method and a definition of what may be sent as a message body (aka form) and optionally what role (expressed as a group URI) may perform that transition. As an example, consider a trouble ticket: in the DL I could state that for all states of the ticket (expressed as an RDF graph) that 'match' the-ticket-uri tts:status 'new' there is an allowed transition POST the-ticket-uri tts:status 'open' I can imagine generating all the backend code (except the data storage of course) and the UI portions (if desired) from such descriptions. Jan [1] see here for my favorite definition of the term: http://groups.yahoo.com/group/rest-discuss/message/4578 [2] RDF or XML or Topic Maps (though not directly suitable in Web context due to their duality of URI semantics) ________________________________________________________________________ ____________________ Jan Algermissen, Consultant & Programmer http://jalgermissen.com Tugboat Consulting, 'Applying Web technology to enterprise IT' http://www.tugboat.de
Received on Wednesday, 1 June 2005 19:41:37 UTC