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