Thursday, 5 April 2012

CGI AND ISAPI FOR COGNOS10


Hi
CGI Common gateway interface and ISAPI - internet server application program interface are both ways in which a web server interacts with user .Like when you log in the CGI takes your info and does the processing .Java servlets are also similar .
CGI – opens up one process for each user so lot of process making it slower .Thats why they came up with ISAPI which has single process so faster .
The Internet Server Application Programming Interface (ISAPI) model was developed as a faster alternative to the Common Gateway Interface (CGI). ISAPI provides a number of advantages over CGI, including lower overhead, faster loading, and better scalability. The chief difference between the CGI and ISAPI programming models is how processing is handled.With CGI, the system creates a unique process for every request. Each time an HTTP server receives a request, it initiates a new process. Because the operating system must maintain all these processes, CGI requires many of resources. This inherent limitation makes it difficult to develop responsive Internet applications with CGI.With ISAPI, requests do not require a separate process. Threads are used to isolate and synchronize work items, resulting in a more efficient use of system resources. For more information, see ISAPI and Web Application Architecture.Multithreaded applications deliver their potent power by running many threads concurrently within a single program. From a logical point of view, multithreading means multiple lines of a single program can be executed at the same time, however, it is not the same as starting a program twice and saying that there are multiple lines of a program being executed at the same time. In this case, the operating system is treating the programs as two separate and distinct processes. Under Unix, forking a process creates a child process with a different address space for both code and data. However, fork() creates a lot of overhead for the operating system, making it a very CPU-intensive operation. By starting a thread instead, an efficient path of execution is created while still sharing the original data area from the parent. The idea of sharing the data area is very beneficial, but brings up some areas of concern that we’ll discuss later

I got the below screenshot from How stuff work > CGI .Below is the link .Please go through if you require additional information on working of CGI
http://computer.howstuffworks.com/cgi.htm

No comments:

Post a Comment