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] > >