CVS: jcontainer/loom/demos/helloworld/xdocs index.xml,1.1,1.2
Peter Donald <pdonald-yCVjj/[email protected]> Wed, 3 Dec 2003 04:45:05 -0600
| Newsgroups | gmane.comp.java.jcontainer.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/jcontainer/jcontainer/loom/demos/helloworld/xdocs
In directory hogshead.codehaus.org:/tmp/cvs-serv21491/demos/helloworld/xdocs
Modified Files:
index.xml
Log Message:
Styled codebase
Index: index.xml
===================================================================
RCS file: /cvsroot/jcontainer/jcontainer/loom/demos/helloworld/xdocs/index.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- index.xml 1 Aug 2003 19:27:11 -0000 1.1
+++ index.xml 3 Dec 2003 10:44:32 -0000 1.2
@@ -1,108 +1,114 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
- <properties>
- <title>HelloWorld Demo</title>
- <author>Paul Hammant</author>
- <author>Mauro Talevi</author>
- </properties>
-
- <body>
- <section name="Introduction">
- <p> The 'Hello World' demo server component is a socket listener app
- that replies 'Hello World' to client applications that open the port.
+ <properties>
+ <title>HelloWorld Demo</title>
+ <author>Paul Hammant</author>
+ <author>Mauro Talevi</author>
+ </properties>
+
+ <body>
+ <section name="Introduction">
+ <p> The 'Hello World' demo server component is a socket listener app
+ that replies 'Hello World' to client applications that open the port.
The reply is in HTML form so can be viewed by a Browser. The HTTP
headers are missing, but it still works. Telnet is another client that
can view the message. </p>
- </section>
- <section name="Architecture">
- <p> The following shows how the HelloWorld demo block depends on
+ </section>
+ <section name="Architecture">
+ <p> The following shows how the HelloWorld demo block depends on
ConnectionManager from cornerstone. These two blocks packaged
as a server application (SAR file) are loaded and launched by Loom,
itself sitting on top of Avalon's framework. </p>
- </section>
- <section name="Source modules">
- <p> The HelloWorld demo comprises of the following modules,
+ </section>
+ <section name="Source modules">
+ <p> The HelloWorld demo comprises of the following modules,
all contained within the src directory </p>
- <ol>
- <li> <code>org.jcontainer.loom.demos.helloworld</code> This
+ <ol>
+ <li>
+ <code>org.jcontainer.loom.demos.helloworld</code> This
package contains the Java source for 'Hello World' and the xinfo block
- descriptor. </li>
- <li> <code>conf/assembly.xml</code> This contains the assembly
- instructions for the resulting server archive (SAR) file. </li>
- <li> <code>conf/config.xml</code> This contains the
- configuration for the resulting server archive (SAR) file. </li>
- </ol>
- </section>
- <section name="Java Source">
- <subsection name="HelloWorldHandler.java">
- <p> Instantiated and dispatched by the impl once per socket request that
+ descriptor.
+ </li>
+ <li>
+ <code>conf/assembly.xml</code> This contains the assembly
+ instructions for the resulting server archive (SAR) file.
+ </li>
+ <li>
+ <code>conf/config.xml</code> This contains the
+ configuration for the resulting server archive (SAR) file.
+ </li>
+ </ol>
+ </section>
+ <section name="Java Source">
+ <subsection name="HelloWorldHandler.java">
+ <p> Instantiated and dispatched by the impl once per socket request that
comes in. </p>
- </subsection>
- <subsection name="HelloWorldServer.java">
- <p> The interface that's the contract for the Server block. As it
+ </subsection>
+ <subsection name="HelloWorldServer.java">
+ <p> The interface that's the contract for the Server block. As it
happens HelloWorld is not that resusable. If it were
"ObjectDataBase.java" many server apps could use it through this
interface. The interface could set more useful things that the
greeting ("Hello", "Bonjour", "Ciao", etc.) </p>
- </subsection>
- <subsection name="HelloWorldServerImpl.java">
- <p> This like all impls implements an interface. Which interface is
+ </subsection>
+ <subsection name="HelloWorldServerImpl.java">
+ <p> This like all impls implements an interface. Which interface is
rather obvious in this case. It's a standard pattern that uses other
blocks (SocketManager and ConnectionManager) to do the hard work of
listening on a port, pooling threads and connections and organizing
socket invokations in a queue and multi app friendly way. </p>
- </subsection>
- </section>
- <section name="Configuration">
- <subsection name="assembly.xml">
- <p> The file is renamed as part of the build process to assembly.xml,
+ </subsection>
+ </section>
+ <section name="Configuration">
+ <subsection name="assembly.xml">
+ <p> The file is renamed as part of the build process to assembly.xml,
and only has a separate name here to aid development. The bulk of the
contents of the file pertain to other blocks including ones that
HelloWorld is dependant upon. Here's the section that's for HelloWorld
- </p>
-<source>
+ </p>
+ <source>
(text snipped)
-<block class="org.jcontainer.loom.demos.helloworld.HelloWorldServerImpl"
+ <block class="org.jcontainer.loom.demos.helloworld.HelloWorldServerImpl"
name="helloworldserver" >
- <provide name="socketsection"
+ <provide name="socketsection"
role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
- <provide name="connections"
+ <provide name="connections"
role="org.apache.avalon.cornerstone.services.connection.ConnectionManager" />
-</block>
+ </block>
(text snipped)
-</source>
- <p> Of the block element, listed attributes are the instatiatable class
+ </source>
+ <p> Of the block element, listed attributes are the instatiatable class
implementing the HelloWorld interface (not mentioned itself in this
assembly xml), the display name of the block, and two services that
HelloWorld needs. </p>
- </subsection>
- <subsection name="config.xml">
- <p> The file is renamed as part of the build process to config.xml, and
+ </subsection>
+ <subsection name="config.xml">
+ <p> The file is renamed as part of the build process to config.xml, and
only has a separate name here to aid development. Again here is the
pertinent section: </p>
-<source>
-<helloworldserver>
-<port>8999</port>
-<bind>127.0.0.1</bind>
-<helloworldhandler>
-<connectiontimeout> 360000 </connectiontimeout>
-</helloworldhandler>
-</helloworldserver>
-</source>
- <p> The configuration element named <helloworldserver> is used as
+ <source>
+ <helloworldserver>
+ <port>8999</port>
+ <bind>127.0.0.1</bind>
+ <helloworldhandler>
+ <connectiontimeout> 360000 </connectiontimeout>
+ </helloworldhandler>
+ </helloworldserver>
+ </source>
+ <p> The configuration element named <helloworldserver> is used as
it's name suggests and is passed the blocks being used for the app.
Elements port and bind are used by the socket manager. </p>
- <p> If you had configuration for an app, you'd specify it here in with
+ <p> If you had configuration for an app, you'd specify it here in with
element and attribute names that are invented for the application. </p>
- </subsection>
- <subsection name="Starting your own server project">
- <p> Familiarity with Maven and its build system would be a good place to
+ </subsection>
+ <subsection name="Starting your own server project">
+ <p> Familiarity with Maven and its build system would be a good place to
start. Simply</p>
-<source>
+ <source>
cd demos/helloworld
maven
-</source>
- </subsection>
- </section>
- </body>
+ </source>
+ </subsection>
+ </section>
+ </body>
</document>