Get Started

Local environment

  1. Download the Zip file or clone the project if you would like to contribute to the project.
  2. Import the project into your desired IDE via Maven Import.
  3. Build the project from the parent with Maven Goal mvn clean install.
    A war file will be generated within the target folder of the core project.
  4. Run OpenSSP from the core project with Maven Goal mvn tomcat7:run-war.
  5. OpenSSP is now ready to retrieve requests on port 8080 for developing, testing and debugging purposes.

Server setup

  • Required: Install and configure a Servlet Container e.g. Apache Tomcat.
  • Required: Set up a properties directory for storage the resource files global.runtime.xml, local.runtime.xml and log4j2.xml (optional).
    For example, if you choose Apache Tomcat as your Servlet Container, create the properties folder where the CATALINA_HOME is located.
  • Recommended: Set up the runtime files global.runtime.xml and local.runtime.xml.
    These files will be read during startup process. A Watchdog observes these files for changes and starts the load process to store the values. See the runtime files for more information.
  • Optional: Set up a log structure for customized logs. Default logging is console logging.
  • Define a request tag and place it within the ad space.
    The ad space is the placeholder on the publisher's site for a markup which will be served by the SSP. The definition of the tag and the parameters depend on your requirements.
  • Adjust the com.atg.openssp.core.entry.EntryValidator to read the values and store this data in the SessionAgent.
  • You need an external data source in order to enrich the bid request to a demand side with the required data as the OpenRTB protocol prescribes.
    A common way is to setup a service (e.g. RESTful service) which periodically loads the data of publishers, websites etc. This data comes from a database and will be stored onto the memory of the SSP (cache).
    Example: Define a request parameter e.g. &publisher=1234 with ID of the publisher as it is stored in your database.
    Read the cached data with the key of 1234 and you will retrieve further information about the publisher which you can put into the bid request.

  • Update v0.2: to increase the user experience and avoid to set up an external data service for a test implementation of OpenSSP , we provide some new example JSON based datastructures and its corresponding DataBroker. With these structures it is very easy to setup the data you need to fill a valid and complete bidrequest. Additionally the payload of SSP request is reduced to only one parameter. Copy the JSON files site_db.json, price_layer.json and supplier_db.json into the properties folder.

    Example: a call to OpenSSP with ?site=1 will map to an entry within site_db.json and loads its data from cache.
  • Of course, you first need a demand partner to send the bid request to. Therefore, it is also recommended to create a service to load data regarding to the partner. The RTB will load the demand partner (also called supplier), send the bid request to them and wait for an answer.

Deployment to Server

After finishing your setup, you are only a few steps away from succesfully running the system.
  1. Build the project from the parent with Maven Goal mvn clean install.
  2. Deploy the war file into the webapps folder.
  3. Run the Servlet Container.

Test your installation

After finishing your deployment, you can test if OpenSSP works correctly.
Open your browser and type


If OpenSSP is successfully installed and running you should see an output similar to:

{\"result\":\"Success\", \"message\":\"OpenSSP is working.\"}

Thats all you need to do. Now you can send requests to your SSP.