You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by Saminda Abeyruwan <sa...@gmail.com> on 2006/01/20 07:33:40 UTC

What's available in Synapse-M1

Hi all,

Title
What's available in Synapse-M1

*Rule Configuration*

Rule reconfiguration elements, {Nodes}

   1.

   Regular expression <regex/>
    2.

   Xpath <xpath/>

Grouping and Referencing Elements {Nodes}

   1.

   Grouping a Set of Rules for human readability <stage/>
   2.

   Grouping of Mediators that need to be called in IN direction
<in/>{this is default}
   3.

   Grouping of Mediators that need to be called in OUT direction
<out/>{yet to be stabilize}
   4.

   Grouping of Mediators that need NOT to be executed in any direction
   <never/>
   5.

   Referencing of Mediator <ref/>. A mediator can be referenced if that
   mediator's tag contain "name" attribute only. Lookup of the mediators from
   Synapse Environment done using @name. {Leaf}

Core built mediators {Leaves}

   1.

   <engage-addressing-in/> engage addressing per message basis.
   2.

   <log/> basic message logging mechanism. Logging uses log4j. So
   altering log4j.properties rule administrator can set the logging
   properties.
   3.

   <fault/> Response will be a SOAP1.1 default false envelope.
   4.

   <send/> This is the tag corresponding to the mediator responsible for
   routing of messages. The corresponding mediator will infer the "Send On"
   {routing of message to a different location} or "Send Back" {routing of
   message back to its requestor}
   5.

   <header/> This tag manipulate soap header information in
   SynapeMessage.
   6.

   <xslt/> Newest addition to the core. The tag corresponding to the
   mediator, who's responsible of doing transformation to the message.

User Mediator Types {Leaves}

   1.

   <servicemediator/> This is the tag corresponding to the mediator who's
   responsible of invoking a mediator that has been written as a Axis2 service.
   (.AAR).
   2.

   <classmediator/> This is the tag corresponding to the mediator who's
   been responsible for invoking of a mediator that's written as a JAVA Class.

 Extensions

   1.

   <spring:springmediator/> which belongs to the namespace
   http://ws.apache.org/ns/synapse/spring. This is an extension.

All the elements above but Extensions belong to the namespace of
http://ws.apache.org/ns/synapse. <http://ws.apache.org/ns/synapse/spring>

*Samples*

   1.

   StockQuoteClient – This is a smart client, who demonstrate the use of
   WS-Addressing in Synapse to route messages.
   2.

   ProxyStockQuoteClient – This demonstrates Synapse in "transparent
   mode"
   3.

   DumbStockQuoteClient – This demonstrates Synapse in "gateway mode".
   4.

   LoggingClient – This demonstrate the simple use of <log/>



   1.

   Deprecation Mediator – This sample demonstrates the use of mediator to
   do deprecation of messages corresponding to configuration given in
   deprecation.xml. As a client for this sample User can user th
   StockQuoteClient.

*Test Suite*

A test suite is available on testing Processor/Configurator, that's
available in Synapse core. This test suite contains use cases resolved in
JIRA. (ex: multiple transport routing.)

*Project Configuration*

Synapse uses maven1 as the project coordinator. Following are the goal
available in the project

maven clean --> Clean the "target" directory

maven jar --> default goal, which is using for compile the project and run
the test-suite

maven dist-bin --> generate binary distribution in "target/dist" folder

maven dist-src --> generate src distribution in "target/dist" folder

maven site --> generate the site

maven javadoc --> gnerate the Java Documentation of the core of Synaspe

maven -Dmaven.test.skip=true jar --> to compile the code without running the
test-suite. {mainly to run the build quickly as test-suite take some
considerable amount of time to run}

At first build will take sometime due maven has to download the project
dependencies. Afterwards it will try to update SNPSHOT jar dependencies with
every build. This might take some time. In order to eliminate this use "-o".
Ex; maven jar -o.

 Xdocs

Documentation contains a userguide, which is sync with Wiki. Another
documentation is available on writing processors.

 Packaging Structure

bin

    +- scripts to run synapse

scripts

     +- scripts of samples/userguide

src

     +- core Java source

test

     +- test-suite

synapse-test-resources

     +- test resources need in running the test-suite

repository

     +- synapse repository.

project.xml

maven.xml

log4properties

project.properties


 *Synapse Server*

At present Synapse uses SimpleHTTPServer from Axis2. So when repository
given to the SimpleHTTPServer following should be available in repository.
This is the minimum and it's mandatory.

modules

      +- addressing-0.94.jar

lib

      +- all libs needed.

services

     +- emptymediator.aar

     +- synapse.aar

axis2.xml {synapse specific}

synapse.xml


 *Binary Distribution*

Binary distribution has samples, scrips, x docs and a synapse repository.
{maven dist-bin}

Thank you

Saminda

Nice to have:

XSLT sample
Failover Sample

Re: What's available in Synapse-M1

Posted by Paul Fremantle <pz...@gmail.com>.
Nice briefing Saminda.... any chance you can make this a maven site webpage
(xdocs/whatsinM1.xml). This would be really good to put into the site.

Paul

