Andy and Simon make good points, and I think that discovery of related assets is certainly important. as Scott points out, the CM team are looking at this too, and from a "i know nothing other than the URI of the CR". the friendliness of the URIs Simon drew is beguiling, giving the impression that the path to the resource can be trusted to mean something. Stability of URIs is also important and the two concerns are not always compatible.
As well as thinking about all the relationships a requirement might have with its contexts, we ought to think about other relationships - satisfaction, validatedBy and so on. What happens in response to a GET on a requirement URI: should all of these relationships be represented? That won't scale but perhaps it doesn't need to? An alternative is to separate the requirement representation from the resources to which it is related, as the CM specification does. (See http://open-services.net/bin/view/Main/CmRestApiV1?sortcol=table;up=#Managing_multi_valued_properties .) So the requirement could indicate the presence of a group of links (collected by type?). In the CM approach links are not first-class in the resource model - i can't GET a link, nor can I DELETE one: they are not resources. best wishes, -ian [email protected] (Ian Green1/UK/IBM@IBMGB) Chief Software Architect, Requirements Definition and Management IBM Rational From: Scott Bosworth <[email protected]> To: [email protected] Cc: [email protected], Dominic Tulley/UK/IBM@IBMGB, Simon Wills <[email protected]>, George DeCandio <[email protected]>, [email protected], Pratik Shah <[email protected]>, Sky Matthews <[email protected]>, [email protected], [email protected], Steve Abrams <[email protected]>, [email protected], Andrew J Berner <[email protected]>, [email protected], Chris Mcgraw/UK/IBM@IBMGB, Ken Jackson/UK/IBM@IBMGB Date: 09/07/2009 15:09 Subject: Re: [Community] OSLC RM - meetings during July Sent by: [email protected] Great points Simon, I agree completely. Not to jump to spec too quickly, but it may be helpful to look at the OSLC-CM 1.0 spec ( http://open-services.net/bin/view/Main/CmSpecificationV1) and its approaches for establishing project context (service discovery), collections of change-requests, and simple query services. We may be able to learn something on how we might think about requirements collections from this vantage point. To Andy's point, rather than saying that a requirement should have a "back pointer" to the project, we might instead say that given the url of a requirement, we may have a need to discover the project context (or maybe other requirements collection contexts?). I think this is probably a common scenario - someone receives the requirement url in an e-mail and that's all they have. This is a topic that has come up in the CM 2.0 directions as well (see http://open-services.net/bin/view/Main/CmArchitecturalDirectionV2 -- Reverse service discovery). Thanks...Scott p.s. Ian - I think the to-do Steve and I took was to think about how to better organize the scenarios overall in the site given the cross-domain nature many of them exhibit. Scott Bosworth | IBM Rational CTO Team | [email protected] | 919.486.2197(w) | 919.244.3387(m) | 919.254.5271(f) Scott Bosworth---07/09/2009 09:46:16 AM---Hi all - moving this discussion to the mailing list...Scott From: Scott Bosworth/Raleigh/IBM@IBMUS To: [email protected] Cc: [email protected], Dominic Tulley <[email protected]>, Simon Wills <[email protected]>, George DeCandio/Raleigh/IBM@IBMUS, [email protected], Pratik Shah/Durham/IBM@IBMUS, Sky Matthews/Durham/IBM@IBMUS, [email protected], [email protected], Steve Abrams/Watson/IBM@IBMUS, [email protected], Andrew J Berner/Dallas/IBM@IBMUS, [email protected], Chris Mcgraw <[email protected]>, Ken Jackson <[email protected]> Date: 07/09/2009 09:46 AM Subject: Re: [Community] OSLC RM - meetings during July Hi all - moving this discussion to the mailing list...Scott Scott Bosworth | IBM Rational CTO Team | [email protected] | 919.486.2197(w) | 919.244.3387(m) | 919.254.5271(f) "Simon Wills" ---07/09/2009 09:23:21 AM---To elaborate on Andy’s comment (and noting that I missed the last call where this was discussed) ... From: "Simon Wills" <[email protected]> To: Andrew J Berner/Dallas/IBM@IBMUS, "Ian Green1" <[email protected]> Cc: <[email protected]>, <[email protected]>, "Chris Mcgraw" <[email protected]>, <[email protected]>, "Dominic Tulley" <[email protected]>, George DeCandio/Raleigh/IBM@IBMUS, "Ken Jackson" <[email protected]>, Pratik Shah/Durham/IBM@IBMUS, <[email protected]>, <[email protected]>, Scott Bosworth/Raleigh/IBM@IBMUS, Sky Matthews/Durham/IBM@IBMUS, <[email protected]>, Steve Abrams/Watson/IBM@IBMUS Date: 07/09/2009 09:23 AM Subject: RE: OSLC RM - meetings during July To elaborate on Andy’s comment (and noting that I missed the last call where this was discussed) ... Requirements collections can mean many things. They may be related to application/project structure (e.g. subsystem X); they may time related (e.g. phase B); they may represent any arbitrary grouping of related requirements based on some classification. This has implications on cardinality. One collection may contain many requirements. But one requirement may also be a member of many collections (e.g. it may be re-used across projects; it may belong to collection of key integrity requirements at the same time as being in the collection of requirements that are to be implemented in phase B). This isn’t an issue in terms of addressability, in that it’s perfectly valid for one resource to be designated by multiple URIs. Hence a single requirement resource might have a canonical URI (e.g. /world/requirements/R1027), while also being addressable within the context of one or more collections (e.g. /world/projects/Project12/requirements/R32 and /world/applications/App14/requirements/R527). In both cases, it’s desirable for a GET on a given URI to return related URIs (e.g. a GET on a collection-based requirement URI returning not only a representation of the requirement, but also listing the canonical URI of that requirement in its related resources). If I understand Andy correctly, he is suggesting an ‘either/or’ situation (i.e. the collection points to the requirements, or the requirement points to the collection). I would suggest that real world needs means that the answer must be ‘both’. But then maybe I’ve missed Andy’s point ... Simon PS and don’t forget that collections may be simple buckets, or they may organise their requirements into some hierarchical structure ... Simon Wills Managing Director integrate systems engineering ltd m: +44 (0)7967 091824 t: +44 (0)1225 859991 f: +44 (0)1225 859993 e: [email protected] w: www.integrate.biz From: Andrew J Berner [mailto:[email protected]] Sent: 09 July 2009 13:08 To: Ian Green1 Cc: [email protected]; [email protected]; Chris Mcgraw; [email protected]; Dominic Tulley; George DeCandio; Ken Jackson; Pratik Shah; [email protected]; [email protected]; Scott Bosworth; Simon Wills; Sky Matthews; [email protected]; Steve Abrams Subject: Re: OSLC RM - meetings during July One comment about the "requirement set": In some cases, it may really be a list of requirements, but I think the bigger issue is that a requirement is related to either a project or application....this means that either that related resource should have a list of requirements (identified by URL so you can get a resource representing each requirement) or that the requirement should have a reference ("back pointer") to the project/application. In data modeling terms, is it an identifying relationship (thus the requirement has the back pointer) and if so, to what? Andy Berner Lead Architect, ISV Technical Enablement and Strategy IBM Rational Business Development 972 561-6599 [email protected] Ready for IBM Rational software partner program - http://www.ibm.com/isv/rational/readyfor.html OSLC RM - meetings during July Ian Green1 to: Andreas.Keis, Andrew J Berner, Brenda.Ellis, Chris Mcgraw, david.ruiz, Dominic Tulley, George DeCandio, Ken Jackson, Pratik Shah, rainer.ersch, randy.e.vogel, Scott Bosworth, simon.wills, Sky Matthews, srinivasan.renganathan, Steve Abrams 07/09/2009 05:17 AM Hello all, the minutes from last meeting are on the wiki http://open-services.net/bin/view/Main/RmMeetings20090706. Steve and Scott took an action which i have missed - do either of you recall that? I'm on holiday August so will not be able to attend the regular scheduled meetings 13th and 27th July. Can I ask for a volunteer to chair either one or both of those calls? We need to discuss the specification needs for the scenarios A and B. Torge touched on this on our last call. What are the resources we need to describe in the specification? What actions must the API support over these resources? Are the link types fixed by the specification, or are they open? What is a requirement collection/set? best wishes, -ian [email protected] (Ian Green1/UK/IBM@IBMGB) Chief Software Architect, Requirements Definition and Management IBM Rational _______________________________________________ Community mailing list [email protected] http://open-services.net/mailman/listinfo/community_open-services.net _______________________________________________ Community mailing list [email protected] http://open-services.net/mailman/listinfo/community_open-services.net Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
