Appweb supports several programming paradigms or styles. These paradigms are a blend of the
following programming models:
-
Programming Language
-
Threading Model
-
Event processing Model
Appweb supports the following programming paradigms:
-
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
We have strived to support the major programming paradigms for C/C++. If your programming
paradigm is not easily supported, please let us know at dev@mbedthis.com.
Appweb
ModulesAppweb modules execute inside the Appweb server. As such, they have a few
constraints on how such modules must operate:
-
Modules must use some C++ code to interface with the Appweb loadable module
mechanism.
-
The Appweb server may run multithreaded and so Appweb modules must be thread-safe
and must be capable of running multithreaded See NOTE below.
NOTE: Despite the fact that Appweb can run multithreaded, most Appweb modules do not have
to worry about multithreaded issues and locking. Appweb will only ever use a single thread to
service a request and so most Appweb module code does not need to synchronize access to
per-request data. However, module code must be reentrant, as many requests may be running at a
single time and the module code must support this. Furthermore, if your module has data that is
shared across requests, you must use thread synchronization primitives to ensure your data does
not become corrupted.
Using the Appweb
LibraryThe Appweb HTTP library has several facets that permit it to be used in the widest
variety of applications. It provides both C and C++ programming interfaces that are usable by
single-threaded or multithreaded programs. You also have a choice of event processing
mechanisms.
|