Author: ruwan Date: Wed Jun 24 10:53:41 2009 New Revision: 39838 URL: http://wso2.org/svn/browse/wso2?view=rev&revision=39838
Log: Fixing the mediator catalog Modified: branches/esb/java/2.1/product/docs/site.xml branches/esb/java/2.1/product/docs/xdoc/mediator_guide.xml Modified: branches/esb/java/2.1/product/docs/site.xml URL: http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/site.xml?rev=39838&r1=39837&r2=39838&view=diff ============================================================================== --- branches/esb/java/2.1/product/docs/site.xml (original) +++ branches/esb/java/2.1/product/docs/site.xml Wed Jun 24 10:53:41 2009 @@ -69,8 +69,6 @@ <item name="Deployment Guide" href="deployment_guide.html"/> <item name="Extending ESB" href="extensions_guide.html"/> <item name="Configuration" href="configuration_language.html"/> - <item name="Sequence Editor" href="sequence_editor.html"/> - <item name="Mediator Guide" href="mediator_guide.html"/> </menu> <menu name="Samples"> <item name="Samples Index" href="samples_index.html"/> @@ -88,7 +86,7 @@ </menu> <menu name="Catalogs"> <item name="Transports" href="transports/transports-catalog.html"/> - <item name="Mediators" href="mediator-catalog.html"/> + <item name="Mediators" href="mediator_guide.html"/> <item name="Endpoints" href="endpoint-catalog.html"/> </menu> <menu name="Resources"> Modified: branches/esb/java/2.1/product/docs/xdoc/mediator_guide.xml URL: http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/mediator_guide.xml?rev=39838&r1=39837&r2=39838&view=diff ============================================================================== --- branches/esb/java/2.1/product/docs/xdoc/mediator_guide.xml (original) +++ branches/esb/java/2.1/product/docs/xdoc/mediator_guide.xml Wed Jun 24 10:53:41 2009 @@ -1,374 +1,373 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- - ~ Copyright (c) 2005-2008, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - ~ - ~ WSO2 Inc. 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. - ~ - --> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> - <title>WSO2 ESB - Mediator Guide </title> - <link href="css/esb-docs.css" rel="stylesheet" /> - <link href="styles/dist-docs.css" rel="stylesheet" type="text/css" - media="all" /> -</head> - -<body xml:lang="en"> -<h2>Mediator Guide </h2> - -<p>Message mediation is a fundamental part of any ESB. WSO2 ESB achieves -message mediation through it's mediators. ESB comes with a rich set of 30 plus -mediators to support the most common mediation functionalities as well as -advanced functionalities.</p> - -<p>Built in mediator capabilities of ESB provide functionality to match -incompatible protocols, data formats and interaction patterns across different -resources. Data can be split, cloned, aggregated and enriched, allowing ESB to -match the different capabilities of services. XQuery and XSLT allows rich -transformations on the messages. Rule based message mediation allows user to -cope with the uncertainty of business logic. Content based routing using XPath -filtering is supported in different flavors, allowing users to get the most -convenient configuration experience. Built in capability to handle transactions -allows message mediation to be done transactionally inside the ESB. With the -Eventing capabilities of ESB, EDA based components can be easily -interconnected. With features like throttling and caching integrated in to the -message mediation, powerful interconnections can be made, allowing ESB to be -used in the front end of organizations SOA infrastructure.</p> - -<p>ESB mediation framework is designed from the ground up to be extensible. -Everyday users write their own custom mediators to facilitate their custom -requirements. </p> - -<p>Now let's briefly look at how the mediation framework works. </p> - -<h3>How mediators work</h3> - -<p>A mediator is a full powered processing unit in ESB. In run-time it has -access to all the parts of ESB along with the current message. Usually a -mediator is configured using XML. Different mediators have their own XML -configurations. </p> - -<p>At the run-time a Message is injected in to the mediator with the ESB -run-time information. Then this mediator can do virtually anything with the -message. Here are some examples of mediator functionalities. </p> -<ul> - <li>Drop Mediator : Drops a message, stopping further processing of the - message</li> - <li>Send Mediator : Send the message out, using information inside the - message or according to some external configuration</li> - <li>Script Mediator : Executes a scripting language with the message</li> - <li>Filter Mediator: Filter messages using XPath</li> - <li>XSLT Mediator: Do XSLT transformations on messages </li> -</ul> - -<p>Wide range of usages of mediators is clear from the above few examples.</p> - -<p>Also mediators are considered as one of the main mechanisms for extending -ESB. A user can write a mediator and put it in to ESB. This custom mediator and -any other built in mediator will be exactly same from the API and the -privileges.</p> - -<h3>Sequences</h3> - -<p>Sequence is a List Mediator of the ESB. That means it can hold other -mediators and execute them. It is a part of the core of ESB and ESB message -mediation cannot live without this mediator. When a message is delivered to a -sequence, it sends the message through all it's child mediators.</p> - -<p>There are two types of sequences.</p> - -<h4>In-line Sequences</h4> - -<p><sequence name="string">other mediators</sequence></p> - -<p>In-line sequences has their child mediators defined inside the sequence -itself.</p> - -<h4>Named Sequences</h4> - -<p><sequence key="name"/></p> - -<p>Named sequences refer other sequences using a key. This allows re-using of -sequences.</p> - -<p>There are two predefined sequences. They are called "main" and "fault". If a -user doesn't specify these two sequences in the configuration, default -sequences will be created automatically.</p> - -<p>Here are the default configurations for main and fault</p> - -<p></p> - -<p>Main:</p> -<pre xml:space="preserve"> <syn:sequence name="main" xmlns:syn="http://ws.apache.org/ns/synapse"> - <syn:log/> - <syn:drop/> - </syn:sequence></pre> - -<p>Fault:</p> -<pre xml:space="preserve"> <syn:sequence name="fault" xmlns:syn="http://ws.apache.org/ns/synapse"> - <syn:log level="full"> - <syn:property name="MESSAGE" value="Executing default&quot;fault&quot; sequence"/> - <syn:property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/> - <syn:property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/> - </syn:log> - <syn:drop/> - </syn:sequence> - </pre> - -<p></p> - -<p>All the messages that are not for proxy services, will be sent through the -Main Sequence.</p> - -<p>A sequence can have an error handler. Error handler is again another -sequence. If an error occurs while executing a sequence, it's error handler -will be called. Every sequence has an error handler. If one isn't explicitly -specified, fault sequence will be treated as it's error handler.</p> - -<h4>How does a message comes to a mediator?</h4> - -<p>are two operational modes in the ESB. They are message mediation and proxy -services. Message mediation is all about mediators. Proxy services can use -message mediation as well.</p> - -<h4>Message Mediation</h4> - -<p>A message comes to the main sequence of the ESB if the message is not for -any of the proxy services defined in the ESB.</p> - -<p>Then this message goes through each of the mediators inside the main -sequence.</p> - -<p>If the message is sent to an Endpoint from the main sequence, response -message will also comes to the main sequence.</p> - -<p>Response message will also go through every child mediator of main -sequence</p> - -<p>If an error occurs in the main sequence, message will go through main -sequence's fault sequence.</p> - -<h4>Proxy Services</h4> - -<p>Proxy service can have 3 sequences</p> -<ol> - <li>In Sequence : A request message coming to a proxy service will go through - this sequence if the sequence is specified.</li> - <li>Out Sequence : A response message coming from the actual endpoint will go - through this sequence if the sequence is specified.</li> - <li>Fault Sequence : If an error occurs withing the proxy service operation, - message will go through this sequence</li> -</ol> - -<p>As I have mentioned earlier, every sequence is a collection of mediators. A -message delivered to a sequence will go through all its child mediators.</p> - -<p>Here is a brief description about built in mediators of WSO2 ESB. </p> - -<table border="1"> - <thead> - <tr> - <td>Category </td> - <td>Name </td> - <td>Description </td> - </tr> - </thead> - <tbody> - <tr> - <td>Core </td> - <td> - <a href="mediators/send.html">Send</a></td> - <td>Send a message out </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/log.html">Log</a> </td> - <td>Logs a message </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/property.html">Property</a> </td> - <td>Set or remove properties associated with the message </td> - </tr> - <tr> - <td></td> - <td>Sequence </td> - <td>Refer a sequence </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/event.html">Event</a></td> - <td>Send event notifications to an event source </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/drop.html">Drop</a> </td> - <td>Drops a message </td> - </tr> - <tr> - <td>Filter</td> - <td> - <a href="mediators/filter.html">Filter</a> - </td> - <td>Filter a messages using XPath, If else kind of logic </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/in-out.html">Out</a> </td> - <td>Inbuilt filter for choosing messages in ESB out path </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/in-out.html">In</a></td> - <td>Inbuilt filter for choosing messages in ESB in path </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/switch.html">Swith</a> </td> - <td>Filter messages using XPath, Switch logic </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/router.html">Router</a></td> - <td>Route messages based on XPath filtering </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/validate.html">Validate</a></td> - <td>Schema validation for messages </td> - </tr> - <tr> - <td>Transform </td> - <td>XSLT </td> - <td>XSLT transformations </td> - </tr> - <tr> - <td></td> - <td>XQuery </td> - <td>XQuey </td> - </tr> - <tr> - <td></td> - <td>Header </td> - <td>Sets or remove SOAP headers </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/fault.html">Fault</a> </td> - <td>Create SOAP Faults </td> - </tr> - <tr> - <td>Advanced </td> - <td>Cache </td> - <td>Evaluate messages based on weather the same message came to the ESB - </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/clone.html">Clone</a> </td> - <td>Clones a message </td> - </tr> - <tr> - <td></td> - <td> - <a href="mediators/iterate.html">Iterate</a> </td> - <td>Splits a message </td> - </tr> - <tr> - <td></td> - <td>Aggregate </td> - <td>Combines messages </td> - </tr> - <tr> - <td></td> - <td>Event </td> - <td>Publishes events to a given event source </td> - </tr> - <tr> - <td></td> - <td>Transaction </td> - <td>Executes a set of mediators transactionally </td> - </tr> - <tr> - <td></td> - <td>Throttle </td> - <td>Limit the number of messages </td> - </tr> - <tr> - <td></td> - <td>RMSequence </td> - <td>Reliable messaging </td> - </tr> - <tr> - <td></td> - <td>DBReport </td> - <td>Writes data to a database </td> - </tr> - <tr> - <td></td> - <td>DBLookup </td> - <td>Retrieve information from a database </td> - </tr> - <tr> - <td></td> - <td>Rule </td> - <td>Executes Rules </td> - </tr> - <tr> - <td></td> - <td>Entitlement </td> - <td>Fine grain authentication </td> - </tr> - <tr> - <td>Extension </td> - <td>Class </td> - <td>Create and execute a custom mediator</td> - </tr> - <tr> - <td></td> - <td>POJOCommand </td> - <td>Executes a custom command </td> - </tr> - <tr> - <td></td> - <td>Script </td> - <td>Executes a mediator written in a Scripting language </td> - </tr> - <tr> - <td></td> - <td>Spring </td> - <td>Create a mediator managed by Spring </td> - </tr> - </tbody> -</table> - -<p></p> -</body> -</html> +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- + ~ Copyright (c) 2005-2008, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. 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. + ~ + --> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> + <title>WSO2 ESB - Mediator Catalog </title> + <link href="css/esb-docs.css" rel="stylesheet" /> + <link href="styles/dist-docs.css" rel="stylesheet" type="text/css" + media="all" /> +</head> + +<body xml:lang="en"> +<h2>Mediator Catalog </h2> + +<p>Message mediation is a fundamental part of any ESB. WSO2 ESB achieves +message mediation through it's mediators. ESB comes with a rich set of 30 plus +mediators to support the most common mediation functionalities as well as +advanced functionalities.</p> + +<p>Built in mediator capabilities of ESB provide functionality to match +incompatible protocols, data formats and interaction patterns across different +resources. Data can be split, cloned, aggregated and enriched, allowing ESB to +match the different capabilities of services. XQuery and XSLT allows rich +transformations on the messages. Rule based message mediation allows user to +cope with the uncertainty of business logic. Content based routing using XPath +filtering is supported in different flavors, allowing users to get the most +convenient configuration experience. Built in capability to handle transactions +allows message mediation to be done transactionally inside the ESB. With the +Eventing capabilities of ESB, EDA based components can be easily +interconnected. With features like throttling and caching integrated in to the +message mediation, powerful interconnections can be made, allowing ESB to be +used in the front end of organizations SOA infrastructure.</p> + +<p>ESB mediation framework is designed from the ground up to be extensible. +Everyday users write their own custom mediators to facilitate their custom +requirements. </p> + +<p>Now let's briefly look at how the mediation framework works. </p> + +<h3>How mediators work</h3> + +<p>A mediator is a full powered processing unit in ESB. In run-time it has +access to all the parts of ESB along with the current message. Usually a +mediator is configured using XML. Different mediators have their own XML +configurations. </p> + +<p>At the run-time a Message is injected in to the mediator with the ESB +run-time information. Then this mediator can do virtually anything with the +message. Here are some examples of mediator functionalities. </p> +<ul> + <li>Drop Mediator : Drops a message, stopping further processing of the + message</li> + <li>Send Mediator : Send the message out, using information inside the + message or according to some external configuration</li> + <li>Script Mediator : Executes a scripting language with the message</li> + <li>Filter Mediator: Filter messages using XPath</li> + <li>XSLT Mediator: Do XSLT transformations on messages </li> +</ul> + +<p>Wide range of usages of mediators is clear from the above few examples.</p> + +<p>Also mediators are considered as one of the main mechanisms for extending +ESB. A user can write a mediator and put it in to ESB. This custom mediator and +any other built in mediator will be exactly same from the API and the +privileges.</p> + +<h3>Sequences</h3> + +<p>Sequence is a List Mediator of the ESB. That means it can hold other +mediators and execute them. It is a part of the core of ESB and ESB message +mediation cannot live without this mediator. When a message is delivered to a +sequence, it sends the message through all it's child mediators.</p> + +<p>There are two types of sequences.</p> + +<h4>In-line Sequences</h4> + +<p><sequence name="string">other mediators</sequence></p> + +<p>In-line sequences has their child mediators defined inside the sequence +itself.</p> + +<h4>Named Sequences</h4> + +<p><sequence key="name"/></p> + +<p>Named sequences refer other sequences using a key. This allows re-using of +sequences.</p> + +<p>There are two predefined sequences. They are called "main" and "fault". If a +user doesn't specify these two sequences in the configuration, default +sequences will be created automatically.</p> + +<p>Here are the default configurations for main and fault</p> + +<p>Main:</p> +<pre xml:space="preserve"> <syn:sequence name="main" xmlns:syn="http://ws.apache.org/ns/synapse"> + <syn:log/> + <syn:drop/> + </syn:sequence></pre> + +<p>Fault:</p> +<pre xml:space="preserve"> <syn:sequence name="fault" xmlns:syn="http://ws.apache.org/ns/synapse"> + <syn:log level="full"> + <syn:property name="MESSAGE" value="Executing default&quot;fault&quot; sequence"/> + <syn:property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/> + <syn:property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/> + </syn:log> + <syn:drop/> + </syn:sequence> + </pre> + +<p>All the messages that are not for proxy services, will be sent through the +Main Sequence.</p> + +<p>A sequence can have an error handler. Error handler is again another +sequence. If an error occurs while executing a sequence, it's error handler +will be called. Every sequence has an error handler. If one isn't explicitly +specified, fault sequence will be treated as it's error handler.</p> + +<h4>How does a message comes to a mediator?</h4> + +<p>are two operational modes in the ESB. They are message mediation and proxy +services. Message mediation is all about mediators. Proxy services can use +message mediation as well.</p> + +<h4>Message Mediation</h4> + +<p>A message comes to the main sequence of the ESB if the message is not for +any of the proxy services defined in the ESB.</p> + +<p>Then this message goes through each of the mediators inside the main +sequence.</p> + +<p>If the message is sent to an Endpoint from the main sequence, response +message will also comes to the main sequence.</p> + +<p>Response message will also go through every child mediator of main +sequence</p> + +<p>If an error occurs in the main sequence, message will go through main +sequence's fault sequence.</p> + +<h4>Proxy Services</h4> + +<p>Proxy service can have 3 sequences</p> +<ol> + <li>In Sequence : A request message coming to a proxy service will go through + this sequence if the sequence is specified.</li> + <li>Out Sequence : A response message coming from the actual endpoint will go + through this sequence if the sequence is specified.</li> + <li>Fault Sequence : If an error occurs withing the proxy service operation, + message will go through this sequence</li> +</ol> + +<p>As I have mentioned earlier, every sequence is a collection of mediators. A +message delivered to a sequence will go through all its child mediators.</p> + +<p>WSO2 ESB has a built in sequence editor which helps you to develop/edit sequences. + This <a href="sequence_editor.html">Sequence Editor Guide</a> gives an introduction to the + usage of the sequence editor. Following is the catalog of the built in mediators + of WSO2 ESB.</p> + +<table border="1"> + <thead> + <tr> + <td>Category </td> + <td>Name </td> + <td>Description </td> + </tr> + </thead> + <tbody> + <tr> + <td>Core </td> + <td> + <a href="mediators/send.html">Send</a></td> + <td>Send a message out </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/log.html">Log</a> </td> + <td>Logs a message </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/property.html">Property</a> </td> + <td>Set or remove properties associated with the message </td> + </tr> + <tr> + <td></td> + <td>Sequence </td> + <td>Refer a sequence </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/event.html">Event</a></td> + <td>Send event notifications to an event source </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/drop.html">Drop</a> </td> + <td>Drops a message </td> + </tr> + <tr> + <td>Filter</td> + <td> + <a href="mediators/filter.html">Filter</a> + </td> + <td>Filter a messages using XPath, If else kind of logic </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/in-out.html">Out</a> </td> + <td>Inbuilt filter for choosing messages in ESB out path </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/in-out.html">In</a></td> + <td>Inbuilt filter for choosing messages in ESB in path </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/switch.html">Swith</a> </td> + <td>Filter messages using XPath, Switch logic </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/router.html">Router</a></td> + <td>Route messages based on XPath filtering </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/validate.html">Validate</a></td> + <td>Schema validation for messages </td> + </tr> + <tr> + <td>Transform </td> + <td>XSLT </td> + <td>XSLT transformations </td> + </tr> + <tr> + <td></td> + <td>XQuery </td> + <td>XQuey </td> + </tr> + <tr> + <td></td> + <td>Header </td> + <td>Sets or remove SOAP headers </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/fault.html">Fault</a> </td> + <td>Create SOAP Faults </td> + </tr> + <tr> + <td>Advanced </td> + <td>Cache </td> + <td>Evaluate messages based on weather the same message came to the ESB + </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/clone.html">Clone</a> </td> + <td>Clones a message </td> + </tr> + <tr> + <td></td> + <td> + <a href="mediators/iterate.html">Iterate</a> </td> + <td>Splits a message </td> + </tr> + <tr> + <td></td> + <td>Aggregate </td> + <td>Combines messages </td> + </tr> + <tr> + <td></td> + <td>Event </td> + <td>Publishes events to a given event source </td> + </tr> + <tr> + <td></td> + <td>Transaction </td> + <td>Executes a set of mediators transactionally </td> + </tr> + <tr> + <td></td> + <td>Throttle </td> + <td>Limit the number of messages </td> + </tr> + <tr> + <td></td> + <td>RMSequence </td> + <td>Reliable messaging </td> + </tr> + <tr> + <td></td> + <td>DBReport </td> + <td>Writes data to a database </td> + </tr> + <tr> + <td></td> + <td>DBLookup </td> + <td>Retrieve information from a database </td> + </tr> + <tr> + <td></td> + <td>Rule </td> + <td>Executes Rules </td> + </tr> + <tr> + <td></td> + <td>Entitlement </td> + <td>Fine grain authentication </td> + </tr> + <tr> + <td>Extension </td> + <td>Class </td> + <td>Create and execute a custom mediator</td> + </tr> + <tr> + <td></td> + <td>POJOCommand </td> + <td>Executes a custom command </td> + </tr> + <tr> + <td></td> + <td>Script </td> + <td>Executes a mediator written in a Scripting language </td> + </tr> + <tr> + <td></td> + <td>Spring </td> + <td>Create a mediator managed by Spring </td> + </tr> + </tbody> +</table> + +<p></p> +</body> +</html> _______________________________________________ Esb-java-dev mailing list [email protected] https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
