axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nandika Jayawardana" <jayaw...@gmail.com>
Subject Re: GSOC: Axis2/C CGI
Date Tue, 13 May 2008 17:52:41 GMT
I think FastCGI is the best option since it is widely used and solves
all the issues that we will get with CGI like performance. However if
SCGI is a widely used protocol I am ok with it.
How is the adoption of SCGI and what are the servers that support it ?.

       What I was thinking was to let you implement it in CGI since
CGI part is very simple and in the process you can learn the axis2
side of the work and then replace CGI part with FastCGI.

Regards
Nandika


On Mon, May 12, 2008 at 9:50 PM, Nikola Tankovć
<nikola.tankovic@gmail.com> wrote:
> Hy all,
>
>   Reading your performance article on http://wso2.org/library/3532 (nice
> results by the way) I think that building an CGI exec could cause some
> amount of bottleneck (imagine hundreds of CGI parallel processess running
> and starting and stoping 10k processes in second) , I know that the CGI exec
> is going to be very light (just simple input parsing and output forming) ,
> but I think we should agree with Samisa Abeysinghe when he proposed FastCGI
> as this method would keep Axis2/C good results as well solve concurrency
> problem with logging, what I would suggest is SCGI as being much lighter and
> easier to implement protocol similar to FastCGI. If some servers don't have
> (Fast/S)CGI interfaces there are small light CGI execs available to redirect
> input.
>
>   What are your opinions on this?
>
> Nandika Jayawardana wrote:
> >
> >
> >
> > Hi Nikola,
> >
> > In implementing the axis2 CGI app, you need to understand how axis2
> > server side works in the context of a web server deployment. I think
> > going through the source code of axis2 apache module will help you
> > understand what needs to be done.  You can find the source for it at
> > "axis2c\src\core\transport\http\server\apache2". There are a set of
> > functions that works as the axis2's http server side API. These
> > functions are defined in "axis2_http_transport_utils.h" header. The
> > server modules work by extracting the http headers and content using
> > the Web Server's API and using these functions to invoke axis2.
> >
> > So in the case of CGI, extracting http headers is very simple since
> > they are available as environment variables. Also the http content is
> > available in stdin.
> >
> > Following are the things you need to figure out.
> >
> > 1. Defining the endpoint urls for axis2 services the are deployed under
> CGI.
> >  { In case of apache module, the service endpoint url for a service
> > would be http://<domain>:port/axis2/services/<service name>. Apache
> > module is configured such that all requests that have
> > http://<domain>:port/axis2 will be directed to mod_axis2 module. In
> > case of CGI, I am not sure whether web servers allow such mapping. In
> > that case one option would be to have the endpoint url something like
> > http://<domain>:port/cgi-bin/axis2_cgi.exe/services/<service name> }
> >
> > 2. Solving the log file problem in case of concurrent requests.
> >
> > 3. Specifing the axis2 configurations to cgi executable.
> > These configurations include axis2 repository location , log file
> > location etc. In case of Apache module, these are defined in the
> > configuration file.
> >
> > I guess, once you figure out these, you can reuse most of the code in
> > axis2 apache module for your implementation as well.
> >
> > Regards
> > Nandika
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-c-dev-help@ws.apache.org
> >
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-dev-help@ws.apache.org
>
>



-- 
http://nandikajayawardana.blogspot.com/
WSO2 Inc: http://www.wso2.com
Mime
View raw message