-
Notifications
You must be signed in to change notification settings - Fork 63
Expand file tree
/
Copy pathindex.xml
More file actions
169 lines (168 loc) · 9.59 KB
/
index.xml
File metadata and controls
169 lines (168 loc) · 9.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
<?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 - The Lightweight ESB</title>
</properties>
<body>
<section name="Apache Synapse Enterprise Service Bus (ESB)">
<p>
Apache Synapse is a lightweight and high-performance Enterprise Service Bus (ESB).
Powered by a fast and asynchronous mediation engine, Apache Synapse provides
exceptional support for XML, Web Services and REST. In addition to XML and SOAP,
Apache Synapse supports several other content interchange formats, such as plain
text, binary, Hessian and JSON. The wide range of transport adapters available for
Synapse, enables it to communicate over many application and transport layer
protocols. As of now, Apache Synapse supports HTTP/S, Mail (POP3, IMAP, SMTP),
JMS, TCP, UDP, VFS, SMS, XMPP and FIX.
</p>
<p>
Apache Synapse is free and open source software distributed under the
<a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License 2.0</a>.
The latest version of Synapse is <a href="download/3.0.1/download.cgi">v3.0.1</a>.
It is a patch release which contains bug fixes and library upgrades to
3.0.0 major feature release.
</p>
<p>
Apache Synapse, Synapse, Apache, the Apache feather logo, and the Apache Synapse
project logo are trademarks of The <a href="https://www.apache.org">Apache Software
Foundation</a>
</p>
</section>
<section name="New in Version 3.0.0">
<ul>
<li>
High-performing PassThrough HTTP transport support for all mediation scenarios
<ul><li>Ultra-fast, low latency mediation of HTTP requests</li></ul>
<ul><li>Supporting a very large number of inbound (client -> ESB)
and outbound (ESB -> server) connections concurrently</li></ul>
<ul><li>Intelligently handle message content and content awareness
built into the engine with shared buffer for handling data</li></ul>
<ul><li>Automatic throttling and graceful performance
degradation in the presence of slow or faulty clients and
servers</li></ul>
</li>
<li>
OCSP/CRL certificate validation support for HTTP transports
</li>
<li>
Respond Mediator - A Mediator for responding back to the client from anywhere in the mediation flow
</li>
<li>
Loopback Mediator - A Mediator for jumping from IN sequence to OUT sequence
</li>
<li>
Header Mediator improvements
<ul><li>Support for adding/removing transport headers</li></ul>
</li>
<li>
New xpath functions
<ul><li>url-encode xpath function</li></ul>
<ul><li>Access system properties from get-property function</li></ul>
<ul><li>base64 decode function</li></ul>
</li>
<li>
Message Processor improvements
<ul><li>Resequencing Message Processor</li></ul>
<ul><li>New blocking client implementation</li></ul>
</li>
<li>
Message Injector task improvements
<ul><li>Support for injecting a message to Proxy services</li></ul>
<ul><li>Support for injecting a message to named sequences</li></ul>
</li>
<li>
Callout Mediator improvements
<ul><li>Support for WS-Security</li></ul>
<ul><li>Inline Endpoint support</li></ul>
<ul><li>Ability to dynamically set the EPR using 'To' header</li></ul>
<ul><li>NTLM support</li></ul>
</li>
<li>
Script Mediator improvements
<ul><li>Support for removing properties</li></ul>
</li>
<li>
REST API improvements
<ul><li>Transport level access restriction</li></ul>
</li>
</ul>
</section>
<section name="Key Features">
<ul>
<li>Proxy services - facilitating transport, interface (WSDL/Schema/Policy),
message format (SOAP 1.1/1.2, POX/REST, Text, Binary), QoS (WS-Addressing/
WS-Security/WS-RM) and optimization switching (MTOM/SwA)</li>
<li>Non-blocking HTTP/S transports for fast HTTP interactions and support for
thousands of concurrent connections</li>
<li>VFS transport for file manipulation and interaction with FTP, SFTP, CIFS
and WEBDAV</li>
<li>JMS support for binary, plain text, XML and SOAP payloads</li>
<li>Mail transport with extensive support for POP3, IMAP and SMTP</li>
<li>Support for industry driven <a href="http://www.fixprotocol.org/">Financial
Information eXchange (FIX)</a> protocol</li>
<li>Built-in Registry/Repository, facilitating dynamic reloading of the
configuration and associated resources (e.g. XSLTs, XSD, JS, ..)</li>
<li>Built-in support for scheduling tasks using the
<a target="_blank" href="http://www.opensymphony.com/quartz">Quartz</a> scheduler</li>
<li>Load-balancing (with or without sticky sessions) and fail-over routing</li>
<li>Support for many Web Services standards including WS-Addressing, WS-Security
and WS-Reliable Messaging</li>
<li>Policy based message throttling and caching (with special support for clustered
environments)</li>
<li>Message splitting and aggregation</li>
<li>Database lookup and update support with database connection pooling</li>
<li>Fine grained statistics collection over sequences, endpoints and proxy services</li>
<li>JMX monitoring and management</li>
<li>Easily extendable with Java, Spring, or BSF Scripting languages (Javascript,
Ruby, Groovy, etc.)</li>
</ul>
</section>
<section name="High Level Architecture">
<p>
Apache Synapse is designed to be lightweight and fast. The non-blocking HTTP
transport, the multi-threaded mediation engine and the streaming XML infoset combine
to ensure that Synapse can mediate very high volumes of messages through the service
bus with minimum delay and resource usage. Synapse also comes with comprehensive
logging capabilities, statistics collection and JMX monitoring support which are
crucial in production deployments.
</p>
<img src="images/synapse-arch.png"/>
<p>
Synapse uses Apache Axis2 as the underlying Web Services engine. Therefore it
has outstanding support for Web Services and related standards such as SOAP and
WSDL. Tried and tested Axis2 modules like Apache Rampart and Apache Sandesha2 can be
used with Synapse with no configuration overhead. Using such external modules,
Apache Synapse supports a range of Web Services standards including WS-Security and
WS-Reliable Messaging. Synapse also makes use of the Axis2 clustering framework to
provide enterprise grade clustering support.
</p>
<p>
Synapse is configured using a simple, XML-based configuration language. The
configuration language and the related functional components are designed with SOA
best practices in mind. It is trivial to store configuration fragments in an external
SOA registry and import them to the mediation engine on demand. Synapse ships with a
large collection of mediators that can be used to implement even the most complex
enterprise integration scenarios. If necessary, the mediation engine can be extended
by developing custom mediators using Java or your favorite scripting language.
</p>
</section>
</body>
</document>