212,765pages on
this wiki
Add New Page
Add New Page Discuss this page0

Title page


Developers Orientation Program Document

Table of Content

BroadVision Application Server

Broadvision One – To –One Overview

File:Sst30D 03.png
File:Sst30D 04.png
Interaction Manager
  • The application server is an integrated part of the One-To-One Enterprise Interaction Manager.
  • The interaction Manager process the Web page request.
  • The IMs are also responsible for session management and caching.
File:Sst30D 05.png

Reference Document:

BroadVision One To One Enterprise Overview. PDF

Audible Infrastructure


Dev and Test
File:Sst30D 06.png

Store_id = 0

Store Name (or) Service Name = "Audible"

Application or IM name = "Adbl"

Script-root on IM boxes: /opt/bv1to1_var/script-root

Doc-root on http server: /opt/audible/htdocs

Store_id = 105

Store Name (or) Service Name = "Audible_Uk"

Application or IM name = "Aduk"

Script-root on IM boxes: /opt/bv1to1_var/script-root/aduk

Doc-root on http server: /opt/audible/htdocs/aduk

Store_id =103

Store Name (or) Service Name = "Audible_De"

Application or IM name = "Adde"

Script-root on IM boxes: /opt/bv1to1_var/script-root/adde

Doc-root on http server: /opt/audible/htdocs/adde


Store_id = 104

Store Name (or) Service Name = "Audible_Fr"

Application or IM name = "Adfr"

Script-root on IM boxes: /opt/bv1to1_var/script-root/aduk

    Doc-root on http server: /opt/audible/htdocs/aduk
File:Sst30D 07.png


Session Logs

Java Logs




Deployment tools – Snapper.

Snapper is an in-house built deployment tool used at Audible.

C. Web Site Technologies

Representation layer

Javascript Vs JSP

Audible Web pages are built with BV Javascripts and Java Server Pages:

BroadVision Server Side Javascript

  • BV Java Scripts are server-side Javascript files.
  • They could contain HTML tags, client-Side Javascripts.
  • And Broadvision Components are referenced from these java scripts.
  • Before a script is run by an IM, they are pre-processed by the IMs and are stored in the Script cache.

All Javascripts are under /opt/bv1to1_var/script-root/ on IM boxes

Java Server Pages
    BV 6.0 onwards supports Java Server Pages.

BV has provided Java wrapper classed for all its components.

    Most of the new applications at Audible are built using Java Server Pages.

All JSPs are under /opt/bv1to1_var/script-root/site on IM boxes

Common page structure

The following common pages needs to be included in any new pages built. These pages initialize the necessary session variables and draws the Top and Left navigation.


The bottom Stuff also includes the Site Catalyst code.

Audible Java Components (Page-View with Bean design pattern.)
  • The Architecture chosen for implementing the Java Components in BV 6.0 is Page-View with Bean design pattern.
  • This basic architecture involves direct request to a server page which invocate a worker bean that does the business logic and returns the dynamically generated output to be displayed within the HTML.
File:Sst30D 08.png
Sequence Diagram
File:Sst30D 09.png
Common practices
  • All Web pages should be built using the Java Resource Bundles API.
  • This is to enable us to rollout the new functionalities to the different international sites(localized).
  • Error Messages – all error messages are editorial driven. The code should throw SiteException with a Error Code. The actual error message associated with this error code will be retrieved from the Editorials.
Java Components Directory Structure
  • All the Java Server pages are stored under the directory


  • All Java source files are stored under the directory


  • All Java class files are stored under the directory


  • Commom Components

The commom components are stored under /com/audiblex_1_0/ directory

How to Compile Java Classes
  • Log onto
  • cd /opt/bv1to1_var/java/build
  • sudo –u bv1to1 /bin/bash
  • ant
  • cp –r /opt/bv1to1_var/java/classes/com /opt/bv1to1_var/script-root/site/WEB-INF/classes/

Reference Document:

Audible Java Component Architecture.doc

Application layer / business logic layer

