Hi Robert, "Is the model not static in the sense that there are queues and exchanges and connections etc that can all be managed and the definition does not change?"
I'm sorry but I did not get the point of this phrase...see below. "Why do we want each queue *instance* to be a type in WSDL?" Each queue instance won't be a type in WSDL. There will be a WSDL for the WsResource Queue (and one WSDL for session, etc...) , with its capabilities (I mean, attributes & operations). You can see that WSDL as the definition of the "class" queue. Next, for each queue object (instance), there will be created an instance of that WsResource. That instance will be managed using WS-DM. The "dynamic" word used previously means that until Qpid notifies QMan about the existence of a class named Queue with (for example) those attributes : - msgDepth; - name; - bytePending; and this methods: purge(int) I don't know (from QMan side and cnseguently from the Adapter) that I must expose a WsResource instance named queue with those attributes and operations. I must build this definition (WSDL) at runtime. This happens when the "schema" arrives on QMan. After that, when the content indication messages (containing instances) arrive : - QMan is instrumenting those instances as MBeans; - WS-DM Adapter uses the previously created "on-the-fly" WSDL and creates and instance of that WSResource. >From a client perspective (ex. HP OpenView) there will be another manageable resource where it will possibile to invoke : 1) GetMetadata : in order to get the metadata of this resource. This include a) WSDL, b) XMLSchema or metadata descriptor containing additional constraints on attributes; 2) SetProperty / SetMultipleProperties : in order to set change the state of the resource (for Queue at the moment we have only read only attributes so invoking this operation will produce an " UnableToModifyResourcePropertyFault"); 3) GetProperty / GetMultipleProperties : in order to get the state of the resource. 4) QueryResourceProperties : has the same meaning of the GetResource but with query capability; These are capabilities coming from WS-DM specs so therefore they will be shared among all managed resources. After those, there will be capabilities (basically) operations defined by the qpid class in this example there will be only one operation (the following is the corresponding method generated on-the-fly on the QueueCapability class) : public void purge(int request) throws OperationInvocationFault, MalformedEntityNameFault,EntityInstanceNotFoundFault,QManFault where - the signature of the method is taken from the "schema indication message" and the corresponding generated WSDL; - OperationInvocationFault is thrown when the statusCode returned by the invocation is not 1 (OK); - MalformedEntityNameFault : when the resourceId contained in the request is not a valid object name (used for identifying the target resource); - EntityInstanceNotFoundFault : when the target entity is not found (for example if it is a temporary queue it could have been deleted by someone else). - QManFault : generaka and not well known failure; Best regards. Andrea 2008/12/19 Robert Greig <[email protected]> > 2008/12/18 Andrea Gazzarini <[email protected]>: > > > having studied a little bit more the WS-DM specs ( and all the universe > of > > related WS-* specs) I basically re-wrote the prototype(s) :(. > > Hi Andrea, > > I don't know much about WS-DM I'm afraid so I apologise in advance if > my questions are naive or uninformed. > > > The problem with QMan is that its interface is not static; I mean, it > > proxies several broker domain model(s) and therefore at a certain moment, > > from QMan perspective, > > there could be an object named "queue" with a purge(int) operation that > can > > be invoked, but after 10 seconds that objects couldn't be there because > the > > queue has been removed! > > Is the model not static in the sense that there are queues and > exchanges and connections etc that can all be managed and the > definition does not change? Why do we want each queue *instance* to be > a type in WSDL? > > RG >
