You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/11/22 15:14:30 UTC

[camel] 01/03: CAMEL-14191: EIP docs - Add links to last EIP patterns and add new pages if missing content

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c0e49706359935547c5c5e186cbd74ad246d0738
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Nov 22 15:37:56 2019 +0100

    CAMEL-14191: EIP docs - Add links to last EIP patterns and add new pages if missing content
---
 .../ROOT/assets/images/eip/ProcessManager.gif      | Bin 0 -> 3175 bytes
 .../ROOT/assets/images/eip/ProcessManagerIcon.gif  | Bin 0 -> 429 bytes
 .../pages/enterprise-integration-patterns.adoc     |   5 +++++
 .../modules/ROOT/pages/process-manager.adoc        |  25 +++++++++++++++++++++
 4 files changed, 30 insertions(+)

diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ProcessManager.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ProcessManager.gif
new file mode 100644
index 0000000..22c8501
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/ProcessManager.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ProcessManagerIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ProcessManagerIcon.gif
new file mode 100644
index 0000000..b1f931d
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/ProcessManagerIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/pages/enterprise-integration-patterns.adoc b/docs/user-manual/modules/ROOT/pages/enterprise-integration-patterns.adoc
index 8174f59..cef0080 100644
--- a/docs/user-manual/modules/ROOT/pages/enterprise-integration-patterns.adoc
+++ b/docs/user-manual/modules/ROOT/pages/enterprise-integration-patterns.adoc
@@ -163,6 +163,11 @@ a|image::eip/RoutingTableIcon.gif[image]
 consecutively through a series of processing steps when the sequence of
 steps is not known at design-time and may vary for each message?
 
+a|image::eip/ProcessManagerIcon.gif[image]
+|xref:process-manager.adoc[Process Manager] |How do we route a message
+through multiple processing steps when the required steps may not be known
+at design-time and may not be sequential?
+
 |
 |xref:throttle-eip.adoc[Throttler] |How can I throttle messages to ensure
 that a specific endpoint does not get overloaded, or we don't exceed an
diff --git a/docs/user-manual/modules/ROOT/pages/process-manager.adoc b/docs/user-manual/modules/ROOT/pages/process-manager.adoc
new file mode 100644
index 0000000..e22086d
--- /dev/null
+++ b/docs/user-manual/modules/ROOT/pages/process-manager.adoc
@@ -0,0 +1,25 @@
+[[Process-Manager]]
+= Process Manager
+
+Camel supports the
+https://www.enterpriseintegrationpatterns.com/patterns/messaging/ProcessManager.html[Process Manager]
+from the xref:enterprise-integration-patterns.adoc[EIP patterns] book.
+
+The xref:routingSlip-eip.adoc[Routing Slip] demonstrates how a message can be routed through a dynamic series of processing steps.
+The solution of the Routing Slip is based on two key assumptions: the sequence of processing steps has
+to be determined up-front and the sequence is linear. In many cases, these assumptions may not be fulfilled.
+For example, routing decisions might have to be made based on intermediate results.
+Or, the processing steps may not be sequential, but multiple steps might be executed in parallel.
+
+How do we route a message through multiple processing steps when the required steps may not be known
+at design-time and may not be sequential?
+
+image::eip/ProcessManager.gif[image]
+
+Use a central processing unit, a Process Manager, to maintain the state of the sequence and determine
+the next processing step based on intermediate results.
+
+With Camel this pattern is implemented by using the xref:dynamicRouter-eip.adoc[Dynamic Router] pattern.
+Camel's implementation of the dynamic router maintains the state of the sequence, and allows
+to determine the next processing step based dynamically.
+