[jboss-svn-commits] JBL Code SVN: r12862 - labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 26 08:28:09 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-06-26 08:28:09 -0400 (Tue, 26 Jun 2007)
New Revision: 12862

Added:
   labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/Architecture.png
   labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/ArchitectureDiagram.svg
Modified:
   labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/Section-Architecture.xml
Log:
doco for BRMS

Added: labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/Architecture.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/Architecture.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/ArchitectureDiagram.svg
===================================================================
--- labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/ArchitectureDiagram.svg	                        (rev 0)
+++ labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/ArchitectureDiagram.svg	2007-06-26 12:28:09 UTC (rev 12862)
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS"
+   sodipodi:docname="ArchitectureDiagram.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="375"
+     inkscape:cy="495.6882"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1400"
+     inkscape:window-height="976"
+     inkscape:window-x="0"
+     inkscape:window-y="26" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.43637654px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1872"
+       width="189.84933"
+       height="79.849342"
+       x="142.74355"
+       y="216.07384"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       style="fill:white"
+       id="rect1874"
+       width="254.28572"
+       height="151.42857"
+       x="289.28571"
+       y="444.50504"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:1.41401446px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1878"
+       width="606.49902"
+       height="262.44315"
+       x="50.686401"
+       y="328.0585"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="206.62802"
+       y="257.22705"
+       id="text1880"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1882"
+         x="206.62802"
+         y="257.22705">Browser</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1884"
+       transform="translate(-30.42712,-111.2394)"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><flowRegion
+         id="flowRegion1886"><rect
+           id="rect1888"
+           width="170.71577"
+           height="67.680222"
+           x="90.913727"
+           y="452.33157" /></flowRegion><flowPara
+         id="flowPara1890">Application Server</flowPara></flowRoot>    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.75300866px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1876"
+       width="305.10703"
+       height="147.94675"
+       x="91.267052"
+       y="400.45898"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1893"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"
+       transform="translate(24.28571,-13.57143)"><flowRegion
+         id="flowRegion1895"><rect
+           id="rect1897"
+           width="204.96304"
+           height="19.53953"
+           x="112.12693"
+           y="425.05746" /></flowRegion><flowPara
+         id="flowPara1899">BRMS application (drools-jbrms)</flowPara><flowPara
+         id="flowPara1923" /></flowRoot>    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.29710922px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1901"
+       width="129.04004"
+       height="54.458462"
+       x="101.06883"
+       y="475.49356"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.24615614px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1903"
+       width="129.091"
+       height="37.366558"
+       x="101.06332"
+       y="441.93256"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="117.85715"
+       y="464.50504"
+       id="text1925"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1927"
+         x="117.85715"
+         y="464.50504">drools-repository</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1929"><flowRegion
+         id="flowRegion1931"><rect
+           id="rect1933"
+           width="49.285713"
+           height="12.142858"
+           x="133.57143"
+           y="476.64789" /></flowRegion><flowPara
+         id="flowPara1935">JCRJJCR</flowPara><flowPara
+         id="flowPara1937" /></flowRoot>    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="122.85715"
+       y="504.505"
+       id="text1939"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1941"
+         x="122.85715"
+         y="504.505">JCR (jackrabbit)</tspan></text>
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.24615614px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1943"
+       width="129.091"
+       height="37.366558"
+       x="253.31165"
+       y="443.67892"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="265.54575"
+       y="467.81558"
+       id="text1945"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1947"
+         x="265.54575"
+         y="467.81558">drools-compiler...</tspan></text>
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.62447476px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1949"
+       width="206.66412"
+       height="150.21814"
+       x="415.95364"
+       y="397.61023"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1961"><flowRegion
+         id="flowRegion1963"><rect
+           id="rect1965"
+           width="1.4285715"
+           height="45.714287"
+           x="560"
+           y="445.93362" /></flowRegion><flowPara
+         id="flowPara1967"></flowPara></flowRoot>    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1981"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><flowRegion
+         id="flowRegion1983"><rect
+           id="rect1985"
+           width="114.28571"
+           height="60"
+           x="445"
+           y="423.79074" /></flowRegion><flowPara
+         id="flowPara1987">User applications (may be seperate app servers)</flowPara></flowRoot>    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.24615614px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1989"
+       width="129.091"
+       height="37.366558"
+       x="440.4545"
+       y="480.82175"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="448.62793"
+       y="507.81558"
+       id="text1991"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1993"
+         x="448.62793"
+         y="507.81558">drools-core</tspan></text>
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.75300866px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1999"
+       width="305.10703"
+       height="147.94675"
+       x="51.017918"
+       y="603.38885"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="78.571434"
+       y="676.64789"
+       id="text2001"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan2003"
+         x="78.571434"
+         y="676.64789">Data store (file system, or existing RDBMS)</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1.13249958px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 221.42857,531.07489 L 221.42857,604.36376"
+       id="path2009"
+       inkscape:connector-type="polyline"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 416.42857,467.36218 L 396.42857,467.36218"
+       id="path2013"
+       inkscape:connector-type="polyline"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 221.42857,295.93361 L 221.42857,325.93361"
+       id="path2015"
+       inkscape:connector-type="polyline"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+  </g>
+</svg>


