You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Doug Fischer <dg...@dfischer.com> on 2006/05/23 23:03:11 UTC

Dynamic deployment / installation of components

Question 1:  

Would it be possible to to dynamically configure things like the
locationURI, service, endpoint, targetService, targetEndpoint, etc...
Through JMX on an HTTP endpoint? (I don¹t think this can be done right now,
I am just wondering if this is something that could potentially be done)  I
guess this data would then need to be persisted somewhere so that if the
system is restarted, the same values are still set.

Question 2:  

Would it be possible to create JMX operation that would deploy a duplicate
component, with a temporary service name to avoid collisions. (This is of
course, if the answer to question 1 was yes since the component would then
need to be configured).


Thank you,
Doug

Re: Dynamic deployment / installation of components

Posted by Guillaume Nodet <gn...@gmail.com>.
If your component is a standard jbi component that accept deployments, i
think it would be easier.  This component could register a mbean with the
needed operation to create / duplicate and destroy an endpoint.
In all cases, this can not be done by the container, because each component
have different parameters and different ways of handling things.

If you have a lightweight component, then you could just add in the
servicemix.xml an mbean using spring which will expose the needed operations
and activate lightweight components on the fly using
JBIContainer.activateComponent.

Cheers,
Guillaume Nodet

On 5/24/06, Doug Fischer <dg...@dfischer.com> wrote:
>
> Guillaume,
>
> Thank you for your response.
>
> What I need to do is allow a user, through JMX, to create binding
> components
> on the fly.  I have been working on this Socket (Mina) component because I
> have about, right now anyway, about 10 different sensors that I need to
> communicate with.  One of these sensors is a GPS unit so when I connect to
> it through the BC it just starts posting data to the bus.  It is possible
> that I could need to connect to a number of different GPS units, all with
> different ip addresses, ports, and a unique identifier, but they are all
> processes the same way.  What I would like to be able to do is something
> like duplicate, or install another BC with different parameters, through
> JMX.  I know I can just deploy another SA with different parameters but
> the
> requirement is to allow the users to do this through a JMX console.  This
> is
> the reason that I asked the initial questions.
>
> Thank you again,
> Doug
>
>
> On 5/24/06 3:13 AM, "Guillaume Nodet" <gn...@gmail.com> wrote:
>
> > Hi Doug,
> >
> > On 5/23/06, Doug Fischer <dg...@dfischer.com> wrote:
> >>
> >>
> >> Question 1:
> >>
> >> Would it be possible to to dynamically configure things like the
> >> locationURI, service, endpoint, targetService, targetEndpoint, etc...
> >> Through JMX on an HTTP endpoint? (I don¹t think this can be done right
> >> now,
> >> I am just wondering if this is something that could potentially be
> >> done)  I
> >> guess this data would then need to be persisted somewhere so that if
> the
> >> system is restarted, the same values are still set.
> >
> >
> > For provider endpoints, you can already create endpoints on the fly
> (short
> > lived) using
> > EPR resolution and URI.  See http://servicemix.goopen.org/site/uris.html
> >
> > For binding components, I was thinking about creating a management JBI
> > endpoint
> > which would process requests on proxy endpoints (mainly
> consumers).  This
> > would
> > enable SEs to ask for proxy endpoint creation when a SU is deployed.
> > For example you would be able to specify when deploying a POJO on
> > servicemix-jsr181,
> > or a BPEL process, to ask bindings components to create proxy endpoints
> for
> > these.
> > This could also work for provider endpoints.
> >
> > We could also implement a JMX mbean on top of this jbi management
> endpoint,
> > but I would
> > rather have a method that receive all the parameters needed to create
> the
> > endpoint, instead of
> > having to modify the endpoint after it has been created (which is more
> > complex to handle).
> > Would that suit your needs ?
> >
> >
> > Question 2:
> >>
> >> Would it be possible to create JMX operation that would deploy a
> duplicate
> >> component, with a temporary service name to avoid collisions. (This is
> of
> >> course, if the answer to question 1 was yes since the component would
> then
> >> need to be configured).
> >
> >
> > What is the purpose ? to ease the creation of the endpoints without
> having
> > to retype all the parameters ?
> >
> > I'm still not sure about all this stuff.   I'm nearly thinking that we
> would
> > not need all that if we have a good
> > design tool, where you could see all endpoints, create new service units
> > easily, wire them, etc...
> >
> > Cheers,
> > Guillaume Nodet
> >
> > Thank you,
> >> Doug
> >>
> >>
> >
>
>
>


-- 
Cheers,
Guillaume Nodet

Re: Dynamic deployment / installation of components

Posted by Doug Fischer <dg...@dfischer.com>.
Guillaume,

Thank you for your response.

