Before to proceed with the main installation of Duda I/O, we need to introduce what are the main components that conforms the stack. All of them comes integrated and work in a cooperative way:
- Duda Client Manager (DudaC)
- Monkey HTTP Server
- Duda Plugin
Duda Client Manager or DudaC
Our main interest is to reduce complexity and provide a straightforward mechanism to start using Duda I/O right away. Duda Client Manager or DudaC it's the main tool that put all pieces together from scratch. It main responsibilities are:
- Build a Duda I/O runtime stack from scratch for development or production purposes.
- Provide different build options for general profiling or services trace.
- Make custom setup over the running HTTP stack.
- Manage services: start & stop.
Note: DudaC is written in Python2
Monkey HTTP Server
Monkey is the principal HTTP runtime of Duda I/O, it exposes a flexible event-driven core that provides also an API to extend it behavior through Plugins.
For more details about Monkey please refer to it official documentation here:
Duda it self is a Monkey plugin. It extend the HTTP behavior exposing a friendly C API which provides several features and a layer to hook Web Services. A summary of Duda Plugin capabilities:
- Extend HTTP core configuration at Virtual Host level.
- Wrap Monkey API and expose it in a pseudo-object mode.
- Architecture to implement packages or third party features loaded on runtime by services.
- Architecture to hook Web Services.
The plugin is very powerful on terms of features. It design keeps the Monkey principles: Fast, Lighweight & Secure.