synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Miko Matsumura" <>
Subject Synapse Documentation
Date Wed, 25 Jan 2006 21:05:04 GMT
Infravio have put up some early synapse docs as well as a forum for our customers. Both are
in quite early stages, the docs are still in draft form, but we would like to continue to
refine these. We already have some of our customers interested in Synapse, which is quite
Big congratulations everyone...

	-----Original Message----- 
	From: Paul Fremantle [] 
	Sent: Mon 1/23/2006 12:29 PM 
	Subject: Re: What's available in Synapse-M1
	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.
	On 1/20/06, Saminda Abeyruwan <> wrote: 

		Hi all,

		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

		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
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. 



		1.	<spring:springmediator/> which belongs to the namespace
This is an extension.

		All the elements above but Extensions belong to the namespace of


		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/>


		5.	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

		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.


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

		Packaging Structure 


		    +- scripts to run synapse


		     +- scripts of samples/userguide 


		     +- core Java source 


		     +- test-suite


		     +- test resources need in running the test-suite


		     +- synapse repository. 





		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.


		      +- addressing-0.94.jar


		      +- all libs needed.


		     +- emptymediator.aar

		     +- synapse.aar

		axis2.xml {synapse specific}



		Binary Distribution

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

		Thank you


		Nice to have: 

		XSLT sample
		Failover Sample 










	Paul Fremantle
	VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
	"Oxygenating the Web Service Platform",

View raw message