## Apache Synapse

## Apache Synapse Installation Guide

Welcome to Apache Synapse Installation Guide. This guide provides information on,

- Prerequisites for Installing Apache Synapse
- Distribution Packages
- Installing Synapse
  - Installing on *nix (Linux/macOS/Solaris)
  - Installing on MS Windows
- Building Synapse Using the Source Distribution

## Prerequisites for Installing Apache Synapse

You should have following pre-requisites installed on your system to run Apache Synapse.

Java SE Development Kit | 1.8.0_141 or higher (For instructions on setting up the JDK on different operating systems, visit Java homepage. )
Apache Ant - To run Synapse samples | To compile and run the sample clients, an Ant installation is required. Ant 1.7.0 version or higher is recommended.
Apache Maven - To build Synapse from the source | To build Apache Synapse from its source distribution, you will need Maven 3.2.x or later.
Memory | No minimum requirement - A heap size of 1GB is generally sufficient to process typical SOAP messages. Requirements may vary with larger message size and on the number of messages processed concurrently.
Disk | No minimum requirement. The installation will require ~75 MB excluding space allocated for log files and databases.
Operating System | Linux, Solaris, macOS, MS Windows - XP/2003/2008 (Not fully tested on Windows Vista/7/8/10). Since Apache Synapse is a Java application, it will generally be possible to run it on other operating systems with a JDK 1.6.x or higher runtime. Linux is recommended for production deployments.

## Distribution Packages

The following distribution packages are available for download.

1. Binary Distribution: Includes binary files for Linux, macOS and MS Windows operating systems, compressed into a single zip file. Recommended for normal users.

2. Source Distribution: Includes the source code for Linux, macOS and MS Windows operating systems, compressed into a single zip file which can be used to build the binaries. Recommended for advanced users.

## Installing Synapse

The following guide will take you through the binary distribution installation on different platforms.

### Installing on *nix (Linux/macOS/Solaris)

1. Download Apache Synapse binary distribution.
2. Extract the downloaded zip archive to where you want Synapse installed (e.g. into /opt).
3. Set the JAVA_HOME environment variable to your Java home using the export command or by editing /etc/profile, and add the JAVA_HOME/bin directory to your PATH.
4. Execute the Synapse start script or the daemon script from the bin directory of your Synapse installation.
   i.e., ./synapse.sh OR ./synapse-daemon.sh start
5. Synapse is now ready to accept messages for mediation.

### Installing on MS Windows

1. Download Apache Synapse binary distribution.
2. Extract the downloaded zip archive to where you want Synapse installed (e.g. into C:\Synapse).
3. Set the JAVA_HOME environment variable to your Java home using the set command or Windows System Properties dialog, and add the JAVA_HOME\bin directory to your PATH.
4. Execute the Synapse start script or the service installation script from the bin directory of your Synapse installation.
   i.e., synapse.bat OR install-synapse-service.bat
5. Synapse is now ready to accept messages for mediation.

## Building Synapse Using the Source Distribution

Apache Synapse build is based on Apache Maven 3. Hence, it is a prerequisite to have Maven (version 3.2.0 or later) installed in order to build Synapse from the source distribution. Instructions on installing Maven 3 are available on the Maven website. Follow these steps to build Synapse after setting up Maven 3.

1. Download the source distribution, which is available as a zip archive. All the necessary build scripts are included with this distribution. Alternatively Synapse can be cloned from the Github repository.
2. Extract the source archive to a directory of your choice. If cloned from Github repository, change directories into downloaded project root.
3. Run mvn clean install command inside that directory to build Synapse. Note that you will require a connection to the Internet for the Maven build to download dependencies required for the build.

This will create the complete set of release artifacts including the binary distribution in the modules/distribution/target/ directory which can be installed using the above instructions.