axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nikola Tankovć <nikola.tanko...@gmail.com>
Subject Re: GSOC: Axis2/C CGI
Date Fri, 16 May 2008 09:21:13 GMT
OK +1 from me too, later after GSOC we can go to FCGI.

Nandika Jayawardana wrote:
> +1 for starting with CGI.
>
> Regards
> Nandika
>
> On Thu, May 15, 2008 at 10:53 PM, Samisa Abeysinghe <samisa@wso2.com> wrote:
>   
>> IMHO, if we can only have CGI to start with within the GSOC time frame, that
>> would be quite an achievement.
>> You can do the FCGI stuff after GSOC ;) That is the whole point of GSOC,
>> make you a long time contributor :)
>>
>> On the logging thing, yes it does not make sense at all to write multiple
>> logs. So till we figure that out, may be we can go ahead without logging.
>> Another alternative is to try and see if we can plug the log to httpd log,
>> and let httpd manage the stuff.
>>
>> Thanks,
>> Samisa...
>>
>> Nikola Tankovć wrote:
>>     
>>> Yes FCGI is far more better. I will first try to implement CGI as fast as
>>> possible, probably there will be time left for FCGI, but FCGI as I read is
>>> rather complicated and will take much more time.
>>> Only problem is with log files in CGI, it a little stupid to make a new
>>> file for every process, I'd say very stupid, who would make any sense in
>>> that bunch of files, so waiting for the other process to close file, will
>>> also slow down CGI impl. as well.
>>>
>>> Supun Kamburugamuva wrote:
>>>       
>>>> 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 <samisa@wso2.com
>>>> <mailto:samisa@wso2.com>> 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" <jayawark@gmail.com
>>>>        <mailto:jayawark@gmail.com>> wrote on 05/14/2008 12:01:27
AM:
>>>>
>>>>                    On Tue, May 13, 2008 at 11:47 PM, Samisa Abeysinghe
>>>>            <samisa@wso2.com <mailto:samisa@wso2.com>>       
  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'
>>>>
>>>>
>>>>
>>>>                    <nikola.tankovic@gmail.com
>>>>                    <mailto: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
>>>>                            <mailto:axis-c-dev-unsubscribe@ws.apache.org>
>>>>                            For additional commands, e-mail:
>>>>                            axis-c-dev-help@ws.apache.org
>>>>                            <mailto:axis-c-dev-help@ws.apache.org>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>    ---------------------------------------------------------------------
>>>>                                To unsubscribe, e-mail:
>>>>                        axis-c-dev-unsubscribe@ws.apache.org
>>>>                        <mailto:axis-c-dev-unsubscribe@ws.apache.org>
>>>>                        For additional commands, e-mail:
>>>>                        axis-c-dev-help@ws.apache.org
>>>>                        <mailto:axis-c-dev-help@ws.apache.org>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>  ------------------------------------------------------------------------
>>>>
>>>>                    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:
>>>>                axis-c-dev-unsubscribe@ws.apache.org
>>>>                <mailto:axis-c-dev-unsubscribe@ws.apache.org>
>>>>                For additional commands, e-mail:
>>>>                axis-c-dev-help@ws.apache.org
>>>>                <mailto:axis-c-dev-help@ws.apache.org>
>>>>
>>>>
>>>>
>>>>            --             http://nandikajayawardana.blogspot.com/
>>>>            WSO2 Inc: http://www.wso2.com
>>>>
>>>>
>>>>  ---------------------------------------------------------------------
>>>>            To unsubscribe, e-mail:
>>>>            axis-c-dev-unsubscribe@ws.apache.org
>>>>            <mailto:axis-c-dev-unsubscribe@ws.apache.org>
>>>>            For additional commands, e-mail:
>>>>            axis-c-dev-help@ws.apache.org
>>>>            <mailto:axis-c-dev-help@ws.apache.org>
>>>>
>>>>
>>>>
>>>>
>>>>  ---------------------------------------------------------------------
>>>>        To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
>>>>        <mailto:axis-c-dev-unsubscribe@ws.apache.org>
>>>>        For additional commands, e-mail: axis-c-dev-help@ws.apache.org
>>>>        <mailto:axis-c-dev-help@ws.apache.org>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>>
>>>>        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: axis-c-dev-unsubscribe@ws.apache.org
>>>>    <mailto:axis-c-dev-unsubscribe@ws.apache.org>
>>>>    For additional commands, e-mail: axis-c-dev-help@ws.apache.org
>>>>    <mailto: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
>>> ------------------------------------------------------------------------
>>>
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG. Version: 8.0.100 / Virus Database: 269.23.16/1434 -
>>> Release Date: 5/15/2008 7:24 AM
>>>
>>>       
>> --
>> Samisa Abeysinghe Director, Engineering; WSO2 Inc.
>>
>> http://www.wso2.com/ - "The Open Source SOA Company"
>>
>>
>> ---------------------------------------------------------------------
>> 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


Mime
View raw message