diff options
authorVrishali Doke2012-11-27 01:20:37 -0500
committerStephan Born2012-11-27 01:20:37 -0500
commitcc763233fb0c4bcf60c1dac35d22167ebda8ac0f (patch)
parent39c5fcaab1f59f9bd3e799a310fc5c8507f146a5 (diff)
CRNT-27093 - Added camel route application details
git-svn-id: http://emeafrazerg/svn/ipp/product/trunk/stardust/documentation@61132 8100b5e0-4d52-466c-ae9c-bdeccbdeaf6b -> 11932 bytes -> 13171 bytes -> 1871 bytes -> 13697 bytes -> 3620 bytes
6 files changed, 79 insertions, 1 deletions
diff --git a/ b/
new file mode 100644
index 0000000..d2bc0b7
--- /dev/null
+++ b/
Binary files differ
diff --git a/ b/
new file mode 100644
index 0000000..5162fa5
--- /dev/null
+++ b/
Binary files differ
diff --git a/ b/
new file mode 100644
index 0000000..dd989b3
--- /dev/null
+++ b/
Binary files differ
diff --git a/ b/
new file mode 100644
index 0000000..9190e41
--- /dev/null
+++ b/
Binary files differ
diff --git a/ b/
new file mode 100644
index 0000000..e846108
--- /dev/null
+++ b/
Binary files differ
diff --git a/ b/
index 67cbc36..7d4559f 100644
--- a/
+++ b/
@@ -321,7 +321,85 @@ nor selected. The message names themselves are not filtered. The top level tree
<h3 id="cam">Camel Route Application</h3>
+<h4>Route Definitions</h4>
+<p>The Camel Application Type allows you to specify arbitrary Camel Routes to
+ be invoked from Activities in Process Models at runtime, like</p>
+<p><img src="images/camel-config-one.png">
+<br> <strong>Figure:</strong> Simple Route - Example</p>
+<p>or more complex cases like</p>
+<p><img src="images/complex-route.png"></p>
+<p>In all cases, you need to ensure that the Camel Components used in the Tags
+ are part of your Runtime Environment setup. By default, the following Camel
+ Components are available:</p>
+ <li><b>bean</b></li>
+ <li><b>browse</b></li>
+ <li><b>class</b></li>
+ <li><b>dataset</b></li>
+ <li><b>direct</b></li>
+ <li><b>file</b></li>
+ <li><b>language</b></li>
+ <li><b>log</b></li>
+ <li><b>mock</b></li>
+ <li><b>properties</b></li>
+ <li><b>ref</b></li>
+ <li><b>seda</b></li>
+ <li><b>test</b></li>
+ <li><b>timer</b></li>
+ <li><b>validator</b></li>
+ <li><b>vm</b></li>
+ <li><b>xslt</b></li>
+ <li><b>spring-event</b></li>
+<p>Detailed description of each component could be found in the <a href="">Camel site</a>.</p>
+<p>Additional Camel Components can be added via Utility JARs as part of a <a href="managing-solutions.htm">Solution
+ Release</a> to a Runtime Environment.</p>
+<h2>Additional Bean Definitions</h2>
+<p>You may use references to Spring Beans in your routes. These Spring Beans are
+ either expected to be defined externally in your runtime environment or can
+ be defined in the <b>Additional Bean Specification</b> Text Area:</p>
+<h2><img src="images/route-with-spring-bean.png"></h2>
+<p>Hereby, the byte code of <b>com.siriussuper.order.OrderCache</b> is expected
+ to be available in your runtime deployment, e.g. by adding a Utility JAR file
+ with this byte code to your <a href="managing-solutions.htm">Solution Release</a>.</p>
+<h2>Symbolic &lt;from/&gt; Tag</h2>
+<p>Although @integration-productnameshort@ will add this tag automatically at
+ the beginning of the route, you may add an explicit <b>&lt;from uri=&quot;ipp:direct&quot;/&gt;</b>
+ tag for readability:</p>
+<p><img src="images/symbolic-from-tag.png"></p>
+<p>This corresponds with the use of a symbolic <b>&lt;from/&gt;</b> tag in the
+ <a href="camel-events.html">Camel Trigger</a>. </p>
+<h2>Request Only and Request/Response Mode</h2>
+<p>With the <b>Direction</b> Select Input </p>
+<h2><img src="images/request-response-select.png"></h2>
+<p>you may specify whether the Camel Application is only supposed to invoke a
+ Camel Route (<b>Request Only</b>) or also return the received Message Exchange
+ data back to further processing (<b>Request/Response</b>).</p>
+<h2>Payload Structure and Mapping</h2>
+<p>The Camel Application Type exposes two In Java Access Points </p>
+ <li><b>Header</b> (<b>java.util.Map</b>) and</li>
+ <li><b>Body</b> (<b>java.lang.Object</b>)</li>
+<p>to map data against the Header and the Body of the corresponding Camel Message
+ Exchange object injected into and possibly retrieved from the Route. If you
+ create a Data Mapping Connection in a Process Diagram, by default this Data
+ Mapping would be mapped to the <b>Body</b> Access Point, which can be adjusted
+ manually.</p>
+<p>For the <b>Request Only</b> case the above Access Points are IN Access Points;
+ for the <b>Request/Response</b> case they are exposed as IN/OUT Access Points.
+<p>For the <b>Body</b> Access Point, certain heuristics exists to map Process
+ Data or data derived from Process Data via Data Mappings to this Access Point:</p>
+ <li>Primitives data are injected as Wrapper object (e.g. <b>java.lang.Integer</b>).</li>
+ <li>Java-type data (e.g. Serializable Data, Hibernate Data, JPA Data) are directly
+ mapped to the Access Point.</li>
+ <li>Data of Structured Data Type are represented as Map/List structures at runtime.
+ The corresponding top-level Map structured is injected as the Message Exchange
+ Body.</li>