Common BV classes and controllers
Business entities
  • User profile
  • Product catalogue / product structure
  • Category structure
  • Sales Tables
  • Hardgood fulfilment
  • etc

Persistency layer

Referential integrity resolved in application layer, not in Oracle!
Table structures

Reference Document:

Audible Content


Audio books
  • Terminals :

A single Audio book

  • Collection:

Long Audio books are split into parts and are sold as collections

  • Subscriptions:

Newspapers / Magazines / Radio programs are called as subscriptions.

Media Type

    Audio books can fall under one for these media / program types
      Book – bk
      Radio – rt
      Performance –pf
      Speeches – sp
      Lectures - le
      Newspaper – nb
Audible currently provides monthly and annual memberships.
Memberships Plans
  Current Plans
  Future Plans


Audible Listener Light 2 Books
Audible Listener Frequent 5 Books
Audible Listener Serious 5 Books, unlimited 1-month subs, unlimited back issues
Audible Listener Daily Unlimited 1-month subs, unlimited back issues
Audible Listener Basic Listener 1 Book, 1 1-month Sub
Audible Listener Premium Listener 2 Books
Value Listener 1 Book
Audible Listener Palm Listener 1 Book, 2 a-month subs
Audible Listener Ultimate 12 Books (annual plan)
Audible Listener Gateway Listener 1 Book, 2 a-month subs
Audible Listener 0.1 0 Subs, 1 Book
Audible Listener 0.2 0 Subs, 2 Book
Audible Listener 0.3 0 Subs, 3 Book
Audible Listener 1.0 1 Subs, 0 Book
Audible Listener 1.1 1 Subs, 1 Book
Audible Listener 1.2 1 Subs, 2 Book
Audible Listener 1.3 1 Subs, 3 Book
Audible Listener 2.0 2 Subs, 0 Book
Audible Listener 2.1 2 Subs, 1 Book
Audible Listener 2.2 2 Subs, 2 Book
Audible Listener 2.3 2 Subs, 3 Book

Audio Credits
  • AudioOrCollection
  • Allowed to purchase a terminal or collection with a single credit
  • Subscription
  • Allowed to purchase a 1-month subscription with a single credit

Types Of Memberships:

