You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Gayan Mudalige <mu...@cse.mrt.ac.lk> on 2004/10/19 08:57:36 UTC
Hot deploying axisC++
I'm working on a project to hot deploy axisC++(1.3 beta).
I need information on how apache looks up the available services, and how we can add a new service to the runtime environment(like a specific register) so that it won't be necessary to restart the server?
Re: Hot deploying axisC++
Posted by Samisa Abeysinghe <sa...@yahoo.com>.
--- Sanjiva Weerawarana <sa...@opensource.lk> wrote:
> Wellllll .. why is it not possible to do it with the current
> design? It seems to me that all we need is one of the following:
Because we have suppor for only *one* server.wsdd file and we *do not* have a concept of
deloy.wsdd. (deploy.wsdd is only supported by Axis Java)
> (1) have the server periodically check the server.wsdd file and
> see whether it has been changed, or
This needs desing on how to do it - we only read the server.wsdd at startup now.
> (2) set up a parameter in the server.wsdd file to indicate a dir
> where we look for subdirs each containing a deploy.wsdd and
> any needed dlls (or .lib.so files) and then have the server
> periodically poll that master directory for changes, or
As I said, we do not have a concept of individual deploy.wsdd. We have to draw up a mchanism of
supporting external wsdds and load them into the server.
> (3) introduce a remotely invokeable API (via SOAP, of course)
> to ask introduce the server to a new deploy.wsdd and maybe
> the location of where to find the necessary lib files (or
> even send the libs via SOAP .. subject to all the severe
> security risks that implies ;-))
>
> It seems to me that that can work with the current design?
With current desing, we do the loading of the server.wsdd file in Axis::initialize() and this is
one off. In my uncerstanding, to do the loading of new services periodically we need to load the
wsdd docs periodically. In the current engine design, there is no room for such a dynamic process
- hence may be we need to run a seperate thread - in which case we have to bother about syncing
the service map object that contains runtime info on services deployed - this, to me, require
serious thinking and that is why I was saying that we got to desing around it.
Samisa...
>
> Sanjiva.
>
> ----- Original Message -----
> From: "Samisa Abeysinghe" <sa...@yahoo.com>
> To: "Apache AXIS C User List" <ax...@ws.apache.org>
> Sent: Wednesday, October 20, 2004 7:10 AM
> Subject: Re: Hot deploying axisC++
>
>
> > In short, it is not possible to do hot deployment with current design.
> > However, you could design a new deploy mechanism based on current
> server.wsdd mechanism.
> > e.g. let the server.wsdd specify a location/folder where you could drop
> new deploy files in, and
> > let the server time to time read those and load if there are any new ones.
> As I said - you need a
> > new design around this.
> >
> > Samisa...
> >
> > --- damitha@opensource.lk wrote:
> >
> > > > I'm working on a project to hot deploy axisC++(1.3 beta).
> > > You mean to hot deploy a new service on Axis c++?
> > >
> > > > I need information on how apache looks up the available services, and
> > >
> > > You mean how axis c++ server engine looks up the availbale services?.
> > > Actually the information of your new service should be inserted in
> > > server.wsdd file. According to the current deployment procedure you then
> > > need to restart apache. What happens is that When apache load the
> axisc++
> > > module, axisc++ engine is initialized. It will have a memory
> > > representation of the server.wsdd loaded at that time. When a request
> come
> > > that information of the service is utilized to locate and load the
> > > service. So if any change is done to server.wsdd to allow a new service,
> > > apache need to be restarted.
> > >
> > > how
> > > > we can add a new service to the runtime environment(like a specific
> > > > register) so that it won't be necessary to restart the server?
> > >
> > > It is not possible to deploy a new service without restarting apache, as
> > > explained before. Hot deployment means once you put service library and
> > > descripters in place engine should poll and deploy it automatically,
> > > right?. So in that case we need to first make engine deploy a service
> > > without restarting apache.
> > >
> > > thanks
> > > damitha
> > >
> > > >
> > >
> > >
> >
> >
> >
> >
> > _______________________________
> > Do you Yahoo!?
> > Declare Yourself - Register online to vote today!
> > http://vote.yahoo.com
> >
>
>
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com
Re: Hot deploying axisC++
Posted by Sanjiva Weerawarana <sa...@opensource.lk>.
Wellllll .. why is it not possible to do it with the current
design? It seems to me that all we need is one of the following:
(1) have the server periodically check the server.wsdd file and
see whether it has been changed, or
(2) set up a parameter in the server.wsdd file to indicate a dir
where we look for subdirs each containing a deploy.wsdd and
any needed dlls (or .lib.so files) and then have the server
periodically poll that master directory for changes, or
(3) introduce a remotely invokeable API (via SOAP, of course)
to ask introduce the server to a new deploy.wsdd and maybe
the location of where to find the necessary lib files (or
even send the libs via SOAP .. subject to all the severe
security risks that implies ;-))
It seems to me that that can work with the current design?
Sanjiva.
----- Original Message -----
From: "Samisa Abeysinghe" <sa...@yahoo.com>
To: "Apache AXIS C User List" <ax...@ws.apache.org>
Sent: Wednesday, October 20, 2004 7:10 AM
Subject: Re: Hot deploying axisC++
> In short, it is not possible to do hot deployment with current design.
> However, you could design a new deploy mechanism based on current
server.wsdd mechanism.
> e.g. let the server.wsdd specify a location/folder where you could drop
new deploy files in, and
> let the server time to time read those and load if there are any new ones.
As I said - you need a
> new design around this.
>
> Samisa...
>
> --- damitha@opensource.lk wrote:
>
> > > I'm working on a project to hot deploy axisC++(1.3 beta).
> > You mean to hot deploy a new service on Axis c++?
> >
> > > I need information on how apache looks up the available services, and
> >
> > You mean how axis c++ server engine looks up the availbale services?.
> > Actually the information of your new service should be inserted in
> > server.wsdd file. According to the current deployment procedure you then
> > need to restart apache. What happens is that When apache load the
axisc++
> > module, axisc++ engine is initialized. It will have a memory
> > representation of the server.wsdd loaded at that time. When a request
come
> > that information of the service is utilized to locate and load the
> > service. So if any change is done to server.wsdd to allow a new service,
> > apache need to be restarted.
> >
> > how
> > > we can add a new service to the runtime environment(like a specific
> > > register) so that it won't be necessary to restart the server?
> >
> > It is not possible to deploy a new service without restarting apache, as
> > explained before. Hot deployment means once you put service library and
> > descripters in place engine should poll and deploy it automatically,
> > right?. So in that case we need to first make engine deploy a service
> > without restarting apache.
> >
> > thanks
> > damitha
> >
> > >
> >
> >
>
>
>
>
> _______________________________
> Do you Yahoo!?
> Declare Yourself - Register online to vote today!
> http://vote.yahoo.com
>
Re: Hot deploying axisC++
Posted by Samisa Abeysinghe <sa...@yahoo.com>.
In short, it is not possible to do hot deployment with current design.
However, you could design a new deploy mechanism based on current server.wsdd mechanism.
e.g. let the server.wsdd specify a location/folder where you could drop new deploy files in, and
let the server time to time read those and load if there are any new ones. As I said - you need a
new design around this.
Samisa...
--- damitha@opensource.lk wrote:
> > I'm working on a project to hot deploy axisC++(1.3 beta).
> You mean to hot deploy a new service on Axis c++?
>
> > I need information on how apache looks up the available services, and
>
> You mean how axis c++ server engine looks up the availbale services?.
> Actually the information of your new service should be inserted in
> server.wsdd file. According to the current deployment procedure you then
> need to restart apache. What happens is that When apache load the axisc++
> module, axisc++ engine is initialized. It will have a memory
> representation of the server.wsdd loaded at that time. When a request come
> that information of the service is utilized to locate and load the
> service. So if any change is done to server.wsdd to allow a new service,
> apache need to be restarted.
>
> how
> > we can add a new service to the runtime environment(like a specific
> > register) so that it won't be necessary to restart the server?
>
> It is not possible to deploy a new service without restarting apache, as
> explained before. Hot deployment means once you put service library and
> descripters in place engine should poll and deploy it automatically,
> right?. So in that case we need to first make engine deploy a service
> without restarting apache.
>
> thanks
> damitha
>
> >
>
>
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com
Re: Hot deploying axisC++
Posted by da...@opensource.lk.
> I'm working on a project to hot deploy axisC++(1.3 beta).
You mean to hot deploy a new service on Axis c++?
> I need information on how apache looks up the available services, and
You mean how axis c++ server engine looks up the availbale services?.
Actually the information of your new service should be inserted in
server.wsdd file. According to the current deployment procedure you then
need to restart apache. What happens is that When apache load the axisc++
module, axisc++ engine is initialized. It will have a memory
representation of the server.wsdd loaded at that time. When a request come
that information of the service is utilized to locate and load the
service. So if any change is done to server.wsdd to allow a new service,
apache need to be restarted.
how
> we can add a new service to the runtime environment(like a specific
> register) so that it won't be necessary to restart the server?
It is not possible to deploy a new service without restarting apache, as
explained before. Hot deployment means once you put service library and
descripters in place engine should poll and deploy it automatically,
right?. So in that case we need to first make engine deploy a service
without restarting apache.
thanks
damitha
>