Author: hiranya
Date: Thu Dec 22 14:22:19 2011
New Revision: 1222249
URL: http://svn.apache.org/viewvc?rev=1222249&view=rev
Log:
Documentation update
Added:
synapse/trunk/scratch/hiranya/website/src/site/xdoc/download.xml
synapse/trunk/scratch/hiranya/website/src/site/xdoc/history.xml
- copied unchanged from r1222213,
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/history.xml
Removed:
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/history.xml
Modified:
synapse/trunk/scratch/hiranya/website/src/site/site.xml
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/config.xml
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/mediators.xml
Modified: synapse/trunk/scratch/hiranya/website/src/site/site.xml
URL:
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/site.xml?rev=1222249&r1=1222248&r2=1222249&view=diff
==============================================================================
--- synapse/trunk/scratch/hiranya/website/src/site/site.xml (original)
+++ synapse/trunk/scratch/hiranya/website/src/site/site.xml Thu Dec 22 14:22:19
2011
@@ -27,10 +27,13 @@
<body>
<menu name="Main Menu">
<item name="Home" href="index.html"/>
- <item name="Download"/>
- <item name="History" href="userguide/history.html"/>
+ <item name="Download" href="download.html"/>
+ <item name="History" href="history.html"/>
<item name="News"/>
<item name="License"
href="http://www.apache.org/licenses/LICENSE-2.0"/>
+ <item name="Thanks"
href="http://www.apache.org/foundation/thanks.html"/>
+ <item name="Sponsorship"
href="http://www.apache.org/foundation/sponsorship.html"/>
+ <item name="Security" href="http://www.apache.org/security/"/>
</menu>
<menu name="Documentation">
<item name="Installation Guide"
href="userguide/installation.html"/>
@@ -46,19 +49,24 @@
<item name="FAQ" href="apidocs/"/>
</menu>
<menu name="Developer Resources">
- <item name="Checkout the Source"/>
<item name="Building Synapse"/>
<item name="Developer Guidelines"/>
<item name="Release Process"/>
- <item name="Wiki"/>
</menu>
<menu name="Project Details">
+ <item name="Overview" href="project-details.html"/>
<item name="Mailing Lists" href="mail-lists.html"/>
<item name="Source Repository" href="source-repository.html"/>
<item name="Issue Tracking" href="issue-tracking.html"/>
<item name="Dependencies" href="dependencies.html"/>
<item name="Project Team" href="team-list.html"/>
<item name="Project Summary" href="project-summary.html"/>
- </menu>
+ </menu>
+ <menu name="Previous Releases">
+ <item name="Version 2.0" href="2_0/index.html"/>
+ <item name="Version 1.1.1" href="1_1_1/content.html"/>
+ <item name="Version 1.1" href="1_1/content.html"/>
+ <item name="Version 1.0" href="1_0/content.html"/>
+ </menu>
</body>
</project>
Added: synapse/trunk/scratch/hiranya/website/src/site/xdoc/download.xml
URL:
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/download.xml?rev=1222249&view=auto
==============================================================================
--- synapse/trunk/scratch/hiranya/website/src/site/xdoc/download.xml (added)
+++ synapse/trunk/scratch/hiranya/website/src/site/xdoc/download.xml Thu Dec 22
14:22:19 2011
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+
+<document>
+ <properties>
+ <title>Apache Synapse - Downloads</title>
+ </properties>
+ <body>
+ <section name="Download Latest Stable Release">
+ <p>
+ The latest stable release of Apache Synapse is 2.1. It is
highly recommended
+ to use the latest stable release so that you can use our
newest features
+ while benefiting from all the recent bug fixes and
improvements.
+ </p>
+ <table>
+ <tr>
+ <th>Version</th>
+ <th>Release Date</th>
+ <th>Release Note</th>
+ </tr>
+ <th>
+ <td><a href="download/2.1/download.cgi">2.1</a></td>
+ <td>22-Dec-2011</td>
+ <td>View</td>
+ </th>
+ </table>
+ </section>
+ <section name="Download Previous Releases">
+ <table>
+ <tr>
+ <th>Version</th>
+ <th>Release Date</th>
+ </tr>
+ <th>
+ <td><a href="download/2.0.0/download.cgi">2.0.0</a></td>
+ <td>30-Nov-2010</td>
+ </th>
+ <th>
+ <td><a href="download/1.2/download.cgi">1.2</a></td>
+ <td>9-Jun-2008</td>
+ </th>
+ <th>
+ <td><a href="download/1.1.1/download.cgi">1.1.1</a></td>
+ <td>28-Jan-2008</td>
+ </th>
+ <th>
+ <td><a href="download/1.1/download.cgi">1.1</a></td>
+ <td>12-Nov-2007</td>
+ </th>
+ <th>
+ <td><a href="download/2.0.0/download.cgi">1.0</a></td>
+ <td>08-Jun-2007</td>
+ </th>
+ </table>
+ </section>
+ </body>
+</document>
\ No newline at end of file
Modified:
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/config.xml
URL:
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/config.xml?rev=1222249&r1=1222248&r2=1222249&view=diff
==============================================================================
--- synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/config.xml
(original)
+++ synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/config.xml
Thu Dec 22 14:22:19 2011
@@ -46,6 +46,7 @@
<li><a href="#Registry">Remote Registry and Local
Registry</a></li>
<li><a href="#API">APIs</a></li>
<li><a href="#PriorityExecutors">Priority
Executors</a></li>
+ <li><a href="#Stores">Message Stores and
Processors</a></li>
</ul>
</li>
<li><a href="#ConfigFiles">Synapse Configuration Files</a></li>
@@ -71,6 +72,7 @@
<li><a href="#EventSourceConfig">Event Source
Configuration</a></li>
<li><a href="#APIConfig">API Configuration</a></li>
<li><a href="#ExecutorConfig">Priority Executor
Configuration</a></li>
+ <li><a href="#StoresConfig">Message Stores and Processors
Configuration</a></li>
</ul>
</section>
<section name="Introduction" id="Intro">
@@ -415,6 +417,32 @@
with priority 1.
</p>
</subsection>
+ <subsection name="Message Stores and Processors" id="Stores">
+ <p>
+ Message store acts as a unit of storage for messages/data
exchanged during synapse
+ runtime. By default synapse ships with a in-memory message
store and the storage
+ can be plugged in depending on the requirement. There is a
specific mediator called
+ store mediator which is able to direct message traffic to
a particular message
+ store at runtime.
+ </p>
+ <p>
+ On the other hand a Message processor has the ability to
connect to a message
+ store and perform message mediation or required data
manipulations. Essentially
+ a particular message processor will be coupled with a
message store and as a
+ result respective message processor will be inherited with
the traits of that
+ particular message storage.
+ </p>
+ <p>
+ For example in the eye of a message processor,
data/messages coming from in-memory
+ message store will be seen as more volatile compared to a
persistent message store.
+ Nevertheless it will find it can perform operations much
faster on the former.
+ This is in fact a very powerful concept and hence
depending on the processor and
+ store combination users can define limitless number of EI
patterns in synapse
+ that could meet different runtime requirements and SLA's.
Synapse by default
+ support two processors which are scheduled message
processor and sampling
+ processor.
+ </p>
+ </subsection>
</section>
<section name="Synapse Configuration Files" id="ConfigFiles">
<p>
@@ -1542,5 +1570,58 @@
</conditions>
</Priority-Configuration></div>
</section>
+ <section name="Message Stores and Processors Configuration"
id="StoresConfig">
+ <p>
+ Both Message Stores and processors are top level configuration
of synapse. Following
+ section tries to describe some of the syntax of the message
store/processors
+ configurations.
+ </p>
+
+ <p>
+ The syntax outline of a message store definition is given
below.
+ </p>
+
+ <div class="xmlConf"> <messageStore name="string"
class="classname" >
+ <parameter name="string" > "string"
</parameter>*
+</messageStore></div>
+
+ <p>
+ The 'class' attribute value is the fully qualified class name
of the underlying message
+ store implementation. There can be many message store
implementations.Users can write
+ their own message store implementation and use it. Parameters
section is used to
+ configure the parameters that is needed by underlying message
store implementation.
+ </p>
+ <p>
+ The syntax outline of a message processor definition is given
below.
+ </p>
+
+ <div class="xmlConf"> <messageProcessor name="string"
class="class name" messageStore="classname" >
+ <parameter name="string" > "string"
</parameter>*
+</messageProcessor></div>
+
+ <p>
+ The 'class' attribute value is the fully qualified class name
of the underlying message
+ processor implementation. There are two message processor
implementations shipped by
+ default. There can be many message processor
implementations.Users can write their
+ own message processor implementation and use it. Similar to
message stores ,parameters
+ section here as well is used to configure the parameters that
is needed by underlying
+ message processor implementation
+ </p>
+
+ <div class="xmlConf">Message Forwarding Processor :
org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor</div>
+
+ <div class= "xmlConf">Sampling Processor :
org.apache.synapse.message.processors.sampler.SamplingProcessor</div>
+
+ <p>
+ As mentioned earlier, there are several message
store/processor implementations
+ shipped by default. However if users wants to extend these
following interfaces are
+ available.
+ </p>
+ <div class="xmlConf">Interface:
org.apache.synapse.message.store.MessageStore
+Abstract Class: org.apache.synapse.message.store.AbstractMessageStore
+
+Interface: org.apache.synapse.message.processors.MessageProcessor
+Abstract Class:
org.apache.synapse.message.processors.AbstractMessageProcessor</div>
+ </section>
</body>
</document>
\ No newline at end of file
Modified:
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/mediators.xml
URL:
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/mediators.xml?rev=1222249&r1=1222248&r2=1222249&view=diff
==============================================================================
--- synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/mediators.xml
(original)
+++ synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/mediators.xml
Thu Dec 22 14:22:19 2011
@@ -44,6 +44,17 @@
<li><a href="#Spring">Spring Mediator</a></li>
</ul>
</li>
+ <li>
+ <a href="#AdvancedMediators">Advanced Mediators</a>
+ <ul>
+ <li><a href="#Aggregate">Aggregate Mediator</a></li>
+ <li><a href="#Cache">Cache Mediator</a></li>
+ <li><a href="#Callout">Callout Mediator</a></li>
+ <li><a href="#Clone">Clone Mediator</a></li>
+ <li><a href="#Iterate">Iterate Mediator</a></li>
+ <li><a href="#Transaction">Transaction
Mediator</a></li>
+ </ul>
+ </li>
</ul>
</section>
<section name="Introduction" id="Intro">
@@ -712,5 +723,178 @@
</p>
</subsection>
</section>
+ <section name="Advanced Mediators" id="AdvancedMediators">
+ <subsection name="Aggregate Mediator" id="Aggregate">
+ <p>
+ Aggregate mediator implements the Message Aggregator EIP
by aggregating the
+ messages or responses for split messages generated using
either the clone or
+ iterate mediator.
+ </p>
+ <div class="xmlConf"><aggregate [id="string"]>
+ <correlateOn expression="xpath"/>?
+ <completeCondition [timeout="time-in-seconds"]>
+ <messageCount min="int-min" max="int-max"/>?
+ </completeCondition>?
+ <onComplete expression="xpath" [sequence="sequence-ref"]>
+ (mediator +)?
+ </onComplete>
+</aggregate></div>
+ <p>
+ This mediator can also aggregate messages on the presence
of matching elements
+ specified by the correlateOn XPath expression. Aggregate
will collect the
+ messages coming into it until the messages collected on
the aggregation
+ satisfies the complete condition. The completion condition
can specify a minimum
+ or maximum number of messages to be collected, or a
timeout value in seconds,
+ after which the aggregation terminates. On completion of
the aggregation it will
+ merge all of the collected messages and invoke the
onComplete sequence on it.
+ The merged message would be created using the XPath
expression specified by the
+ attribute 'expression' on the 'onComplete' element.
+ </p>
+ </subsection>
+ <subsection name="Cache Mediator" id="Cache">
+ <p>
+ Cache mediator is used for simple response message caching
in Synapse. When a
+ message reaches the cache mediator, it checks weather an
equivalent message is
+ already cached using a hash value.
+ </p>
+ <p>
+ When the cache mediator detects that the message is a
cached message, it fetches
+ the cached response and prepares Synapse for sending the
response. If a sequence
+ is specified for a cache hit, user can send back the
response message within
+ this sequence using a send mediator. If a sequence is not
specified, then cached
+ response is sent back to the client.
+ </p>
+ <div class="xmlConf"><cache [id="string"]
[hashGenerator="class"] [timeout="seconds"] [scope=(per-host | per-mediator)]
+ collector=(true | false) [maxMessageSize="in-bytes"]>
+ <onCacheHit [sequence="key"]>
+ (mediator)+
+ </onCacheHit>?
+ <implementation type=(memory | disk) maxSize="int"/>
+</cache></div>
+ <p>
+ This mediator will evaluate the hash value of an incoming
message as described
+ in the optional hash generator implementation (which
should be a class
+ implementing the org.wso2.caching.digest.DigestGenerator
interface). The default
+ hash generator is
'org.wso2.caching.digest.DOMHashGenerator'. If the generated
+ hash value has been found in the cache then the cache
mediator will execute the
+ onCacheHit sequence which can be specified inline or
referenced. The cache
+ mediator must be specified with an 'id' and two instances
with this same 'id'
+ that correlates the response message into the cache for
the request message
+ hash. The optional 'timeout' specifies the valid duration
for cached elements,
+ and the scope defines if mediator instances share a common
cache per every host
+ instance, or per every cache mediator pair (i.e. 'id')
instance. 'collector'
+ attribute value 'true' specifies that the mediator
instance is a response
+ collection instance, and 'false' specifies that its a
cache serving instance.
+ The maximum size of a message to be cached could be
specified with the optional
+ 'maxMessageSize' attributes in bytes and defaults to
unlimited. Finally,
+ 'implementation' element may define if the cache is disk
or memory based, and
+ 'maxSize' attribute defines the maximum number of elements
to be cached.
+ </p>
+ </subsection>
+ <subsection name="Callout Mediator" id="Callout">
+ <p>
+ Callout mediator performs a blocking external service
invocation during
+ mediation. 'serviceURL' and optional 'action' attributes
specify the parameters
+ for the external service call. The source element
specifies the payload for the
+ request message using an XPath expression; or a registry
key. The target element
+ specifies a node, at which the response payload will be
attached into the
+ current message, or the name of a key/property using which
the response would be
+ attached to the current message context as a property.
+ </p>
+ <div class="xmlConf"><callout serviceURL="string"
[action="string"]>
+ <configuration [axis2xml="string"] [repository="string"]/>?
+ <source xpath="expression" | key="string">
+ <target xpath="expression" | key="string"/>
+</callout></div>
+ <p>
+ Since the callout mediator performs a blocking call, it
cannot use the default
+ non-blocking http/s transports based on Java NIO, and thus
defaults to using the
+ samples/axis2Client/client_repo/conf/axis2.xml as the
Axis2 configuration, and
+ samples/axis2Client/client_repo as the client repository
unless these are
+ specified otherwise inside the 'configuration' subelement.
+ </p>
+ </subsection>
+ <subsection name="Clone Mediator" id="Clone">
+ <p>
+ Clone mediator can be used to create several clones or
copies of a message. This
+ mediator implements the Message Splitter EIP by splitting
the message into
+ number of identical messages which will be processed in
parallel. They can also
+ be set to process sequentially by setting the value of the
optional 'sequential'
+ attribute to 'true'.
+ </p>
+ <div class="xmlConf"><clone [id="string"] [sequential=(true
| false)] [continueParent=(true | false)]>
+ <target [to="uri"] [soapAction="qname"] [sequence="sequence_ref"]
[endpoint="endpoint_ref"]>
+ <sequence>
+ (mediator)+
+ </sequence>?
+ <endpoint>
+ endpoint
+ </endpoint>?
+ </target>+
+</clone></div>
+ <p>
+ The original message can be continued or dropped depending
on the boolean value
+ of the optional 'continueParent' attribute. Optionally a
custom 'To' address
+ and/or a 'Action' may be specified for cloned messages.
The optional 'id'
+ attribute can be used to identify the clone mediator which
created a particular
+ split message when nested clone mediators are used. This
is particularly useful
+ when aggregating responses of messages that were created
using nested clone
+ mediators.
+ </p>
+ </subsection>
+ <subsection name="Iterate Mediator" id="Iterate">
+ <p>
+ Iterate mediator splits the message into number of
different messages
+ derived from the parent message by finding matching
elements for the XPath
+ expression specified. New messages will be created for
each matching element and
+ processed in parallel (default behavior) using either the
specified sequence or
+ endpoint.
+ </p>
+ <div class="xmlConf"><iterate [id="string"]
[continueParent=(true | false)] [preservePayload=(true | false)]
[sequential=(true | false)]
+ (attachPath="xpath")? expression="xpath">
+ <target [to="uri"] [soapAction="qname"] [sequence="sequence_ref"]
[endpoint="endpoint_ref"]>
+ <sequence>
+ (mediator)+
+ </sequence>?
+ <endpoint>
+ endpoint
+ </endpoint>?
+ </target>+
+ </iterate></div>
+ <p>
+ Created messages can also be set to process sequentially
by setting the optional
+ 'sequential' attribute to 'true'. Parent message can be
continued or dropped in
+ the same way as in the clone mediator. The
'preservePayload' attribute specifies
+ if the original message should be used as a template when
creating the split
+ messages, and defaults to 'false', in which case the split
messages would
+ contain the split elements as the SOAP body. The optional
'id' attribute can be
+ used to identify the iterator which created a particular
split message when
+ nested iterate mediators are used. This is particularly
useful when aggregating
+ responses of messages that are created using nested
iterate mediators.
+ </p>
+ </subsection>
+ <subsection name="Transaction Mediator" id="Transaction">
+ <p>
+ Transaction mediator can provide transaction facility for
a set of mediators
+ defined as its child mediators. A transaction mediator
with the action "new"
+ indicates the entry point for the transaction. A
transaction is marked completed
+ by a transaction mediator with the action "commit". The
suspend and resume
+ actions are used to pause a transaction at some point and
start it again later.
+ Additionally, the transaction mediator supports three
other actions, i.e.
+ use-existing-or-new, fault-if-no-tx, rollback.
+ </p>
+ <div class="xmlConf"><transaction
action="new|use-existing-or-new|fault-if-no-tx|commit|rollback|suspend|resume"/></div>
+ <ul>
+ <li>Commit transaction: End the transaction</li>
+ <li>Fault if no transaction: Go to error handler if no
transaction</li>
+ <li>Initiate new transaction: Entry point for new
transaction</li>
+ <li>Resume transaction: Resume a puased transaction</li>
+ <li>Suspend transaction: Puase a transaction</li>
+ <li>Rollback transaction: Rollback a transaction</li>
+ <li>Use existing or initiate transaction: If a transaction
already exists
+ continue it or create a new transaction</li>
+ </ul>
+ </subsection>
+ </section>
</body>
</document>
\ No newline at end of file