Commit | Line | Data |
4536f655 |
1 | What Can I Do With Stem? |
2 | |
3 | You should probably ask, "What can't I do with Stem?" :-). Stem is not |
4 | bound by any narrow niche definition since it is a general purpose |
5 | networking toolkit. As such it can be the backbone of almost any |
6 | networked application. On the other hand Stem is designed with standard |
7 | modules that are aimed at specific application niches. Some Stem users |
8 | want a a way to accelerate network application development and others |
9 | want a simple solution to common problems. Stem can satisfy the |
10 | differing needs of both groups. |
11 | |
12 | What Are the Top Stem applications? |
13 | |
14 | The most commonly requested applications of Stem are log management, |
15 | file distribution, monitoring and remote command execution. For more on |
16 | Stem applications see the <A href="/app_niches.html">niches</A> page. |
17 | |
18 | Why Should I Use Stem? |
19 | |
20 | You should use Stem if you are tired of reinventing the wheel for each |
21 | network application you build. Or if you don't want to be forced to rely |
22 | on a commercial monolithic network tool that everyone hates to use. Or |
23 | if you want to dramatically reduce the development and maintenance costs |
24 | of developing your new network applications. Or if you just want to use |
25 | a well designed network system that will make your profession much more |
26 | enjoyable. Please contact us if you want more reasons. |
27 | |
28 | Who Is Using Stem? |
29 | |
30 | Currently we are developing a Stem based log management system for a |
31 | Fortune 500 company. It will watch growing log files on hundreds of |
32 | systems and transfer the new log records to a central system for |
33 | analysis and archiving. This complex system will use standard Stem |
34 | modules and require only a single customized tool that creates the |
35 | configuration files. Another Internet content provider company we are |
36 | talking to is interested in a similar system. We don't know of any |
37 | products that can manage logs over a network as simply and elegantly as |
38 | Stem. |
39 | |
40 | What Existing Products Does Stem Improve On? |
41 | |
42 | Stem is not a direct improvement of any existing product. Rather it is a |
43 | coherent integration of a range of network services as used by many |
44 | products. Stem did not invent logging, monitoring, process management, |
45 | file transfers, etc, but it has put them together under a simple |
46 | architecture that meets the needs of the technical market. With Stem, |
47 | solving many common network problems doesn't require any coding at all, |
48 | just simple edits to text-based configuration files. Even when coding |
49 | *is* required, Stem allows you to develop and maintain complex network |
50 | applications much more cheaply and reliably than existing application |
51 | frameworks. |
52 | |
53 | Do I Need To Get Rid Of [Commercial App] To Use Stem? |
54 | |
55 | No, Stem can run in parallel with all of your existing applications. As long |
56 | as Stem can have access to its own TCP ports (which can be configured to |
57 | any available ones), it has no need to conflict with any of your current |
58 | systems. |
59 | |
60 | What is a Stem Hub? |
61 | |
62 | A Stem Hub is a single Perl process running Stem. It can function as a |
63 | complete stand-alone application or be connected to other Stem Hubs in a |
64 | networked application. Stem Hubs contain the Stem core system and Stem |
65 | Cells that have been created by configuration files. For more on this |
66 | read the <A href="/tech_notes/arch_notes.html">arch_notes</A> document |
67 | or find it in the Design directory of the tarball. |
68 | |
69 | What is a Stem Cell? |
70 | |
71 | A Stem Cell is a Perl object which has to have 3 major characteristics: |
72 | |
73 | 1. It has been registered as a Cell in this Hub with a cell name |
74 | and an optional target name. |
75 | |
76 | 2. It has to have a set of methods designated to handle messages |
77 | directed at the Cell. |
78 | |
79 | 3. It has to be able to send messages to other cells. |
80 | |
81 | What is a Stem Message? |
82 | |
83 | Stem Messages carry commands and data between Stem Cells. They are |
84 | addressed with a Hub/Cell/Target triplet. Messages can be any one of a |
85 | wide range of types including command, data, log, stderr etc. They can |
86 | carry any form of data to a maximum (to be designated later) size. See |
87 | <A /tech_notes/message_notes.html">message_notes</A> document for more. |
88 | |
89 | How Hard Is Stem To Install/Configure? |
90 | |
91 | Stem is very easy to install. It only requires Perl 5.005_03 and one |
92 | code module Event.pm that you can get from CPAN. The rest of Stem is |
93 | comprised of pure Perl modules which need no special installation |
94 | handling. Read the INSTALL document for more on how to |
95 | install it. The quickstart instruction is simply to cd to the stem |
96 | download directory and say |
97 | ./install.pl |
98 | |
99 | Much more on this can be found in the <A |
100 | href="/tech_notes/design_notes.html">config_notes</A> document or in |
101 | the Design directory of the tarball. |
102 | |
103 | Can Stem Do Guaranteed Messaging? |
104 | |
105 | *Stem's core design does not directly support guaranteed message |
106 | delivery. It was designed this way, as the technical market that Stem |
107 | targets does not have that strong a requirement for this feature as the |
108 | commercial/e-business markets have. Future releases of Stem will support |
109 | guaranteed delivery via a separate module that is now under development. |
110 | |
111 | Does Stem Use XML? |
112 | |
113 | Stem's messages are designed to not be specific to any format or |
114 | encoding. They can carry data structure in any format the designer wants |
115 | including XML. In fact, the message itself can also be in any format as |
116 | long as it is properly identified and a module to decode that format is |
117 | installed. Currently only the Stem internal message format is used but |
118 | as demand arises, other message formats, including XML will be |
119 | supported. One longer term goal is that message formats from many other |
120 | systems will be supported by gateway modules which will translate |
121 | between Stem and external messages. |
122 | |
123 | What Kind Of Security Does Stem Use? |
124 | |
125 | Stem doesn't directly do authentication and secure transmissions. Rather |
126 | it relies upon industry standard utilities such as SSL, ssh and stunnel to |
127 | provide secure socket connections between Stem hubs (processes). |
128 | |
129 | Can Stem Do Central Configuration Management? |
130 | |
131 | The log management project under development has this requirement. The |
132 | lists of log files on each system that need to be monitored are |
133 | maintained on the central system. Configuration files are auto-generated |
134 | from those lists and distributed to all the Stem hubs in this network |
135 | application. The same mechanism can be used to distribute configuration |
136 | files for other applications and Stem can also notify them to reload the |
137 | new files. |
138 | |
139 | Can Stem Handle My Content Distribution? |
140 | |
141 | Distributing content is similar to distributing configuration files and |
142 | will use the same mechanisms. What content is distributed to where can |
143 | all be easily controlled by Stem configurations without any additional |
144 | programming. |
145 | |
146 | Can I Extend Stem Myself To Suit Our Needs? |
147 | |
148 | Stem is designed to be modified and extended very easily. You can copy |
149 | existing modules or use design ideas from them to created new Cells for |
150 | your own needs. The high level Cell API hides the complexities of |
151 | network communication and message transfer, leaving you free to focus on |
152 | the specific design and coding of your custom Cells. |
153 | |
154 | Should I Modify Stem On My Own Or Use Stem's Development Team? |
155 | |
156 | If your requirements are simple, and you have skilled staff to do the |
157 | work, there's no reason not to develop and maintain your own Stem-based |
158 | systems. If your applications are complex applications, your staff new |
159 | to Stem, or your time-frame short, you will probably find it more |
160 | cost-effective to let Stem Systems' expert team develop your system for |
161 | you. |
162 | |
163 | Otherwise Stem Systems can assist you in the design, development and |
164 | configuration of your application. How much assistance can be provided |
165 | depends on the customer subscription deal and any other contracts. If |
166 | you do not have a subscription, our support will be limited to bug fixes |
167 | and email and you will have to maintain your modified code on your own. |
168 | |
169 | Which Operating Systems Support Stem? |
170 | |
171 | Stem runs without any modification under any Unix flavor (Solaris, |
172 | Linux, FreeBSD, etc.) Support for WinX is in the planning stage and is |
173 | expected to be released in Q3 2002. |
174 | |
175 | How Can I Contribute to Stem? |
176 | |
177 | What Does Stem's Open Source License Allow Me To do? |
178 | |
179 | Is Stem Open Source? |
180 | |
181 | We are happy to announce that as of version 0.06, Stem is now under |
182 | the GPL. |
183 | |
184 | What Is Stem Systems? |
185 | |
186 | Stem Systems is the company which is developing and maintaining Stem. It |
187 | owns the copyright to the Stem code base and is releasing it to its |
188 | customers and the open source community. Stem Systems also sells support |
189 | subscriptions to the Stem user community. |
190 | |
191 | What Is the Business Model Of Stem Systems? |
192 | |
193 | Stem itself is free to use. Users can buy support subscriptions from |
194 | Stem Systems which include Stem configuration and development |
195 | assistance. Subscribers get earlier access to releases of new Stem |
196 | versions and modules and direct support from Stem's development team. |
197 | |
198 | How Much Does a Stem Subscription Cost? |
199 | |
200 | The base price is an annual fee of $300 for each computer system (box) |
201 | which is running Stem. Volume, site and educational discounts are |
202 | available. |
203 | |
204 | Who Are Your Technical Advisors? |
205 | |
206 | |
207 | |
208 | What Are Your Resources? |
209 | |
210 | How Can I Learn Stem? |
211 | |
212 | The best way right now is to start with the technical notes and get a |
213 | basic understanding of Stem, its architecture and its nomenclature. Then |
214 | run the various demo scripts and read their configuration files. |
215 | Developers will go next to the Cell documentation which describes each |
216 | Cell's function, their attributes and how to configure it. There are no |
217 | training materials now, but we are discussing the creation of classes |
218 | with a training firm for when the demand arises. |
219 | |
220 | What Is the Future Of Stem? |
221 | |
222 | Stem will constantly be growing it Cell library and adding support for |
223 | new features. Whenever any repeated networked operation can be |
224 | identified, Stem will create a Stem Cell to perform it. Then Stem's |
225 | users can easily integrate that new Cell without programming or needing |
226 | to reinvent that wheel. |
227 | |
228 | Who Created Stem? |
229 | |
230 | Stem was created by Uri Guttman, and is the culmination of his long |
231 | career in systems architecture and development. He has combined a |
232 | quarter century of experience designing and implementing event-driven |
233 | systems with his love of Perl to produce a powerful, yet easy-to-use |
234 | framework for network applications. For more on Stem's creator, see the |
235 | Stem Team biographies. |
236 | |
237 | How (and why) was Stem conceived? |
238 | |
239 | Stem was created when its designer was contracted to a network |
240 | application development group where they were constantly putting out |
241 | fires and creating a massive ad hoc system. It was clear that they |
242 | needed a framework to give structure to their network application |
243 | design. Stem was the result. |
244 | |
245 | What Does Stem Stand For? |
246 | |
247 | Stem is not an acronym or an abbreviation, rather it is named from the |
248 | real word 'stem' which has several dictionary meanings that map well to Stem. |
249 | |
250 | v. tr. |
251 | 1. To stop or hold back by or as if by damming; as in "stem the tide" |
252 | |
253 | n. |
254 | 1. A slender stalk supporting or connecting another plant part, such |
255 | as a leaf or flower. |
256 | 2. A connecting or supporting part. |
257 | |
258 | n. |
259 | 1. A line of ancestry : STOCK; especially : a fundamental line from |
260 | which others have arisen. as in "stem cell" in biology. |