ad-tech-group / openssp

openssp
http://openssp.org
MIT License
152 stars 59 forks source link
auction bidding dsp impression openssp real-time-bidding rtb ssp

OpenSSP by ATG

This is a Open-Source Supply-Side-Platform for general use.

This platform is also called a multi-channel-SSP which means that not only RTB is supported, also channels to a adserver and other SSP can be implemented. The RTB Support is native implemented and need no extra definition.

This SSP is optimized for working and handle VideoAd-Impressions. Therefore there a objects with those characteristics. But it can also be used for any other type of impressions such as banner etc. Feel free to examine the code and adapt the behavior as you need.

Full support of the OpenRTB standard up to version 2.4. If a field or object from the protocol is missing, just add it.

There are some properties configuration files to configure some small, things to the SSP like URL, Credentials etc. The Runtime Environment is based on a Tomcat. The proprties files will be loaded at TC startup and a Watchdog is watching those files for changes. So the (most) values of this configurations are runtime sensitive.

Those file are:

Elementary SSP functionality:

Data Caching:

This OpenSSP uses some predefined data to enrich the incoming requests and building the various bidrequests. Those data e.g. for Websites have to be loaded in a asynchronous and continous way. The data will be loaded via a restful service normally cause of to call a database in realtime is not performantly possible, therefore this SSP loads in a periodically manner the data from a webservice and stores those data in a memory based key-value store, called the cache.

Update v0.2: to increase the user experience and avoid a test implementation for set up an external data service to load the data from, some new example JSON based datastructures and its corresponding DataBroker are available. These structures can be extended to load the data to fill a valid and complete bidrequest. Additionally the payload of SSP request is reduced to only one parameter. Example: a call to OpenSSP with ?site=1 will map to an entry within site_db.json and loads its data from cache.

You can use it, improve it or do whatever you want with it.

Comments, proposals and improvements are welcome.
For more informations contact André Schmer, schmer@ad-tech-group.com.
October 2017