Author: max.andersen(a)jboss.com
Date: 2007-08-10 13:42:12 -0400 (Fri, 10 Aug 2007)
New Revision: 3081
Modified:
trunk/documentation/GettingStartedGuide/docs/userguide/en/master.xml
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/AddBusinessProcess.xml
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/GettingStartedWithRHDS.xml
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/ManageJBossAS.xml
Log:
we dont support 64-bit
drools plugin is not compatible with eclipse 3.3
subscription does not exist for beta and exadel addresses are not correct anymore
typos and bad screenshots fixed/removed
Modified: trunk/documentation/GettingStartedGuide/docs/userguide/en/master.xml
===================================================================
--- trunk/documentation/GettingStartedGuide/docs/userguide/en/master.xml 2007-08-10
15:10:33 UTC (rev 3080)
+++ trunk/documentation/GettingStartedGuide/docs/userguide/en/master.xml 2007-08-10
17:42:12 UTC (rev 3081)
@@ -19,7 +19,9 @@
<year>2007</year>
<holder>Red Hat</holder>
</copyright>
- <releaseinfo>Current Guide Version: 1.0.0.beta1</releaseinfo>
+ <releaseinfo>
+<para>Version: 1.0.0.beta1</para>
+<para>Note: This document is a work in progress and hence some sections might be
incomplete and screenshots not 100% accurate.</para></releaseinfo>
</bookinfo>
@@ -31,6 +33,7 @@
&GetStartSeamGen;
&GenCURDDatabaseApp;
&CURDAppWalkthrough;
-&AddBusinessProcess;
+<!-- TODO: drools used in this section is not available for eclipse .3.3
&AddBusinessProcess; -->
+
</book>
Modified:
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/AddBusinessProcess.xml
===================================================================
---
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/AddBusinessProcess.xml 2007-08-10
15:10:33 UTC (rev 3080)
+++
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/AddBusinessProcess.xml 2007-08-10
17:42:12 UTC (rev 3081)
@@ -1,480 +1,461 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<chapter id="AddBusinessProcess"
xreflabel="AddBusinessProcess">
- <?dbhtml filename="AddBusinessProcess.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>Business process</keyword>
- <keyword>Seam</keyword>
- <keyword>JBoss Rules</keyword>
- <keyword>CURD-application</keyword>
- </keywordset>
- </chapterinfo>
-
- <title>Business process and rules application</title>
- <para>Rules and business processes are important components in many enterprise
applications.
- They help business analysts to get involved in the design and implementation of the
software
- project. Rules and business processes are also essential to complex internal states
of large,
- multi-user systems. The JBoss Rules engine (formerly known as Drools) and jBPM
business
- process engine are two production-ready open source products supported by Red Hat.
It is
- very easy to incorporate rules and business processes into a Seam web application
using the
- Red Hat Developer Studio. In this section, we further re-factor the CRUD
application we
- already have and add support for an "order management" process.
The user scenario is to
- simulate the following process and rules:</para>
- <itemizedlist>
- <listitem>The site administrator logs in and sees a list of outstanding
orders</listitem>
- <listitem>She goes through the inventory (by hand or using another computer
system) and
- determines the availability of the products in each order. She enters that
information to
- each order.</listitem>
- <listitem>She starts a process for each order, which determines whether to
ship the order
- or refund the order based on a business rule applied to the availability status.
For
- instance, an "in stock" status triggers a
"ship" action while the "back order" status
- triggers a "refund" action.</listitem>
- <listitem>When the business process reaches the "ship" or
"refund" state, it will take
- appropriate actions (e.g., to submit shipping orders to Fedex or to contact the
credit
- card company for refund). In this simple case, we will just print out a message
on the
- console to prove that we can execute any code in those stages.</listitem>
- </itemizedlist>
- <para>While this process sounds simple, it is the basis for very complex
business
- processes. In this section of the tutorial, we will show you how this is done
via the
- following steps:</para>
- <itemizedlist>
- <listitem>Add a rule definition to the application</listitem>
- <listitem>Add a business process that uses that rule to the
application</listitem>
- <listitem>Start the business process from a web action</listitem>
- </itemizedlist>
-<section id="ImportConfigurationFilesAndJavaCode">
-<?dbhtml filename="ImportConfigurationFilesAndJavaCode.html"?>
-<title>Import configuration files and Java code</title>
-<para>Before we start, we need to import some configuration and Java files for the
demo project.
-Those files are very simple and we will review them as we go along with the tutorial. We
import
-them here to reduce potential typos and other errors in the tutorial.</para>
-<orderedlist>
-<listitem>Choose the <emphasis>File > Import ...</emphasis> menu and
then select <emphasis>General > Existing</emphasis> project into workspace
and
-click on the Next button.</listitem>
-</orderedlist>
-<figure>
-<title>Importing Project</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/ProjectImporting.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<orderedlist continuation="continues">
-<listitem>To make this demo a little more manageable we have already created some
demo code
-that is available in the rules-bpm directory of your tutorial distribution code. It is
- located in the root directory of the distribution. Select the rules-bpm directory and
check
- the "Copy projects into the workspace" directory check
box.</listitem>
-</orderedlist>
-<para>You will have a different directory on your machine than the screen shot
shown below.</para>
-<figure>
-<title>Selecting Directory To Import</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/ImportDirectory.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<orderedlist continuation="continues">
-<listitem>After this step you will see a new project called
"rules-bpm". If you expand that
-directory, you will see numerous files as shown below. We will look at these files in
this
- section of the demo. We will first start by copying these files into our EclipseCon
project.</listitem>
-</orderedlist>
-
-<figure>
-<title>Project Structure</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/ProjectStructure.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<orderedlist continuation="continues">
-<listitem>Right click on the rules-bpm/build.xml file, and select
<emphasis>Run AS ... > Ant</emphasis> Build.</listitem>
-</orderedlist>
-
-<figure>
-<title>AntBuild</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/AntBuild.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<orderedlist continuation="continues">
-<listitem>Right click on the EclipseCon project and select Refresh from the menu to
pick up
- the changes made to the demo application. The rules-bpm/build.xml script copies a bunch
of files
- into your existing EclipseCon project. We will look at them soon.</listitem>
-</orderedlist>
-</section>
-<section id="CreateARuledefinition">
-<?dbhtml filename="CreateARuledefinition.html"?>
-<title>Create a rule definition</title>
-<para>In this section, we create a business rule that can be used in junction with
the business
- process. When the rule is executed, it checks the status of the currently selected
order. If the
- order status is "in stock", meaning that a person has check off line
and verified the
- availability of the product ordered, the system changes the order status to
"ship", meaning
- that someone will now ship the product as the next step in the process. If the order
status
- is "back order", the rule changes the order status to
"refund" automatically to trigger the
- business process of refunding.</para>
- <orderedlist>
- <listitem>Select the<emphasis> EclipseCon/resources
</emphasis>directory. That is where we are going to put the
- rules definition file.</listitem>
- <listitem>Select the following menu actions: <emphasis>File > New
> Other ... > JBoss Rules > New
- Rules Resource</emphasis> to bring up the JBoss Rules
wizard.</listitem>
- </orderedlist>
- <figure>
-<title>New Rules File</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/NewRulesFile.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<orderedlist continuation="continues">
-<listitem>Fill out the above window with the following values.</listitem>
-</orderedlist>
-<table>
- <title>Rule Table</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Field Name</entry>
- <entry>Field Value</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>File Name</entry>
- <entry>process-order.drl</entry>
- </row>
- <row>
- <entry>Type of Rule Resource</entry>
- <entry>New DRL (rule package)</entry>
- </row>
- <row>
- <entry>Rule Package Name</entry>
- <entry>process.order</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <orderedlist continuation="continues">
-<listitem>Replace the content of the process-order.drl file with the follow
rule.</listitem>
-</orderedlist>
-<programlisting role="JAVA"><![CDATA[package process.order
- import com.mydomain.EclipseCon.Orders;
-
-rule "Ship order rule"
- when
- order : Orders(status == "in stock")
- then
- order.setStatus("ship");
-end
-
-rule "Refund order rule"
- when
- order : Orders(status == "back order")
- then
- order.setStatus("refund");
-end
-]]></programlisting>
-<para>Notice that the IDE automatically highlights the syntax and provides
auto-completion help.
- You may wonder how Seam knows to load the process-order.drl file for the
application.</para>
- <para>If you look in the
<emphasis>resources/WEB-INF/components.xml</emphasis> file we copied from the
imported
- rules-bpm project. It has an element pointing to the process-order.drl
file.</para>
- <programlisting role="XML"><![CDATA[<drools:rule-base
name="securityRules">
- <drools:rule-files>
- <value>/security.drl</value>
- </drools:rule-files>
- </drools:rule-base>
-]]></programlisting>
-</section>
-<section id="CreateABusinessProcessDefinition">
-<?dbhtml filename="CreateABusinessProcessDefinition.html"?>
-<title>Create a business process definition</title>
-<para>Next, let's create a business process that manages the order
process. The business process
- essentially specifies a sequence of actions that has to happen before an order is
shipped or
- refunded. Since the business analyst typically designs this process, it is very high
level and
- can be drawn up in a GUI designer.</para>
- <orderedlist>
- <listitem>Select the<emphasis> EclipseCon/resources </emphasis>folder
and select menu actions <emphasis>File > New > File</emphasis>.
- Add a new file called process-order.jpdl.xml as shown below:</listitem>
- </orderedlist>
- <figure>
-<title>Creating New File Resource</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/CreatingNewFileResource.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-
-<orderedlist continuation="continues">
-<listitem>Add the following content to the process-order.jpdl.xml file. It is an
empty jBPM
-process definition, and allows us to use the jBPM visual designer to further edit
it.</listitem>
-</orderedlist>
-<programlisting role="XML"><![CDATA[<?xml version="1.0"
encoding="UTF-8"?>
-<process-definition
- xmlns="" name="process-order">
-</process-definition>
-]]></programlisting>
-<orderedlist continuation="continues">
-<listitem>Right click on the process-order.jpdl.xml file and select
<emphasis>Open with ... > jBPM
-Graphical Process Designer</emphasis>.</listitem>
-</orderedlist>
-<figure>
-<title>Opening Graphical Process Designer</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/GraphicalProcessDesigner.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<orderedlist continuation="continues">
-<listitem>In the designer, drag and drop nodes and transition lines until you have
a process
- shown in the following image. This is a high level process and aimed at business level
non
- technical users.</listitem>
-</orderedlist>
-<para>To draw a node, click on the type of the node in the palette. You should be
able to see
-that based on the icon on the node as shown below. Draw a rectangle on the canvas and
the
- appropriate node will be rendered.</para>
- <para>To draw a transition click on the transition icon in the palette, choose the
source node
- and then the destination node. This will draw a transition from the source to the
destination.</para>
- <para>To change the name on the node or transition, select the object and change
the name in
- the properties view or simply double click on the node or the transition line to change
it.</para>
- <figure>
-<title>Diagram View</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/DiagramView.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<orderedlist continuation="continues">
-<listitem>Save this file. You can click on the Source tab to view the generated XML
file for
- the process.</listitem>
-</orderedlist>
-</section>
-<section id="AssociateProcessNodesWithJavaCode">
-<?dbhtml filename="AssociateProcessNodesWithJavaCode.html"?>
-<title>Associate process nodes with Java code</title>
-<para>With the business process in the designer, we can now associate each node
with Java code.
- The Java code is executed when the node is reached in the process, and the Java code
determines
- the outcome of each node – hence the next node in the process.</para>
- <para>Let's go through the exercise for the "Check
Inventory" node first.</para>
- <orderedlist>
- <listitem>Right click on the "Check Inventory" node in the
designer and select <emphasis>Add
- Actions > Node Enter </emphasis>from the menu as shown
below.</listitem>
- </orderedlist>
- <figure>
-<title>Node Entering</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/NodeEntering.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<orderedlist continuation="continues">
-<listitem>In the Outline view tab, open the tree view of process-order > Check
Inventory >
-node enter, and you will see action1. The Outline view may be hidden or on the left side
of the
- IDE.</listitem>
-</orderedlist>
-<figure>
-<title>Outline View</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/OutlineView.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<orderedlist continuation="continues">
-<listitem>Double click on action1 to bring up the wizard. Select Handler on the
left and enter
- com.mydomain.EclipseCon.process. CheckInventoryAction as the class and bean as the type
as shown
- below. You can can also search for the class by clicking on the
<emphasis>Browse...</emphasis> button.</listitem>
-</orderedlist>
-<figure>
-<title>Action Handler</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/ActionHandler.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<para>Explanation: Now, you must wonder where this
-com.mydomain.EclipseCon.process.CheckInventoryAction class come from It comes from the
-eclipsecon-rules-bpm project we imported. The Java class has a single method that is
executed
-when the "Check Inventory" node is reached in the process. The method
just fires the rule we
-previously defined in process-order.drl. After the rule is executed, it updates the
-"inventoryStatus" component. Here is the method:</para>
-<programlisting role="JAVA"><![CDATA[public void
execute(ExecutionContext ctx) throws Exception {
-
- //get a handle to the rules engine
- Component c = (Component) Contexts.getApplicationContext().get(
- "orderWorkingMemory.component");
- WorkingMemory wm = (WorkingMemory) ((ManagedWorkingMemory) c
- .newInstance()).getWorkingMemory();
-
- //get the ordersHome variable that was set in OrderProcessor.
- OrdersHome order = (OrdersHome) ctx.getVariable("ordersHome");
-
- //Assert Orders to working memory and fire rules
- wm.assertObject(order.getInstance());
- wm.fireAllRules();
-
-
- //persist the updated Orders object
- order.persist();
-
- //set inventory status so decision node knows what to do
- ctx.setVariable("inventoryStatus", order.getInstance().getStatus());
- System.out.println("CHECK INVENTORY - STATUS: "
- + order.getInstance().getStatus());
-}
-]]></programlisting>
-<para>The "inventoryStatus" component is then used in the
"Inventory Decision" node to determine
-which node to go to next. To do that, open the process-order.jpdl.xml file in the text
editor and
- change the node from this</para>
- <programlisting role="XML"><![CDATA[<decision name="Inventory
Decision">
- <transition name="ship" to="Ship
Order"></transition>
- <transition name="refund" to="Refund
Order"></transition>
- </decision>
-]]></programlisting>
-<para>to this:</para>
-<programlisting role="XML"><![CDATA[<decision name="Inventory
Decision" expression="#{inventoryStatus}">
- <transition name="ship" to="Ship
Order"></transition>
- <transition name="refund" to="Refund
Order"></transition>
- </decision>
-]]></programlisting>
-<para>Now, let's repeat the exercise to assign handler Java classes to the
"Ship Order" and "Refund Order" nodes. </para>
-<itemizedlist>
-<listitem>Associate "Ship Order" node with the
com.mydomain.EclipseCon.process.ShipOrderAction
-bean</listitem>
-<listitem>Associate "Refund Order" node with the
com.mydomain.EclipseCon.process.SendRefundAction bean</listitem>
-</itemizedlist>
-<para>As we described earlier, in a real world system, those two nodes would invoke
Java code
- that perform real shipping and refunding tasks. But here we just print out a message as
a proof
- of concept. You can look into their Java classes if you have time.</para>
-</section>
-<section id="StartTheProcessFromAWebAction">
-<?dbhtml filename="StartTheProcessFromAWebAction.html"?>
-<title>Start the process from a web action</title>
-<para>Finally, we need a "hook" to start the entire business
process. We will add a new Process
- Order button to the Orders.xhtml file.</para>
- <para>You can add the new button right next to the existing "Add
orderdetails" button.
- Copy/paste the following button code in the actionButtons region:</para>
- <programlisting role="JSP"><![CDATA[<s:button
id="buttonId" value="Process Order"
- action="#{orderProcessor.startProcess}"
- view="/Orders.xhtml"/>
-]]></programlisting>
-<para>Explanation: When you click on the Process Order button, Seam invokes
-the #{orderProcessor.startProcess} method, which in turn, starts the business process.
The Java
-code for the #{orderProcessor} component is in the
com.mydomain.EclipseCon.process.OrderProcessor
-class. Like other Java source files in the process package, the OrderProcessor.java is
already
-copied to the EclipseCon project when you run the build.xml script from the imported
rules-bpm
- project. Here is the content of the OrderProcessor.java file. The startProcess() method,
which
- is invoked from the Process Order button, starts the process-order process we just
created.</para>
-<programlisting
role="JAVA"><![CDATA[@Name("orderProcessor")
-public class OrderProcessor {
-
- //Set the Orders object as a jBPM context variable
- @In(create = true)
- @Out(scope = ScopeType.BUSINESS_PROCESS)
- OrdersHome ordersHome;
-
- //Execute the jBPM process
- @CreateProcess(definition = "process-order")
- public String startProcess() {
- return "success";
- }
-}
-]]></programlisting>
-</section>
-<section id="TryItOut">
-<?dbhtml filename="TryItOut.html"?>
-<title>Try it out</title>
-<para>Now save the project and restart the server to make sure that it is properly
re-deployed.
-Navigate to the OrdersList page and enter "In Process" to the status
field to search for
-un-processed orders.</para>
-<para>Select one order and edit the order and change the
"status" field to "in stock" and
-click "Done". Please enter the case exactly as indicated
here:</para>
-<figure>
-<title>Order Edit Page</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/OrderEditPage.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<para>Click the "Process Order" button.</para>
-<figure>
-<title>Order Details</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/OrderDetails.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<para>The business process should lead to the ShipOrderAction bean, which will
print out the
- "SHIP ORDER" message in the console view tab at the bottom of the IDE
screen.</para>
- <figure>
-<title>Console View</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/ConsoleView.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<para>Select one order and change the "status" field to
"back order" and click "Done". Please
-enter the case exactly as indicated here:</para>
-<figure>
-<title>Changing Status Field</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/ChangingStatusField.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<para>Click the "Process Order" button.</para>
-<figure>
-<title>Invoking Process Order</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/InvokingProcessOrder.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<para>The business process should invoke the SendRefundAction bean, which will
print out the
-"SEND REFUND" message in the console view tab at the bottom of the IDE
screen.</para>
-<figure>
-<title>Console Panel</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/ConsolePanel.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<para>This example shows a simple example of the powerful jBPM and JBoss Rules
runtimes
-integrated in a Seam application. We have also see how easy it is build these kinds of
-applications using the Red Hat Developer Studio.</para>
-</section>
-<section id="TroubleshootingOnLinux">
-<?dbhtml filename="TroubleshootingOnLinux.html"?>
-<title>Troubleshooting on Linux</title>
-<para>Linux users may need to do the following to get the Eclipse distribution to
work correctly
-on their machines.</para>
-<orderedlist>
-<listitem>On Red Hat based Linux distributions install the xpLib.i386
package</listitem>
-<listitem>ln -s libstdc++.so.5.0.7 libstdc++.so.5</listitem>
-<listitem>Open the RHDS perspective. If you see the Help view open, close it and
restart RHDS</listitem>
-<listitem>If none of these work, do the following
-<itemizedlist>
-<listitem>Clear the Eclipse log file,
<workspace>\.metadata\.log</listitem>
-<listitem>Start Eclipse with the -debug option:
-<para>eclipse -debug</para></listitem>
-<listitem>Post the Eclipse log file (<workspace>\.metadata\.log) on
the forums.</listitem>
-</itemizedlist>
-</listitem>
-</orderedlist>
-</section>
- </chapter>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="AddBusinessProcess"
xreflabel="AddBusinessProcess">
+ <?dbhtml filename="AddBusinessProcess.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>Business process</keyword>
+ <keyword>Seam</keyword>
+ <keyword>JBoss Rules</keyword>
+ <keyword>CURD-application</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Business process and rules application</title>
+ <para>Rules and business processes are important components in many enterprise
applications.
+ They help business analysts to get involved in the design and implementation of the
software
+ project. Rules and business processes are also essential to complex internal states
of large,
+ multi-user systems. The JBoss Rules engine (formerly known as Drools) and jBPM
business
+ process engine are two production-ready open source products supported by Red Hat.
It is
+ very easy to incorporate rules and business processes into a Seam web application
using the
+ Red Hat Developer Studio. In this section, we further re-factor the CRUD
application we
+ already have and add support for an "order management" process.
The user scenario is to
+ simulate the following process and rules:</para>
+ <itemizedlist>
+ <listitem>The site administrator logs in and sees a list of outstanding
orders</listitem>
+ <listitem>She goes through the inventory (by hand or using another computer
system) and
+ determines the availability of the products in each order. She enters that
information to
+ each order.</listitem>
+ <listitem>She starts a process for each order, which determines whether to
ship the order
+ or refund the order based on a business rule applied to the availability status.
For
+ instance, an "in stock" status triggers a
"ship" action while the "back order" status
+ triggers a "refund" action.</listitem>
+ <listitem>When the business process reaches the "ship" or
"refund" state, it will take
+ appropriate actions (e.g., to submit shipping orders to Fedex or to contact the
credit
+ card company for refund). In this simple case, we will just print out a message
on the
+ console to prove that we can execute any code in those stages.</listitem>
+ </itemizedlist>
+ <para>While this process sounds simple, it is the basis for very complex
business
+ processes. In this section of the tutorial, we will show you how this is done
via the
+ following steps:</para>
+ <itemizedlist>
+ <listitem>Add a rule definition to the application</listitem>
+ <listitem>Add a business process that uses that rule to the
application</listitem>
+ <listitem>Start the business process from a web action</listitem>
+ </itemizedlist>
+<section id="ImportConfigurationFilesAndJavaCode">
+<?dbhtml filename="ImportConfigurationFilesAndJavaCode.html"?>
+<title>Import configuration files and Java code</title>
+<para>Before we start, we need to import some configuration and Java files for the
demo project.
+Those files are very simple and we will review them as we go along with the tutorial. We
import
+them here to reduce potential typos and other errors in the tutorial.</para>
+<orderedlist>
+<listitem>Choose the <emphasis>File > Import ...</emphasis> menu and
then select <emphasis>General > Existing</emphasis> project into workspace
and
+click on the Next button.</listitem>
+</orderedlist>
+<figure>
+<title>Importing Project</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ProjectImporting.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<orderedlist continuation="continues">
+<listitem>To make this demo a little more manageable we have already created some
demo code
+that is available in the rules-bpm directory of your tutorial distribution code. It is
+ located in the root directory of the distribution. Select the rules-bpm directory and
check
+ the "Copy projects into the workspace" directory check
box.</listitem>
+</orderedlist>
+<para>You will have a different directory on your machine than the screen shot
shown below.</para>
+<figure>
+<title>Selecting Directory To Import</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ImportDirectory.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<orderedlist continuation="continues">
+<listitem>After this step you will see a new project called
"rules-bpm". If you expand that
+directory, you will see numerous files as shown below. We will look at these files in
this
+ section of the demo. We will first start by copying these files into our EclipseCon
project.</listitem>
+</orderedlist>
+
+<figure>
+<title>Project Structure</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ProjectStructure.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<orderedlist continuation="continues">
+<listitem>Right click on the rules-bpm/build.xml file, and select
<emphasis>Run AS ... > Ant</emphasis> Build.</listitem>
+</orderedlist>
+
+<figure>
+<title>AntBuild</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/AntBuild.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<orderedlist continuation="continues">
+<listitem>Right click on the EclipseCon project and select Refresh from the menu to
pick up
+ the changes made to the demo application. The rules-bpm/build.xml script copies a bunch
of files
+ into your existing EclipseCon project. We will look at them soon.</listitem>
+</orderedlist>
+</section>
+<section id="CreateARuledefinition">
+<?dbhtml filename="CreateARuledefinition.html"?>
+<title>Create a rule definition</title>
+<para>In this section, we create a business rule that can be used in junction with
the business
+ process. When the rule is executed, it checks the status of the currently selected
order. If the
+ order status is "in stock", meaning that a person has check off line
and verified the
+ availability of the product ordered, the system changes the order status to
"ship", meaning
+ that someone will now ship the product as the next step in the process. If the order
status
+ is "back order", the rule changes the order status to
"refund" automatically to trigger the
+ business process of refunding.</para>
+ <orderedlist>
+ <listitem>Select the<emphasis> EclipseCon/resources
</emphasis>directory. That is where we are going to put the
+ rules definition file.</listitem>
+ <listitem>Select the following menu actions: <emphasis>File > New
> Other ... > JBoss Rules > New
+ Rules Resource</emphasis> to bring up the JBoss Rules
wizard.</listitem>
+ </orderedlist>
+ <figure>
+<title>New Rules File</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/NewRulesFile.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<orderedlist continuation="continues">
+<listitem>Fill out the above window with the following values.</listitem>
+</orderedlist>
+<table>
+ <title>Rule Table</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Field Name</entry>
+ <entry>Field Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>File Name</entry>
+ <entry>process-order.drl</entry>
+ </row>
+ <row>
+ <entry>Type of Rule Resource</entry>
+ <entry>New DRL (rule package)</entry>
+ </row>
+ <row>
+ <entry>Rule Package Name</entry>
+ <entry>process.order</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <orderedlist continuation="continues">
+<listitem>Replace the content of the process-order.drl file with the follow
rule.</listitem>
+</orderedlist>
+<programlisting role="JAVA"><![CDATA[package process.order
+ import com.mydomain.EclipseCon.Orders;
+
+rule "Ship order rule"
+ when
+ order : Orders(status == "in stock")
+ then
+ order.setStatus("ship");
+end
+
+rule "Refund order rule"
+ when
+ order : Orders(status == "back order")
+ then
+ order.setStatus("refund");
+end
+]]></programlisting>
+<para>Notice that the IDE automatically highlights the syntax and provides
auto-completion help.
+ You may wonder how Seam knows to load the process-order.drl file for the
application.</para>
+ <para>If you look in the
<emphasis>resources/WEB-INF/components.xml</emphasis> file we copied from the
imported
+ rules-bpm project. It has an element pointing to the process-order.drl
file.</para>
+ <programlisting role="XML"><![CDATA[<drools:rule-base
name="securityRules">
+ <drools:rule-files>
+ <value>/security.drl</value>
+ </drools:rule-files>
+ </drools:rule-base>
+]]></programlisting>
+</section>
+<section id="CreateABusinessProcessDefinition">
+<?dbhtml filename="CreateABusinessProcessDefinition.html"?>
+<title>Create a business process definition</title>
+<para>Next, let's create a business process that manages the order
process. The business process
+ essentially specifies a sequence of actions that has to happen before an order is
shipped or
+ refunded. Since the business analyst typically designs this process, it is very high
level and
+ can be drawn up in a GUI designer.</para>
+ <orderedlist>
+ <listitem>Select the<emphasis> EclipseCon/resources </emphasis>folder
and select menu actions <emphasis>File > New > File</emphasis>.
+ Add a new file called process-order.jpdl.xml as shown below:</listitem>
+ </orderedlist>
+ <figure>
+<title>Creating New File Resource</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/CreatingNewFileResource.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+
+<orderedlist continuation="continues">
+<listitem>Add the following content to the process-order.jpdl.xml file. It is an
empty jBPM
+process definition, and allows us to use the jBPM visual designer to further edit
it.</listitem>
+</orderedlist>
+<programlisting role="XML"><![CDATA[<?xml version="1.0"
encoding="UTF-8"?>
+<process-definition
+ xmlns="" name="process-order">
+</process-definition>
+]]></programlisting>
+<orderedlist continuation="continues">
+<listitem>Right click on the process-order.jpdl.xml file and select
<emphasis>Open with ... > jBPM
+Graphical Process Designer</emphasis>.</listitem>
+</orderedlist>
+<figure>
+<title>Opening Graphical Process Designer</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/GraphicalProcessDesigner.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<orderedlist continuation="continues">
+<listitem>In the designer, drag and drop nodes and transition lines until you have
a process
+ shown in the following image. This is a high level process and aimed at business level
non
+ technical users.</listitem>
+</orderedlist>
+<para>To draw a node, click on the type of the node in the palette. You should be
able to see
+that based on the icon on the node as shown below. Draw a rectangle on the canvas and
the
+ appropriate node will be rendered.</para>
+ <para>To draw a transition click on the transition icon in the palette, choose the
source node
+ and then the destination node. This will draw a transition from the source to the
destination.</para>
+ <para>To change the name on the node or transition, select the object and change
the name in
+ the properties view or simply double click on the node or the transition line to change
it.</para>
+ <figure>
+<title>Diagram View</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/DiagramView.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<orderedlist continuation="continues">
+<listitem>Save this file. You can click on the Source tab to view the generated XML
file for
+ the process.</listitem>
+</orderedlist>
+</section>
+<section id="AssociateProcessNodesWithJavaCode">
+<?dbhtml filename="AssociateProcessNodesWithJavaCode.html"?>
+<title>Associate process nodes with Java code</title>
+<para>With the business process in the designer, we can now associate each node
with Java code.
+ The Java code is executed when the node is reached in the process, and the Java code
determines
+ the outcome of each node – hence the next node in the process.</para>
+ <para>Let's go through the exercise for the "Check
Inventory" node first.</para>
+ <orderedlist>
+ <listitem>Right click on the "Check Inventory" node in the
designer and select <emphasis>Add
+ Actions > Node Enter </emphasis>from the menu as shown
below.</listitem>
+ </orderedlist>
+ <figure>
+<title>Node Entering</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/NodeEntering.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<orderedlist continuation="continues">
+<listitem>In the Outline view tab, open the tree view of process-order > Check
Inventory >
+node enter, and you will see action1. The Outline view may be hidden or on the left side
of the
+ IDE.</listitem>
+</orderedlist>
+<figure>
+<title>Outline View</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/OutlineView.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<orderedlist continuation="continues">
+<listitem>Double click on action1 to bring up the wizard. Select Handler on the
left and enter
+ com.mydomain.EclipseCon.process. CheckInventoryAction as the class and bean as the type
as shown
+ below. You can can also search for the class by clicking on the
<emphasis>Browse...</emphasis> button.</listitem>
+</orderedlist>
+<figure>
+<title>Action Handler</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ActionHandler.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<para>Explanation: Now, you must wonder where this
+com.mydomain.EclipseCon.process.CheckInventoryAction class come from It comes from the
+eclipsecon-rules-bpm project we imported. The Java class has a single method that is
executed
+when the "Check Inventory" node is reached in the process. The method
just fires the rule we
+previously defined in process-order.drl. After the rule is executed, it updates the
+"inventoryStatus" component. Here is the method:</para>
+<programlisting role="JAVA"><![CDATA[public void
execute(ExecutionContext ctx) throws Exception {
+
+ //get a handle to the rules engine
+ Component c = (Component) Contexts.getApplicationContext().get(
+ "orderWorkingMemory.component");
+ WorkingMemory wm = (WorkingMemory) ((ManagedWorkingMemory) c
+ .newInstance()).getWorkingMemory();
+
+ //get the ordersHome variable that was set in OrderProcessor.
+ OrdersHome order = (OrdersHome) ctx.getVariable("ordersHome");
+
+ //Assert Orders to working memory and fire rules
+ wm.assertObject(order.getInstance());
+ wm.fireAllRules();
+
+
+ //persist the updated Orders object
+ order.persist();
+
+ //set inventory status so decision node knows what to do
+ ctx.setVariable("inventoryStatus", order.getInstance().getStatus());
+ System.out.println("CHECK INVENTORY - STATUS: "
+ + order.getInstance().getStatus());
+}
+]]></programlisting>
+<para>The "inventoryStatus" component is then used in the
"Inventory Decision" node to determine
+which node to go to next. To do that, open the process-order.jpdl.xml file in the text
editor and
+ change the node from this</para>
+ <programlisting role="XML"><![CDATA[<decision name="Inventory
Decision">
+ <transition name="ship" to="Ship
Order"></transition>
+ <transition name="refund" to="Refund
Order"></transition>
+ </decision>
+]]></programlisting>
+<para>to this:</para>
+<programlisting role="XML"><![CDATA[<decision name="Inventory
Decision" expression="#{inventoryStatus}">
+ <transition name="ship" to="Ship
Order"></transition>
+ <transition name="refund" to="Refund
Order"></transition>
+ </decision>
+]]></programlisting>
+<para>Now, let's repeat the exercise to assign handler Java classes to the
"Ship Order" and "Refund Order" nodes. </para>
+<itemizedlist>
+<listitem>Associate "Ship Order" node with the
com.mydomain.EclipseCon.process.ShipOrderAction
+bean</listitem>
+<listitem>Associate "Refund Order" node with the
com.mydomain.EclipseCon.process.SendRefundAction bean</listitem>
+</itemizedlist>
+<para>As we described earlier, in a real world system, those two nodes would invoke
Java code
+ that perform real shipping and refunding tasks. But here we just print out a message as
a proof
+ of concept. You can look into their Java classes if you have time.</para>
+</section>
+<section id="StartTheProcessFromAWebAction">
+<?dbhtml filename="StartTheProcessFromAWebAction.html"?>
+<title>Start the process from a web action</title>
+<para>Finally, we need a "hook" to start the entire business
process. We will add a new Process
+ Order button to the Orders.xhtml file.</para>
+ <para>You can add the new button right next to the existing "Add
orderdetails" button.
+ Copy/paste the following button code in the actionButtons region:</para>
+ <programlisting role="JSP"><![CDATA[<s:button
id="buttonId" value="Process Order"
+ action="#{orderProcessor.startProcess}"
+ view="/Orders.xhtml"/>
+]]></programlisting>
+<para>Explanation: When you click on the Process Order button, Seam invokes
+the #{orderProcessor.startProcess} method, which in turn, starts the business process.
The Java
+code for the #{orderProcessor} component is in the
com.mydomain.EclipseCon.process.OrderProcessor
+class. Like other Java source files in the process package, the OrderProcessor.java is
already
+copied to the EclipseCon project when you run the build.xml script from the imported
rules-bpm
+ project. Here is the content of the OrderProcessor.java file. The startProcess() method,
which
+ is invoked from the Process Order button, starts the process-order process we just
created.</para>
+<programlisting
role="JAVA"><![CDATA[@Name("orderProcessor")
+public class OrderProcessor {
+
+ //Set the Orders object as a jBPM context variable
+ @In(create = true)
+ @Out(scope = ScopeType.BUSINESS_PROCESS)
+ OrdersHome ordersHome;
+
+ //Execute the jBPM process
+ @CreateProcess(definition = "process-order")
+ public String startProcess() {
+ return "success";
+ }
+}
+]]></programlisting>
+</section>
+<section id="TryItOut">
+<?dbhtml filename="TryItOut.html"?>
+<title>Try it out</title>
+<para>Now save the project and restart the server to make sure that it is properly
re-deployed.
+Navigate to the OrdersList page and enter "In Process" to the status
field to search for
+un-processed orders.</para>
+<para>Select one order and edit the order and change the
"status" field to "in stock" and
+click "Done". Please enter the case exactly as indicated
here:</para>
+<figure>
+<title>Order Edit Page</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/OrderEditPage.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<para>Click the "Process Order" button.</para>
+<figure>
+<title>Order Details</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/OrderDetails.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<para>The business process should lead to the ShipOrderAction bean, which will
print out the
+ "SHIP ORDER" message in the console view tab at the bottom of the IDE
screen.</para>
+ <figure>
+<title>Console View</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ConsoleView.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<para>Select one order and change the "status" field to
"back order" and click "Done". Please
+enter the case exactly as indicated here:</para>
+<figure>
+<title>Changing Status Field</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ChangingStatusField.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<para>Click the "Process Order" button.</para>
+<figure>
+<title>Invoking Process Order</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/InvokingProcessOrder.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<para>The business process should invoke the SendRefundAction bean, which will
print out the
+"SEND REFUND" message in the console view tab at the bottom of the IDE
screen.</para>
+<figure>
+<title>Console Panel</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ConsolePanel.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<para>This example shows a simple example of the powerful jBPM and JBoss Rules
runtimes
+integrated in a Seam application. We have also see how easy it is build these kinds of
+applications using the Red Hat Developer Studio.</para>
+</section>
+ </chapter>
Modified:
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/GettingStartedWithRHDS.xml
===================================================================
---
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/GettingStartedWithRHDS.xml 2007-08-10
15:10:33 UTC (rev 3080)
+++
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/GettingStartedWithRHDS.xml 2007-08-10
17:42:12 UTC (rev 3081)
@@ -13,16 +13,12 @@
<section id="ConfigJavaEnvironment">
<?dbhtml filename="ConfigJavaEnvironment.html"?>
<title>Configuring Your Java Environment</title>
- <para>You must have a working installation of JDK 1.5 before you install JBoss
Enterprise Application Platform. You can install the 32-bit or 64-bit JVM as per your
- requirements. In this guide we will show you how to install a 32-bit Sun JDK 5.0 on a
Linux Platform and Microsoft Windows Platform. But before we do that let's take
- a look at some of the benefits of using a 64-bit JVM.</para>
- <emphasis role="bold">Benefits of 64-bit JVM on 64-bit OS and
Hardware:</emphasis>
- <itemizedlist>
- <listitem><para>Wider datapath: The pipe between RAM and CPU is doubled,
which improves the performance of memory-bound
applications.</para></listitem>
- <listitem><para>64-bit memory addressing gives virtually unlimited (1
exabyte) heap allocation. However large heaps affect garbage
collection.</para></listitem>
- <listitem><para>Applications that run with more than 1.5GB of RAM
(including free space for garbage collection optimization) should utilize the 64-bit
JVM.</para></listitem>
- <listitem><para>Applications that run on 32-bit JVM and do not require
more than minimal heap sizes will gain nothing from a 64-bit JVM. Barring memory issues,
64-bit hardware with the same relative clock speed and architecture is not likely to run
Java applications faster than their 32-bit cousin.</para></listitem>
- </itemizedlist>
+ <para>You must have a working installation of JDK 1.5 before you
+ install Red Hat Developer Studio. Currently it will only fully work
+ with a 32-bit JVM, not a 64-bit JVM. On a 64-bit JVM the visual
+ editor will fail to launch. Thus in this guide we will show you how
+ to install a 32-bit Sun JDK 5.0 on a Linux Platform and Microsoft
+ Windows Platform.</para>
<section id="InstallJDK50onLinux">
<title>Installing and Configuring 32-bit Sun JDK 5.0 on Linux</title>
<itemizedlist>
@@ -118,7 +114,7 @@
<title>Installing from the downloaded version</title>
<itemizedlist>
<listitem>
- <para>Download the appropriate installation file for your platform from
www.exadel.com/web/portal/download</para>
+ <para>Download the appropriate installation file for your platform from
http://www.redhat.com/developers/rhds/</para>
</listitem>
<listitem>
<para>Run install.jar and follow the instructions presented by the
installation wizard</para>
@@ -156,11 +152,12 @@
</note>
</section>
- <section id="InstallingthroughTheUpdateSite">
+<!-- <section id="InstallingthroughTheUpdateSite">
<?dbhtml filename="InstallingthroughTheUpdateSite.html"?>
<title>Installing via update Site</title>
TBD
</section>
+-->
</section>
<section id="Upgrading">
@@ -176,40 +173,24 @@
<listitem>Uninstall your current version of Red Hat Developer Studio by running
uninstaller</listitem>
</itemizedlist>
</section>
- <section id="Subscription">
- <?dbhtml filename="Subscription.html"?>
- <title>Subscription</title>
- <para>Enjoy the peace of mind that comes with knowing that you are just an email
away from having the advice of our development team at your fingertips to solve the
problems that crop up during application development. Get the advice you need to ensure
the success of your projects on time and on budget. Whether you are using JSF, RichFaces,
Ajax4jsf, Hibernate or Seam, the JBoss team is always available to help. Just subcribe to
our subcription program:</para>
- <para>What You Get:</para>
- <itemizedlist>
- <listitem>Email access to the JBoss customer support team (responses within 48
hours)</listitem>
- <listitem>Application development consultation</listitem>
- <listitem>Sample code</listitem>
- <listitem>Code review</listitem>
- <listitem>General architectural review</listitem>
- <listitem>User interface design tips</listitem>
- <listitem>Overviews of JSF or AJAX technologies</listitem>
- </itemizedlist>
- </section>
<section id="Support">
<?dbhtml filename="Support.html"?>
<title>Support</title>
- <para>If you have comments or questions, you can send them to
- <ulink
url="mailto:support@exadel.com">support@exadel.com</ulink> or
+ <para>If you have comments or questions, you can discuss them at our
<ulink
url="http://www.jboss.com/index.html?module=bb&op=viewforum&...
Hat Developer Studio Forum</ulink>.</para>
- <para>When writing to support, please include the following
information:</para>
+ <para>When writing to the forum for questions, please include the following
information:</para>
<orderedlist>
<listitem><para>Red Hat Developer Studio
version</para></listitem>
<listitem><para>Exact error message</para></listitem>
- <listitem><para>Exact steps you take to get the
error</para></listitem>
+ <listitem><para>Steps to reproduce the
issue</para></listitem>
</orderedlist>
</section>
<section id="FAQ">
<?dbhtml filename="FAQ.html"?>
<title>FAQ</title>
<para>For easy reference to Red Hat Developer Studio related questions, our FAQ
provides answers to our most "popular" questions.
- The sections of questions are organized by type. For further support, please contact
<ulink
url="mailto:support@exadel.com">support@exadel.com</ulink>.</para>
- <section id="Before_Installing">
+ The sections of questions are organized by type. </para>
+<!-- <section id="Before_Installing">
<title>Before Installing, Tutorials, Examples, Readme Files</title>
<para><emphasis role="bold">I'm looking for examples, do you
have any?</emphasis></para>
<para>Yes, simply go to our <ulink
url="http://exadel.com/web/portal/products/Tutorials">tutorials
page</ulink></para>
@@ -219,21 +200,39 @@
<para>Try these resources: <ulink
url="http://www.exadel.com/exadelstudio/help/">User
Guide</ulink></para>
<para><emphasis role="bold">What version of Eclipse does Red Hat
Developer Studio support?</emphasis></para>
<para>Red Hat Developer Studio works with Eclipse 3.3</para>
- </section>
+ </section> -->
<section id="Downloading">
<title>Downloading</title>
<para><emphasis role="bold">Where can I download a copy of Red
Hat Developer Studio?</emphasis></para>
- <para>Go to <ulink
url="http://www.exadel.com/web/portal/download/esp35">Download
Page</ulink></para>
+ <para>Go to <ulink
url="http://redhat.com/developers/rhds">Download
Page</ulink></para>
</section>
<section id="Installation_Issues">
<title>Installation Issues</title>
+ <para><emphasis role="bold">Visual Editor does not start under
Linux</emphasis></para>
+ <para>Linux users may need to do the following to get the visual editor to work
correctly
+on their machines.</para>
+
+<orderedlist>
+<listitem>On Red Hat based Linux distributions install the xpLib.i386
package</listitem>
+<listitem>ln -s libstdc++.so.5.0.7 libstdc++.so.5</listitem>
+<listitem>and/or use yum install libXp</listitem>
+<listitem>Open the RHDS perspective. If you see the Help view open, close it and
restart RHDS</listitem>
+<listitem>If none of these work, do the following
+<itemizedlist>
+<listitem>Clear the Eclipse log file,
<workspace>\.metadata\.log</listitem>
+<listitem>Start Eclipse with the -debug option:
+<para>eclipse -debug</para></listitem>
+<listitem>Post the Eclipse log file (<workspace>\.metadata\.log) on
the forums.</listitem>
+</itemizedlist>
+</listitem>
+</orderedlist>
+
+
<para><emphasis role="bold">Do I need to have JBoss server
installed to run Red Hat Developer Studio?</emphasis></para>
<para>No. Red Hat Developer Studio already comes bundled with JBoss server. We
bundle it together so that you don't need to download any
additional software and can test your application in a Web browser right
away.</para>
<para>If you want to use a different JBoss server installation, after Red Hat
Developer Studio is installed open Servers View (select Window > Show View >
Others > Server > Servers), then right click on this view > New
> Server and follow the wizards steps to point to another Jboss server
installation.</para>
<para>Red Hat Developer Studio works with any servlet container, not just JBoss.
For more information on deployment, please see the Deploying Your Application
section.</para>
- <para><emphasis role="bold"> What third-party plug-ins are
installed with RHDS?</emphasis></para>
- <para>Read the <link
linkend="Installing">Installation</link> section.</para>
</section>
<section id="Importing_Projects">
<title>Importing Projects</title>
@@ -245,8 +244,10 @@
<section id="Troubleshooting">
<title>Troubleshooting, Problems, Configuration, Error Messages</title>
<para><emphasis role="bold">Is it possible to increase the
performance of Eclipse after installing your product? My Eclipse now
crawls.</emphasis></para>
- <para>By default, Eclipse allocates only 128 Mb of memory whatever physical
memory you actually have installed. You can significantly increase performance if you
allocate more memory. For example:</para>
+ <para>Red Hat Developer Studio preconfigures eclipse via the eclipse.ini file to
allocate extra memory, but if you for some reason are using your own version of Eclipse
then
+ by default, Eclipse allocates only 128 Mb of memory whatever physical memory you
actually have installed. You can significantly increase performance if you allocate more
memory. For example:</para>
<para>-vmargs -Xms128m -Xmx512m -XX:MaxPermSize=128m</para>
+
<para><emphasis role="bold">How can I add my own tag library to
the Red Hat Palette?</emphasis></para>
<para>See <ulink
url="http://labs.jboss.com/jbossjsftools/docs">Adding Tag
Libraries</ulink> in JBossJSFTools Guide.</para>
<para><emphasis role="bold">I see the Oracle ADF Faces component
library tags in the Red Hat Palette, but I can't seem to find the libraries for
ADF. How do I use this component library with RHDS?</emphasis></para>
Modified:
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/ManageJBossAS.xml
===================================================================
---
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/ManageJBossAS.xml 2007-08-10
15:10:33 UTC (rev 3080)
+++
trunk/documentation/GettingStartedGuide/docs/userguide/en/modules/ManageJBossAS.xml 2007-08-10
17:42:12 UTC (rev 3081)
@@ -42,6 +42,7 @@
</figure>
<para>While launching Server output will be written to the Console
view:</para>
+<!-- TODO: make a screenshot that doesn't show an exception!
<figure>
<title>Console output</title>
<mediaobject>
@@ -49,7 +50,7 @@
<imagedata fileref="images/consoleoutput.png"/>
</imageobject>
</mediaobject>
-</figure>
+</figure>-->
<para>When server has started you should see "Started" right to
its name in JBoss Server view (column "Status").</para>
<figure>
<title>Server is started</title>
@@ -72,7 +73,7 @@
<section id="StoppingJBoss">
<?dbhtml filename="StoppingJBoss.html"?>
<title>Stopping JBoss server</title>
- <para>To stop the server select the Stop sign in JBoss Server View or right click
the server name and press Stop.</para>
+ <para>To stop the server click the Stop icon in JBoss Server View or right click
the server name and press Stop.</para>
<figure>
<title>Stopping server</title>
<mediaobject>
@@ -231,4 +232,4 @@
</section>
- </chapter>
\ No newline at end of file
+ </chapter>