Let’s first look at an example of a typical architecture diagram:
Note: in the above schema, when there are arrows between groups of nodes, it means that these arrows actually go to each node, but are not repeated to make the diagram easier on the eyes.
Basically you can see four layers of nodes:
Please note that in order to reduce the amount of hardware needed, it is possible to deploy the Unomi and ElasticSearch nodes on the same (physical or virtual) machines, meaning that in the above graph only 6 (physical or virtual) machines could be used. However in high load scenarios, it might be interesting to separate each node in order to be able to better control the resources the nodes need and maximize resistance to failure.
As illustrated in the cluster diagram, a collection of ports is used by a typical Marketing Factory installation. The following summary table lists the ports that will need to be open in firewalls at various layers in the deployment to make sure everything will work as expected.
Port | Name | Visibility | Type | Description |
---|---|---|---|---|
5700-5800 | Hazelcast | Unomi | TCP | Used by Apache Karaf Cellar to keep track of cluster nodes and exchange configuration information |
8181 | Unomi Public (HTTP) | Web | TCP | Apache Unomi Public endpoint (exposed to the Internet) for event collection and context serving (profile, session, segments, …) |
9443 | Unomi Admin (HTTPS) | DX | TCP | Apache Unomi Administration endpoint, used to manage all Apache Unomi objects (segments, profile editing, etc…), also the Unomi secure address (Endpoint used in a secure environment) |
9200 | ElasticSearch HTTP | DX | TCP | ElasticSearch HTTP interface, used by clients such as Kibana or other applications |
9300 | ElasticSearch Transport | Unomi | TCP | ElasticSearch Transport TCP interface, highly optimized, used by Apache Unomi to talk to ElasticSearch, as well as between ElasticSearch nodes to exchange data (replications, …) |
The visibility column describes the highest layer the application architecture that must have visibility to that port. So for example for port 8181, a "Web" visibility indicates that the port must be visible to the world, although this doesn’t mean it necessarily is exposed directly, it could still be relayed through a proxy (for an example with Apache mod_proxy, see section 4.4)
Now let’s look at an overview of the elements that compose Marketing Factory.
This chapter lists requirements for the Apache Unomi itself. Please, refer to the dedicated document ("Configuration and fine tuning Guide - Digital Experience Manager 7.1.0.0") for the Digital Experience Manager requirements. For ElasticSearch requirements, you may find them here: https://www.elastic.co/guide/en/elasticsearch/guide/current/deploy.html
Please find below the minimum system requirements to properly run Marketing Factory. You can refer to the document ‘Marketing Factory performances metrics" for more information about system requirements & sizing. This document can be requested to the sales or support team.
OS:
Suggested Min. Production Environments:
In order to run Marketing Factory, you first need to install an Oracle’s Java SE (Java Platform, Standard Edition) in version 8 on your system. Marketing Factory requires the JDK (Java Development Kit) package to run.
To check if Java is already installed on your system, type the following command line at the prompt of your system:
java -version
You should get a message indicating which Java version is installed on your system. Please note that the same message will be displayed if you only have a JRE installed. If an error is returned, you probably don't have a Java Platform installed. If you have installed other versions of the Java Platform, Java Runtime Environment or other Java servers on your system, we recommend that you run a few checks before starting the installation in order to be sure that Digital Factory will run without problems. If you need to obtain and install a new Java SE, you can find both Linux and Windows versions on the Oracle Web site: http://www.oracle.com/technetwork/java/javase/downloads/index.html. To install a Java Virtual Machine on a Windows system, you need to have administrator rights on your computer. Please contact your system administrator if you don’t have sufficient permissions. Although the Apache Unomi tries to detect the location of the installed Java SE, we recommend setting the JAVA_HOME environment variable explicitly to the directory, where you have installed the Java SE. To setup this variable, follow the steps, described in next sections.
i) Open the Control Panel, and the System option. In Windows 7 and Vista it is: Control Panel _ System and Security _ System _ Advanced System Settings. Then, depending on your system: - Select the Advanced tab and click on the Environment Variables button (Windows 7/Vista/XP/2000) - Select the Properties tab and click on the Environment button (Windows NT) ii) Click on New in the "System variables" section to add a new environment variable. Enter the following information: - Variable name: JAVA_HOME - Variable value: c:\Program Files\Java\jdk1.8.0_60 (replace this value with the correct path) Click on OK to validate your entry. The Java Virtual Machine should now be correctly set-up. Please note that on Windows NT you will need to restart your computer to apply the changes.
Set the JAVA_HOME variable to the root directory of your JDK installation. Both examples below suppose you have installed the JDK version 1.8 in your /usr/java directory. The classpath is usually set by typing: In bash or ksh:
export JAVA_HOME=/usr/java/jdk1.8
In csh or tcsh:
export JAVA_HOME /usr/java/jdk1.8
Set the JAVA_HOME variable to the root directory of your JDK installation. Both examples below suppose you have installed the JDK version 1.8 in your /usr/java directory. The classpath is usually set by typing: In ksh:
export JAVA_HOME=/usr/java
In sh:
JAVA_HOME=/usr/java;export
In csh or tcsh:
setenv JAVA_HOME /usr/java
Marketing Factory 1.7 requires an installation of a Digital Experience Manager 7.1.2.0 or later. For installation instructions and system requirements, please, refer to the "Configuration and fine tuning Guide - Digital Experience Manager 7.1.2.0" document.