Installing UltraESB is just a matter of extracting the ZIP binary distribution hosted at the Adroitlogic downloads into your software installation directory.
Obtaining UltraESB
Use your favorite browser to navigate to the downloads page of AdroitLogic which is;
You will get to the following page from which you can download the binary by clicking on the highlighted binary distribution

Alternatively if you are on a Linux environment and prefers command line you could use wget to get hold of the binary with;
Installation
On Linux based systems, use the unzip command to extract the just downloaded adroitlogic-ultraesb-1.6.0.zip into the /opt directory
On Windows operating systems right click on the zip file and extract the archive in to C:\Program Files\ directory
Given that the prerequisites are met, and the above steps are successful the installation is complete.
Structure of UltraESB installation
Installation archive gets extracted into the following directory/file structure; here in after referred to as ULTRA_HOME. Same familiarization of the installation structure before proceeding to start the UltraESB will be helpful for the future chapters of the documentation.
If you are on a Linux based system the tree command will give you something along the following structure
If you are on Window based system, you can use the File browser to view the following structure in the tree view.
| Note Order of the directories listed is based on the relevance and not on the alphabetical order. |
/bin
ultraesb.sh/bat - starts the UltraESB
uconsole.sh/bat - starts the UltraESB management console
uterm.sh/bat - starts the UltraESB management terminal
toolbox.sh/bat - starts the SOA ToolBox
encrypt.sh/bat - encrypts password to be stored on the configuration file and uconsole shiro users file
ultraesb-daemon.sh - starts and manages the UltraESB on production deployments (start | stop | etc...)
uconsole-daemon.sh - work same as the ultraesb-daemon.sh. starts the console as a service
zkServer.sh/bat - startup script for starting ZooKeeper for UltraESB clustering
zkCli.sh/bat - command line client for ZooKeeper
zkEnv.sh/bat - helper script to setup the environment for the zkServer and zkCli
zkCleanup.sh - cleanup old transaction logs, snapshots of ZooKeeper
/native - directory containing the wrapper native libraries
/conf
ultra-root.xml - the root configuration file that contains the core engine configuration
ultra-dynamic.xml - the default configuration file fragment included into the root configuration, which holds proxy service definitions
uterm.properties - configurations of the UltraESB management terminal
ehcache.xml - ehcache configuration for the UltraESB caching implementation, better keep it as it is
encrypted.properties -
log4j.properties - UltraESB loggers configuration
log4j_uterm.properties - UltraESB management terminal loggers configuration
log4j_zk.properties - ZooKeeper logger configuration
wrapper.conf - wrapper configuration used by the UltraESB daemon script
wrapper-uconsole.conf - wrapper configuration used by the Uconsole daemon script
zoo.cfg - ZooKeeper configuration
/keys - the Keystores for private keys and certificates
/management - JMX remote access/security configuration
/mediation
/classes - default location where mediation sequences are compiled
/src - default location for any Java source code to be picked up by sequences
/zabbix - contains the templates for zabbix registration
/data - default data directory used by the UltraESB
/zookeeper - default data directory used by the ZooKeeper
/docs - documentation assets of UltraESB
/lib - ultraesb and other core libraries
/patches - patches to any of the libraries used by the UltraESB - this location occurs first in the classpath
/custom - libraries developed or third-party libraries added by the user to be used in sequences etc
/endorsed - Java endorsed directory for UltraESB
/optional - contains optional JAR files. Files not used in your installation maybe deleted
/samples - contains JAR files used in samples. Maybe deleted in a production environment
/test - contains JAR files used for unit tests. Maybe deleted in a production environment
/logs - default log directory
/samples
/conf - sample configuration files
/resources - XSD's, WSDL's, XSLT's etc. used by samples
/src - source code for samples and unit tests
/webapp - Web application loaded into the sample Jetty server for samples and unit tests
/bin - script files for load tests
/tmp - temporary files
/uconsole - uconsole artifacts and web app
/webapp - UltraESB web application, which can be used to install UltraESB on any J2EE container
The above illustration of the directory/file structure of the UltraESB installation gives an overview of the UltraESB contents. These files, their content and its use will be described extensively through out the documentation. The installation structure and any customization will be discussed in detail in the Configuration and Administration.
With that briefing on the installation content, the documentation moves into Running the UltraESB.




