Hi Nikola,
Do you think that within the given time frame you can implement both
CGI and FCGI? The initial idea of this project is to implement a CGI
application. But it turns out that FCGI is far better than CGI in the
Axis2/C scenario. So it's really great if you can implement both. But
I think it is up to you to decide what is possible.
Regards,
Supun..
On Wed, May 14, 2008 at 11:35 PM, Samisa Abeysinghe <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Nadir Amra wrote:
How about starting with CGI, then extending, if deemed
necessary, to FCGI? I think CGI is a standard, while fast-cgi
is not, so you will get more bang for the buck with CGI. In
addition, there are some implementation of CGI that does not
suffer from the performance hits that is described here.
OK, that sounds reasonable. So lets try CGI first and then move on
to FCGI based on the outcomes.
Samisa...
Nadir Amra
"Nandika Jayawardana" <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote on 05/14/2008 12:01:27 AM:
On Tue, May 13, 2008 at 11:47 PM, Samisa Abeysinghe
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
wrote:
Nandika Jayawardana wrote:
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.
Is it trivial, to replace CGI with FCGI? What about
the design issues,
leveraging FCGI features in our implementation?
Axis2 side of the code should be the same. FCGI
implementation would
require more effort that CGI. Anyway it was just a thought
and I guess
Nikola has not gone into coding yet. So its better to
decide what
protocol to implement take it from there.
-- Nandika
Samisa...
Regards
Nandika
On Mon, May 12, 2008 at 9:50 PM, Nikola Tankovc'
<[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> 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:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
---------------------------------------------------------------------
To unsubscribe, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
------------------------------------------------------------------------
No virus found in this incoming message.
Checked by AVG. Version: 8.0.100 / Virus Database:
269.23.16/1430 -
Release Date: 5/13/2008 7:31 AM
--
Samisa Abeysinghe Director, Engineering; WSO2 Inc.
http://www.wso2.com/ - "The Open Source SOA Company"
---------------------------------------------------------------------
To unsubscribe, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
-- http://nandikajayawardana.blogspot.com/
WSO2 Inc: http://www.wso2.com
---------------------------------------------------------------------
To unsubscribe, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
------------------------------------------------------------------------
No virus found in this incoming message.
Checked by AVG. Version: 8.0.100 / Virus Database:
269.23.16/1430 - Release Date: 5/13/2008 7:31 AM
-- Samisa Abeysinghe Director, Engineering; WSO2 Inc.
http://www.wso2.com/ - "The Open Source SOA Company"
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>