More comments inline.
Thanks,
Raymond
----- Original Message -----
From: "Jean-Sebastien Delfino" <[EMAIL PROTECTED]>
To: <tuscany-dev@ws.apache.org>
Sent: Monday, October 22, 2007 6:16 PM
Subject: Re: Model intents and policySets attached under
<implementation.xxx> elements, was:Re: Transaction policy seed code and
questions on the Tuscany policy framework
[snip]
Raymond Feng wrote:
We can have something like:
Well... You know what I think about how to model the intent -> operations
relationship :) I think that you should experiment a bit with what you're
proposing, I'd like to just bring to your attention that:
- modeling operation and service as just strings is not consistent with
what we're doing elsewhere in the model, and will require lookups all over
the place
You are right. We should use Operation and Service instead.
- IIRC policies can be associated with operations on services, references,
callbacks and implementations, component types (and I'm not sure about
constraining types)
Good catch. I was too focused on the implementation.xxx specific issue. We
should try to have a model that works with all the cases and combinations.
- policies can also be associated with all operations on an interface, or
all operations on an implementation
Yes, it's tricky here. The operation-level intents/policySets can be
attached to different levels in the configuration:
(interface, operation)
(service, operation)
(reference, operation)
(binding, operation)
(implementation, operation)
(implementation, service, operation)
Are you proposing List<Operation> Intent.getOperations() and List<Operation>
PolicySet.getOperations()?
- you'll need to distinguish between intent attach points and policySet
attach points
public interface Component extends PolicyAttachPoint {
...
// List<Intent> getRequiredIntents(); // from PolicyAttachPoint
// List<PolicySet> getPolicySets(); // from PolicyAttachPoint
List<OperationPolicyAttachPoint> getOperationPolicyAttachPoints();
}
public interface OperationPolicyAttachPoint extends PolicyAttachPoint {
String getOperation();
String getService();
void setOperation(String operation);
void setService(String service);
}
Thanks,
Raymond
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]