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]> 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]> wrote on 05/14/2008 12:01:27
>> AM:
>>
>>
>>
>>> On Tue, May 13, 2008 at 11:47 PM, Samisa Abeysinghe <[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]> 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]
>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>> ---------------------------------------------------------------------
>>
>>
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> For additional commands, e-mail: [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]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>>
>>>>
>>>
>>> --
>>> http://nandikajayawardana.blogspot.com/
>>> WSO2 Inc: http://www.wso2.com
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [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]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to