Skip to Content.
Sympa Menu

notify-dpml - r1908 - in trunk/central/site/src/docs/metro: component tutorials

notify-dpml AT lists.ibiblio.org

Subject: DPML Notify

List archive

Chronological Thread  
  • From: mcconnell at BerliOS <mcconnell AT mail.berlios.de>
  • To: notify-dpml AT lists.ibiblio.org
  • Subject: r1908 - in trunk/central/site/src/docs/metro: component tutorials
  • Date: Tue, 13 Mar 2007 08:24:37 +0100

Author: mcconnell
Date: 2007-03-13 08:24:37 +0100 (Tue, 13 Mar 2007)
New Revision: 1908

Added:
trunk/central/site/src/docs/metro/tutorials/intro.xml
Modified:
trunk/central/site/src/docs/metro/component/index.xml
trunk/central/site/src/docs/metro/tutorials/index.xml
trunk/central/site/src/docs/metro/tutorials/navigation.xml
Log:


Modified: trunk/central/site/src/docs/metro/component/index.xml
===================================================================
--- trunk/central/site/src/docs/metro/component/index.xml 2007-03-13
06:35:55 UTC (rev 1907)
+++ trunk/central/site/src/docs/metro/component/index.xml 2007-03-13
07:24:37 UTC (rev 1908)
@@ -4,7 +4,7 @@

<properties>
<author email="mcconnell AT dpml.net">Stephen McConnell</author>
- <title>DPML Metro: Component Strategy</title>
+ <title>DPML Metro Component Strategy</title>
</properties>

<body>

Modified: trunk/central/site/src/docs/metro/tutorials/index.xml
===================================================================
--- trunk/central/site/src/docs/metro/tutorials/index.xml 2007-03-13
06:35:55 UTC (rev 1907)
+++ trunk/central/site/src/docs/metro/tutorials/index.xml 2007-03-13
07:24:37 UTC (rev 1908)
@@ -4,137 +4,13 @@

<properties>
<author email="mcconnell AT osm.net">Stephen McConnell</author>
- <title>Component Development</title>
+ <title>Metro Component Development Tutorials</title>
</properties>

<body>

<section name="Overview">

