forked from openrtb/openrtb2x
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
116 lines (90 loc) · 5.22 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
--------------------------------------------------------------------------------
Implementation Purpose
--------------------------------------------------------------------------------
This project is focused on supplying a reference implementation, both for
supply-side and demand-side platforms, of the offline synchronization services
specified in the OpenRTB Specification.
The goal and design of this work is to minimize the effort required by any
DSP or SSP wishing to leverage the capabilities described in the spec.
To aid in this effort, the work has been licensed under the New BSD License.
Please refer to the LICENSE file in the root of this project for more
information, or to the following website for more information:
http://www.opensource.org/licenses/bsd-license.php
--------------------------------------------------------------------------------
Project Structure
--------------------------------------------------------------------------------
You should be able to build the project by running 'mvn clean install' from the
top-level directory. The project is structured in the following manner:
+ common
This directory is a maven project that produces a single jar file. This
jar file contains all code that is shared between the demand-side and
supply-side implementations (i.e. authentication/validation work, object
models, etc.)
+ demand-side
This directory contains a series of maven projects responsible for the DSP
behavior of this specification. The sub-project artifact responsibilities
include:
* dsp-web
This project packages up a web archive (war) file, capable of being
deployed in any standard JEE web container based upon the reference
'dsp-client' artifact provided with this implementation.
The contents of this package are purposefully minimized to the
deployment artifacts necessary to deploy the war file.
* dsp-core
This project produces a jar file containing the necessary logic for
sending requests and receiving responses, including all message handling
that is pertinent to the DSP.
This jar file represents standard logic that would be implemented by any
DSP wishing to leverage this implementation.
All DSP specific logic (i.e. persisting the response data, retrieving
advertiser information, etc.) is delegated to the 'dsp-client' via the
'dsp-intf'.
* dsp-intf
This package is the contract and set of interfaces between the message
handling code located in the 'dsp-core' and a DSP's specific internal
representation of that data.
* dsp-client
This package is an example implementation of the 'dsp-intf' to satisfy
the following:
1) Integration testing between the 'dsp-web' and 'ssp-web' projects.
2) Provide a framework for other DSPs to leverage this specification more
quickly by allowing the DSP to focus on the integration aspects of the
specification with their own specific platform.
As a result of requirement (1) above, this package must be capable of
working in concert with the 'ssp-client' described below.
+ supply-side
Similar to the 'demand-side' module, this directory contains a series of
maven projects responsible for the SSP behavior described in the
specification. The sub-module artifact responsibilities include:
* ssp-web
This project packages up a web archive (war) file capable of being
deployed in any standard JEE web container. It is based upon the
reference 'ssp-client' artifact provided with this implementation.
The contents of this package are purposefully minimized to the deployment
configurations necessary to deploy the war file.
* ssp-core
This project produces a jar file containing the necessary logic for
sending and receiving both requests and responses, including all message
handling that is pertinent to the SSP.
This jar file represents standard logic that would be implemented by any
SSP wishing to leverage this implementation..
All SSP specific logic (i.e. persisting the advertiser data, retrieving
publisher information, etc.) is delegated to the 'ssp-client' via the
'ssp-intf'.
* ssp-intf
This package is the contract and set of interfaces between the message
handling code located in the 'ssp-core' and an SSP's specific internal
representation of that data.
* ssp-client
This package is an example implementation of the 'ssp-intf' to satisfy
the following:
1) Integration testing between the 'ssp-web' and 'dsp-web' projects.
2) Provide a framework for other SSPs to leverage this specification more
quickly by allowing the SSP to focus on the integration aspects of the
specification with their own specific platform.
As a result of requirement (1) above, this package must be capable of
working in concert with the 'dsp-client' described above.
+ openrtb-validator
This project provides a simple API that can be used to validate JSON bid
requests and responses according to OpenRTB specifications. OpenRTB
versions 1.0, 2.0, and 2.1 are fully supported.