Property changes on: labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/ArchitectureDiagram.svg
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/Section-Architecture.xml
===================================================================
--- labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/Section-Architecture.xml	2007-06-26 11:47:19 UTC (rev 12861)
+++ labs/jbossrules/trunk/documentation/manual/en/Chapter-BRMS/Section-Architecture.xml	2007-06-26 12:28:09 UTC (rev 12862)
@@ -1,63 +1,182 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE section PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
-"http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd">
-<section>
-  <title>Introduction</title>
-
-  <para>This section covers the innards of the BRMS - it is not neccesary to
-  use this if you are integrating or an end user of the BRMS application.
-  However, JBoss Rules is open source, so build instructions form part of the
-  manual.</para>
-
-  <para>You may want to build from source if you want to re-use components, or
-  embed the application in your own.</para>
-
-  <section>
-    <title>Design</title>
-  </section>
-
-  <section>
-    <title>Building from source</title>
-	<para>This section will go over the steps you will need to take to build various components. Mostly this is automated, but the manual process is described for thoroughness.</para>
-        <section><title>Modules</title>
-         <para> There are 2 modules: drools-repository (back end) and drools-jbrms (front end and rules integration). 
-The drools-jbrms module depends on the drools-repository module, as well as other components.</para>
-        </section>
-
-    
-
-	<section><title>Working with Maven 2</title>
-  	<para>Maven 2 is used as the underlying build system.
-        To get started, you will need to check out the WHOLE of the source tree
-	for JBoss Rules. This includes the other modules, and the top level lib and repository directories (which are needed by the build). As the BRMS build is part of the main drools build.</para>
-        <para>Initially, you should go into the root of the jboss-rules checked out source tree, and run mvn install to install all the components for the inter project depedencies. If the build is broken (no ! say it isn't so !) you can use the flag -Dmaven.test.skip=true to prevent failing unit tests from preventing the build. </para>
-	<para>
-	As the BRMS depends on drools-repository (which is the back end version storage subsystem), you then go into the drools-repository directory, and run "mvn install" to make it available. Finally, you can go into the drools-jbrms directory and run "mvn test" to check it all works, or "mvn package" to generate the web application (as well as run the tests). You should now be good to go !
-	</para>
-	</section>
-
-	<section><title>Working with GWT</title>
-		<para>The GUI widgets for the web front end are developed with GWT (google web toolkit). If you need to make changes to or build the GUI, you will need to download GWT seperately. Once GWT is downloaded, you can modify the build.properties file in the drools-jbrms directory to point to where you installed GWT. Once you have this, you can use the ant tasks to build the GWT components, as well as launch GWT in debug/hosted mode should you desire. If you run the build, it will update the webapp directory in the project with the new "compiled" artifacts (GWT does not use JSP, only html and javascript at runtime). </para>
-
-	</section>
-
-	<section><title>Debugging, Editing and running with Eclipse</title>
-		<para>Each module has a ready to go and up to date eclipse project configuration, so you can just import them into your eclipse workspace. These projects are generated by maven (mvn eclipse:eclipse to refresh them). They have been manually modified to have project dependencies (means you can step through code when debugging).</para>
-		<para>Some environment variables are required in eclipse (Window->Preferences->Java->Build path->Classpath variables): the M2_REPO, as normal, to point to where maven downloads shared dependencies. GWT_HOME should point to where you installed GWT. GWT_DEV must point to the platform specific "dev" jar that ships with the version of GWT you have. 
-		</para>
-		<para>
-			How you launch from eclipse: you can launch unit test, as normal (in which case you only need M2_REPO setup - you don't even need to download GWT seperately) - OR, you can launch it in "hosted mode" using the GWT browser, which is great for debugging (from GUI to back end, you can step through code, and make changes on the fly and simply hit refresh). 
-There is a JBRMS.launch file in in the drools-jbrms directory. This should allow Eclipse to launch the JBRMS in debug mode - open the Run dialog (Run->Run), and then choose "JBRMS" from the list. Launching this will open a new window, with the BRMS in debug mode, ready to go.</para>
-	<para>Downloading and debugging the BRMS with GWT is optional, and if you are only working on non GUI issues, you can skip this step.
-	</para>
-	</section>
-  </section>
-
-  <section>
-    <title>Re-usable components</title>
-  </section>
-
-  <section>
-    <title>Versioning and Storage</title>
-  </section>
-</section>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+"http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd">
+<section>
+  <title>Architecture</title>
+
+  <para>This section covers the innards of the BRMS - it is not neccesary to
+  use this if you are integrating or an end user of the BRMS application.
+  However, JBoss Rules is open source, so build instructions form part of the
+  manual.</para>
+
+  <para>You may want to build from source if you want to re-use components, or
+  embed the application in your own.</para>
+
+  <para><figure>
+      <title>Architectural diagram</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="Architecture.png" format="PNG"
+                     scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure></para>
+
+  <para>The above diagram shows the major components of the system and how
+  they integrate and are deployed. The Admin guide has more details on the
+  parts that are highly configurable (eg database).</para>
+
+  <para>The BRMS is deployed as a war, which provides user interfaces over the
+  web, and provides binary packages via URLs (or files). It utilised the
+  JSR-170 standard for data storage (JCR). JBoss Seam is used as the component
+  framework, and GWT is used as the widget toolkit for constructing the ajax
+  based web user interface.</para>
+
+  <section>
+    <title>Building from source</title>
+
+    <para>This section will go over the steps you will need to take to build
+    various components. Mostly this is automated, but the manual process is
+    described for thoroughness.</para>
+
+    <section>
+      <title>Modules</title>
+
+      <para>There are 2 modules: drools-repository (back end) and drools-jbrms
+      (front end and rules integration). The drools-jbrms module depends on
+      the drools-repository module, as well as other components. The BRMS is
+      part of the main build for all of Drools - when you build Drools - you
+      will also build the BRMS.</para>
+    </section>
+
+    <section>
+      <title>Working with Maven 2</title>
+
+      <para>Maven 2 is used as the build system. To get started, you will need
+      to check out the WHOLE of the source tree for JBoss Rules. This includes
+      the other modules, and the top level lib and repository directories
+      (which are needed by the build). As the BRMS build is part of the main
+      drools build.</para>
+
+      <para>Initially, you should go into the root of the jboss-rules checked
+      out source tree, and run mvn install to install all the components for
+      the inter project depedencies. If the build is broken (no ! say it isn't
+      so !) you can use the flag -Dmaven.test.skip=true to prevent failing
+      unit tests from preventing the build.</para>
+
+      <para>When you wan't to build the BRMS - you can go into the
+      drools-jbrms directory, and run "mvn package" - this will run the tests,
+      and then build a deployable war. The only thing this won't do is rebuild
+      the GWT front end (see the next section for details on that). Once you
+      have the war file (in the target directory) you should be good to go
+      !</para>
+    </section>
+
+    <section>
+      <title>Working with GWT</title>
+
+      <para>The GUI widgets for the web front end are developed with GWT
+      (google web toolkit). If you need to make changes to or build the GUI,
+      you will need to download GWT seperately. Once GWT is downloaded, you
+      can modify the build.properties file in the drools-jbrms directory to
+      point to where you installed GWT. Once you have this, you can use the
+      ant tasks to build the GWT components, as well as launch GWT in
+      debug/hosted mode should you desire. If you run the build, it will
+      update the webapp directory in the project with the new "compiled"
+      artifacts (GWT does not use JSP, only html and javascript at
+      runtime).</para>
+    </section>
+
+    <section>
+      <title>Debugging, Editing and running with Eclipse</title>
+
+      <para>Each module has a ready to go and up to date eclipse project
+      configuration, so you can just import them into your eclipse workspace.
+      These projects are generated by maven (mvn eclipse:eclipse to refresh
+      them in case they are wrong or outdated). They have been manually
+      modified to have project dependencies (means you can step through code
+      when debugging).</para>
+
+      <para>Some environment variables are required in eclipse
+      (Window-&gt;Preferences-&gt;Java-&gt;Build path-&gt;Classpath
+      variables): the M2_REPO, as normal, to point to where maven downloads
+      shared dependencies. GWT_HOME should point to where you installed GWT.
+      GWT_DEV must point to the platform specific "dev" jar that ships with
+      the version of GWT you have.</para>
+
+      <para>How you launch from eclipse: you can launch unit tests, as normal
+      (in which case you only need M2_REPO setup - you don't even need to
+      download GWT seperately) - OR, you can launch it in "hosted mode" using
+      the GWT browser, which is great for debugging (from GUI to back end, you
+      can step through code, and make changes on the fly and simply hit
+      refresh). There is a JBRMS.launch file in in the drools-jbrms directory.
+      This should allow Eclipse to launch the JBRMS in debug mode - open the
+      Run dialog (Run-&gt;Run), and then choose "JBRMS" from the list.
+      Launching this will open a new window, with the BRMS in debug mode,
+      ready to go</para>
+
+      <para>Normally</para>
+
+      <para>Downloading and debugging the BRMS with GWT is optional, and if
+      you are only working on non GUI issues, you can skip this step.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Re-usable components</title>
+
+    <para>The BRMS uses a service interface to seperate the GUI from the "back
+    end" functionality - in this case the back end both includes the asset
+    repository (drools-repository and JCR) as well as the compiler specifics
+    to deal with rules. </para>
+
+    <para>The main interface is RepositoryService, which is implemented in
+    ServiceImplementation. The GWT ajax front end talks to this interface (via
+    the async callback mechanism that GWT uses). The seam configuration file
+    is components.xml (consult Seam documentation, and the components.xml file
+    for details).</para>
+
+    <para>This service interface may be re-used by alternative components or
+    front ends.</para>
+
+    <para>The GWT user interface may be re-used - as it is GWT there is only
+    one html page: JBRMS.html. For those familiar with GWT, each of the
+    "features" can be used seperate (eg in a portal) - look at the
+    JBRMSFeature class and the classes that implement it (they can in theory
+    be stand alone).</para>
+
+    <para>Normally the BRMS is intended to be deployed as its own war, however
+    you could in theory combine it with your own application (with some care)
+    - but it is easier to keep it as a seperate war, and will make it easier
+    to upgrade to newer releases as they come out.</para>
+  </section>
+
+  <section>
+    <title>Versioning and Storage</title>
+
+    <para>The Admin guide goes over configuration options in some detail, for
+    database and filesystems.</para>
+
+    <para>Versions of assets are stored in the database along with the data.
+    </para>
+
+    <para>When "snapshots" are created, copies are made of the entire package
+    into a seperate location in the JCR database. </para>
+
+    <para>For those familiar with jcr and jackrabbit, you can look at the
+    *.cnd files in the source for the node type definitions. In a nutshell, a
+    package is a "folder" and each asset is a file: an asset can either be
+    textual or have a binary attachment.</para>
+  </section>
+
+  <section>
+    <title>Contributing</title>
+
+    <para>Consult the wiki and project homepages if you are interested in
+    contributing. A useful way to contribute is via logging issues or feature
+    requests in JIRA. However, if you are creating an issue in JIRA for the
+    BRMS, it is important that you choose "drools-brms" as the component in
+    the list in JIRA (or else it may get lost !)</para>
+  </section>
+</section>
\ No newline at end of file




More information about the jboss-svn-commits mailing list