8/14/2019 BMS Logical Design 1
1/89
8/14/2019 BMS Logical Design 1
2/89
Banner
8/14/2019 BMS Logical Design 1
3/89
Management
8/14/2019 BMS Logical Design 1
4/89
Systemphase 1
8/14/2019 BMS Logical Design 1
5/89
Logical Design
02/2008
8/14/2019 BMS Logical Design 1
6/89
Created By:
Alexander Dubinsky
Table of Updates
V
er.Date Updated by
Updated
SectionsComments
1.0 Alex Dubinsky New Document
8/14/2019 BMS Logical Design 1
7/89
V
er.Date Updated by
Updated
SectionsComments
Related Documents
# Name Type Author Document Content
Requirement Presentation Alexander Requirements
8/14/2019 BMS Logical Design 1
8/89
s_HighLevel
Design_1Dubinsky
analysis + high-
level design
Etgerter e er
Document Approval
Ver. Role Date Approved By Notes
1.0 CTO Shlomi levi
8/14/2019 BMS Logical Design 1
9/89
1.0R&D
ManagerEyal Tzelnik
1.0Team
LeaderEli Shemesh
8/14/2019 BMS Logical Design 1
10/89
Contents
Table of Updates 6
Related Documents 7
Document Approval 8
Contents 10
1. Introduction 18
1.1. Background 18
8/14/2019 BMS Logical Design 1
11/89
1.2. Design Goals 22
1.3. Terminology 23
2. Architecture 27
2.1. Introduction 27
2.2. Technology 29
2.3. Component model overview 29
2.4. Deployment model overview 33
2.5. System operation overview 35
3. System Interfaces 37
8/14/2019 BMS Logical Design 1
12/89
3.1. Back Office 37
3.1.1. Libraries 37
3.1.2. Advertisers management 41
3.1.3. Campaigns management 41
3.1.4. Banners management 50
3.1.5. Reports 54
Impressions/clicks log 54
Impressions/clicks summary by campaigns/banners/advertiser 55
8/14/2019 BMS Logical Design 1
13/89
In next versions other reports will be added (according to specific client requirementsand according to our design similar to Google AdWords). 56
3.2. Banner Provider 56
3.2.1. Pages for web applications 57
3.2.2. Web Services for all applications 614. Data 64
4.1. Introduction 64
4.2. Banner media files 65
4.3. Database 66
8/14/2019 BMS Logical Design 1
14/89
4.3.1. Advertisers Campaigns Banners 67
4.3.2. Customizable features library 70
4.3.3. Banner and its features 72
4.3.4. Campaign and its features 72
4.3.5. Logs and counters to store impressions and clicks 72
5. Technology 75
5.1. General Overview 75
5.2. Main Hardware 76
5.3. End User Equipment 77
8/14/2019 BMS Logical Design 1
15/89
5.4. Data Base Hardware 77
5.5. Development Tools 78
5.6. Maintenance Tool 78
5.7. End User Software 79
5.8. Backup and Recovery Tools 79
5.9. Data Security Tools 80
5.10. Testing Tools 80
6. Implementation & Deployment 81
6.1. Overview 81
8/14/2019 BMS Logical Design 1
16/89
6.2. Physical Design 82
6.3. Implementation Phase 82
6.4. Testing 83
6.5. Guidance Phase 83
6.6. Assimilation 84
6.7. Maintenance 84
6.8. Risk Management Plan 85
7. Open Issues and Decisions 86
8. Appendices 88
8/14/2019 BMS Logical Design 1
17/89
8/14/2019 BMS Logical Design 1
18/89
1. Introduction
1.1. Background
Many Infinity IT projects require banner managements system (EMN, Atomynet, Truvel).
Universal Banner Management System required to be integrated into other projects and provide flexible and
targeted rotation of different banner types in different zones.
8/14/2019 BMS Logical Design 1
19/89
System should allow targeting presentation of the most suitable banners according to user profile or page
content.
System should be scalable and flexible and developed as a product to support easy extension for future needs.
See Requirements_HighLevelDesign_1.pptx for more information about requirements.
8/14/2019 BMS Logical Design 1
20/89
********** On the first stage decided to develop simple system according to the basic requirements only, but
plan and develop infrastructure allowing future extension of the system.
Basic system requirements displayed below:
8/14/2019 BMS Logical Design 1
21/89
uc BasicUseCase
BannerManagementSystem
Publisher Application
BackOfficeBannerProvider
Provide conditions and user
data and receive suitable
banner
Conditions are
zone (top, bottom , ...),
size,
format (GIF, FLASH, IFRAME, ...),
background co lor, etc.
flow
8/14/2019 BMS Logical Design 1
22/89
1.2. Design Goals
On the first stage decided to design and develop simple system according to the basic requirements only, but
plan and develop infrastructure allowing future extension of the system.
Stage 1 requirements are:
Only basic requirements (Manage banners, campaigns, define targeting rules, provide banners for
publishing applications.)
Basic targeting (keywords/tags only)
Single login for each advertiser
8/14/2019 BMS Logical Design 1
23/89
Client-side - Web Service (or JavaScript) access only, no .NET controls
No upload wizards
Basic Web UI
Basic reporting without analytics , graphs etc.
1.3. Terminology
Advertisers includes all information about the advertiser including: company name, description, web site,
contact, contact's email, login name/password for viewing statistics, address, telephone, and fax information.
8/14/2019 BMS Logical Design 1
24/89
Bannersare assigned to each advertiser. An unlimited number of banners can be specified foreach advertiser
and this includes information such as: banner ad description, target URL, image URL, text to display when
mouse is hovered over image, height, width, border, alignment, optional text to display underneath, and whether
or not to launch a new instance of the browser when the banner is clicked.
Campaigns are simply a group of banners specific to an advertiser. A campaign includes the following
information: campaign name, advertiser, included banners, banner weighting, start/end date, type of campaign
(Flat Rate, CPM, or Per Click), quantity purchased by advertiser, cost, days of week to display campaign, and
daily start/end time.
8/14/2019 BMS Logical Design 1
25/89
Publisheris an application providing placeholders for banners.
Targeting is determining where and when the advertising is delivered using criteria like audience segmentation;
geographic selection by DMA, zip and area codes; time of day and specific days; browser type and operating
system; and keyword.
BannerPhysical properties are size, media type, zone etc.
8/14/2019 BMS Logical Design 1
26/89
Banner/Campaign Targeting properties are target auditory description age, interests, keywords, location etc.
8/14/2019 BMS Logical Design 1
27/89
2. Architecture
2.1. Introduction
Banner Management System will be developed as an ASP.NET web application, multi-layer, data-connected.
System will have web GUI (BackOffice) for banners and campaigns management, administration and reporting.
8/14/2019 BMS Logical Design 1
28/89
System will have interface (Web Service, special web pages) allowing other applications to send banner request
(size, type etc.) and receive corresponding banner. This interface will also register banner impressions, clicks
and perform redirection. (Banner Provider).
System will store its data in database.
8/14/2019 BMS Logical Design 1
29/89
2.2. Technology
Application - ASP.NET 2.0 + Web Services + JavaScript.
Database MS SQL Server 2005.
2.3. Component model overview
System basic components structure is displayed below:
8/14/2019 BMS Logical Design 1
30/89
class 1 BasicStructure
PublisherApplication
Banner Management System
Page
Page::Banner
placeholder
BannerProvider
BMS Interface
BackOffice
Zone=FrontPageTop; Size=480x60;
Keywords="Football;Israel;"
Receive banner
requests from
client
applications,
provide banners
Banners and
campaigns
management,
administration,
Placeholder phisical data and User data
Banner + properties
8/14/2019 BMS Logical Design 1
31/89
System will have layered architecture for future scalability and flexibility:
8/14/2019 BMS Logical Design 1
32/89
cmp Layers
execution environment
MS SQL Server 2005
execution environment
Database
8/14/2019 BMS Logical Design 1
33/89
2.4. Deployment model overview
System will be customizable and will be able to serve different publishing applications. Separate system
installation will be used for separate application groups with different requirements etc. For example one
separate installation will serve EMN, other separate installation will serve Atomynet. System may be installed on
the same server with the publishing system or separately on another server:
8/14/2019 BMS Logical Design 1
34/89
uc BasicDeployment
Banner Management System Serv er
Client Application Web
Server
Client Application Web
Server
execution environment
execution environment
SQL Server
BMS Database
ASP.NET app
PHP app
HTTP request for banner
media URL, request for
JavaScript file and HTTP
request for redirection when
banner is clicked
8/14/2019 BMS Logical Design 1
35/89
2.5. System operation overview
1. System users (administrator or advertisers) will upload banners using Back Office. For each banner
they will set banner name, URL, size, zone and other properties.
2. System users will create campaigns using Back Office. For each campaign they will set campaignname, expiration conditions, and targeting conditions.
3. Publishing applications (applications like web sites, windows applications, other applications) will get
banners using Banner Provider. They will provide a request containing required banner size, zone,
8/14/2019 BMS Logical Design 1
36/89
targeting information and receive suitable banner. Banner Provider will also register each banner
impression or click.
4. System users (administrator or advertisers) will get impressions/clicks reports using Back Office.
8/14/2019 BMS Logical Design 1
37/89
8/14/2019 BMS Logical Design 1
38/89
Status library:
8/14/2019 BMS Logical Design 1
39/89
Banner/Campaign customizable properties library:
8/14/2019 BMS Logical Design 1
40/89
8/14/2019 BMS Logical Design 1
41/89
3.1.2. Advertisers management
Manage (create, update, delete) list of registered advertisers. Only for application administrator.
Present a list of advertisers (Id, name, status, etc.).
Allow changing name, status, managing advertisers login account (name/password).
3.1.3. Campaigns management
Manage (create, update, change status) list of campaigns for currently logged in advertiser.
8/14/2019 BMS Logical Design 1
42/89
Campaigns list:
8/14/2019 BMS Logical Design 1
43/89
8/14/2019 BMS Logical Design 1
44/89
Campaign screen:
8/14/2019 BMS Logical Design 1
45/89
8/14/2019 BMS Logical Design 1
46/89
8/14/2019 BMS Logical Design 1
47/89
8/14/2019 BMS Logical Design 1
48/89
8/14/2019 BMS Logical Design 1
49/89
8/14/2019 BMS Logical Design 1
50/89
3.1.4. Banners management
Manage (create, update, change status) list of banners for currently logged in advertiser nad /or selected
campaign.
Banners list:
8/14/2019 BMS Logical Design 1
51/89
8/14/2019 BMS Logical Design 1
52/89
Banner screen:
8/14/2019 BMS Logical Design 1
53/89
8/14/2019 BMS Logical Design 1
54/89
3.1.5. Reports
Impressions/clicks log
Date &
Time
Advertiser
Id
Campaign
Id
Campaign
name
Banner Id Banner
name
Client
IP
Event
(Impression or
click(
8/14/2019 BMS Logical Design 1
55/89
Impressions/clicks summary by campaigns/banners/advertiser
Selected report aggregation: campaigns or banners or advertiser
campaign or banner or advertiser name Date Number of
impressions
Number of
clicks
8/14/2019 BMS Logical Design 1
56/89
In next versions other reports will be added (according to specific client requirements and
according to our design similar to Google AdWords).
3.2. Banner Provider
Banner provider module allows other applications to send banner request (size, type etc.) and receive
corresponding banner. This interface will also register banner impressions, clicks and perform redirection.
Banner provider will serve both web applications and windows applications, both server-side and client-side of
these applications.
8/14/2019 BMS Logical Design 1
57/89
3.2.1. Pages for web applications
1. Page which will provide JavaScript which will take care of banner placement and rotation.
GetBannerPlaceholderJS.aspx?FeaturesRequest
FeaturesRequest specifies list of features for banner selection banner should comply to the features.
FeaturesRequest format is a list of name=value parameters, where name is a feature group name and value is_
delimited list of specific features inside the group.
For example, client web application will put the following code on a web page as a banner placeholder:
8/14/2019 BMS Logical Design 1
58/89
Then Banner Management System will find banner and generate and return JavaScript code which will place
this banner on the page.
The generated javascript will perform document.write of the following text (for example):
8/14/2019 BMS Logical Design 1
59/89
Approach is suitable for all web applications, used by most banner management systems.
2. Image / media file retrieval page
GetMediaFile.aspx?BannerCampaignId=XXX
8/14/2019 BMS Logical Design 1
60/89
Page which returns response containing image or other media file body itself. Instead of providing direct link to
the image like www.domain.com/BMS/banner.gif, it is better to provide link to aspx page which will control file
retrieval and will be able to register the impression and save other information.
3. Redirection page
BannerRedirect.aspx?BannerCampaignId=XXXX
This page will be used for banner links when banners target URL provided to the client application will contain
this page and banner Id. When banner is clicked, this page will find specific banner and campaign, register click
and redirect the request to real banners target URL.
http://www.domain.com/BMS/banner.gifhttp://www.domain.com/BMS/banner.gif8/14/2019 BMS Logical Design 1
61/89
For example, HTML placed/generated for client application web page could be:
3.2.2. Web Services for all applications
1. Get banner image URL and redirection URL , without targeting
8/14/2019 BMS Logical Design 1
62/89
int GetBannerUrlSimple(string SizeTag, string ZoneTag, out string MediaURL, out string TargetURL)
Client application provides required size code and zone code, receives banner image URL and redirection URL.
Then client application may insert banner into web page, e.g.
2. Get banner image URL and redirection URL , with targeting and additional parameters
int GetBannerUrl(FeaturesList FeaturesRequest, out string MediaURL, out string TargetURL)
Client application provides list of suitable features, receives suitable banner image URL and redirection URL.
Then client application may insert banner into web page, e.g.
8/14/2019 BMS Logical Design 1
63/89
FeaturesRequest format and specification will be provided later.
3. Get banner image body and redirection URL , with targeting and additional parameters
int GetBannerMedia(FeaturesList FeaturesRequest, out string MediaBody, out string TargetURL)
Client application provides list of suitable features, receives suitable banner body (media file contents in
hexadecimal) and redirection URL. Then client application may insert banner body into application and provide
TargetURL. Suitable for Windows applications.
8/14/2019 BMS Logical Design 1
64/89
4. Data
4.1. Introduction
Data involved into the Banner Management System is:
1. Banner media files
2. Information about advertisers, campaigns, users etc.
3. Banner Logs - Information about impressions and clicks
8/14/2019 BMS Logical Design 1
65/89
4. Application logs information about errors, exceptions, warnings etc.
4.2. Banner media files
System fill store uploaded banner media files in one specified folder. Files will be stored in their initial format.
File name will be _[].. section
is optional and will be used only if file with such name already exists.
8/14/2019 BMS Logical Design 1
66/89
4.3. Database
Information about advertisers, campaigns, users etc. and also Banner Logs - Information about impressions and
clicks will be stored in database. MS SQL Server 2005 database server is selected.
8/14/2019 BMS Logical Design 1
67/89
4.3.1. Advertisers Campaigns Banners
8/14/2019 BMS Logical Design 1
68/89
class CampaignsDB
Banners
column
*PK BannerId: int
FK BAdvertiserId: int
BannerName: nvarchar(50)BannerStatusId: int
BannerMediaPath: nvarchar(256)
BannerMediaUrl: nvarchar(256)
BannerTargetUrl: nvarchar(256)
BannerTextUnder: nvarchar(100)
FK
+ FK_Banners_Advertisers(int)
CampaignBanners
column
*PK CBId: int
FK CBBannerId: int
FK CBCampaignId: int
CBBannerStatusId: int
FK
Multiple banners
may be assigned
to specifi c
campaign. One
banner may be
assigned to
multiple
campaigns.
0..*
(CBBannerId = BannerId)1
8/14/2019 BMS Logical Design 1
69/89
8/14/2019 BMS Logical Design 1
70/89
4.3.2. Customizable features library
8/14/2019 BMS Logical Design 1
71/89
uc FeaturesLibDB
Features
column
*PK FeatureId: int
FeatureParentId: int* FeatureName: nvarchar(100)
FeatureIsSystem: bit
FeatureDescription: nvarchar(100)
FeatureAttributes: nvarchar(100)
FeaturePriority: float
FeatureXMLTag: nvarchar(100)
FeatureOrder: float
PK
Hierarchical
customizable
features library
8/14/2019 BMS Logical Design 1
72/89
4.3.3. Banner and its features
4.3.4. Campaign and its features
4.3.5. Logs and counters to store impressions and clicks
8/14/2019 BMS Logical Design 1
73/89
8/14/2019 BMS Logical Design 1
74/89
8/14/2019 BMS Logical Design 1
75/89
8/14/2019 BMS Logical Design 1
76/89
Microsoft environment.
The database is MS SQL Server.
For more details, please refer to the main system document.
5.2. Main Hardware
Enter the HW list, e.g. servers, firewalls, load balancers etc, as prepared by the IT
department.
8/14/2019 BMS Logical Design 1
77/89
5.3. End User Equipment
Enter the HW the user of the system/module will require.
5.4. Data Base HardwareMicrosoft SQL Server 2005.
8/14/2019 BMS Logical Design 1
78/89
5.5. Development Tools
For client - Microsoft Visual Studio 6 Visual C++
For server - Microsoft Visual Studio 2005 etc.
5.6. Maintenance Tool
Source safe ??????
8/14/2019 BMS Logical Design 1
79/89
5.7. End User Software
Enter end user software to be used, e.g. Internet Explorer 7 etc. Enter None if no such
equipment is required.
5.8. Backup and Recovery Tools
Enter backup and recovery tools to be used, e.g. data tapes etc. Enter None if no such
equipment is required.
8/14/2019 BMS Logical Design 1
80/89
5.9. Data Security Tools
Enter data security equipment to be used, e.g. application Firewalls, SSL certificates etc.
Enter None if no such equipment is required.
5.10. Testing Tools
Enter data security equipment to be used, e.g. Mercury Load Runner etc. Enter None if
no such equipment is required.
8/14/2019 BMS Logical Design 1
81/89
6. Implementation & Deployment
6.1. Overview
Fill out this section once you have completed filling out all other sections of the chapter.
This chapter will describe the managing, planning, developing and maintenance phases
of the project.
8/14/2019 BMS Logical Design 1
82/89
6.2. Physical Design
, , is in charge of the physical design phase.
The phases estimated completion date is .
6.3. Implementation Phase
, , is in charge of the implementation phase.
The phases estimated completion date is .
8/14/2019 BMS Logical Design 1
83/89
6.4. Testing
, , is in charge of the testing phase.
The phases estimated completion date is .
6.5. Guidance Phase
, , is in charge of the guidance phase.
The phases estimated completion date is .
8/14/2019 BMS Logical Design 1
84/89
6.6. Assimilation
TBD
6.7. Maintenance TBD
8/14/2019 BMS Logical Design 1
85/89
6.8. Risk Management Plan
TBD
8/14/2019 BMS Logical Design 1
86/89
7. Open Issues and Decisions
List of open issues and their decisions:
# Open IssueAssigned
To
Completio
n DateDecision
888 should supply to
IM Client API for
request user poker
8/14/2019 BMS Logical Design 1
87/89
data
8/14/2019 BMS Logical Design 1
88/89
8. Appendices
List of appendices and relevant documentation that is not part of the main document
8/14/2019 BMS Logical Design 1
89/89