Commit | Line | Data |
4536f655 |
1 | Stem Architecture Notes |
2 | |
3 | Stem is a network application development toolkit and a suite of network |
4 | applications. Its goal is to transform common network tasks from |
5 | programming to configuration and to make solving difficult network tasks |
6 | much easier. |
7 | |
8 | A running Stem system on a network consists of one or more |
9 | interconnected Stem daemons which are called Hubs. Each Hub contains a |
10 | collection of modules and objects which are called Cells. Stem Cells are |
11 | capable of sending and receiving messages to any other Cell in the Stem |
12 | system. Modules and Cells are loaded or created in a Hub by using |
13 | configuration files. Configurations can be loaded and sent to any |
14 | connected Hub where they will be executed. |
15 | |
16 | Stem's core set of modules provide all of the common operations needed |
17 | including message passing, interprocess communication, asynchronous |
18 | buffered I/O, socket connections and timers. Other modules which can be |
19 | loaded and configured, perform such tasks as process creation and |
20 | management, log file management, gateways, protocol support, message |
21 | switching, etc... |
22 | |
23 | Configuring Stem Cells has been designed for simplicity and |
24 | flexibilty. All Cells use a common style of attribute/value pair |
25 | arguments with well chosen default values which make common situations |
26 | easier to configure. Many example configuration files come with Stem as |
27 | well as demonstration scripts which run working applications such as |
28 | inetd emulation, log file transferring and chat servers. |
29 | |
30 | Stem Messages are how Cells communicate with each other. Their names |
31 | are an ordered triplet: Hub, Cell and Target. Each Cell registers itself with |
32 | a unique name and optional Target name in its Hub. All Hub names in a |
33 | Stem system must be unique too, which makes the address triplet |
34 | sufficient for any Message to be directed to any Cell. |
35 | |
36 | For more detailed information on the architecture and design of Stem, |
37 | read the other technical notes. |