BMS Logical Design 1

download BMS Logical Design 1

of 89

Transcript of BMS Logical Design 1

  • 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.gif
  • 8/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