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
>

Reply via email to