- <p>
- In the earlier tutorials dealing with Transit Plugins we covered the
general
- subject of a deployment unit descriptor that associated an object
instantiation
- <tt>strategy</tt> with a <tt>classloader</tt> chain definition. The
Metro platform
- provides an alternative deployment strategy and runtime handler that
delivers
- a complete context driven IOC object instantiation model.
- </p>
-
- <p>
- In addition to instantiation there are several aspects of a class that
- effect its deployment. These aspects include thread-safety, a
depoyment and
- decommissioning lifecycle, garbage collection policy, etc. Each of
these concerns
- are expresssed as well defined semantic features within the Metro
component model.
- </p>
-
- <subsection name="Totorial Objective">
-
- <p>
- The objective of this tutorial is the demonstration of how we can
- introduce a new instantiation strategy into a part deployment
descriptor.
- Subsequent tutorials will use the resource established here as the
baseline
- for the introduction of the core Metro component model concepts.
- </p>
-
- <p>
- Supporting classes:
- </p>
-
- <table>
- <tr>
- <td><a href="hello/Demo.java.html">Demo.java</a></td>
- <td>A minimal component implementation.</td>
- </tr>
- <tr>
- <td><a
href="hello/DemoTestCase.java.html">DemoTestCase.java</a></td>
- <td>Testcase that validates component deployment.</td>
- </tr>
- </table>
-
- </subsection>
-
- <subsection name="Component Creation">
-
- <p>
- The creation of a new component defintion is basically the same as
the procedure
- used to create a plugin. In the following Depot project definition
we are declaring
- a new project with publication of a jar and a part artifact. The
significant difference
- from a regular plugin is the usage of a custom part strategy.
- </p>
-
-<source>
-&lt;index ..... &gt;
-
- &lt;project name="acme-demo-hello" basedir="hello"&gt;
- &lt;types&gt;
- &lt;type id="jar"/&gt;
- <font color="darkred">&lt;component xmlns="dpml:metro"
- type="org.acme.Demo"
- name="demo"/&gt;</font>
- &lt;/types&gt;
- &lt;dependencies&gt;
- &lt;test&gt;
- &lt;include ref="ant/ant-junit"/&gt;
- &lt;include ref="dpml/transit/dpml-transit-main"/&gt;
- &lt;/test&gt;
- &lt;/dependencies&gt;
- &lt;/project&gt;
-
- ...
-
-&lt;/index&gt;
-</source>
-
- <p>
- The custom part definition introduced under the <tt>dpml:metro</tt>
- namespace is declaring the production of a new <tt>part</tt>
datastructure under which
- the class <tt>org.acme.Demo</tt> is to handled by the Metro runtime
platform. The above
- definition also includes the declaration of test phase dependencies
that we will need in
- order to launch the component.
- </p>
-
- <p>
- The generated part datastructure is show below (the custom Metro
deployment
- strategy is hilighted in red).
- </p>
-
-<source>
-&lt;part xmlns="dpml:part"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
-
- &lt;info/&gt;
-
- <font color="darkred">&lt;component xmlns="dpml:metro"
- type="org.acme.Demo"
- name="demo"
- collection="system"
- activation="system"&gt;
- &lt;/component&gt;</font>
-
- &lt;classpath&gt;
- &lt;private&gt;
-
&lt;uri&gt;artifact:jar:dpmlx/tutorials/components/acme-demo-hello#SNAPSHOT&lt;/uri&gt;
- &lt;/private&gt;
- &lt;/classpath&gt;
-
-&lt;/part&gt;
-</source>
-
- </subsection>
-
- <subsection name="Summary">
-
- <p>
- In this example the Demo implementation class contains nothing
significant -
- however, the important point of this tutorial is the association of
- a different runtime handler for the class within our part definition.
- Our next tutorial extends this project with the introduction of
- <a href="context.html">context management</a> and in particular, the
way in
- which a component class declares context assumptions, and the
mechanisms
- used by the Metro runtime to fullfill those requirements.
- </p>
-
- </subsection>
-
</section>

</body>

