[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [provision] SPML 2.0 Relationships proposal...
Jeff,
My understanding was that the reason we wanted creation of containment relationships at the same time as the PSO was to address problems with things like groupOfNames or groupOfUniqueNames, that require a member to be specified. At least that was the discussion I remember from the F2F. I don't necessarily think that this is reason enough to shape the whole relationship approach though. I'm not sure what other resources make containment immutable. Perhaps an example would be persuasive.
I think the terminology I used in my suggestion is causing some misunderstandings. In the COS Relationship interface, a relationship is defined as a collection of roles. These are not roles in the sense used in the provisioning world, they are the roles that objects play in a given relationship. "Contained" is a role, for example, and "Contains" is a role. A Containment relationship is comprised of these roles. It sounds like you didn't get a chance to look at the schema I sent out, which should make this clear, but maybe a name change would help if it's still confusing. There are, in my mind, very few restrictions placed on users of the relationship model I suggested and certainly all of your examples can be easily accommodated. I think it might be more extensible even.
The argument for doing a create of an object and its relationship in a single operation is a good one. Perhaps the use of a relationship operation in a batch would satisfy us both. Fundamentally, I'm just not keen on the idea of extending core requests such as add, modify, and search to incorporate different kinds of relationships. It seems inconsistent to me to use one operation when you want to just add an item, and another when you want to add it and and do something else. And search seems very convoluted. I'm not sure it's a good pattern to propagate in future capabilities either. What I'd prefer would be that there is a single, consitent way to manipulate objects and a capability providing a single consistent way to manage relationships. Overloading a basic set of operations might seem simpler but I don't think it always leads to the appropriate interface for a given application.
Gerry
"Jeff Bohren" <jbohren@opennetwork.com>
![]() | ![]()
08/03/2004 08:05 PM | ![]() To: <provision@lists.oasis-open.org> cc: Subject: RE: [provision] SPML 2.0 Relationships proposal... |
Jeff,
It's great to have a straw man to focus on. I just have a few comments and questions. It seems to me that the approach of extending core operations, particularly for add, is driven mostly by the problem that we discussed at the F2F, i.e. the need to have a PSO available when the relationship is created. Is this really a valid constraint to place on ourselves? I'd like to revisit this because I would prefer that we not use derived operations in general - my preference would be for a relationship interface that is not so coupled to the core operations. For example, I was imagining something similar to the Cos Relationships model. In that world view, a relationship is simply a collection of roles. I've attached a schema that reflects something like the same model. If we were to follow in spirit of this approach, the schema would be accompanied by an operational interface primarily consisting of operations like:
Relationship create(Roles roles);
Relationship add(Relationship relationship, Role role);
Relationship remove(Relationship relationship, Role role);
Relationships remove(Role role);
Relationships getRelationships(PSOIdentifier pso, Role role);
Relationships getRelationships(PSOIdentifier pso);
Roles getRoles(PSOIdentifier pso);
...and so on, or something like it.
There are a couple of things in the proposal that reflect problems that I see in the core schema:
1. Modifications. We still have not fully filled out the modification portions of the schema.
2. Search. We talked before about being more specific in the definition of a search syntax. I am still in favour of doing that. When I was suggesting a subset of XPath though, I wasn't suggesting that we eliminate all of the XPath expressions. In particular I think it would make sense to keep the boolean expressions (and, or, !=, =, <=, <, >, >=). If we did opt for a well-defined XPath-like syntax then it wouldn't make sense in my mind to redefine these types of expressions here. This whole subject warrants more discussion in my view.
By the way, there seems to be an error on line 138 of version 5 of the schema. I think 'type="spml:ModifyRequestType"' should in fact be 'type="spml:ModificationType"'. Also, on line 189 the use of an element and an any in the sequence is problematic. I changed the "appliesTo" element to an attribute to get around this.
Gerry
(See attached file: relationship_example.xsd)
"Jeff Bohren" <jbohren@opennetwork.com>
![]() | ![]()
08/02/2004 09:36 PM | ![]() To: <provision@lists.oasis-open.org> cc: Subject: [provision] SPML 2.0 Relationships proposal... |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]