AppWeb can be run either as a stand-alone HTTP service or it can be embedded into an existing application by linking with the AppWeb library. When embedding the AppWeb HTTP server in an application, all the features of the stand alone AppWeb server are available. As required, the SSL, Authentication, Embedded Server Pages, Embedded Gateway Interface, CGI and other dynamic modules will be loaded into the application.
To embed the AppWeb HTTP server or client in an application is easy and requires from 10 lines of code to integrate and activate. Because AppWeb is configured primarily by using an Apache style ASCII configuration file, initialization by code is not necessary. This also eases administration as the server configuration may be modified in the field if required.
To make AppWeb easy to embed in existing applications, it supports a wide variety of Programming Paradigms. This includes support for C and C++, single and multithreaded programs and a variety of different event mechanisms.
Threading ModelThe AppWeb HTTP server can run either single threaded or multithreaded and the threading mode can be selected at run-time by your application. Further, you can set the number of threads to be used by AppWeb depending on the anticipated scale of your application.
AppWeb can fully expose its event loop if needed so that it can be integrated with existing application event mechanisms. It supports the following event processing mechanisms:
- POSIX select
- Service thread
- Windows messages
AppWeb supports several programming paradigms or styles. These paradigms are a blend of the following programming models:
AppWeb supports the following programming paradigms:
- Programming Language
- Threading Model
- Event processing Model
- C Language programs
- C++ Language programs
- Single-threaded programs
- Multithreaded programs
- Programs using the POSIX select event wait mechanism
- Programs using a Windows messages event wait mechanism
- Programs using polling to check for events