You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2011/12/28 10:23:11 UTC
svn commit: r1225148 [15/15] - in /synapse/branches/2.1/src/site: ./
xdoc/1_0/ xdoc/1_1/ xdoc/1_1_1/ xdoc/1_2/
Added: synapse/branches/2.1/src/site/xdoc/1_2/Synapse_Samples_Setup.xml
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/src/site/xdoc/1_2/Synapse_Samples_Setup.xml?rev=1225148&view=auto
==============================================================================
--- synapse/branches/2.1/src/site/xdoc/1_2/Synapse_Samples_Setup.xml (added)
+++ synapse/branches/2.1/src/site/xdoc/1_2/Synapse_Samples_Setup.xml Wed Dec 28 09:23:09 2011
@@ -0,0 +1,802 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <title>Apache Synapse - Samples Setup</title>
+ </properties>
+ <head>
+ <style type="text/css" xml:space="preserve">
+ .command {
+ border: 1px dashed #3c78b5;
+ text-align: left;
+ background-color: #f0f0f0;
+ padding: 3px;
+ font-size: 11px;
+ font-family: Courier;
+ margin: 10px;
+ line-height: 13px;
+ }
+ .consoleOutput {
+ border: 1px dashed #3c78b5;
+ font-size: 11px;
+ font-family: Courier;
+ margin: 10px;
+ line-height: 13px;
+ background-color: #f0f0f0;
+ border-bottom: 1px dashed #3c78b5;
+ padding: 3px;
+ border-style: solid;
+ }
+ .info {
+ border-style: solid;
+ border-width: 1px;
+ border-color: #090;
+ background-color: #dfd;
+ text-align:left;
+ margin-top: 5px;
+ margin-bottom: 5px;
+ }
+ li {
+ font-family: Verdana, arial, sans-serif;
+ font-size: 11px;
+ line-height: 16px;
+ color: #000000;
+ font-weight: normal;
+ }
+ p, td {
+ font-family: Verdana, arial, sans-serif;
+ font-size: 11px;
+ line-height: 16px;
+ color: #000000;
+ font-weight: normal;
+ }
+ pre {
+ padding: 0px;
+ margin-top: 5px;
+ margin-left: 15px;
+ margin-bottom: 5px;
+ margin-right: 5px;
+ text-align: left;
+ background-color: #f0f0f0;
+ padding: 3px;
+ border: 1px dashed #3c78b5;
+ font-size: 11px;
+ font-family: Courier;
+ margin: 10px;
+ line-height: 13px;
+ }
+ h1 {
+ font-size: 24px;
+ line-height: normal;
+ font-weight: bold;
+ background-color: #f0f0f0;
+ color: #003366;
+ border-bottom: 1px solid #3c78b5;
+ padding: 2px;
+ margin: 36px 0px 4px 0px;
+ }
+ h2 {
+ font-size: 18px;
+ line-height: normal;
+ font-weight: bold;
+ background-color: #f0f0f0;
+ border-bottom: 1px solid #3c78b5;
+ padding: 2px;
+ margin: 27px 0px 4px 0px;
+ }
+ h3 {
+ font-size: 14px;
+ line-height: normal;
+ font-weight: bold;
+ background-color: #f0f0f0;
+ padding: 2px;
+ margin: 21px 0px 4px 0px;
+ }
+ h4 {
+ font-size: 12px;
+ line-height: normal;
+ font-weight: bold;
+ background-color: #f0f0f0;
+ padding: 2px;
+ margin: 18px 0px 4px 0px;
+ }</style>
+ </head>
+ <body>
+ <div style="margin-top:-40px; float:right; _margin-top:0px;">
+ <img alt="Synapse logo"
+ src="images/synapse-logo-web2.png" width="197"
+ height="82"/>
+ </div>
+ <div>
+ <h1>
+ Apache Synapse ESB - Samples Setup
+ </h1>
+ </div>
+ <p/>
+ <p>
+ Synapse ships with a set of working examples that demonstrate some of the
+ basic features and capabilities of Synapse. A set of sample clients and
+ services are provided in addition to the sample configurations. Scripts
+ are provided to execute the sample scenarios as explained below.
+ </p>
+ <h4>
+ Prerequisites
+ </h4>
+ <p>
+ To try out the samples you will need Java development kit version 1.5.x or
+ later and Apache Ant version 1.6.5 or later. Ant can be downloaded from
+ <a href="http://ant.apache.org">http://ant.apache.org</a>. The JMS examples can be executed against an
+ ActiveMQ installation by default (or another JMS provider with relevant
+ configuration changes.)
+ </p>
+ <p/>
+ <p>
+ Note*: The samples and the documentation assume that you are running
+ Synapse in DEBUG mode. You can switch from the default INFO log messages
+ to DEBUG log messages by changing the line
+ "log4j.category.org.apache.synapse=INFO" as
+ "log4j.category.org.apache.synapse=DEBUG" in the lib/log4j.properties
+ file.
+ </p>
+ <h2>
+ Understanding the Samples
+ </h2>
+ <table border="0" style="width: 100%">
+ <caption/>
+ <tbody>
+ <tr>
+ <td>
+ Client
+ </td>
+ <td>
+ Synapse
+ </td>
+ <td>
+ Service
+ </td>
+ </tr>
+ <tr>
+ <td/>
+ <td/>
+ <td/>
+ </tr>
+ <tr>
+ <td>
+ ant stockquote
+ </td>
+ <td>
+ ./synapse.sh -sample <n>
+ </td>
+ <td>
+ SimpleStockQuoteService
+ </td>
+ </tr>
+ <tr>
+ <td/>
+ <td/>
+ <td>
+ SecureStockQuoteService etc.
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <p>
+ The above table depicts the interactions between the clients, Synapse
+ and the services at a higher level. The Clients are able to send SOAP/REST
+ or POX messages over transports such as HTTP/S or JMS with WS-Addressing,
+ WS-Security or WS-Reliable messaging. They can send binary optimized
+ content using MTOM or SwA or binary or plain text JMS messages. After
+ mediation through Synapse, the requests are passed over to the sample
+ services. The sample clients and services are explained below.
+ </p>
+ <p/>
+ <h2>
+ Using the Sample Clients
+ </h2>
+ <p/>
+ <p>
+ The sample clients can be executed from the samples/axis2Client directory
+ through the provided ant script. Simply executing 'ant' displays the
+ available clients and some of the sample options used to configure them.
+ The sample clients available are listed below:
+ </p>
+ <h3>
+ 1. Stock Quote Client
+ </h3>
+ <p/>
+ <p>
+ This is a simple SOAP client that can send stock quote requests, and
+ receive and display the last sale price for a stock symbol.
+ </p>
+<pre xml:space="preserve">ant stockquote [-Dsymbol=IBM|MSFT|SUN|..]
+ [-Dmode=quote | customquote | fullquote | placeorder | marketactivity]
+ [-Daddurl=http://localhost:9000/soap/SimpleStockQuoteService]
+ [-Dtrpurl=http://localhost:8280] [-Dprxurl=http://localhost:8280]
+ [-Dpolicy=../../repository/conf/sample/resources/policy/policy_1.xml]</pre>
+
+ <p>
+ The client is able to operate in the following modes, and send the
+ payloads listed below as SOAP messages:
+ </p>
+ <ul>
+ <li>
+ quote - send a quote request for a single stock as follows. The response
+ contains the last sales price for the stock which will be displayed
+<pre xml:space="preserve"><m:getQuote xmlns:m="http://services.samples/xsd">
+ <m:request>
+ <m:symbol>IBM</m:symbol>
+ </m:request>
+</m:getQuote></pre>
+ </li>
+ <li>
+ customquote - send a quote request in a custom format. Synapse will
+ transform this custom request to the standard stock quote request format
+ and send it to the service. Upon receipt of the response, it will be
+ transformed again to a custom response format and returned to the
+ client, which will then display the last sales price.
+<pre xml:space="preserve"><m0:checkPriceRequest xmlns:m0="http://www.apache-synapse.org/test">
+ <m0:Code>symbol</m0:Code>
+</m0:checkPriceRequest></pre>
+ </li>
+ <li>
+ fullquote - get quote reports for the stock over a number of days (i.e.
+ last 100 days of the year).
+<pre xml:space="preserve"><m:getFullQuote xmlns:m="http://services.samples/xsd">
+ <m:request>
+ <m:symbol>IBM</m:symbol>
+ </m:request>
+</m:getFullQuote></pre>
+ </li>
+ <li>
+ placeorder - place an order for stocks using a one way request
+<pre xml:space="preserve"><m:placeOrder xmlns:m="http://services.samples/xsd">
+ <m:order>
+ <m:price>3.141593E0</m:price>
+ <m:quantity>4</m:quantity>
+ <m:symbol>IBM</m:symbol>
+ </m:order>
+</m:placeOrder></pre>
+ </li>
+ <li>
+ marketactivity - get a market activity report for the day (i.e. quotes
+ for multiple symbols)
+<pre xml:space="preserve"><m:getMarketActivity xmlns:m="http://services.samples/xsd">
+ <m:request>
+ <m:symbol>IBM</m:symbol>
+ ...
+ <m:symbol>MSFT</m:symbol>
+ </m:request>
+</m:getMarketActivity></pre>
+ </li>
+ </ul>
+ <p>
+ Note : See samples/axis2Client/src/samples/common/StockQuoteHandler.java
+ for sample responses expected by the clients.
+ </p>
+ <h4>
+ Smart Client Mode:
+ </h4>
+ <p>
+ The 'addurl' property sets the WS-Addressing EPR, and the 'trpurl' sets a
+ transport URL for a message. Thus by specifying both of these properties,
+ the client can operate in the 'smart client' mode, where the addressing
+ EPR can specify the ultimate receiver, while the transport URL set to
+ Synapse will ensure that any necessary mediation takes place before the
+ message is delivered to the ultimate receiver.
+ </p>
+<pre xml:space="preserve">e.g: ant stockquote -Daddurl=<addressingEPR> -Dtrpurl=<synapse></pre>
+ <h4>
+ Gateway / Dumb Client Mode:
+ </h4>
+ <p>
+ By specifying only a transport URL, the client operates in the 'dumb
+ client' mode, where it sends the message to Synapse and depends on the
+ Synapse rules for proper mediation and routing of the message to the
+ ultimate destination.
+ </p>
+<pre xml:space="preserve">e.g: ant stockquote -Dtrpurl=<synapse></pre>
+ <h4>
+ Proxy Client Mode:
+ </h4>
+ <p>
+ In this mode, the client uses the 'prxurl' as a HTTP proxy to send the
+ request. Thus by setting the 'prxurl' to Synapse, the client can ensure
+ that the message will reach Synapse for mediation. The client can
+ optionally set a WS-Addressing EPR if required.
+ </p>
+<pre xml:space="preserve">e.g: ant stockquote -Dprxurl=<synapse> [-Daddurl=<addressingEPR>]</pre>
+
+ <p/>
+ <p>
+ Specifying a policy
+ </p>
+ <p>
+ By specifying a WS-Policy using the 'policy' property, QoS aspects such as
+ WS-Security can be enforced on the request. The policy can specify details
+ such as timestamps, signatures and encryption. See Apache Axis2 and Apache
+ Rampart documentation for more information.
+ </p>
+ <p/>
+ <h3>
+ 2. Generic JMS Client
+ </h3>
+ <p/>
+ <p>
+ The JMS client is able to send plain text, plain binary content or POX
+ content by directly publishing a JMS message to the specified destination.
+ The JMS destination name should be specified with the 'jms_dest' property.
+ The 'jms_type' property can specify 'text', 'binary' or 'pox' to specify
+ the type of message payload.
+ </p>
+ <p/>
+ <p>
+ The plain text payload for a 'text' message can be specified through the
+ 'payload' property. For binary messages, the 'payload' property will
+ contain the path to the binary file. For POX messages, the 'payload'
+ property will hold a stock symbol name to be used within the POX request
+ for stock order placement request.
+ </p>
+ <p>
+ e.g:
+ </p>
+<pre xml:space="preserve">ant jmsclient -Djms_type=text -Djms_dest=dynamicQueues/JMSTextProxy -Djms_payload="24.34 100 IBM"
+ant jmsclient -Djms_type=pox -Djms_dest=dynamicQueues/JMSPoxProxy -Djms_payload=MSFT
+ant jmsclient -Djms_type=binary -Djms_dest=dynamicQueues/JMSFileUploadProxy
+ -Djms_payload=./../../repository/conf/sample/resources/mtom/asf-logo.gif</pre>
+ <p>
+ Note: The JMS client assumes the existence of a default ActiveMQ (4.1.0 or
+ above) installation on the local machine.
+ </p>
+ <p/>
+ <h3>
+ 3. MTOM / SwA Client
+ </h3>
+ <p/>
+ <p>
+ The MTOM / SwA client is able to send a binary image file as a MTOM or SwA
+ optimized message, and receive the same file again through the response
+ and save it as a temporary file. The 'opt_mode' can specify 'mtom' or
+ 'swa' respectively for the above mentioned optimizations. Optionally the
+ path to a custom file can be specified through the 'opt_file' property,
+ and the destination address can be changed through the 'opt_url' property
+ if required.
+ </p>
+<pre xml:space="preserve">e.g. ant optimizeclient -Dopt_mode=[mtom | swa]</pre>
+
+ <p/>
+ <h2>
+ Starting the Sample Services
+ </h2>
+ <p/>
+ <p>
+ The sample services ship with a pre-configured Axis2 server and
+ demonstrates in-only and in-out SOAP/REST or POX messaging over HTTP/S and
+ JMS transports, using WS-Addressing, WS-Security and WS-Reliable Messaging
+ and handling of binary content using MTOM and SwA.
+ </p>
+ <p>
+ The sample services can be found in the samples/axis2Server/src directory
+ and can be built and deployed using ant from within each service directory
+ </p>
+<pre xml:space="preserve">user@host:/tmp/synapse-1.1/samples/axis2Server/src/SimpleStockQuoteService$ ant
+Buildfile: build.xml
+...
+build-service:
+ ....
+ [jar] Building jar: /tmp/synapse-1.1/samples/axis2Server/repository/services/SimpleStockQuoteService.aar
+
+BUILD SUCCESSFUL
+Total time: 3 seconds</pre>
+ <p/>
+ <p>
+ To start the Axis2 server, go to the samples/axis2Server directory and
+ execute the axis2server.sh or axis2server.bat script. This starts the
+ Axis2 server with the HTTP transport listener on port 9000 and HTTPS on
+ 9002 respectively. To enable JMS transport, you will need to setup and
+ start a JMS provider. An ActiveMQ 4.0.1 or later JMS server on the local
+ machine is supported by default, and can be easily enabled by uncommenting
+ the JMS transport from the repository/conf/axis2.xml
+ </p>
+ <p/>
+ <h3>
+ Sample services
+ </h3>
+ <h4>
+ 1. SimpleStockQuoteService
+ </h4>
+ <p>
+ This service has four operations, getQuote (in-out), getFullQuote(in-out),
+ getMarketActivity(in-out) and placeOrder (in-only). The getQuote operation
+ will generate a sample stock quote for a given symbol. The getFullQuote
+ operation will generate a history of stock quotes for the symbol for a
+ number of days, and the getMarketActivity operation returns stock quotes
+ for a list of given symbols. The placeOrder operation will accept a one
+ way message for an order.
+ </p>
+ <h4>
+ 2. SecureStockQuoteService
+ </h4>
+ <p>
+ This service is a clone of the SimpleStockQuoteService, but has
+ WS-Security enabled and an attached security policy for signing and
+ encryption of messages.
+ </p>
+ <h4>
+ 3. MTOMSwASampleService
+ </h4>
+ <p>
+ This service has three operations uploadFileUsingMTOM(in-out),
+ uploadFileUsingSwA(in-out) and oneWayUploadUsingMTOM(in-only) and
+ demonstrates the use of MTOM and SwA. The uploadFileUsingMTOM and
+ uploadFileUsingSwA operations accept a binary image from the SOAP request
+ as MTOM and SwA, and returns this image back again as the response, while
+ the oneWayUploadUsingMTOM saves the request message to disk.
+ </p>
+ <p/>
+ <h3>
+ Starting Sample Synapse Configurations
+ </h3>
+ <p>
+ To start Synapse with the sample default configuration, execute the
+ synapse.bat or synapse.sh script found in the /bin directory. This starts
+ up an instance of Synapse using the Synapse and Axis2 configuration files
+ located in the repository/conf directory. The repository/conf/samples
+ directory contains the sample configurations available as synapse_sample_<n>.xml
+ files. To start a specific sample configuration of Synapse, use the
+ '-sample <n>' switch as follows:
+ </p>
+<pre xml:space="preserve">synapse.bat -sample <n>
+synapse.sh -sample <n></pre>
+ <p/>
+ <h2>
+ Setting up the JMS Listener
+ </h2>
+ <p/>
+ <p>
+ The samples used in this guide assumes the existence of a local ActiveMQ
+ (4.1.0 or higher) installation properly installed and started up. You also
+ need to copy the following client JAR files into the Synapse 'lib' folder
+ to support ActiveMQ. These files are found in the 'lib' directory of the
+ ActiveMQ installation.
+ </p>
+ <ul>
+ <li>
+ activeio-core-3.0.0-incubator.jar
+ </li>
+ <li>
+ activemq-core-4.1.0-incubator.jar
+ </li>
+ <li>
+ geronimo-j2ee-management_1.0_spec-1.0.jar
+ </li>
+ </ul>
+ <p>
+ To enable the JMS transport, you need to uncomment the JMS transport
+ listener configuration. If you are using a JMS provider other than
+ ActiveMQ this configuration should be updated to reflect your environment.
+ Once uncommented, the default configuration should be as follows. To
+ enable JMS for synapse, the repository/conf/axis2.xml must be updated,
+ while to enable JMS support for the sample Axis2 server the
+ samples/axis2Server/repository/conf/axis2.xml file must be updated.
+ </p>
+<pre xml:space="preserve"> <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)-->
+ <transportReceiver name="jms" class="org.apache.synapse.transport.jms.JMSListener">
+ <parameter name="myTopicConnectionFactory" locked="false">
+ <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
+ </parameter>
+
+ <parameter name="myQueueConnectionFactory" locked="false">
+ <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
+ </parameter>
+
+ <parameter name="default" locked="false">
+ <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
+ </parameter>
+ </transportReceiver></pre>
+ <p/>
+ <h2 id="mailsender">
+ Setting up Mail Transport Sender
+ </h2>
+ <p>
+ To enable the mail transport for samples, you need to uncomment the mail
+ transport sender configuration in the repository/conf/axis2.xml. Uncomment
+ the MailTransportSender sample configuration and make sure it points to a
+ valid SMTP configuration for any actual scenarios.
+ </p>
+<pre xml:space="preserve"> <transportSender name="mailto" class="org.apache.synapse.transport.mail.MailTransportSender">
+ <parameter name="mail.smtp.host">smtp.gmail.com</parameter>
+ <parameter name="mail.smtp.port">587</parameter>
+ <parameter name="mail.smtp.starttls.enable">true</parameter>
+ <parameter name="mail.smtp.auth">true</parameter>
+ <parameter name="mail.smtp.user">synapse.demo.0</parameter>
+ <parameter name="mail.smtp.password">mailpassword</parameter>
+ <parameter name="mail.smtp.from">synapse.demo.0@gmail.com</parameter>
+ </transportSender></pre>
+ <p/>
+ <h2 id="fixtransport">
+ Configuring Synapse for the FIX Transport
+ </h2>
+ <p>
+ First of all you need to put the following jar files into the lib folder of the
+ synapse distribution
+ </p>
+ <ul>
+ <li>quickfixj-core-1.3.1.jar</li>
+ <li>quickfixj-msg-fix40-1.3.1.jar</li>
+ <li>quickfixj-msg-fix41-1.3.1.jar</li>
+ <li>quickfixj-msg-fix42-1.3.1.jar</li>
+ <li>quickfixj-msg-fix43-1.3.1.jar</li>
+ <li>quickfixj-msg-fix44-1.3.1.jar</li>
+ <li>slf4j-api-1.3.0.jar</li>
+ <li>slf4j-jdk14-1.3.0.jar</li>
+ </ul>
+ <h3 id="fixtransport">
+ Setting up the FIX Transport
+ </h3>
+ <p>
+ To run the FIX samples used in this guide you need a local
+ <a href="http://www.quickfixj.org">Quickfix/J</a> installation.
+ Download Quickfix/J from <a href="http://www.quickfixj.org/downloads">here</a>.
+ </p>
+ <p>
+ To enable the FIX transport for samples, you need to uncomment the FIX
+ transport sender and FIX transport receiver configurations in the
+ repository/conf/axis2.xml. Simply locate and uncomment the FIXTransportSender
+ and FIXTransportListener sample configurations. Also add the following jars to
+ the Synapse class path (SYNAPSE_HOME/lib directory).
+ </p>
+ <ul>
+ <li>quickfixj-core.jar</li>
+ <li>quickfixj-msg-fix40.jar</li>
+ <li>quickfixj-msg-fix41.jar</li>
+ <li>quickfixj-msg-fix42.jar</li>
+ <li>quickfixj-msg-fix43.jar</li>
+ <li>quickfixj-msg-fix44.jar</li>
+ <li>mina-core-1.1.0.jar</li>
+ <li>slf4j-api-1.3.0.jar</li>
+ </ul>
+ <p>
+ All these jars are shipped with the Quickfix/J binary distribution.
+ </p>
+ <p/>
+ <h3 id="fixsamples">
+ Configuring Synapse for FIX Samples
+ </h3>
+ <p>
+ In order to configure Synapse to run the FIX samples given in this
+ guide you will need to create some FIX configuration files as
+ specified below.
+ </p>
+ <p>
+ The FileStorePath property in the following two files should point
+ to two directories in your local file system. Once the samples
+ are executed, Synapse will create FIX message stores in these two
+ directories.
+ </p>
+ <p>
+ Put the following entries in a file called fix-synapse.cfg
+
+ <pre>
+ [default]
+ FileStorePath=examples/target/data/synapse-acceptor
+ ConnectionType=acceptor
+ StartTime=00:00:00
+ EndTime=00:00:00
+ HeartBtInt=30
+ ValidOrderTypes=1,2,F
+ SenderCompID=SYNAPSE
+ TargetCompID=BANZAI
+ UseDataDictionary=Y
+ DefaultMarketPrice=12.30
+
+ [session]
+ BeginString=FIX.4.0
+ SocketAcceptPort=9876
+ </pre>
+ </p>
+ <p>
+ Put the following entries in a file called synapse-sender.cfg
+ <pre>
+ [default]
+ FileStorePath=examples/target/data/synapse-initiator
+ SocketConnectHost=localhost
+ StartTime=00:00:00
+ EndTime=00:00:00
+ HeartBtInt=30
+ ReconnectInterval=5
+ </pre>
+ </p>
+ <p/>
+ <h3 id="fixsamplesconfig">
+ Configuring Sample FIX Applications
+ </h3>
+ <p>
+ Locate and edit the FIX configuration file of Executor to be as follows.
+ This file is usually named executor.cfg
+ <pre>
+ [default]
+ FileStorePath=examples/target/data/executor
+ ConnectionType=acceptor
+ StartTime=00:00:00
+ EndTime=00:00:00
+ HeartBtInt=30
+ ValidOrderTypes=1,2,F
+ SenderCompID=EXEC
+ TargetCompID=SYNAPSE
+ UseDataDictionary=Y
+ DefaultMarketPrice=12.30
+
+ [session]
+ BeginString=FIX.4.0
+ SocketAcceptPort=19876
+ </pre>
+ </p>
+ <p>
+ Locate and edit the FIX configuration file of Banzai to be as follows.
+ This file is usually named banzai.cfg
+ <pre>
+ [default]
+ FileStorePath=examples/target/data/banzai
+ ConnectionType=initiator
+ SenderCompID=BANZAI
+ TargetCompID=SYNAPSE
+ SocketConnectHost=localhost
+ StartTime=00:00:00
+ EndTime=00:00:00
+ HeartBtInt=30
+ ReconnectInterval=5
+
+ [session]
+ BeginString=FIX.4.0
+ SocketConnectPort=9876
+ </pre>
+ </p>
+ <p>
+ The FileStorePath property in the above two files should point
+ to two directories in your local file system.
+ </p>
+ <p>
+ If you are using a binary distribution of Quickfix/J, the two
+ samples and their configuration files are all packed to a
+ single jar file called quickfixj-examples.jar. You will have to
+ extract the jar file, modify the configuration files and pack
+ them to a jar file again under the same name.
+ </p>
+ <p>
+ For more information regarding the FIX sample applications please
+ refer the <a href="http://www.quickfixj.org/quickfixj/usermanual/usage/examples.html">Example Applications</a> section in the Quickfix/J
+ documentation. For more information on configuring Quickfix/J applications
+ refer the <a href="http://www.quickfixj.org/quickfixj/usermanual/usage/configuration.html">Configuring Quickfix/J</a> section of the Quickfix/J
+ documentation.
+ </p>
+ <p/>
+ <h2 id="script">
+ Configuring Synapse for Script Mediator Support
+ </h2>
+ <p/>
+ <p>
+ The Synapse Script Mediator is a Synapse extension, and thus all
+ prerequisites are not bundled by default with the Synapse distribution.
+ Before you use some script mediators you may need to manually add the
+ required jar files to the Synapse lib directory, and optionally perform
+ other installation tasks as may be required by the individual scripting
+ language. This is explained in the following sections.
+ </p>
+ <h4>
+ JavaScript Support
+ </h4>
+ <p>
+ The JavaScript/E4X support is enabled by default and comes ready-to-use
+ with the Synapse distribution.
+ </p>
+ <h4>
+ Ruby Support
+ </h4>
+ <p>
+ For Ruby support you need to download the 'jruby-complete.jar' from the
+ Maven repository for JRuby, and copy it into the 'lib' folder of Synapse .
+ The JRuby JAR can be downloaded from <a
+ href="http://repo1.maven.org/maven2/org/jruby/jruby-complete/1.0.1/jruby-complete-1.0.1.jar">
+ here</a>.
+ </p>
+ <p/>
+ <h2 id="derby">
+ Setting up Derby database server
+ </h2>
+ <p>
+ You can download Apache Derby distribution from <a
+ href="http://db.apache.org/derby/">http://db.apache.org/derby/</a>
+ </p>
+ <ol>
+ <li>
+ Set up and start the Derby network server
+ </li>
+ <li>
+ Create and open a connection to the database using the Derby client
+ driver<br/>
+ <pre> CONNECT 'jdbc:derby://localhost:1527/synapsedb;user=synapse;password=synapse;create=true';</pre>
+ </li>
+ <li>
+ Create a table using the following statement
+ <pre> CREATE table company(name varchar(10), id varchar(10), price double);</pre>
+ </li>
+ <li>
+ Inserts some data using following statements
+ <pre> INSERT into company values ('IBM','c1',0.0);
+ INSERT into company values ('SUN','c2',0.0);
+ INSERT into company values ('MSFT','c3',0.0);</pre>
+ </li>
+ </ol>
+ <p>
+ When using Derby, you need to add derby.jar, derbyclient.jar and
+ derbynet.jar to the classpath. This can be done by putting the above three
+ jars into the Synapse lib directory. For testing these samples Derby
+ 10.1.1.0 binary distribution was used.
+ </p>
+ <p>
+ You can use any other database product instead of Derby. Then you have to
+ change the database connection details accordingly. Also you have to copy
+ the required database driver jars to the Synapse classpath.
+ </p>
+ <p/>
+ <h2>Setting up Synapse DataSources</h2>
+
+<div>
+<p>Definition of the reusable database connection pool or datasources can be
+done using synapse.properties file. It is possible to configure any number of
+datasources. Currently only supports two type of datasources and those are
+based on apache dbcp datasources. Those types are BasicDataSource and
+PerUserPoolDataSource (based on apache dhcp).Following configuration includes
+both two definition. This configuration is related with sample 363.</p>
+
+
+<p>Configuration is somewhat similar to the log4j appender configuration.</p>
+
+
+<p>It requires two databases, follow the above specified (Setting up
+Derby Database server) steps to create the two databases
+<strong>'jdbc:derby://localhost:1527/lookupdb'</strong>,
+<strong>'jdbc:derby://localhost:1527/reportdb'</strong> using the user name and password as
+'synapse'. Fill in the data for those two databases as per described in the above section</p>
+
+<div>
+<p><strong>synapse.properties configuration <br />
+</strong></p>
+<pre>#datasources
+synapse.datasources=lookupds,reportds
+synapse.datasources.icFactory=com.sun.jndi.rmi.registry.RegistryContextFactory
+synapse.datasources.providerUrl=rmi://localhost:2199
+synapse.datasources.providerPort=2199
+
+synapse.datasources.lookupds.type=BasicDataSource
+synapse.datasources.lookupds.driverClassName=org.apache.derby.jdbc.ClientDriver
+synapse.datasources.lookupds.url=jdbc:derby://localhost:1527/lookupdb;create=false
+synapse.datasources.lookupds.username=synapse
+synapse.datasources.lookupds.password=synapse
+synapse.datasources.lookupds.dsName=lookupdb
+synapse.datasources.lookupds.maxActive=100
+synapse.datasources.lookupds.maxIdle=20
+synapse.datasources.lookupds.maxWait=10000
+
+synapse.datasources.reportds.type=PerUserPoolDataSource
+synapse.datasources.reportds.cpdsadapter.factory=org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS
+synapse.datasources.reportds.cpdsadapter.className=org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS
+synapse.datasources.reportds.cpdsadapter.name=cpds
+synapse.datasources.reportds.dsName=reportdb
+synapse.datasources.reportds.driverClassName=org.apache.derby.jdbc.ClientDriver
+synapse.datasources.reportds.url=jdbc:derby://localhost:1527/reportdb;create=false
+synapse.datasources.reportds.username=synapse
+synapse.datasources.reportds.password=synapse
+synapse.datasources.reportds.maxActive=100
+synapse.datasources.reportds.maxIdle=20
+synapse.datasources.reportds.maxWait=10000</pre>
+</div>
+</div>
+</body>
+</document>
Added: synapse/branches/2.1/src/site/xdoc/1_2/docs_index.xml
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/src/site/xdoc/1_2/docs_index.xml?rev=1225148&view=auto
==============================================================================
--- synapse/branches/2.1/src/site/xdoc/1_2/docs_index.xml (added)
+++ synapse/branches/2.1/src/site/xdoc/1_2/docs_index.xml Wed Dec 28 09:23:09 2011
@@ -0,0 +1,49 @@
+<?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>Documentation</title>
+ </properties>
+
+<body>
+
+<section name="Apache Synapse - Documentation">
+ <p>
+ Apache Synapse is an extremely lightweight and easy-to-use Open Source Enterprise Service Bus
+ (ESB) available under the Apache Software License v2.0. Apache Synapse graduated from the
+ Apache Incubator on the 2nd of January 2007, and was accepted as a sub-project of the Apache
+ Web Services project. In December 2007, Apache Synapse became a top level project (TLP) of the
+ Apache Software Foundation
+ </p>
+ <p>Documentation for the 1.1.1 release:</p>
+
+ <ul>
+ <li><a href="./Synapse_QuickStart.html">Quick Start Guide</a></li>
+ <li><a href="./Synapse_Configuration_Language.html">The Synapse Configuration Language</a></li>
+ <li><a href="./Synapse_Samples.html">A Quick start with Synapse Samples</a></li>
+ <li><a href="./Synapse_Extending.html">Extending Synapse</a></li>
+ <li>The Synapse Wiki <a href="http://wiki.apache.org/ws/Synapse">http://wiki.apache.org/ws/Synapse</a></li>
+ </ul>
+</section>
+
+</body>
+</document>
Propchange: synapse/branches/2.1/src/site/xdoc/1_2/docs_index.xml
------------------------------------------------------------------------------
svn:executable = *