Each of the above plans can be made available in the following types.

  • Standard Membership
  • Free Trials
  • Paid Trials
  • Switch Upgrade
  • Switch Downgrade
  • Hardgood Combo
  • Retail Membership
  • Prepaid Listeners(Gift Products
Bulk Listeners (or) Samplers
Bulk Listeners are Non-Renewable memberships.  
MP3 Players
Multiple products could be bundled as a single product.
    Hardgood memberships
    Membership with Free Samples.
    Book Bundles.
Gift Products
  • Gift Product
  • Claim Product

Reference Document:  
Product Naming Convention
Naming Convention

6 or more random character

XX – Represents the Country Code
DE – German Store
FR – French Store
UK – UK Store
NO Suffix – US Store

Collections will have an extension character just before the Country Code Suffix
E.g., BK_RAND_000200 – Parent
BK_RAND_000200a, BK_RAND_000200b - Children

Provider/Product Abbreviation

RAND – Random House
LIST - Membership

2 letters- represent the Media Type/product Type

BK - Books(Terminals/collections)
SP - Speeches
LE - Lectures
NB – News Paper
PE – Periodicals
PF – Performances
MB – Memberships
GF – Gifts


File:Sst30D 01.png

Subscription Structure


(Template Record)

Subscription Structure


(Single Editions)


(12 – Month Subscriptions)


(1 – Month Subscriptions)


(Peer Group Parent)

NB_NYTS_00001 Series Parent

File:Sst30D 02.png

Life Cycle Of a Product

File:Sst30D 10.png
New Content Deals
Content And Legal department works on getting new content deals.
Setup The Product
  • If New Providers:
  • Dev Team Setups the New Provider and Royalty Owners by Development
  • Content Team
  • Setup the products in CMC by Content Team
  • Categorize these products
  • These will be offline.
  • Development Team
  • Duplicate these products to the different Stores which have the rights to sell these products.
  • The prod ids will be appended with the Store Code.
  • E.g., BK_RAND_000200 will be duplicated as BK_RAND_000200DE, BK_RAND_000200FR, BK_RAND_000200UK
Create Cover Images

Design Team

Creates the Cover Images

    Snaps these images to the Http servers through the Snapper Tool
    Images will be named after their Product Ids.
Export The Audio

Audio Team:

Audio will be encoded and exported using the export tool.

Export tool will automatically turn the products "ONLINE".

Titles are Live On the Site
Tools To Setup Products
This is an in-built content management tool.
Each store has its own CMC tool.

CMC Demo



Series Child Generator Demo


This is BroadVision tool to setup content.

Content Personalization

  • Editorials is a BV module maintained using the DCC
  • Editorials are used to publish / present personalized content(HTML) to customers.
  • Communities are setup based on Visitor’s profiles.
  • Communities are setup through DCC.
  • Communities are defined by a rule.
  • A community rule is a collection of criteria that defines membership in the community
  • E.g.,

AudibleListner Community - Customers who have purchased the AL plans

US Community – Customers whose Country is "US"

US Male Community – Customers whose country is "USA" and Gender is "Male"

  • Rule Module is available in the Matching Group.
  • Business rules are setup to market and communicate to customers on the Web.
  • A Rule consists of a Rule Set, which in turn has a number of rules.
  • A rule in a Rule set could be setup based on Visitor Profile, Communities or Session Profiles.
Store-wide sales and coupons are setup on the site using BV’s Incentive module.
Other Content Types

In addition to the above, Audible has created custom Content Types such as Good Listening, Best Picks etc.

DCC Demo
  • Usage of Editorials on Homepage
  • Setting Up communities
  • Setting up coupons

Reference Document:

E. Website Flow And Features

Special eCommerce features: Listener plans, subscriptions
Customer acquisition flows (anon, landing pages, partnersites) etc
Registration (Wall Garden Vs Traditional)
Order pipeline, payment authorization
My Account
Browse titles, categories, search
Next listen
Share A Friend
Welcome Emails
New IA

F. Audible buy Process

File:Sst30D 11.png

G. Action Codes

What is an Action Code?
  • Audible business owners generate Action Codes(using the Action Code Tool) to be associated with every landing page, or links displayed on external partners Web Sites. This is to identify the traffic driven to Audible from partners Web Site.
  • Action Codes Start with the Company Prefix followed by random characters: PLMXXXXXXXX, where PLM is the code for Palm One.
  • All customers who come to Audible Site will be associated with an Action Code. (E.g., ADBLV0005RT567Y).
  • If the customer doesn’t have an Action Code, then an Anon Action Code will be assigned. (E.g., ANONIU87UY900).
  • The life of the Action Code is only for that session.
Source Code Vs. Action Code
  • The code with which the customer enters our site for the very first time is called the Source Code. The subsequent entries are called Action Code.
  • The original Source Code is cookied for 60 days.
What is the purpose of Source Code?
  • Source Codes and Action Codes are used to record where a customer has come from and his actions in Audible Site.
  • Bounties are paid to partners based on Source Codes and Action Codes.
A Sample Scenario:
  • The customer could have come to our site through Amazon for the first time, but didn’t register with Audible (this Action Code will be cookied).
  • Next time he could have come through a landing page from one of our partner site and register with Audible.
  • If the customer had registered with 60days since he came to Audible Site through Amazon, the Amazon action code will be his SOURCE CODE and will be recorded in BV_USER_PROFILE and AW_USER_ACTIONS table.
  • If he comes to Audible after 60days since he first visited our Site, then his current Action Code will be recorded as his Source Code.
  • The Action Code associated with the partners landing page is the ACTION CODE for the life of that session. Any purchase made during this session will be associated with this Action Code in MR_PRICED_ITEMS table.

Also on Fandom

Random wikia