Types of Web Server Applications
Whether you use WebBroker, Web Services or DataSnap, you can create four standard types of web server applications.
Tip: DataSnap applications do not support CGI.
Stand-alone VCL application
A stand-alone VCL SOAP application is a web server that displays a VCL form. It supports HTTP using an Indy HTTP server component.
Stand-alone console application
A stand-alone console SOAP application is a web server that has a text-only user interface. It supports HTTP using an Indy HTTP server component.
An ISAPI Web server application is a DLL that is loaded by the Web server. Client request information is passed to the DLL as a structure and evaluated by the ISAPI application, which creates appropriate request and response objects. Each request message is automatically handled in a separate execution thread.
A CGI stand-alone Web server application is a console application that receives client request information on standard input and passes the results back to the server on standard output. This data is evaluated by the CGI application, which creates appropriate request and response objects. Each request message is handled by a separate instance of the application.
Converting Web server application target types
One powerful feature of WebBroker is that it offered several different target server types. The IDE allows you to easily convert from one target type to another.
To convert your Web Broker application target type
- Right-click the Web module and choose Add To Repository.
- In the Add To Repository dialog box, give your Web module a title, text description, Repository page (probably Data Modules), author name, and icon.
- Choose OK to save your Web module as a template.
- From the main menu, choose File > New and select Web Server Application. In the New Web Server Application dialog box, choose the appropriate target type.
- Delete the automatically generated Web module.
- From the main menu, choose File > New and select the template you saved in step 3. This will be on the page you specified in step 2.