Author: hiranya
Date: Mon Jan 24 05:34:17 2011
New Revision: 1062652

URL: http://svn.apache.org/viewvc?rev=1062652&view=rev
Log:
Config lang guide

Added:
    synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/config.xml

Added: 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=1062652&view=auto
==============================================================================
--- synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/config.xml 
(added)
+++ synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/config.xml 
Mon Jan 24 05:34:17 2011
@@ -0,0 +1,126 @@
+<?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 - Configuration Language Guide</title>
+    </properties>
+    <body>
+        <section name="Contents">
+            
+        </section>
+        <section name="Introduction">
+            <p>
+                Apache Synapse reads its configuration from a set of XML 
files.  This allows the
+                configuration to be easily hand edited, backed up from the 
file system, or even
+                included in a version control system for easier management and 
control (e.g. moving
+                a configuration from development, through QA, staging and into 
production). All these
+                XML configuration files are housed under the 
repository/conf/synapse-config directory.
+            </p>
+            <p>
+                Synapse also has the ability to load certain configuration 
elements from an external
+                registry. When using a registry to hold pieces of the 
configuration, certain items
+                such as endpoint definitions, sequences and local entries can 
be updated dynamically
+                while the Synapse ESB is executing.
+            </p>
+            <p>
+                This article describes the hierarchy or XML files from which 
Synapse loads its
+                configuration. It describes the high level structure of the 
file set and the XML
+                syntax used to configure various elements in the Synapse 
configuration.
+            </p>
+        </section>
+        <section name="The Synapse Configuration">
+            <p>
+                A typical Synapse configuration is comprised of sequences, 
endpoints, proxy services
+                and local entries. In certain advanced scenarios, Synapse 
configuration may also
+                contain scheduled tasks, event sources, messages stores and 
priority executors.
+                Synapse configuration may also include a registry adapter 
through which Synapse can
+                import various resources to the mediation engine at runtime. 
Following diagram
+                illustrates different components of the Synapse configuration 
and how they interact
+                with each other.
+            </p>
+            <!-- Image goes here -->
+            <p>
+                All the functional components of the Synapse configuration are 
configured through
+                XML files. The Synapse configuration language governs the XML 
syntax used to define
+                and configure different types of components. This 
configuration language is now
+                available as a XML schema.
+            </p>
+            <p>
+                Typically the Synapse ESB is deployed between an actual client 
and a back-end service
+                implementation to mediate the message flow. Therefore the 
Synapse ESB can accept a
+                message on behalf of the actual service, perform 
authentication, validation, transformation,
+                logging, routing and then decide the destination endpoint for 
the message and direct
+                it to an actual service. The Synapse ESB can also detect 
timeouts and transport failures
+                during communication or introduce load balancing, throttling 
or caching where necessary.
+                For fault scenarios such as authentication failures or schema 
validation failures, the
+                Synapse ESB can be configured to return a custom message or a 
fault to the requesting
+                client without forwarding the request to the actual service. 
All these scenarios
+                and usecases can be put into action by selecting the right set 
of functional components
+                and combining them appropriately in the Synapse configuration.
+            </p>
+            <p>
+                Depending on how functional components are used in the Synapse 
configuration, Synapse
+                can execute in one or more of the following operational modes.
+            </p>
+            <subsection name="Service Mediation (Proxy Services)">
+                <p>
+                    In service mediation, the Synapse ESB exposes a service 
endpoint on the ESB, which
+                    accepts messages from clients. Typically these services 
acts as proxies for existing
+                    (external) services, and the role of Synapse would be to 
'mediate' these messages
+                    before they are delivered to the actual service. In this 
mode, Synapse could expose
+                    a service already available in one transport, over a 
different transport; or expose
+                    a service that uses one schema or WSDL as a service that 
uses a different schema or
+                    WSDL. A Proxy service could define the transports over 
which the service is exposed,
+                    and point to the mediation sequences that should be used 
to process request and
+                    response messages. A proxy service maybe a SOAP or a 
REST/POX service over HTTP/S or
+                    SOAP, POX, plain text or binary/legacy service for other 
transports such as JMS
+                    and VFS file systems.
+                </p>
+            </subsection>
+            <subsection name="Message Mediation">
+                <p>
+                    In message mediation, Synapse acts as a transparent proxy 
for clients. This way,
+                    Synapse could be configured to filter all the messages on 
a network for logging,
+                    access control etc, and could 'mediate' messages without 
the explicit knowledge
+                    of the original client. If Synapse receives a message that 
is not accepted by any
+                    proxy service, that message is handled through message 
mediation. Message mediation
+                    always processes messages according to the mediation 
sequence defined as 'main'.
+                </p>
+            </subsection>
+            <subsection name="Task Scheduling">
+                <p>
+                    In task scheduling, Synapse can execute a predefined task 
based on a user
+                    specified schedule. This way a task can be configured to 
run exactly once or
+                    multiple times with fixed intervals. The schedule can be 
defined by specifying
+                    the number of times the task should be executed and the 
interval between
+                    executions. Alternatively one may use the Unix Cron syntax 
to define task
+                    schedules. This mode of operation can be used to 
periodically invoke a given
+                    service, poll databases and execute other periodic 
maintenance activities.
+                </p>
+            </subsection>
+            <subsection name="Eventing">
+                <p>
+                    
+                </p>
+            </subsection>
+        </section>
+    </body>
+</document>
\ No newline at end of file


Reply via email to