What I need to do is allow a user, through JMX, to create binding components
on the fly.  I have been working on this Socket (Mina) component because I
have about, right now anyway, about 10 different sensors that I need to
communicate with.  One of these sensors is a GPS unit so when I connect to
it through the BC it just starts posting data to the bus.  It is possible
that I could need to connect to a number of different GPS units, all with
different ip addresses, ports, and a unique identifier, but they are all
processes the same way.  What I would like to be able to do is something
like duplicate, or install another BC with different parameters, through
JMX.  I know I can just deploy another SA with different parameters but the
requirement is to allow the users to do this through a JMX console.  This is
the reason that I asked the initial questions.

Thank you again,
Doug


On 5/24/06 3:13 AM, "Guillaume Nodet" <gn...@gmail.com> wrote:

> Hi Doug,
> 
> On 5/23/06, Doug Fischer <dg...@dfischer.com> wrote:
>> 
>> 
>> Question 1:
>> 
>> Would it be possible to to dynamically configure things like the
>> locationURI, service, endpoint, targetService, targetEndpoint, etc...
>> Through JMX on an HTTP endpoint? (I don¹t think this can be done right
>> now,
>> I am just wondering if this is something that could potentially be
>> done)  I
>> guess this data would then need to be persisted somewhere so that if the
>> system is restarted, the same values are still set.
> 
> 
> For provider endpoints, you can already create endpoints on the fly (short
> lived) using
> EPR resolution and URI.  See http://servicemix.goopen.org/site/uris.html
> 
> For binding components, I was thinking about creating a management JBI
> endpoint
> which would process requests on proxy endpoints (mainly consumers).  This
> would
> enable SEs to ask for proxy endpoint creation when a SU is deployed.
> For example you would be able to specify when deploying a POJO on
> servicemix-jsr181,
> or a BPEL process, to ask bindings components to create proxy endpoints for
> these.
> This could also work for provider endpoints.
> 
> We could also implement a JMX mbean on top of this jbi management endpoint,
> but I would
> rather have a method that receive all the parameters needed to create the
> endpoint, instead of
> having to modify the endpoint after it has been created (which is more
> complex to handle).
> Would that suit your needs ?
> 
> 
> Question 2:
>> 
>> Would it be possible to create JMX operation that would deploy a duplicate
>> component, with a temporary service name to avoid collisions. (This is of
>> course, if the answer to question 1 was yes since the component would then
>> need to be configured).
> 
> 
> What is the purpose ? to ease the creation of the endpoints without having
> to retype all the parameters ?
> 
> I'm still not sure about all this stuff.   I'm nearly thinking that we would
> not need all that if we have a good
> design tool, where you could see all endpoints, create new service units
> easily, wire them, etc...
> 
> Cheers,
> Guillaume Nodet
> 
> Thank you,
>> Doug
>> 
>> 
> 



Re: Dynamic deployment / installation of components

Posted by Guillaume Nodet <gn...@gmail.com>.
Hi Doug,

On 5/23/06, Doug Fischer <dg...@dfischer.com> wrote:
>
>
> Question 1:
>
> Would it be possible to to dynamically configure things like the
> locationURI, service, endpoint, targetService, targetEndpoint, etc...
> Through JMX on an HTTP endpoint? (I don¹t think this can be done right
> now,
> I am just wondering if this is something that could potentially be
> done)  I
> guess this data would then need to be persisted somewhere so that if the
> system is restarted, the same values are still set.


For provider endpoints, you can already create endpoints on the fly (short
lived) using
EPR resolution and URI.  See http://servicemix.goopen.org/site/uris.html

For binding components, I was thinking about creating a management JBI
endpoint
which would process requests on proxy endpoints (mainly consumers).  This
would
enable SEs to ask for proxy endpoint creation when a SU is deployed.
For example you would be able to specify when deploying a POJO on
servicemix-jsr181,
or a BPEL process, to ask bindings components to create proxy endpoints for
these.
This could also work for provider endpoints.

We could also implement a JMX mbean on top of this jbi management endpoint,
but I would
rather have a method that receive all the parameters needed to create the
endpoint, instead of
having to modify the endpoint after it has been created (which is more
complex to handle).
Would that suit your needs ?


Question 2:
>
> Would it be possible to create JMX operation that would deploy a duplicate
> component, with a temporary service name to avoid collisions. (This is of
> course, if the answer to question 1 was yes since the component would then
> need to be configured).


What is the purpose ? to ease the creation of the endpoints without having
to retype all the parameters ?

I'm still not sure about all this stuff.   I'm nearly thinking that we would
not need all that if we have a good
design tool, where you could see all endpoints, create new service units
easily, wire them, etc...

Cheers,
Guillaume Nodet

Thank you,
> Doug
>
>


-- 
Cheers,
Guillaume Nodet