Commit | Line | Data |
4536f655 |
1 | S: About M<Stem> |
2 | |
3 | |
4 | Q: What is M<Stem>? |
5 | |
6 | A: M<Stem> is a general purpose networking toolkit and a suite of ready |
7 | to use network applications. Its goal is to transform common network |
8 | programming to configuration and make uncommon network programming much |
9 | simpler. Some M<Stem> users will use its suite of applications and |
10 | modules and just configure them to perform their needed network |
11 | tasks. Others will create new M<Stem> modules to perform their specific |
12 | tasks and integrate them with M<Stem>'s standard modules using |
13 | configurations. In both cases, M<Stem> will speed up network |
14 | application development, simplify maintenance, and lower lifetime costs. |
15 | |
16 | |
17 | Q: Where can I get M<Stem>? |
18 | A: M<Stem> can now be downloaded by the general public. Go to the |
19 | <A HREF="download.html">download</A> page to get the latest version. |
20 | |
21 | |
22 | Q: What Can I Do With M<Stem>? |
23 | A: M<Stem> is a general purpose networking toolkit. As such, it can |
24 | be the backbone or framework of almost any networked (distributed) |
25 | application you can imagine. M<Stem> is designed with standard modules |
26 | that are aimed at specific application niches. Some M<Stem> users |
27 | want a simple solution to common problems while others need a way to |
28 | accelerate network application development. Via this modular design, |
29 | M<Stem> can satisfy the differing needs of both groups. |
30 | |
31 | |
32 | Q: What Are the Top M<Stem> Applications? |
33 | A: The most commonly requested applications of |
34 | M<Stem> are log management, file distribution, |
35 | monitoring and remote command execution. For more on |
36 | M<Stem> applications, see the <A href="products.html">niches</A> page. |
37 | |
38 | QUOTE< |
39 | Stem Monitoring. \ |
40 | Overloaded Server Appears. \ |
41 | Remediation. \ |
42 | -- U.G. \ |
43 | > |
44 | |
45 | Q: Why Should I Use M<Stem>? |
46 | A: You should use M<Stem> if: |
47 | <UL> |
48 | <LI><P>You are tired of reinventing the wheel for each |
49 | network application you build. M<Stem> provides you with all |
50 | the common services that a network application needs and |
51 | makes them very simple to use.</P></LI> |
52 | |
53 | <LI><P>You don't want to be forced to rely on a commercial |
54 | monolithic network tool that everyone hates to use. M<Stem> is |
55 | low cost and Open Source. You can easily write new modules |
56 | to customize M<Stem> to your needs.</P></LI> |
57 | |
58 | <LI><P>You want to dramatically reduce the development |
59 | and maintenance costs of developing your new |
60 | network applications. M<Stem> tranforms common network |
61 | programming to configuration. Even if you create new M<Stem> |
62 | modules, it is very simple to connect them together with |
63 | M<Stem> configurations. This lowers your development time and |
64 | costs in many ways.</P></LI> |
65 | |
66 | <LI><P>You just want to use a well-designed network system that |
67 | will make your profession much more enjoyable. M<Stem> is |
68 | architected to be easy to use at both the configuration and |
69 | coding levels. Our goal is for all M<Stem> users to enjoy |
70 | working with it and reduce the frustrations and stress of |
71 | network management.</P></LI> |
72 | </UL> |
73 | |
74 | <P>These are just a few of the many reasons why |
75 | M<Stem> should be in place on your network. |
76 | If you have questions on how M<Stem> will benefit |
77 | your individual needs, <A HREF="mailto:faq@stemsystems.com">please contact us</A>. |
78 | |
79 | |
80 | Q: Who Is Using M<Stem>? |
81 | A: A start up firm hired M<Stem Systems> to implement a specialized |
82 | web crawler. M<Stem> will be used as |
83 | the communications backbone for this multiprocessor system and |
84 | it will interconnect and manage all of its components. Some of |
85 | those components include subprocesses doing the page fetches, |
86 | site objects, html page parsers, custom filters, crawl management |
87 | and a database. |
88 | |
89 | QUOTE< |
90 | Divers search limpid pools. \ |
91 | Precious Perl is summer's find, \ |
92 | But Stem is loved more. \ |
93 | -- D.G. \ |
94 | > |
95 | |
96 | Q: How can I be notified about M<Stem> updates? |
97 | A: M<Stem Systems> has a email list dedicated to M<Stem> updates. To |
98 | subscribe, send an empty email to: news-subscribe@stemsystems.com. This |
99 | is a low volume list used for sending important news regarding M<Stem> |
100 | (ie - new releases). |
101 | |
102 | S: M<Stem> Design |
103 | |
104 | Q: Do I Need To Get Rid Of [Commercial Application] To Use M<Stem>? |
105 | A: No, M<Stem> can run in parallel with all of |
106 | your existing applications. As long as M<Stem> |
107 | can have access to its own TCP ports (which can be configured to |
108 | any available ones), it has no need to conflict with any of your current |
109 | systems. |
110 | |
111 | QUOTE< |
112 | superglue the net \ |
113 | tie the machines together \ |
114 | stem keeps it all sane \ |
115 | -- U.G. \ |
116 | > |
117 | |
118 | |
119 | Q: What is a M<Stem> Hub? |
120 | A: A M<Stem> Hub is a single Perl process running |
121 | M<Stem>. It can function as a complete standalone |
122 | application or be connected to other M<Stem> Hubs in a |
123 | networked application. M<Stem> Hubs contain the |
124 | M<Stem> core system and M<Stem> |
125 | Cells that have been created by configuration files. |
126 | |
127 | <P>For more on this, read the |
128 | <A href="technotes/arch_notes.html">architecture notes</A> document or find it |
129 | in the Design directory of the tarball. |
130 | |
131 | Q: What is a M<Stem> Cell? |
132 | A: A M<Stem> Cell is a Perl object that has 3 major characteristics: |
133 | |
134 | <OL> |
135 | <LI><P>First, it is registered as a Cell in this Hub with a cell name and |
136 | an optional target name</P></LI> |
137 | <LI><P>It has a set of methods designated to handle messages directed at |
138 | the Cell</P></LI> |
139 | <LI><P>It sends messages to other cells.</P></LI> |
140 | </OL> |
141 | |
142 | |
143 | S: M<Stem> Features |
144 | |
145 | |
146 | Q: What is a M<Stem> Message? |
147 | A: M<Stem> Messages carry commands and data between |
148 | M<Stem> Cells. They are addressed with a |
149 | Hub/Cell/Target triplet. |
150 | |
151 | <P>Messages can be any one of a wide range of types including command, |
152 | data, log, stderr etc. They can carry any form of data to a maximum |
153 | (to be designated later) size. |
154 | |
155 | <P>See |
156 | <A HREF="technotes/message_notes.html">message notes</A> document for more. |
157 | |
158 | QUOTE< |
159 | Nets catch more than fish. \ |
160 | Data's trapped beneath the waves. \ |
161 | Stem frees; packets breathe. \ |
162 | -- D.G. \ |
163 | > |
164 | |
165 | |
166 | Q: How Hard Is M<Stem> To Install/Configure? |
167 | A: M<Stem> is very easy to install. It only requires |
168 | Perl 5.005_03 and one code module Event.pm that you can get from |
169 | <A HREF="http://search.cpan.org">CPAN</A>. The rest of |
170 | M<Stem> is comprised of pure Perl modules. |
171 | |
172 | <p>M<Stem> has a step by step installation |
173 | script that guides you through the installation process and any |
174 | required modules that are necessary for the normal functioning of M<Stem>. |
175 | It is easy to use and allows you to customize the installation to |
176 | your liking or take the default install. |
177 | |
178 | <P>Much more on this can be found in the |
179 | <A href="technotes/config_notes.html">config notes</A> |
180 | document or in the Design directory of the tarball. |
181 | |
182 | |
183 | Q: Can M<Stem> Do Guaranteed Messaging? |
184 | A: M<Stem>'s core design does not directly support |
185 | guaranteed message delivery. It was designed this way, as the |
186 | technical market that M<Stem> targets |
187 | doesn't have a strong requirement for this feature as the |
188 | commercial/e-business markets have. |
189 | |
190 | <P>Future releases of M<Stem> will support guaranteed delivery via a |
191 | separate module that is now under development. |
192 | |
193 | |
194 | |
195 | Q: Does M<Stem> Use XML? |
196 | A: M<Stem>'s messages are designed to not be specific |
197 | to any format or encoding. They can carry data structure in any format the |
198 | designer wants, including XML. In fact, the message itself can also be in |
199 | any format as long as it is properly identified and a module to decode that |
200 | format is installed. |
201 | |
202 | <p>M<Stem> is currently in the process of including |
203 | <a href="http://www.yaml.org" name="YAML">YAML</a> as its primary format for |
204 | messages, configuration files, and logs, but as demand arises other message formats |
205 | including XML will be supported. |
206 | |
207 | <P>One longer-term goal is that message formats from many other |
208 | systems will be supported by gateways modules, which will translate |
209 | between M<Stem> and external messages. |
210 | |
211 | Q: What Kind Of Security Does M<Stem> Use? |
212 | A: M<Stem> doesn't do direct authentication and secure |
213 | transmissions. Currently it relies upon industry standard utilities such as ssh and |
214 | stunnel to provide the secure socket connections between |
215 | M<Stem> hubs (processes). Security is a great concern to |
216 | everyone and M<Stem> development is looking into the possibilities |
217 | of supporting various mechanisms and levels of security (i.e. - ssh, ssl, etc) |
218 | through configurable modules. |
219 | |
220 | QUOTE< |
221 | Information rain \ |
222 | Can drown the sleepy server, \ |
223 | But for Stem's shelter. \ |
224 | -- D.G. \ |
225 | > |
226 | |
227 | |
228 | Q: Can M<Stem> Do Central Configuration Management? |
229 | A: The log management project under development has this requirement. The |
230 | lists of log files on each system that need to be monitored are |
231 | maintained on the central system. Configuration files are autogenerated |
232 | from those lists and distributed to all the M<Stem> hubs in this network |
233 | application. The same mechanism can be used to distribute configuration |
234 | files for other applications and M<Stem> can also notify them to reload the |
235 | new files. |
236 | |
237 | Q: Can M<Stem> Handle My Content Distribution? |
238 | A: Distributing content is similar to distributing configuration files and |
239 | will use the same mechanisms. What content is distributed to where can |
240 | all be easily controlled by M<Stem> configurations without any additional |
241 | programming. |
242 | |
243 | |
244 | S: Developing with M<Stem> |
245 | |
246 | |
247 | Q: Can I Extend M<Stem> Myself To Suit Our Needs? |
248 | A: M<Stem> is designed to be modified and extended very |
249 | easily. You can copy existing modules or use design ideas from them to |
250 | created new Cells for your own needs. |
251 | |
252 | <P>The high level Cell API hides the complexities of |
253 | network communication and message transfer, leaving you free to focus on |
254 | the specific design and coding of your custom Cells. |
255 | |
256 | |
257 | QUOTE< |
258 | Just one message lost \ |
259 | could stop your business blooming. \ |
260 | Fear not: grasp the stem! \ |
261 | -- D.G. \ |
262 | > |
263 | |
264 | Q: Is There a M<Stem> Tutorial? |
265 | A: M<Stem> Development has created a <a href="cookbook.html" name="cookbook">cookbook</a> of examples that demonstrates the |
266 | design of M<Stem> cells from the simplest form up |
267 | to various levels of complexity. |
268 | |
269 | |
270 | Q: Should I Modify M<Stem> On My Own Or Use M<Stem>'s Development Team? |
271 | A: If your requirements are simple, and you have skilled staff to do the |
272 | work, there's no reason not to develop and maintain your own M<Stem>-based |
273 | systems. If your applications are complex applications, your staff new |
274 | to M<Stem>, or your time-frame short, you will probably find it more |
275 | cost-effective to let M<Stem Systems>' expert team develop your system for |
276 | you. |
277 | |
278 | <P>Otherwise, M<Stem Systems> can assist you in the design, development and |
279 | configuration of your application. How much assistance can be provided |
280 | depends on the customer subscription deal and any other contracts. If |
281 | you do not have a subscription, our support will be limited to bug fixes |
282 | and email and you will have to maintain your modified code on your own. |
283 | |
284 | Q: Which Operating Systems Support M<Stem>? |
285 | A: M<Stem> runs runs without any modification under any Unix flavor (Solaris, |
286 | Linix, FreeBSD, etc.) Support for WinX is in the planning stage and is |
287 | expected to be released in the near future. |
288 | |
289 | Q: What Is M<Stem>'s License? |
290 | A: M<Stem> will be released under the <a |
291 | href="http://www.gnu.org/copyleft/gpl.html" name="GPL">GNU General |
292 | Public License</a> starting with version 0.06. Our intent is for |
293 | M<Stem> to be free for non-commercial use. Commercial licenses can be |
294 | purchased through M<Stem Systems>. Please contact <a |
295 | href="mailto:info@stemsystems.com">Stem Systems</a> for more |
296 | information regarding commercial license. |
297 | |
298 | |
299 | S: M<Stem Systems> |
300 | |
301 | |
302 | Q: What Is M<Stem Systems>? |
303 | A: M<Stem Systems> is the company which is developing and maintaining M<Stem>. It |
304 | owns the copyright to the M<Stem> codebase and is releasing it to its |
305 | customers and the open source community. M<Stem Systems> also sells support |
306 | subscriptions to the M<Stem> user community. |
307 | |
308 | QUOTE< |
309 | Black chips nurture life. \ |
310 | Data shoots out, seeking Spring. \ |
311 | Stem makes all fertile. \ |
312 | -- D.G. \ |
313 | > |
314 | |
315 | Q: What Is The Business Model Of M<Stem Systems>? |
316 | A: M<Stem Systems> has three business models, |
317 | <ol> |
318 | <li>Development Projects</li> |
319 | <li>Support Subscriptions</li> |
320 | <li>3rd Party products and VAR's</li> |
321 | </ol> |
322 | |
323 | Q: How Much Does M<Stem> Cost? |
324 | A: 0.06 will be under the |
325 | <a href="http://www.gnu.org/copyleft/gpl.html" name="GPL">GNU General |
326 | Public License</a>. M<Stem> can be used freely for non-commercial |
327 | use. For commercial and acedemic licenses please contact us at <a |
328 | href="mailto:sales@stemsystems.com">Stem Systems</a> for more |
329 | information. |
330 | |
331 | |
332 | Q: Who Are Your Technical Advisors? |
333 | A: Our technical advisors are listed <A HREF="company.html">here</A>. |
334 | |
335 | S: Miscellaneous |
336 | |
337 | |
338 | Q: How Can I Learn M<Stem>? |
339 | A: The best way right now is to start with the technical notes and get a |
340 | basic understanding of M<Stem>, its architecture and |
341 | its nomenclature. Then run the various demo scripts and read their |
342 | configuration files. Developers will go next to the Cell documentation that |
343 | describes each Cell's function, their attributes and how to configure it. |
344 | Once some insight into each Cell is attained the next step would be to go |
345 | through M<Stem>'s <a href="cookbook.html" name="cookbook">cookbook</a> |
346 | of examples put together by the developers of M<Stem>. This will |
347 | show you how to extend M<Stem> with your own Cells. |
348 | |
349 | <P>We are discussing the |
350 | creation of classes with a training firm when the demand arises. |
351 | |
352 | Q: What Is The Future Of M<Stem>? |
353 | A: M<Stem> will constantly be growing its Cell library and adding support for |
354 | new features. Whenever any repeated networked operations can be |
355 | identified, M<Stem> will create a M<Stem> Cell to |
356 | perform it. Then M<Stem>'s |
357 | users can easily integrate that new Cell without programming or needing |
358 | to re-invent that wheel. |
359 | |
360 | Q: Who Created M<Stem>? |
361 | A: M<Stem> was created by Uri Guttman, and is the |
362 | culmination of his long career in systems architecture and development. He has combined a |
363 | quarter century of experience designing and implementing event-driven |
364 | systems with his love of Perl to produce a powerful, yet easy-to-use |
365 | framework for network applications. |
366 | |
367 | <P>For more on M<Stem>'s creator, see the |
368 | <A HREF="http://stemsystems.com/company.html">M<Stem> Team biographies</A>. |
369 | |
370 | Q: How (and why) Was M<Stem> Conceived? |
371 | A: M<Stem> was created when its designer was contracted |
372 | to a network application development group who were constantly |
373 | putting out fires and creating a massive ad hoc system. It was clear that they needed a |
374 | framework to give structure to their network application design. |
375 | M<Stem> was the result. |
376 | |
377 | QUOTE< |
378 | Coders or firemen? \ |
379 | System in conflagration. \ |
380 | From ashes rose Stem. \ |
381 | -- U.G. \ |
382 | > |
383 | |
384 | |
385 | Q: What Does M<Stem> Stand For? |
386 | A: M<Stem> is not an acronym or an abbreviation, rather it is named from the |
387 | real word 'stem' which has several dictionary meanings that map well to M<Stem>. |
388 | |
389 | <DL><DT><B>v. tr.</B></DT> |
390 | <DD><OL><LI>To stop or hold back by or as if by damming; as in "stem the tide"</OL></DD></DL> |
391 | |
392 | <DL><DT><B>n.</B></DT> |
393 | <DD><OL><LI>A slender stalk supporting or connecting another plant part, such as a leaf or flower. |
394 | <LI>A connecting or supporting part. |
395 | </OL></DD></DL> |
396 | |
397 | <DL><DT><B>n.</B></DT> |
398 | <DD><OL><LI>A line of ancestry : STOCK; especially : a fundamental line from |
399 | which others have arisen. as in "stem cell" in biology.</OL></DD></DL> |
400 | |
401 | |
402 | QUOTE< |
403 | To keep your network \ |
404 | flowering when the heat's on, \ |
405 | it needs a strong stem. \ |
406 | -- D.C. \ |
407 | > |