On 1/20/06, Saminda Abeyruwan <sa...@gmail.com> wrote:
>
> Hi all,
>
> Title
> What's available in Synapse-M1
>
> *Rule Configuration*
>
> Rule reconfiguration elements, {Nodes}
>
>    1.
>
>    Regular expression <regex/>
>     2.
>
>    Xpath <xpath/>
>
> Grouping and Referencing Elements {Nodes}
>
>    1.
>
>    Grouping a Set of Rules for human readability <stage/>
>    2.
>
>    Grouping of Mediators that need to be called in IN direction <in/>{this is default}
>    3.
>
>    Grouping of Mediators that need to be called in OUT direction <out/>{yet to be stabilize}
>    4.
>
>    Grouping of Mediators that need NOT to be executed in any direction
>    <never/>
>    5.
>
>    Referencing of Mediator <ref/>. A mediator can be referenced if that
>    mediator's tag contain "name" attribute only. Lookup of the mediators from
>    Synapse Environment done using @name. {Leaf}
>
> Core built mediators {Leaves}
>
>    1.
>
>    <engage-addressing-in/> engage addressing per message basis.
>    2.
>
>    <log/> basic message logging mechanism. Logging uses log4j. So
>    altering log4j.properties rule administrator can set the logging
>    properties.
>    3.
>
>    <fault/> Response will be a SOAP1.1 default false envelope.
>    4.
>
>    <send/> This is the tag corresponding to the mediator responsible
>    for routing of messages. The corresponding mediator will infer the "Send On"
>    {routing of message to a different location} or "Send Back" {routing of
>    message back to its requestor}
>    5.
>
>    <header/> This tag manipulate soap header information in
>    SynapeMessage.
>    6.
>
>    <xslt/> Newest addition to the core. The tag corresponding to the
>    mediator, who's responsible of doing transformation to the message.
>
> User Mediator Types {Leaves}
>
>    1.
>
>    <servicemediator/> This is the tag corresponding to the mediator
>    who's responsible of invoking a mediator that has been written as a Axis2
>    service. (.AAR).
>    2.
>
>    <classmediator/> This is the tag corresponding to the mediator who's
>    been responsible for invoking of a mediator that's written as a JAVA Class.
>
>  Extensions
>
>    1.
>
>    <spring:springmediator/> which belongs to the namespace
>    http://ws.apache.org/ns/synapse/spring. This is an extension.
>
> All the elements above but Extensions belong to the namespace of
> http://ws.apache.org/ns/synapse. <http://ws.apache.org/ns/synapse/spring>
>
> *Samples*
>
>    1.
>
>    StockQuoteClient – This is a smart client, who demonstrate the use
>    of WS-Addressing in Synapse to route messages.
>    2.
>
>    ProxyStockQuoteClient – This demonstrates Synapse in "transparent
>    mode"
>    3.
>
>    DumbStockQuoteClient – This demonstrates Synapse in "gateway mode".
>    4.
>
>    LoggingClient – This demonstrate the simple use of <log/>
>
>
>
>    1.
>
>    Deprecation Mediator – This sample demonstrates the use of mediator
>    to do deprecation of messages corresponding to configuration given in
>    deprecation.xml. As a client for this sample User can user th
>    StockQuoteClient.
>
> *Test Suite*
>
> A test suite is available on testing Processor/Configurator, that's
> available in Synapse core. This test suite contains use cases resolved in
> JIRA. (ex: multiple transport routing.)
>
> *Project Configuration*
>
> Synapse uses maven1 as the project coordinator. Following are the goal
> available in the project
>
> maven clean --> Clean the "target" directory
>
> maven jar --> default goal, which is using for compile the project and run
> the test-suite
>
> maven dist-bin --> generate binary distribution in "target/dist" folder
>
> maven dist-src --> generate src distribution in "target/dist" folder
>
> maven site --> generate the site
>
> maven javadoc --> gnerate the Java Documentation of the core of Synaspe
>
> maven -Dmaven.test.skip=true jar --> to compile the code without running
> the test-suite. {mainly to run the build quickly as test-suite take some
> considerable amount of time to run}
>
> At first build will take sometime due maven has to download the project
> dependencies. Afterwards it will try to update SNPSHOT jar dependencies with
> every build. This might take some time. In order to eliminate this use "-o".
> Ex; maven jar -o.
>
>  Xdocs
>
> Documentation contains a userguide, which is sync with Wiki. Another
> documentation is available on writing processors.
>
>  Packaging Structure
>
> bin
>
>     +- scripts to run synapse
>
> scripts
>
>      +- scripts of samples/userguide
>
> src
>
>      +- core Java source
>
> test
>
>      +- test-suite
>
> synapse-test-resources
>
>      +- test resources need in running the test-suite
>
> repository
>
>      +- synapse repository.
>
> project.xml
>
> maven.xml
>
> log4properties
>
> project.properties
>
>
>  *Synapse Server*
>
> At present Synapse uses SimpleHTTPServer from Axis2. So when repository
> given to the SimpleHTTPServer following should be available in repository.
> This is the minimum and it's mandatory.
>
> modules
>
>       +- addressing-0.94.jar
>
> lib
>
>       +- all libs needed.
>
> services
>
>      +- emptymediator.aar
>
>      +- synapse.aar
>
> axis2.xml {synapse specific}
>
> synapse.xml
>
>
>  *Binary Distribution*
>
> Binary distribution has samples, scrips, x docs and a synapse repository.
> {maven dist-bin}
>
> Thank you
>
> Saminda
>
> Nice to have:
>
> XSLT sample
> Failover Sample
>
>
>
>
>
>
>
>


--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://bloglines.com/blog/paulfremantle
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com