Added: trunk/central/site/src/docs/metro/tutorials/intro.xml
===================================================================
--- trunk/central/site/src/docs/metro/tutorials/intro.xml 2007-03-13
06:35:55 UTC (rev 1907)
+++ trunk/central/site/src/docs/metro/tutorials/intro.xml 2007-03-13
07:24:37 UTC (rev 1908)
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+
+ <properties>
+ <author email="mcconnell AT osm.net">Stephen McConnell</author>
+ <title>Component Development</title>
+ </properties>
+
+ <body>
+
+ <section name="Overview">
+
+ <p>
+ In the earlier tutorials dealing with Transit Plugins we covered the
general
+ subject of a deployment unit descriptor that associated an object
instantiation
+ <tt>strategy</tt> with a <tt>classloader</tt> chain definition. The
Metro platform
+ provides an alternative deployment strategy and runtime handler that
delivers
+ a complete context driven IOC object instantiation model.
+ </p>
+
+ <p>
+ In addition to instantiation there are several aspects of a class that
+ effect its deployment. These aspects include thread-safety, a
depoyment and
+ decommissioning lifecycle, garbage collection policy, etc. Each of
these concerns
+ are expresssed as well defined semantic features within the Metro
component model.
+ </p>
+
+ <subsection name="Totorial Objective">
+
+ <p>
+ The objective of this tutorial is the demonstration of how we can
+ introduce a new instantiation strategy into a part deployment
descriptor.
+ Subsequent tutorials will use the resource established here as the
baseline
+ for the introduction of the core Metro component model concepts.
+ </p>
+
+ <p>
+ Supporting classes:
+ </p>
+
+ <table>
+ <tr>
+ <td><a href="hello/Demo.java.html">Demo.java</a></td>
+ <td>A minimal component implementation.</td>
+ </tr>
+ <tr>
+ <td><a
href="hello/DemoTestCase.java.html">DemoTestCase.java</a></td>
+ <td>Testcase that validates component deployment.</td>
+ </tr>
+ </table>
+
+ </subsection>
+
+ <subsection name="Component Creation">
+
+ <p>
+ The creation of a new component defintion is basically the same as
the procedure
+ used to create a plugin. In the following Depot project definition
we are declaring
+ a new project with publication of a jar and a part artifact. The
significant difference
+ from a regular plugin is the usage of a custom part strategy.
+ </p>
+
+<source>
+&lt;index ..... &gt;
+
+ &lt;project name="acme-demo-hello" basedir="hello"&gt;
+ &lt;types&gt;
+ &lt;type id="jar"/&gt;
+ <font color="darkred">&lt;component xmlns="dpml:metro"
+ type="org.acme.Demo"
+ name="demo"/&gt;</font>
+ &lt;/types&gt;
+ &lt;dependencies&gt;
+ &lt;test&gt;
+ &lt;include ref="ant/ant-junit"/&gt;
+ &lt;include ref="dpml/transit/dpml-transit-main"/&gt;
+ &lt;/test&gt;
+ &lt;/dependencies&gt;
+ &lt;/project&gt;
+
+ ...
+
+&lt;/index&gt;
+</source>
+
+ <p>
+ The custom part definition introduced under the <tt>dpml:metro</tt>
+ namespace is declaring the production of a new <tt>part</tt>
datastructure under which
+ the class <tt>org.acme.Demo</tt> is to handled by the Metro runtime
platform. The above
+ definition also includes the declaration of test phase dependencies
that we will need in
+ order to launch the component.
+ </p>
+
+ <p>
+ The generated part datastructure is show below (the custom Metro
deployment
+ strategy is hilighted in red).
+ </p>
+
+<source>
+&lt;part xmlns="dpml:part"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
+
+ &lt;info/&gt;
+
+ <font color="darkred">&lt;component xmlns="dpml:metro"
+ type="org.acme.Demo"
+ name="demo"
+ collection="system"
+ activation="system"&gt;
+ &lt;/component&gt;</font>
+
+ &lt;classpath&gt;
+ &lt;private&gt;
+
&lt;uri&gt;artifact:jar:dpmlx/tutorials/components/acme-demo-hello#SNAPSHOT&lt;/uri&gt;
+ &lt;/private&gt;
+ &lt;/classpath&gt;
+
+&lt;/part&gt;
+</source>
+
+ </subsection>
+
+ <subsection name="Summary">
+
+ <p>
+ In this example the Demo implementation class contains nothing
significant -
+ however, the important point of this tutorial is the association of
+ a different runtime handler for the class within our part definition.
+ Our next tutorial extends this project with the introduction of
+ <a href="context.html">context management</a> and in particular, the
way in
+ which a component class declares context assumptions, and the
mechanisms
+ used by the Metro runtime to fullfill those requirements.
+ </p>
+
+ </subsection>
+
+ </section>
+
+ </body>
+
+</document>
+
+
+

Modified: trunk/central/site/src/docs/metro/tutorials/navigation.xml
===================================================================
--- trunk/central/site/src/docs/metro/tutorials/navigation.xml 2007-03-13
06:35:55 UTC (rev 1907)
+++ trunk/central/site/src/docs/metro/tutorials/navigation.xml 2007-03-13
07:24:37 UTC (rev 1908)
@@ -25,7 +25,7 @@
<body>

<menu>
- <item name="Introduction" href="index.html"/>
+ <item name="Introduction" href="intro.html"/>
<item name="Context Management" href="context.html"/>
<item name="Context Examples" href="context-examples.html"/>
<item name="The Sum of the Parts" href="composition-by-parts.html"/>




  • r1908 - in trunk/central/site/src/docs/metro: component tutorials, mcconnell at BerliOS, 03/13/2007

Archive powered by MHonArc 2.6.24.

Top of Page