broad vision one to one enter price overview

52
Overview Version 6.0 BroadVision, ® Inc. 585 Broadway Redwood City, CA 94063 (650) 261-5100 BroadVision One-To-One ® Enterprise

Upload: biju-scaria

Post on 28-Nov-2014

173 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Broad Vision One to One Enter Price Overview

Overview

Version 6.0

BroadVision,® Inc.585 Broadway

Redwood City, CA 94063(650) 261-5100

BroadVision

One-To-One®

Enterprise

Page 2: Broad Vision One to One Enter Price Overview

2 BroadVision, Inc

Overview

Copyright © 1995-2001 BroadVision®, Inc. All rights reserved.585 Broadway, Redwood City, California 94063 U.S.A.Printed in the United States of America

This manual and the software described in it are copyrighted.Under the copyright laws, this manual or the software may not be copied, in whole or in part,without prior written consent of BroadVision, Inc., or its assignees, except for purposes of internaluse by licensed customers of BroadVision. This manual and the software described in it areprovided under the terms of a license between BroadVision and the recipient, and their use issubject to the terms of that license.

RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject torestrictions as set forth in subparagraph (c)(l)(ii) of the Rights in Technical Data and ComputerSoftware clause at DFARS 252.227-7013 and FAR 52.227-19.

The product described in this manual may be protected by one or more U.S. and Internationalpatents. Certain applications of BroadVision One-To-One® software are covered by U.S. patent5,710,887.

DISCLAIMER: BroadVision, Inc. makes no representations or warranties with respect to thecontents or use of this publication. Further, BroadVision, Inc. reserves the right to revise thispublication and to make changes in its contents at any time, without obligation to notify any personor entity of such revisions or changes.

TRADEMARKS: BroadVision and BroadVision One-To-One are registered trademarks ofBroadVision, Inc., in the United States and the European Community, and are trademarks ofBroadVision, Inc., in other countries. The BroadVision logo, WorldView, Xtravert, Interleaf+ VirtualPrinter, and QuickSilver are trademarks of BroadVision, Inc., in the United States and othercountries.

Acrobat and the Acrobat logo are trademarks of Adobe Systems Incorporated.Adept is a trademark of Arbortext, Inc.IBM Lotus XSL Edition and IBM Parser for Java are trademarks of IBM Corp.IONA and Orbix are trademarks of IONA Technologies, Ltd.Macromedia and Dreamweaver are trademarks of Macromedia, Inc.Monotype Corsiva and Monotype Sorts are trademarks of Monotype Typography Ltd.RSA, MD5, and RC2 are trademarks of RSA Data Security, Inc.Rogue Wave, .h++, Tools.h++, and DBtools.h++ are trademarks of Rogue Wave Software, Inc.Verity, Topic, SEARCH’97, and Verity knowledgemanagement are trademarks of Verity, Inc.XML Authority is a trademark of Extensibility, Inc.

All other trademarks, service marks, and trade names belong to their respective owners. BroadVision, Inc.disclaims any proprietary interest in the marks and names of others.

Contains security software from RSA Data Security, Inc.This version supports international security with RC2 and MD5.

Page 3: Broad Vision One to One Enter Price Overview

Contents

Preface 5Additional documentation .........................................................................................................................5Typographical conventions .........................................................................................................................7Technical support .........................................................................................................................................8

Support for Third-Party Software Products .............................................................................8

1 Introduction 9

2 One-To-One Enterprise applications 11Scripts ...........................................................................................................................................................12

Java .......................................................................................................................................................12JavaScript .............................................................................................................................................12

Components ................................................................................................................................................13Application program interfaces ...............................................................................................................14Inter-system communications ..................................................................................................................15

HTTP portal .................................................................................................................................15Session portal ..............................................................................................................................16System portal ...............................................................................................................................16IDL and CORBA portal ..............................................................................................................16COM Extension for Windows ...................................................................................................17

3 Content, Profiles, and Personalization 19Content ........................................................................................................................................................19

External content ..................................................................................................................................21Visitor feedback ..................................................................................................................................22Related-list content attributes ..........................................................................................................22Verity search ........................................................................................................................................22

Profiles .........................................................................................................................................................23Visitor model .......................................................................................................................................23

Visitor roles ..................................................................................................................................24Visitor active status ....................................................................................................................24Accounts and members .............................................................................................................24

Communities .......................................................................................................................................25Visitor database ..................................................................................................................................26

Profile attributes ..........................................................................................................................26Privacy flag ..................................................................................................................................26Related attributes ........................................................................................................................27

Overview 3

Page 4: Broad Vision One to One Enter Price Overview

Contents

Personalization ...........................................................................................................................................28Content matching ...............................................................................................................................29

Matching rules ............................................................................................................................29Notifications ........................................................................................................................................30

BroadVision Command Center ................................................................................................................31Discussion forums ......................................................................................................................................33

4 Application Services 35Application server ......................................................................................................................................36

Session management .........................................................................................................................37Access control .....................................................................................................................................37Quality of Service and Rewards .......................................................................................................38Caching ................................................................................................................................................39

Page request cache ......................................................................................................................39Scalable architecture ..................................................................................................................................41Server monitors ..........................................................................................................................................43Database ......................................................................................................................................................43

Database schema ................................................................................................................................44Schema Center utility .................................................................................................................44

External data source ...........................................................................................................................44Bulk loading ........................................................................................................................................45

Staging .........................................................................................................................................................46Observations ...............................................................................................................................................46XML ..............................................................................................................................................................47

The One-To-One Enterprise XML extension ..........................................................................47Security ........................................................................................................................................................48

Index 49

4 BroadVision, Inc

Page 5: Broad Vision One to One Enter Price Overview

Preface

BroadVision One-To-One Enterprise is an application foundation — a platform — that provides therich out-of-the-box functionality, scalability, and ease of use you need to meet the demands oftoday’s markets. It can help you maintain those all-important one-to-one relationships with yourcustomers, and with your employees, suppliers, and partners.

This book is designed to give you a quick overview of the BroadVision One-To-One Enterpriseapplication foundation. In these pages you will find brief descriptions of its many benefits, its majorfeatures, and information on how many of the One-To-One Enterprise systems work.

This manual provides a brief overview One-To-One Enterprise as described in these chapters:

● Chapter 1, “Introduction” provides a very short overview of the features of BroadVisionOne-To-One Enterprise. The remaining chapters in this book go into more detail about how themajor systems work.

● Chapter 2, “One-To-One Enterprise applications” explains how applications are a collection ofscripts, servlets, components, HTML, and page templates that make up the pages that a visitorsees in a One-To-One Enterprise Web site.

● Chapter 3, “Content, Profiles, and Personalization” describes the information that visitors canrequest from your site, and how the request is personalized to the visitor based on what isknown about them.

● Chapter 4, “Application Services” discusses how the services provide the operational supportfor all One-To-One Enterprise servers and all BroadVision applications.

To learn more about this book and other important issues, see these topics in this preface:

● “Additional documentation” on page 5

● “Typographical conventions” on page 7

● “Technical support” on page 8

Additional documentationAll of the manuals for BroadVision One-To-One Enterprise are available in HTML and PDF formats.The release notes are available as printed documents only because they contain late-breakinginformation that was not available when the CD-ROM was created.

The release notes describe the system requirements, and the descriptions of the latest knownproblems and issues.

Overview 5

Page 6: Broad Vision One to One Enter Price Overview

PrefaceAddit ional documentat ion

The documents included with this release are:

Title

Application Developer’s Guide Provides an overview of Web site architecture, focusing on the layersand elements of the Interaction Manager that relate to JavaScript pagesand JavaServer Pages. Describes basic component structure,interoperability between Java and JavaScript, how to write fixup scriptsand servlets, how to design applications that are bookmarkable, andhow to use the BroadVision performance analysis tools.

Application Programmer’sReference

Provides reference information for the BroadVision data types andapplication programming interfaces used at the Web application level.Provides examples for calling the BroadVision-supplied components.Also provides reference information on the components most likely to beused in creating new components.

Command Center User’sGuide

Explains how to use the One-To-One Command Center to manage theinformation displayed on Web sites, and establish the logic topersonalize the display of information for each site visitor.

Component Developer’s Guide Tells how to write C++ components; how to wrap C++ components inJava; and discusses working with Java components internal andexternal to the Interaction Manager. Includes instructions on using Purifywith the ctxdriver component test utility.

Content Guide Explains how content and its underlying data is organized, loaded into aWeb site, and retrieved and presented to visitors.

Database Administrator’sGuide

Describes the One-To-One Enterprise database and schema. Thismanual contains information about the extended data types and schemaspecifications that One-To-One uses, and includes detailed descriptionsof each of the external, internal, and observation tables and columns.

Database Schema Reference Describes the database tables that contain data used by applications.

Installation and SystemAdministration Guide

Describes how to install and configure BroadVision One-To-OneEnterprise on your system. It also explains important concepts andterms that appear throughout the documentation set.

Java Developer’s Guide Describes the Interaction Manager environment for Java, including theBroadVision servlet container, the threading model, the JavaServerPages processor, task mapping, and the basics of the Java API forBroadVision components. Describes techniques for developing Webapplications in Java using the BroadVision-supplied components;demonstrates calling BroadVision components and error handling.

JavaScript Developer’s Guide Explains how to write JavaScript applications using the BroadVision-supplied components. Includes information about calling Javacomponents, and using ctxdriver to test JavaScript and components.

Matching Guide Describes how to match content to site visitors, and provides scenarioswith end-to-end examples. Also discusses configuring and using thematching agent, creating and using dynamic categories, and workingwith custom matching extensions.

Notifications Guide Describes every aspect of the notification process including, the creationof notification schedules and content; creating alert types; and designingand implementing the interfaces for visitors who create and receivealerts. This document gathers together and augments information foundin several other documents in this set.

Observations and LoggingGuide

Explains the features, creation, and usage of observations and log files.This document gathers together and augments information found inseveral other documents in this set.

6 BroadVision, Inc

Page 7: Broad Vision One to One Enter Price Overview

PrefaceTypographical conventions

Typographical conventionsTo distinguish sample code, commands, filenames, directory names, keywords, and syntax fromtext, this manual uses the monospace font.

In command-line examples that you must enter, information that you must supply—and in whichthe text shown is for example only—appears in monospace-italics. For example, in thefollowing command-line you must supply the value for the variable; the 1230 is for example only.

setenv IT_DAEMON_PORT 1230

Note that system, subsystem, class, and member names are not called out in a different font.

In the PDF format of this manual, links appear in blue font.

Overview Describes One-To-One Enterprise by providing a high-level view of thearchitecture, and describing the relationships between the subsystems.

Schema Center User’s Guide Schema Center is a tool that helps you customize the content and visitorprofile schema of your One-To-One Enterprise database. SchemaCenter provides a graphical user interface that takes you through thesteps of modifying the database structure. You can also use this tool tographically view the structure of customizable database tables.

Searching Guide This guide describes how to use Verity VDK with One-To-OneEnterprise. It explains how to: make your content database searchable,use the indexer utility, use the Verity utilities, use some advancedconfigurations, and search multiple content types. This guide does notprovide detailed information about the workings of Verity VDK.

Server Developer’s Guide Presents examples and reference material for writing software serversthat work with BroadVision One-To-One Enterprise. It introduces theterms and concepts essential to server development; presents adetailed example of how to write a server application that works with thenamespace; discusses how to use the server application with static anddynamic invocation; presents an example of how to write a server thataccesses external data; and documents the APIs used in the examples.

Server Monitor Guide Describes how the Server Monitor allows you to watch and track serverstatistics such as CPU usage, IDL requests, virtual memory size, andreports this information both graphically and numerically.

Server Programmer’sReference

Provides information about the One-To-One Enterprise server datatypes and application program interfaces. Describes the interfaces thatprogrammers use to access servers, extend application servicefunctionality, and connect to an existing business system. Fordevelopers creating applications that use the Interaction Manager, thismanual describes the Session Client interfaces.

Session Management Guide Describes the session management features including: Access Control,Data Caching, Page Caching, Queue management and Quality ofService queuing, and the Rewards mechanism.

XML Developer’s Guide Describes the BroadVision One-To-One Enterprise XML extension. Thisextension provides an environment that includes capabilities formanipulating, constructing, and parsing XML documents.

Title

Overview 7

Page 8: Broad Vision One to One Enter Price Overview

PrefaceTechnical support

Technical supportTechnical Support services are provided on an annual basis to BroadVision customers. A standard90-day warranty is also provided with all software.

Information on how tocontact Customer Sup-por t off ices by tele-phone can be found onthe BroadVision Website.

If you experience problems in using any of BroadVision’s software products, contact BroadVision’sWorld-wide Customer Support Organization for assistance. Registered customers who have a loginname and password can report problems via BroadVision’s Web site www.broadvision.com. Onthe Web site you can access support-related technical information, report problems, and track reportstatus and responses on the Problem Reports pages. To request a login, please contact yourBroadVision Account Representative.

The Web site is the preferred method of reporting problems; however, if necessary you can reportproblems via e-mail to [email protected]. Please be sure to include the case ID whencommunicating via e-mail.

Support for Third-Party Software Products

To allow for complete testing, BroadVision certifies BroadVision One-To-One products against theversions of third-party products that are released and available sufficiently in advance of thesoftware release date. This often means that third-party vendors release new versions of theirproducts prior to the next release of the BroadVision software. While BroadVision would prefer thatcustomers use the tested and certified software versions, we also understand that customers willoccasionally want or need to use these new versions of third-party products. As long as the vendorguarantees forward compatibility, One-To-One products should work on these new versions.

BroadVision will usually test and certify these newer versions of third-party products in the nextproduct release. This can be a good indicator that the newer versions will work with the previousrelease. In exceptional cases BroadVision may determine that the newer version of a third-partyproduct cannot be used because it fails in some way during the testing cycle. In this case we willcontinue to certify the older version.

BroadVision will support customers who use newer versions of third-party products by workingwith the customer to resolve compatibility problems with the third-party vendor. BroadVision willalso consider, at our option, developing and releasing minor fixes for our products in order toresolve problems with new versions of third-party products.

8 BroadVision, Inc

Page 9: Broad Vision One to One Enter Price Overview

1 Introduction

BroadVision One-To-One® Enterprise is a software platform for deploying and managing e-businessapplications that maintain relationships between your business and visitors who are your customers,employees, suppliers, and partners. The One-To-One Enterprise software servers work in concertwith a database management system to provide:

● An application server — the Interaction Manager — for session management, dynamic pagegeneration, and data caching. [See page 36 for details about this server.]

● Application services including content management, visitor profile management, integrationtools, and operational support for all BroadVision® applications. [Chapter 4, “Application Servicescovers this topic in detail.]

Personalization is thekey to one-to-one rela-tionships. It providesthe content that a visi-tor most likely wants oris allowed to see.

● Personalization via a dynamic rules engine and tools to personalize each visitor’s experience.[See “Personalization” on page 28 for details.]

Visitors use a browser to request information from a BroadVision application. All requests arerouted to Interaction Manager servers. These servers manage visitor sessions and run the application.Applications — comprised of Java servlets, JavaServer pages (JSP), and JavaScript scripts —evaluate requests, collect the requested information, and render the return pages. Embedded in theapplications are calls to C++, JSP, servlet, and Enterprise Java Bean application components, whichin turn provide the access to the application services.

The application services are Java and C++ software servers that perform fundamental systemservices, such as content retrieval, visitor profile management, notifications and alerts, matching,and access control. BroadVision e-business applications further extend the services by providingadditional servers for order management, pricing, payments, collaboration, and more. You canfurther extend the services by providing servers to run in the One-To-One Enterprise platform, orexternally on another platform.

The following chapters describe these features in more detail: Chapter 2, “One-To-One Enterpriseapplications, Chapter 3, “Content, Profiles, and Personalization, and Chapter 4, “ApplicationServices.

Request

Database

Applicationswith calls to

services

Page

Externalservices

Applicationservices

Businesssystem

InteractionManager

Overview 9

Page 10: Broad Vision One to One Enter Price Overview

Chapter 1 Introduction

10 BroadVision, Inc

Page 11: Broad Vision One to One Enter Price Overview

2 One-To-One Enterprise applications

A One-To-One Enterprise application is the collection of servlets, scripts, components, HTML, andpage scripts that make up the pages that a visitor sees in a One-To-One Enterprise Web site. Eachpage contains links to other pages, that together make up the entire application. When a visitorclicks a link to go to a new page, the Interaction Manager processes the request and then creates theresponse page through a process called dynamic page generation.

The dynamic page generation is performed JavaServer Pages, Java Servlets, or server-side JavaScriptscripts running in the Application server. These scripts provide the user interface (look and feel),and supply the business and display logic for the Web site. To develop your application, you can useeither Java or JavaScript, depending on the needs of the application and your personal preferences.

In BroadVision documentation, references to JavaScript and Java deal specifically with howthese technologies are used in BroadVision One-To-One Enterprise.

Servlets and scripts contain references to components: small executables that provide the interfacemechanism to the servers that perform the dynamic work required by the scripts, such as accessinginformation from the database, performing content management, matching, and so on.

BroadVision One-To-One Enterprise comes with components that interface to all of the One-To-OneEnterprise servers. You can write additional components to perform other tasks as required by yoursite’s application.

This chapter contains discussion on these application topics::

● “Scripts” on page 12 describes how JavaServer Pages and server-side JavaScript scripts producethe pages of a BroadVision One-To-One Enterprise Web application.

● “Components” on page 13 describes how components provide the interface mechanismbetween scripts and the servers that perform the dynamic work required by the scripts.

● “Application program interfaces” on page 14 provides an overview of the One-To-OneEnterprise application program interfaces (APIs), and identifies where they are documented.

● “Inter-system communications” on page 15 explains the mechanisms that an application canuse to interface with other applications, servers, hosts, environments, and the operating system.

For detailed discussion on scripts and components, see the Application Developer’s Guide.

Overview 11

Page 12: Broad Vision One to One Enter Price Overview

Chapter 2 One-To-One Enterpr ise appl icat ionsScr ipts

ScriptsIn a BroadVision One-To-One Enterprise Web site, you generate Web pages via page scripts. A pagescript can be either a JavaServer Page, a Java servlet, or a JavaScript page. Although page scripts canperform simple computational tasks, that is not their main purpose. Their main purpose is todisplay text and input fields, retrieve input, and pass parameters to One-To-One Enterprisecomponents which then perform the bulk of any necessary computation or database access.

Scripts are written either in Java (described next) or JavaScript (page 12). You can use either Java orJavaScript, depending on the needs of the application and your personal preferences.

Java

The BroadVision One-To-One Enterprise application platform supports the use of JavaServer Pagesand Java servlets, and Java Beans. One-To-One Enterprise follows the Java Servlet Specification, v2.2and the JavaServer Pages Specification, v1.1 from Sun Microsystems.

One-To-One Enterprise includes a set of Java wrappers and pure Java components that provides fullaccess to all the functionality of the One-To-One Enterprise application platform. Because the Javawrappers operate on the same underlying implementation as the JavaScript wrappers, JavaServerPages and Java servlets can share information with JavaScript pages. This means that to migrate toJava you need not rewrite an existing JavaScript-based application. Instead, you can simply startwriting any new pages in Java.

One-To-One Enterprise includes three different Java versions of the Broadway sample application.

For information about interoperability between Java and JavaScript refer to the ApplicationDeveloper’s Guide. For information about developing applications in Java refer to the Java Developer’sGuide.

JavaScript

Each JavaScript page script is a text file that can contain a combination of HTML, displayable text,and server-side JavaScript which may contain references to One-To-One Enterprise compatiblecomponents. The files can also contain client-side Java applets, client-side JavaScript scripts, or anyother text that is understood by an HTML browser.

Server-side JavaScript is simply JavaScript that is run on the server side of the Web connection.There is no language or syntactical difference between server-side JavaScript and client-sideJavaScript (also called browser-side JavaScript or simply JavaScript). The only real difference lies inthe fact that server-side JavaScript runs in a JavaScript engine embedded in the Interaction Manager.

For more information about server-side JavaScript, page scripts, and related topics, refer to theJavaScript Developer’s Guide.

12 BroadVision, Inc

Page 13: Broad Vision One to One Enter Price Overview

Chapter One-To-One Enterpr ise appl icat ionsComponents

ComponentsA component is a collection of objects that know how to get information from, or send informationto the One-To-One Enterprise servers, or to external mechanisms. You reference a component in aJava servlet, JavaSever Page, or Java Script page. When the Interaction Manager encounters thereference, it calls the matching component object — which might then call more “implementation”objects — to access the desired information.

Components can be written in Java or C++, and they can be called from JavaScript and Java scripts.The BroadVision-supplied components are written in C++ and are wrapped to make them callablefrom both Java servlets and JavaSever Pages. Regardless of you choice of page technology, you canaccess third-party or custom components written in Java or C++.

See the Component Developer’s Guide for detailed information about components. For a discussionabout how they work with scripts, refer to the Application Developer’s Guide.

Web Application

One-To-One Enterprise Core Technologies

BroadVision Components Custom Components

The BroadVisionsupplied componentsare callable fromJavaScript and Java.

You can use either Javaservlets, JavaScript or Java.

You can developcustom componentsin Java or C++.

The coretechnologies arewritten in C++,Java, and CORBA.

Overview 13

Page 14: Broad Vision One to One Enter Price Overview

Chapter 2 One-To-One Enterpr ise appl icat ionsAppl icat ion program interfaces

Application program interfacesThe One-To-One Enterprise application program interfaces (APIs) provide access to different partsof the system, depending on the need of the application. At the highest level, Java Server Pages,Servlets, and JavaScript pages can directly access Java and C++ components. The componentsthemselves can access Application Services via Java, C++, or CORBA (which interface depends onhow the server was implemented). The severs can also access other, external servers through similarinterfaces.

For details about the script and component APIs, see the Application Programmer’s Reference.Additionally, the Application Developer’s Guide provides a complete overview of developing scriptsand writing new components.

For information about developing servers, see the Server Developer’s Guide. That manual alsodescribes the CORBA server APIs. The APIs for the C++ servers are documented in the ServerProgrammer’s Reference.

CORBA (IDL)C++ Java

Components

Scripts

One-To-OneEnterpriseservers

Externalservers

CORBA (IDL) JavaC++

Session ClientInterface (C++)

Java

JavaScript Java Server Page

Server Programmer’s Server Developer’s Guide

Application Programmer’s Reference

BVI (C++)

BVC (C++)

14 BroadVision, Inc

Page 15: Broad Vision One to One Enter Price Overview

Chapter One-To-One Enterpr ise appl icat ionsInter-system communications

Inter-system communicationsA One-To-One Enterprise application frequently integrates multiple systems, applications, hosts,One-To-One Enterprise Interaction Managers, operating systems, computer languages,environments, and servers. The number and complexity of interconnections between these variousentities depend on the needs of your application. Some complex systems involve one set ofInteraction Manager servers communicating with another, each performing specialized tasks:

The following topics describe some of the main inter-system communications capabilities availableto applications:

● “HTTP portal,” next.

● “Session portal” on page 16

● “System portal” on page 16

● “IDL and CORBA portal” on page 16

● “COM Extension for Windows” on page 17

HTTP portal

This interface provides the ability for Web site application to communicate with HTTP/HTTPSservers external to the One-To-One Enterprise Web site.

Although the HTTP portal supports GET and POST operations for both HTTP and HTTPS (secureHTTP) servers, it is not a “browser.” Rather, it is a mechanism for communicating with other Webservers. For example, you can use the HTTP portal to retrieve stock quotes from a free or publicdomain Web site without having to store the information on the local or root host.

For detailed information about the HTTP portal, refer to the Application Programmer’s Reference.

InteractionManager

InteractionManager

C++ applications

Javaexternal HTTP

This diagram is not an accurate representation of aOne-To-One Enterprise system configuration. It does notportray all subsystems or all possible lines of communication.

COM

IDL and CORBA

System

Overview 15

Page 16: Broad Vision One to One Enter Price Overview

Chapter 2 One-To-One Enterpr ise appl icat ionsInter-system communications

Session portal

Most scripts are run when an HTTP request causes them to be run. The session portal interfacesprovide a way to run scripts called from either another Interaction Manager server, or from aprogram running in the same operating system.

The BVI_RemoteSession component lets a page script running in one Interaction Manager call andrun a page script in another Interaction Manager. For example, using this interface, you can run thelogin page on a remotely hosted Interaction Manager and then display the results through the localInteraction Manager.

The BV_SmgrSessionHandle interface provides a way to call page scripts directly from a C++program running outside of the Interaction Manager without going through the HTTP server. Thislets the C++ program take advantage of the BroadVision One-To-One Enterprise functionalitynormally provided in a page script.

They allow page scripts to communicate directly with the host system and they allow C++applications to call page scripts.

System portal

The system portal provides the ability to run operating system shell commands from within a pagescript.

For detailed information about the session portal interfaces, refer to the Application Programmer’sReference.

IDL and CORBA portal

BroadVision One-To-One Enterprise is a distributed application system that can be implementedacross multiple platforms, on multiple machines, and with multiple client and server objects. Toperform this interaction, One-To-One Enterprise uses Common Object Request Broker Architecture(CORBA) communications. Each object implements an Object Request Broker (ORB) that managesits communication with other objects in the system. Any ORB that utilizes the Internet Inter-ORBProtocol (IIOP) can be used with CORBA objects in the One-To-One Enterprise environment.

You can create your own CORBA servers that work with One-To-One Enterprise, and, using the out-of-the-box functionality of the generic IDL interface, you can write simple script functions thatcommunicate directly with any CORBA server in the One-To-One Enterprise system.

Interaction Manager alpha

Host A

Interaction Manager omega

Host ZInteraction Managers withdifferent names (alphaand omega) running ondifferent hosts (A and Z).

Interaction Manager alpha

Host AInteraction Managers withdifferent names (alphaand omega) running onthe same host (A). Interaction Manager omega

Host A

16 BroadVision, Inc

Page 17: Broad Vision One to One Enter Price Overview

Chapter One-To-One Enterpr ise appl icat ionsInter-system communications

For detailed information on writing your own One-To-One Enterprise compatible CORBA servers,refer to the Server Developer’s Guide.

For detailed information on using the generic IDL interface to communicate directly with CORBAservers from your application, refer to the Application Programmer’s Reference.

COM Extension for Windows

BroadVision One-To-One Enterprise, when hosted on a Microsoft Windows platform, providescomponents for accessing Component Object Model (COM) objects in a Microsoft Windowsenvironment. The components, ActiveXObject and Enumerator, are modeled after Microsoft’sJScript ActiveXObject and Enumerator COM objects. This close modeling provides a highdegree of compatibility between the Microsoft JScript environment — typically used in ActiveServer Pages (ASP) — and the BroadVision page script environment.

To access a COM object from a BroadVision page script, you create an ActiveXObject object that isbound to the COM object, and then access the properties and methods of the COM object by callingthe function or referencing the attributes of the ActiveXObject object.

One-To-One Enterprise includes samples that demonstrate various ways of using COM objects inpage scripts. The samples are installed in the $BV1TO1\samples\activex directory onWindows NT installations of BroadVision One-To-One Enterprise.

For more information about the One-To-One Enterprise COM extension, refer to the ApplicationProgrammer’s Reference.

Overview 17

Page 18: Broad Vision One to One Enter Price Overview

Chapter 2 One-To-One Enterpr ise appl icat ionsInter-system communications

18 BroadVision, Inc

Page 19: Broad Vision One to One Enter Price Overview

3 Content, Profiles, and

Personalization

Personalization is the process of providing the right information, to the right person, at the righttime to meet your business needs. To do that, One-To-One Enterprise tracks profiles, the informationthat is known about a visitor, and matches it to the content available from your site.

This chapter describes how those pieces fit together, including

● “Content” on page 19 discusses how One-To-One Enterprise organizes and presents data(content) in a meaningful way.

● “Profiles” on page 23 describes key features of BroadVision One-To-One Enterprise system thattracks information about visitors.

● “Personalization” on page 28 explains how personalization provides the content that a visitormost likely wants to see, has requested to see, or is allowed to see, based on what is knownabout them.

● “BroadVision Command Center” on page 31 describes how this Windows-based applicationprovides a foundation for information and relationship management across the extendedenterprise.

● “Discussion forums” on page 33 discusses on-line forums that engage new visitors, help retaincurrent visitors, and foster communication among visitors.

ContentRegardless of the purpose of your Web site, it has one thing in common with all other Web sites: itprovides content of one sort or another. Whether your site provides consumer information on thelatest in computer products, lets employees choose their benefits plans, or searches throughbusiness archives, your Web site application must arrange, examine, search, or otherwisemanipulate content in order to present the greatest possible value to your site’s visitors.

BroadVis ion of fe rsadd i t i ona l con ten tmanagement solutionsthat integrate with theOne-To-One Enter -prise database.

Content is data that is organized and presented in a meaningful way. Depending on the objectivesyou have for your site and your target audience, meaningful content can be anything from a datatable to a collage of pictures.

For a detailed discussion of content in One-To-One Enterprise, see the Content Guide.

All content within a One-To-One Enterprise site are stored or accessed through a relational database.A single individual piece of content is referred to as a content item. A content item is composed ofmultiple pieces of information contained in a row in the database. These multiple pieces ofinformation are each held individually in the database columns (also called Attributes). Content

Overview 19

Page 20: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionContent

items are grouped into tables by Content type. Within a content type, every content item has thesame attributes. Content items can be arbitrarily assigned to categories within the content type.Content items can also be either partially or completely composed of external content.

Content type A content type names a table, names its columns, and defines what kind of data each column canhold. BroadVision One-To-One Enterprise comes with several pre-defined content types which youmay customize, or you can also create your own, custom content type to meet your site’s specificneeds.

Attributes In BroadVision parlance, the columns of a database are often referred to as attributes. This is becausewhen a One-To-One Enterprise Web application retrieves a content item from the database, itactually acquires a content object that is modeled after the database. The attributes of the objectcorrespond directly to the columns in the database.

Some of the attributes contain information that can be displayed on the visitor’s browser and someattributes contain information that is used by various elements of the One-To-One Enterpriseapplication system.

Most attributes contain only one value per attribute. However, there is often a need for an attributeto contain multiple values, such as the available colors or sizes for a particular product. These kindof content attributes are called multi-value attributes (sometimes call related-list attributes).

One-To-One Enterprise also uses a special set of attributes called Matching attributes to matchcontent to a visitor’s preferences based on a weighted score. These special attributes are described indetail in the Matching Guide.

Categories Categories are arbitrary groups of content items that you create within a content type. Properlyorganized and implemented, categories can greatly enhance the success of your Web site by helpingvisitors more easily find the content they are looking for. Using categories, your application candisplay groups of content in direct response to visitors’ inputs, or it can use the Matching Agent toselect content for display from a category based upon rules created with the BroadVision CommandCenter.

For example, if your Web site represents a department store, the Products content type couldcontain such widely disparate product offerings as, computers, towels, books, and gardening tools.Having a separate category for each of these offerings makes it easier to present the right content fora particular visitor.

content type3 tablecontent type2 table

attribute1 attribute2 attribute3 attribute4row1attribute1 attribute2 attribute3 attribute4row2

attribute1 attribute2 attribute3 attribute4rowN

content type1 tableOne content item

Columns or attributesare different for eachcontent type

Content typetables in arelationaldatabase

External contentis outside thedatabase

categoryassignments

20 BroadVision, Inc

Page 21: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionContent

You create categories and subcategories with either the BroadVision Command Center or thebv_load_cat bulk-loading utility [page 45]. The BroadVision Command Center displays categoriesin a hierarchy that descends from the content type. Here some of the categories and subcategoriesthat are provided in the Broadway sample application data.

For detailed information on creating categories, refer to the Command Center User’s Guide.

The rest of this chapter describes some of the One-To-One Enterprise features that are specific tocontent, including:

● “External content” on page 21

● “Visitor feedback” on page 22

● “Related-list content attributes” on page 22

● “Verity search” on page 22

External content

Content is usually stored in the One-To-One Enterprise database. However you can store, retrieve,and update content store in an external source, one outside of the One-To-One Enterprise database,provided that your site is configured to do so [see “External data source” on page 44]. Once the sourceis configured, content stored externally behaves the same as from the internal location, but withthese limitations:

● You can have only one content table per content type, and there must be one unique key perrow in the table.

● You cannot mix internal and external content and related attributes list tables. You cannot linkan external list table to an internal content table.

● There is no transactional integrity. If an external insert fails, the local insert fails too.

● The external tables can be updated from One-To-One Enterprise, provided the account hasupdate rights, and the system.

● External data is always cached locally once fetched. If external data changes often, either turnoff caching or freshen the cache often.

Subcategories

CategoryContent type

Overview 21

Page 22: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionContent

Visitor feedback

The visitor feedback feature (also known as content rating) surveys visitors about their preferencesfor content items, and records the feedback (also known as votes) in the content database. For eachsurveyed item, it calculates the total count of votes submitted for each item, and then totals andaverages the scores for each. These numbers can then be displayed to visitors so they can review thepreferences of all visitors participating in the survey. The information can also be used by internalpersonnel for analytical purposes, and used to generate visitor feedback reports.

For information about:

● Using the BroadVision Command Center to create matching rules based on the feedback, seethe Command Center User’s Guide.

● Creating the feedback attributes, see the Database Administrator’s Guide.

Related-list content attributes

Content attributes tend to describe a single characteristic about the content item, such as a name orprice. However, some attributes are a list of values, such as a list of a product’s available colors. Tomaintain such multi-value attributes, One-To-One Enterprise provides related attribute lists[page 27]. These lists are the child tables in one-to-many relationship, where the content or visitortable is the parent. But, related attributes behave the same as single attributes in the table in that youcan search them and include them in queries.

For information about:

● Creating related attributes, see the Database Administrator’s Guide.

● Creating rules that include related attributes, see the Command Center User’s Guide.

● Referencing related attributes in applications, see Application Developer’s Guide and ServerProgrammer’s Reference. Look under the terms “multi-value tables” or “multi-value rows.”

Verity search

The One-To-One Enterprise search feature uses the Verity VDK Basic Search engine to provide full-text searching of One-To-One Enterprise content and of external files. The search retrieves resultswith relevance-ranked scores and the results can be ordered by the score or by any of the fieldsdefined by the configuration.

The Verity search engine requires an additional license for use; it is not part of the standardBroadVision One-To-One Enterprise license.

The search feature can locate words in the One-To-One Enterprise content tables, or in external filesusing these search features:

● Full-text search looks in the entire document or identified database columns for the desired text.To look in a database column, the attribute must be defined as either TEXT or STRING. Tosearch any other type requires a field-search.

● Field search looks for the text in format-specific fields. For example, when searching an externalfile of a type that Verity supports, such as PDF, you can search for the document’s creation datebecause that information is stored in a known location within the PDF file.

A field-search field can also be an attribute of the One-To-One Enterprise content database.

22 BroadVision, Inc

Page 23: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionProf i les

● Category search looks for matches within a topic set. A topic set is a grouping of informationrelated to a concept, or subject area. You create a topic set from a topic outline file. A topic outlinefile is an ASCII text file in a structured format that contains topic definitions.

● Filter search looks for results based on the user’s profile attributes — for example, language andregion.

For detailed information about searching, see the Searching Guide.

ProfilesProfiles are the information known about visitors to the One-To-One Enterprise site. Profileinformation is used to identify visitors, and to match them to content. This section describes thefollowing profile features of BroadVision One-To-One Enterprise:

● “Visitor model,” explains the difference between members and guests, and how the applicationbenefits from the information known about them.

● “Communities” on page 25 discusses how communities define visitor cross-sections thatrepresent target audiences.

● “Visitor database” on page 26 describes some of the key features of the database tables thatstore visitor profile information.

Visitor model

One-To-One Enterprise categorizes visitors as members or guests. Members are visitors who haveregistered accounts identified user name and password, and whose profile information isretrievable from the database. Guests are anonymous visitors that do not have registered,retrievable profiles. Guests are further classified as either a transient or permanent.

● Transient guest profiles are maintained in memory only. As such, application performance isfaster than when working with permanent guest or member information. However, when atransient guest leaves the site, all known profile information about the visitor is discarded. Thisclassification is used by sites where the visitor’s identity is not integral to the application, suchas sites that allow anonymous browsing.

When the Interaction Manager creates a new session for a visitor, it immediately creates atransient guest profile. If the guest logs into the system, the transient profile is replaced with themember’s profile.

● Permanent guest profiles are recorded in the database, but the information is never againretrievable by the visitor. This classification is used by sites that need to track some informationabout a guest, such as in commerce applications that need a permanent ID to link purchaseinformation to a session. In the database, permanent guests are all members of the sameaccount. See “Accounts and members” on page 24 for details.

Notes Here are some additional things to be aware of about visitors:

● All visitors, including transient guests, are observable through the observation system. Thisallows the Matching system to provide moment-to-moment matching.

● To identify a member, the system requires the member’s user name and password be providedby the application. Typically the application prompts the visitor for the information, butalternate schemes are possible. For example, the application might retrieve a digital certificateor cookie from the visitor’s browser, and then map that information to a valid user name andpassword. The application then provides the name and password to the system.

Overview 23

Page 24: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionProf i les

● The Access Control system determines which pages the visitor may see as defined by thevisitor’s role [below] in the site.

● Member accounts can be made inactive [page 24] to keep a member from logging into the site.

For information about how applications work with visitor profiles, see the Component Developer’sGuide. For information about the profile and database tables, see “Visitor database” on page 26.

Visitor roles

The Access control system looks at the visitor’s role to determine which pages the visitor may access.A role identifies a visitor as a member of a group, such as a guest, administrator, content provider, orpartner. The roles for a site are specified in the ROLE data type. To identify the roles that your siterecognizes, change the prof_type.src database schema file. See the Database Administrator’sGuide for details.

Visitors may have more than one role in a site. As such, the visitor profile database stores roles in alist specified by the BV_USER_ROLE.USER_ROLE attribute. Applications may change a visitor’scurrent role during a session, and they may change the default role by changing the order of theroles in the database. See the Application Developer’s Guide for information about working with aroles from an application.

For information about how the Access Controls system uses visitor roles, see “Access control” onpage 37.

Visitor active status

When a member logs into a One-To-One Enterprise application, the Visitor Management systemlooks for the profile that matches the user name and password provided. The system then checks thevisitor’s active status. If the status is inactive, the login fails and the system denies the visitor accessto the application. By default, all members and their accounts are active. To make a member’saccount inactive, use the Visitor component. See the Component Developer’s Guide for details.

Accounts and members

The Visitor Management system was originally designed to have accounts that contain one or moreaccount members, such as a house-hold with family members or a department of employees. Forevery account there is one account holder, which for accounts with only one member is that onemember. Fundamentally the system still supports this concept, but in practice most applicationsassign one member to one account.

BV_ACCOUNT

other members

account holder BV_USER

24 BroadVision, Inc

Page 25: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionProf i les

The components the come with One-To-One Enterprise support the one member per account modeland hide the fact that the member’s profile is part of an encompassing account. However,applications that access the servers directly through the C++ or IDL interfaces might have to dosome extra work to access visitor profile information, depending on the interfaces used. See theServer Programmer’s Reference for specifics.

Permanent guests are all members of the same account. For each guest, the user name(BV_USER.USER_ALIAS ) is the USER_ID value, and the password is a random string. Theaccount holder is a member named “anonymous-sentinel”. The Interaction Manager creates theaccount and anonymous-sentinel member if the account does not already exist. For informationabout permanent guests, see “Visitor model” on page 23.

Communities

Communities define visitor cross-sections that represent target audiences. Using the BroadVisionCommand Center, you can target e-mail to these audiences, and personalize the presentation ofcontent on your site expressly for them.

Communities are based on the visitor profile

When you define visitor communities, you select the visitor profile attributes [page 26] that define avirtual group of people sharing common characteristics and preferences that are important to yourbusiness. For example, you could create a community of visitors that live in a specific state or area,make an annual income within a certain range, have a high school or college diploma, and show agreat interest in high cap equity investments.

Community membership is based on a rule

A visitor community is defined by a rule that specifies the criteria for community membership. Anexample of a visitor community is: women whose zip code is 99999. Community rule criteria arebased on visitor profile attributes. In this example,

● the profile attributes are “gender” and “zip code,” and

● the rule criteria are “gender is female” and “zip code is 99999.”

You can construct a community rule with one criterion, or as many as required.

Any or all criteria

When One-To-One Enterprise attempts to determine who are members of the community, it does soby evaluating the rule criteria. A visitor can be a member of the community if they meet all of therule criteria, or alternately, they can be a member if the meet any of the criteria. When you define therule in the BroadVision Command Center, you specify which method to use.

1001

ACCTHOLDER_IDACCOUNT_ID

200

BV_ACCOUNT

1001 200 anonymous-sentinel

USER_ID ACCOUNT_ID USER_ALIAS

1007 200 1007

2311 200 2311

BV_USER

Overview 25

Page 26: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionProf i les

Visitor database

Visitor profile information is stored in database tables. The columns in the tables contain theinformation or attributes that make up the visitor’s profile. You can customize the profile to changethe default attributes, add additional ones, or remove unnecessary columns. Additionally:

● One-To-One Enterprise supports a concept of Privacy flags to indicate the member’s preferencefor making the information available outside of the application.

● Related attributes provide a list of attributes specific to a member.

Profile attributes

Profile attributes are the characteristics that describe a One-To-One Enterprise visitor, such as thevisitor’s name, last time they visited the site, or company they work for. Some attributes arerequired by One-To-One Enterprise, such as user name, password, and ID, while others are definedby the Web site’s database administrator. Some of the things that profile attributes are used forinclude:

● Applications use the Visitor component to read or write information about the current visitor.See the Application Developer’s Guide for details.

● The content matching [page 29] uses profile information when looking for content specific to thevisitor.

● The Access Control system looks at the visitor’s “role” [page 24] to determine which pages thevisitor may access. For example, the roles that a site recognizes might include: administrator,content manager, editor, guest, or valued customer.

To change profile attribute definitions, follow the instructions for changing the schema as describedin the Database Administrator’s Guide.

Privacy flag

A privacy flag is an attribute that indicates a member’s privacy policy regarding the information ina corresponding attribute. When the flag is set (a value of 1), the member has indicated that thecorresponding attribute is private and should not be made available outside of the system. Aprivacy attribute has the same name as a regular attribute, but with a “P_” prefix. For example,P_EMAIL is the privacy flag for EMAIL, and that when set indicates that the member requests thattheir e-mail address not be used outside of the application.

One-To-One Enterprise enforces no rules on privacy or how the information in the database isused. It is up to the Web site to enforce and privacy policies.

If your site wants to use the privacy flags, you can:

● Change the privacy_flag configuration setting before generating your database. This makesa privacy flag for every profile attribute.

● Incrementally add privacy for only those attributes that your site supports.

For more information about adding or removing privacy flag from the database, see the DatabaseAdministrator’s Guide.

When privacy flags are in use, they appear in the profile with the regular attributes. It is up to yourapplication to determine what to do with them. For information about accessing profile attributesfrom an application, see the Application Developer’s Guide. You can also access attributes the serverinterfaces [see the Server Developer’s Guide].

26 BroadVision, Inc

Page 27: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionProf i les

Related attributes

Most profile attributes describe a single characteristic about the visitor, such as a name, or favoritecolor. However, some attributes are a list values, such as a list of stocks the visitor does or hasowned. To maintain such multi-value attributes, One-To-One Enterprise supports related attributelists. Such lists are the child tables in one-to-many relationship, where the profile table is the parent.

Related attributes behave the same as attributes in the profile table in that you can search them andinclude them in queries. For example, in the figure above, you can perform a search for visitorswhose STOCK_SYMBOL attribute contains “BVSN”, and you would find Valerie Marks.

For information about:

● Creating related attributes, see the Database Administrator’s Guide.

● Creating rules that include related attributes, see the Command Center User’s Guide.

● Referencing related attributes in applications, see Application Developer’s Guide and ServerDeveloper’s Guide. Look under the terms “multi-value tables” or “multi-value rows.”

Valerie Marks

USER_NAMEUSER_ID

585 585 BVSN 5.00 75.75

585 ZZYZ 21.25

585 BVSN 16.50

585 FOOB 78.12 23.12

USER_ID STOCK_SYMBOL BUY_PRICE SELL_PRICE

related byUSER_ID

BV_USER BV_USER_STOCKS

Overview 27

Page 28: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionPersonal izat ion

PersonalizationPersonalization is the key to maintaining one-to-one relationships — it provides the content that avisitor most likely wants to see, has requested to see, or is allowed to see, based on what is knownabout them. Every visitor action results in some knowledge about their intentions. Your applicationtakes that knowledge and the intentions, and produces the preferred results for the visitor.Information is retrieved through the cooperative efforts of

● Script writers who determine how to request the information.

● Business managers who develop rules [page 29] to match visitor profiles to content, and definecommunities of “like” visitor profiles.

● Data classifiers who define the criteria that identify the attributes of content information.Content and content attribute values are created with the BroadVision Command Center,BroadVision Publishing tools, or they are bulk loaded into the database.

When a visitor clicks a link to request information, the processing script’s action might be to retrieveexactly the requested item — a request for account status is a pretty straight-forward query thatdoesn’t require personalization. It might also run a “search” query to find items that meet thevisitor’s definition of the request. However, a request for information might also be

● Restricted by the visitor’s role [page 24] in the site and moderated by access control [page 37]), or

● Targeted based on a business rule [page 29] that include criteria based on some or all of these:

• Specific values in a visitor’s profile — such as don’t show white wines to a customer whoonly buys reds.

• Communities of visitors who share common characteristics — members with a “special”classification see additional offerings not available to “regular” members; and “elite”members see all the offerings.

• Specific values in content item descriptions (attributes) — show only shirts that areavailable in Extra-Large sizes.

• Session variables whose values are defined by the visitor — show only items that are newsince a time span defined by the visitor.

The two most often used personalization features of One-To-One Enterprise are:

● “Content matching,” next.

● “Notifications” on page 30

28 BroadVision, Inc

Page 29: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionPersonal izat ion

Content matching

To perform content matching in an application, a script makes a request for information and anapplication service evaluates the request by comparing it to what is known about the visitor. Theservice then returns the appropriate information to the script, which might then further personalizethe data before rendering the page to present to the visitor.

To make personalization work, you need to collect profile information about your site’s visitors, anduse that information when presenting information. Do that by

● Registering visitors and getting their stated profile attributes and preferences. Registeredprofiles allow travel sites to offer vacation deals based on the customer’s accumulated frequenttraveler points.

● Observing what the visitors do as they navigate through your site and modifying thesubsequent results accordingly. In a retail wine site, if a buyer has been looking at Merlot wine,you might offer them a two-for-one a discount on Cabernet; but someone looking a white winesmight see a discount for Chardonnay.

● Asking for feedback and comparing the results to other visitors. A content provider can ask“How useful was the information”, and later use the feedback to alter the list order that contentitems are presented.

● Gathering information from implicit activities and applying that knowledge to future actions. Ifa commerce customer has shoes in their shopping cart, show them a link to socks on the checkout page.

Matching rules

The Matching system determines which content to show to a visitor by evaluating a rule. Matchingrules are defined in the BroadVision Command Center, and evaluated when an application asks forrelevant content. To create a rule, you use the BroadVision Command Center Rules wizard. Thisallows you to create new, and edit existing rule sets, and to organize rules into a hierarchy ofcategories. Some of the tasks you can perform with rules include:

● Define effective virtual communities — Enhanced community [page 25] support lets you createcomplex community rule criteria and rules. Using these features, you can define communitiesthat represent meaningful cross-sections of your visitor population.

● Use Query Matching to retrieve content — Query Matching uses query criteria to retrieve targetinformation for matching rules, and for the default rule in a matching rule set. With QueryMatching a rule or set uses query criteria to determine at run time which information itretrieves. Query Matching can use the criteria from an existing public query, or criteria createdespecially for the matching rule.

● Match content attributes to visitor profile attributes — For example, here are some scenarios:

The application services findthe content that matches avisitor’s known profile, and

return that subset to theapplication scripts.

Profile

The application scripts mightfurther divide the information

before including it in thereturn pages.

Content

Personalizedcontent

Matchedcontent

Overview 29

Page 30: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionPersonal izat ion

• When a visitor shows interest in products with prices greater than $10, display similar orrelated products that have prices greater than $10.

• When a visitor wants to see products at prices lower than those currently displayed, displaythe lower-priced products.

• Based on the visitor’s community membership, products in the visitors’ favorite colors,styles, and required sizes.

• For business-to-business commerce visitors, display products and price lists according totheir employer and office location.

● Create Session rule sets and rules — Create Session Rules to assign a value to a session profilevariable whose value is used during a session as if it was a profile attribute.

● Use visitor feedback — By comparing the member’s stated preferences, you can find similarcontent. See “Visitor feedback” on page 22 for more information.

Notifications

Visitor notifications are messages that are sent or delivered to registered visitors. Each message canbe personalized to the visitor, and is generated by a script that is either a text file or text stored in adatabase field. One-To-One Enterprise has two kinds of visitor notifications:

● Alerts are messages that visitors request to inform them when an event has occurred. Your site’sapplication must provide the mechanism for the visitors to choose the alerts they desire.Additionally, you must implement a means for the alert to recognize when the requested eventhas occurred, and then schedule the message generation and delivery. A BroadVisionCommand Center user determines when and how often the schedule should be run.

● Targeted messages are ones that the site sends to a community of visitors [page 25]. Thecommunity is defined by a BroadVision Command Center user, who also defines the scheduleof when to generate and send the messages, and how often this should occur.

Messages can be

● delivered to an “inbox” where the visitor can retrieve the message the next time they log in tothe site, or they can be

● sent by some other means, such as e-mail, fax, or pager. This release of One-To-One Enterpriseincludes support for the e-mail delivery mechanism only, though you can implement andinclude the others through custom development work.

As are sent, the Notifications system updates the statistics of the individual jobs and thatinformation is then available to the business manager in the BroadVision Command Center.

For a complete discussion, see the Notifications Guide.

30 BroadVision, Inc

Page 31: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionBroadVis ion Command Center

BroadVision Command CenterThe BroadVision Command Center is a Windows-based application that provides a foundation forinformation and relationship management across the extended enterprise. By managing theinformation displayed on your Web site, the Command Center helps you create a personalized,moment-to-moment, interactive community relationship with your site visitors, whether they’reretail or business customers, employees, or business partners.

For conceptual explanations and step-by-step, task-oriented instructions on how to use theCommand Center, see the Command Center User’s Guide.

With the Command Center you can easily manage the content, profile, and personalization data in aOne-To-One Enterprisesite. Some of the tasks you can perform are:

Personalize the display of information with matching rules — The matching rules enable you to matchinformation on a visitor-by-visitor, moment-to-moment basis. By creating matching rules, you canpersonalize the display of information so that every visitor sees the content they want to see eachtime they visit your site. With matching rules, you can:

● Match the content in the database to visitor profile information such as name, address, gender,favorite colors and styles; with behavioral events such as choosing an ad and buying a product;to specific dates; and to a visitor’s community membership.

● Use Query Matching to determine at run time which information is displayed on your site.

● According to a visitor’s interaction with your site, dynamically determine at run time whichcontent to display for that visitor.

● Use the Matching Agent to match your content attribute ratings to your visitor’s ratings of thesame attributes.

● Use Visitor Feedback to survey site visitors about their preferences for specific content. Analyzethe survey results for marketing purposes, and display pertinent survey results to your visitors.

● Target e-mail schedules and alerts with matching rules.

Create and manage information — With the Command Center you can:

● View and work with large quantities of information, or one particular item of information.

● Maintain large quantities of information in a detailed view, or enter and maintain individualitems in dialogs, wizards, and menu commands.

● Create an optimal view of the information you’re working with by resizing detail view columnsand rows, rearranging columns, hiding or showing columns, and applying views.

● Classify information using a graphical tree structure of categories and subcategories that youcreate.

● Enter and maintain attribute values for items and the categories in which they’re classified,including custom attributes.

● Use the Microsoft Data Access Objects to import moderate amounts of correctly formatted datainto the One-To-One Enterprise database.

● Determine when information will automatically appear on your site.

Control information access and display — Ensure that the content is available to co-workers formaintenance and Web site design, and that the content displayed on your site isn’t mistakenlychanged or removed. To accomplish this with the Command Center, you can:

● Provide limited access to content for those who are authorized to maintain it, but not to approveit for display on your site.

Overview 31

Page 32: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionBroadVis ion Command Center

● Allow content managers to approve content to move it on-line for display, and to move it off-line for maintenance or retirement.

● Control who can approve information to move it on- or off-line, who can work with on-lineinformation, and who can work with off-line information.

● Protect the information displayed on your site by preventing unauthorized modifications andremoval.

● Provide read-only access to the Command Center.

Work with the most current information — With multiple co-workers maintaining the sameinformation, you need to be sure that item modifications take effect, and are not overridden. Withthe Command Center, you can:

● Automatically notify the servers when you modify information.

● Refresh your Command Center views to see the changes your co-workers made.

● Be notified when co-workers modify an item you’re working with to be sure that information isnot lost.

Further, Command Center administrators can globally or selectively update all the One-To-OneEnterprise servers regarding changes to Web site content.

Easily locate and retrieve information — With the Command Center query tool, you can:

● Easily define query criteria using familiar information from your database.

● Query a specific category of information, or an entire branch of information.

● Create and save a library of the queries you use frequently.

● Create view menus that you use to instantly access important database information.

● Share queries and views with your Command Center co-workers, or keep them for private use.

Manage and moderate discussion forums — Discussion forums engage new visitors, help retaincurrent visitors, and foster communication among visitors. See “Discussion forums” on page 33.

Represent visitor cross-sections — The ability to create virtual visitor communities supportsrelationship management with those who use your Web site. Using virtual communities, you can:

● Effectively define and represent meaningful cross-sections of your visitor population.

● Create target audiences for e-mail message.

● Match and display content to the members of specific communities.

● Identify community preferences and display content accordingly.

● Create a community of all visitors to globally target e-mail and display content.

Notify site visitors — With the Command Center visitor notification features, you can:

● Schedule automatic, regular message deliveries to either a target audience that you specify, orthe visitors who request the notification.

● Create and maintain a database of messages for delivery to your visitors. Use static messages orscripts that dynamically generate messages, and test the messages before you deliver them.

● For visitors who request alerts, automatically display alert messages according to one-time orperiodic delivery schedules that you create.

● Review schedule statistics, such as scheduled run time versus actual run time, and the messagegeneration status.

32 BroadVision, Inc

Page 33: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionDiscuss ion forums

Change the session state according to visitor interaction and profile — The Rules wizard alsosupports session rule sets and rules. These rules enable you to change the state of a session, which isa visit, according to the visitor’s behavior during the session, the events that occur during thesession, and the visitor’s profile.

Control internal access to the Command Center features — Command Center security enables theapplication administrator to control which tasks Command Center users can perform, and whichinformation they have access to.

Discussion forumsDiscussions are on-line forums that engage new visitors, help retain current visitors, and fostercommunication among visitors. Discussion forums also offer visitors opportunities to providefeedback that helps you to better serve them. By starting new threads, replying to messages createdby other visitors, browsing responses, and searching for groups of interest by keyword, your visitorscan exchange views and share information on specific topics, which can also provide you with moreinsight into your visitor base.

With the BroadVision Command Center, you can manage and moderate discussion forums and youcan:

● Start new threads. Delete individual messages and entire threads.

● Categorize discussion groups by topic when you create them.

● Personalize discussion groups to specific visitor profiles and communities.

● Censor messages before they’re available for viewing.

● Control the status of displayed messages, or hide them from your visitors while keeping themavailable to your application developers.

● Let visitors generate HTML messages and responses.

For information about using discussion forums in your site’s application, see the ComponentDeveloper’s Guide.

Overview 33

Page 34: Broad Vision One to One Enter Price Overview

Chapter 3 Content, Prof i les, and Personal izat ionDiscuss ion forums

34 BroadVision, Inc

Page 35: Broad Vision One to One Enter Price Overview

4 Application Services

Application services provide the operational support for all One-To-One Enterprise servers andBroadVision applications. These servers are responsible for maintaining the communicationsbetween all One-To-One Enterprise servers, providing database access, and overseeing securityissues. Additionally, these servers provide specific features such as notifications and alerts,discussion forum management, and other BroadVision application-specific tasks such as ordermanagement and payment handling.

This chapter describes these application service topics:

● “Application server,” next explains how the server runs the scripts that are the site’sapplication, track visitors using the application, fields requests to the Application services,provides Caching content, profiles, and scripts for high-performance responses, and checkswith the Access control and Quality of Service and Rewards systems to help determine thenavigation results.

● “Scalable architecture” on page 41 discusses how the application services a servers or daemonsare distributed on one or more host machines for performance, reliability, and security.

● “Server monitors” on page 43 describes the server monitors and how they are used to identifyserver performance issues.

● “Database” on page 43 describes how One-To-One Enterprise uses a database managementsystems (DBMS) to maintain information.

● “Staging” on page 46 explains the process of creating data on one installation, and thenmigrating that data to another installation, usually from a development installation onto aproduction (live) installation.

● “Observations” on page 46 discusses how observations are recorded events initiated by visitoractions, and how those events can be collected and later used by a reporting mechanism toanalyze the observed events.

● “XML” on page 47 describes the BroadVision One-To-One Enterprise support for XML, theeXtensible Markup Language.

● “Security” on page 48 describes some of the security features of BroadVision One-To-OneEnterprise,

Overview 35

Page 36: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesAppl icat ion server

Application serverThe application server is an integrated part of the One-To-One Enterprise Interaction Manager. Inaddition to running the script that comprise the application, the server is responsible for:

● “Session management,” next.

● “Access control” on page 37

● “Quality of Service and Rewards” on page 38

● “Caching” on page 39

Applicationprocessing

The Interaction Manager is the cornerstone of a One-To-One Enterprise Web application. Itprocesses Web page requests by running Java and server-side JavaScript scripts. This diagramshows how the major architectural blocks of the Interaction Manager process Web page requests.

For information about scripts and components, see Chapter 2, “One-To-One Enterprise applications.

HTTPserver

database

JavaScriptpreprocessor

Interaction Manager

JavaServer Pages

JSPpreprocessor

Javacompiler

EmbeddedJava Virtual Machine

Embedded JavaServlet engine

Content cache /Category cache

Web browser

Page Request cache

Task mapping

HTMLHTML

EmbeddedJavaScript engine

JavaScript cache

C++ and Java executables for bothBroadVision and Custom Components

Communications

A request for a pagecomes from the HTTPServer and passes throughthe communications layerto the Page Requestcache. If the requestedpage is already in therequest cache, the requestgoes no further, and isimmediately fulfilled. If therequested page is not inthe request cache, thenthe request is passed on tothe task mapping block.The task mapping blockexamines the URL todetermine whether therequest task should go tothe Java Virtual Machineor the JavaScript engine.

JavaScript pages

36 BroadVision, Inc

Page 37: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesAppl icat ion server

Session management

The Session Manager is the Interaction Manager subsystem that keeps track of all current visitors.Additionally, the Interaction Manager works with applications to provide the visitor’s profileinformation, and to provides a programming interface to the One-To-One Enterprise servers.

A typical visitor session might occur like this:

1. The visitor connects to the Web site and sees a welcome page, typically a static HTML page withone or more links into the application. All or most activity from this point on goes through theSession Manager.

2. When the visitor enters the application, the Session Manager creates a “session” that containsan in-memory profile of the visitor, and assigns that visitor the status of Transient guest.Depending on the application, the visitor might be logged into the system as a member, inwhich case the visitor’s profile is retrieved from the database and that information replaces thein-memory profile.

At this point, the Session Manager might, if configured to do so, log an “enter-service” eventwith the observation system. [“Observations” on page 46]

3. As the visitor navigates through the application, the Session Manger keeps track of the activity.The Session Manger checks with the Access control and Quality of Service and Rewardssystems, when they are active, to determine the navigation results.

4. When the application needs information from the Application services that requires profileinformation, such as for content matching, the Session Manager sends the visitor’sidentification along with the application’s request.

5. Optionally an application might provide a feature to allow visitors to specify when they leavethe application or log off the site. When this visitor chooses this option, the Session Managerterminates the session. More commonly though, the visitor will leave the site without makingsuch a choice. After a period of time specified in the Interaction Manager configuration file, theSession Manager will terminate the session. Additionally:

• If the visitor has a registered member profile, the Session Manager updates the profiledatabase with the visitor’s profile.

• If the site is so configured, the Session Manager logs an end-session observation event.

Access control

The Access Control system determines which scripts or other executables visitors are allowed torun. When the Access Control system receives a request for a visitor’s access rights, it looks at thepermissions specified in the site or application access control file. The file is structured text thatcategorizes the permissions by a Subjects, and lists the permissions for each subject.

A subject is usually an executable, such as a script but may be other custom application-specificclassifications. Each subject has a permission list that specifies who has permissions to access thesubject and what those permission are.

For information about the access control system, see the Session Management Guide.

Overview 37

Page 38: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesAppl icat ion server

Quality of Service and Rewards

Customers that visit your site deserve the very best service—especially as they contribute to thesuccess of your business. The various actions that customers take when visiting your site generaterequests to the Interaction Manager. The Interaction Manager in turn responds to a particularrequest based upon where it is in the request queue. BroadVision One-To-One Enterprise providestwo features in particular, Quality of service queuing and Rewards, that enable you to identifyrequests that you want to be serviced faster — or slower — than other requests.

Quality of service queueing allows you to provide the best service response time to your mostimportant visitors. The quality of service mechanism prioritizes responses based on application-defined criteria. Some uses for this mechanism include:

● Frequent or highly valued customers can have a high priority that allows them to move to thefront of the request line when the system is processing many requests.

● Administration users can have a high priority to ensure that their requests are responded toquickly during periods of heavy load on the request processing system.

● Members who have lapsed subscriptions can be assigned low priority until they renew.

Rewards are a mechanism for temporarily, and automatically changing a user’s request priorities.Some uses for this mechanism include:

● Customers receive rewards points for viewing advertisements. The more points they have, thefaster their requests are processed.

● Customers that have been browsing for a long time and which have no items in their shoppingcart might loose reward points. This is similar to a clerk in a store who ignores someone who isjust looking and doesn’t intend to buy anything.

● Investors placing order can receive reward points that causes the order placement requests tohave a higher priority than normal requests. Because reward points are consumed with eachsubsequent request, the higher priority responses might last only until the investor’s rewardspoints are consumed, and then the investor goes back to normal priority responses.

For detailed information about the Quality of Service feature, refer to Session Management Guide.

38 BroadVision, Inc

Page 39: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesAppl icat ion server

Caching

When an Interaction Manager gets data from the database, it caches the data locally in memory toimprove the performance of subsequent data requests. Similarly, after running a script, theInteraction Manager caches the static information to improve execution of subsequent pagerequests.

The information that can be cached include:

For details about using the caches, see the Session Management Guide.

Page request cache

The page request cache improves performance by caching the HTML output of generated pages.When the Interaction Manager receives a page request, it locates and runs the script that creates thepage, and then sends the generated page to the browser to satisfy the request. Pages in a generallycontain both static and dynamically-generated information. The time that it takes to generate thepage varies depending on the amount of dynamic activity occurs.

In most One-To-One Enterprise installations, there are pages that — even though dynamicallygenerated — contain the same results: multiple visitors see the same exact page. When you canidentify the conditions (the rules) where the results are the same, you can use the page request cacheto use the same results for multiple visitors, and thereby improve the application’s performance.

Cache Used for …

Initial visitor profiles Frequently requested visitor profile information.

Content Defining how many content items to cache.

Queries The IDs of items found as a result of queries.

Categories Recently retrieved categories and category content.

Collections The parsed results of evaluated Matching system rules.

Page caches Caching the HTML that was generated for page requests.

Interaction Manager

Data cache

One-To-Onedatabase

Request cache

Script

Overview 39

Page 40: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesAppl icat ion server

BroadVision One-To-One Enterprise provides two page request caches (which can be usedsimultaneously or separately):

● The Persistent cache is faster, less restrictive, can be share pages among multiple InteractionManager server engines, and the page results are not lost when an engine shuts down.

● The Traditional cache is fast for a small number of pages that all reside in memory-space of anInteraction Manager server engine. However, the results can’t be shared and are not persistent.

When the Interaction Manager receives a request, it retrieves the script from the file system,generates the HTML result, and sends it to the browser. When a page cache is in use, the generatedresult is stored in the Interaction Manager engine’s memory, and subsequent requests for the samepage are fulfilled from memory.

The engine dumps old pages from memory to make room for new pages as needed. Further, theresults are available only to the same engine; other engines cannot share the cached result.

When a Persistent cache is in use, the engine stores the result in memory, but also writes the result tothe cache directory in the file system. When the requested page is not in memory, the engineretrieves it from the cache: the file system. Frequently-requested files are stored in the operatingsystem’s in-memory file buffer, which results in very fast access times.

An additional advantage of the Persistent cache is that multiple Interaction Manager engines canshare the same cache data.

Interaction Manager engine Script file

Scripts are loaded from files,and the generated results arekept in memory for use bysubsequent requests.

Request 1

Request 2

Generate

Interaction Manager engine Script file Generated pages are copied to thefile system. When subsequentrequests cannot be fulfilled frommemory, they are fulfilled from theoperating system’s file buffer.

Request 1

Request 2

Generate

Filesystem

Request 3

40 BroadVision, Inc

Page 41: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesScalable architecture

Scalable architectureA BroadVision One-To-One Enterprise installation is a collection of software server processes anddaemons running on one or more host machines, connected to one or more databases, and hasconnections to Web browsers through a network. While the application servers, the InteractionManager servers, and HTTP servers may all be installed on one machine, this is not practical formost sites and applications. (It is, however, common, for a development or staging system).

Site topology Instead, the servers are distributed across several machines to balance the processing load, and toprovide security for your system. In a BroadVision One-To-One Enterprise installation, the hostmachines (nodes) that run the servers, processes, and daemons are classified as:

Host machines can be any combination of the classifications, but only one machine is the root host.For example, a typical development system runs all of the processes on one machine. However, in aproduction site, the servers are distributed among several host machine processors.

Traditional versusproduction sites

Traditionally (prior to Version 5.5), a BroadVision One-To-One Enterprise site made severalassumptions about how the hardware and operating environment were configured. In particular, atraditional site assumes that the entire BroadVision One-To-One Enterprise site could be shut downto make configuration changes; all hosts in the system could access the same file system; and thatshell commands could be issued from the root host to all other hosts. These assumptions are notvalid in a typical production configuration.

A production site configuration has these characteristics that are different from a traditionalconfiguration.

Interaction Manager hosts Run the Interaction Manager servers, and processes and daemons thatdirectly support the Interaction Manager. The servers run theapplication scripts.

Front-line hosts Run the servers that the Interaction Manager communicates with.Typically these are database accessor servers, but can also be serversthat connect to existing business systems. These servers supportapplications.

Back-end hosts Run background processes, such as the schedule, alert, and e-mailnotification servers. These servers support the entire site, not just anapplication.

Root host Runs the configuration server for the BroadVision One-To-OneEnterprise servers in the site.

InteractionManager hosts

Front-linehosts

Back-endhosts

HTTP serverhosts

DBMShost

Root host

Overview 41

Page 42: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesScalable architecture

● The site is “mission critical” and as such, it cannot be shut down. As such, changes must bemade dynamically without shutting down all of the servers.

● Security between server host machines is strict: there are typically several firewalls; remote hostactivities are not allowed; file systems are isolated and hosts cannot share configuration files.

● Interaction Manager machines need to be shutdown without killing the active sessions that arebeing maintained by the servers on that host.

● Some machines need to be shutdown for maintenance without shutting down the entire site.

● The configuration environment variables can be different on distinct host machines.

● Hosts can have multiple names and IP addresses.

A production site’s source of truth is the bv1to1.conf configuration file located on the root host.This file tells the installation how your site is organized. In an optimally configured site, you makecritical changes to this file, and then propagate the changes to the rest of the site with the bvconfutility without changing the running status of unaffected machines and servers.

Dependencies In a production site, you can change the configuration of hosts and servers, and you can add hostsand servers without shutting down the whole site. If the configuration change to a host is a “non-critical” parameter, you can effect the change without even shutting down the host.

However, if the change is critical — such as adding or removing a process or daemon, or adding orremoving host nodes — you have to shut down one or more servers to effect the change. A site thatis optimally configured has servers logically grouped to allow hosts to be shut down with minimalimpact to the entire site.

For more information about large site architecture, refer to the Installation and System AdministrationGuide.

Root host

Back-endhosts

Front-linehosts

InteractionManager hosts

Front-linehosts

InteractionManager hostsShutting down front-line

hosts should affect onlythose Interaction Managerhosts that depend on thehost; other InteractionManager and front-line hostsshould not be affected.

Layers of dependenciesShutting down a roothost requires that theentire site be shut down.

Shutting down a back-end hosts should notaffect the rest of the site.

Shutting down an InteractionManager host should onlyaffect that host.

42 BroadVision, Inc

Page 43: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesServer monitors

Server monitorsThe One-To-One Enterprise servers track and publish statistics about their performance, includinggeneral information about memory footprint, CPU usage, count of IDL requests, and server boot uptime. They can also track information specific to their task: the database accessor tracks the count ofSQL queries made and their response time; the name server counts how many name resolutionrequests it processed; the administration server tracks the count of logins.

The Server Monitor utility is a graphical tool that allows you to pick the servers to monitor, and itdisplays the statistics in a chart format. You can display the monitors all in one chart or each in aseparate chart. You can save the charts in pages, and you can save the pages generated in a sessionso they will display the same charts and monitors the next time you run the application.

For detailed information, see the Server Monitor Guide.

DatabaseOne-To-One Enterprise maintains a database of information, some of which is used internally byOne-To-One Enterprise, while other data is used externally by applications. The database tables aremaintained by database management systems (DBMS). In addition to the One-To-One Enterprisedatabase, data may be stored in external databases, and accessed as if it were part of the One-To-OneEnterprise database.

This section highlights some of features of the One-To-One Enterprise database, including:

● “Database schema,” next

● “External data source” on page 44

● “Bulk loading” on page 45

For more detailed information about the database, and database issues, see these topics:

● Database administration activities, including modifying the database schema, see the DatabaseAdministrator’s Guide.

● Migrating the data from a previous version of the One-To-One Enterprise database, see theInstallation and System Administration Guide.

● The tables and attributes the comprise the default One-To-One Enterprise database schema, seeDatabase Schema Reference.

● Accessing data for use in scripts and components, see Application Developer’s Guide.

● Creating new, external database accessors, see the Server Developer’s Guide.

● Configuring the database accessors, including distributing them on several host machines, seethe Installation and System Administration Guide.

The schema is the “map” of the One-To-One Enterprise database. The database tables and indexesare created when you initialize the One-To-One Enterprise system.

Overview 43

Page 44: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesDatabase

Database schema

The One-To-One Enterprise database tables and indexes are created when you initialize theOne-To-One Enterprise system. Most of the tables are used internally by the system. However, thecontent and profile tables may be modified to meet your site’s needs. To alter the definitions, youmust redefine the database schema.

The schema is the “map” of the One-To-One Enterprise database. The customizable portion of theschema defines the content and profile tables, and the meta-data that define the Content.

To change the schema, you can either

● Use the Schema Center utility, described below, or

● Perform the manual steps of changing the text, schema specification files the define the tables,generate SQL commands from the files, and then apply the changes to the database.

For detailed information about the schema and for instructions about modifying the schema withthe schema specification files, see “Working with the schema”, in the Database Administrator’s Guide.To see the default internal and external table definitions, see the Database Schema Reference.

Schema Center utility

The Schema Center utility is a tool for making changes to the One-To-One Enterprise databaseschema. It has a graphical user interface that allows you to easily see the changes you want to make,and it provides fundamental error checking not available to other modification procedures.

You can also use the Schema Center utility to view the database schema without makingchanges to the tables.

For instruction on using this tool see the Schema Center User’s Guide.

External data source

External source data are information stored in databases outside of the One-To-One Enterprisedatabase tables, and which can be referenced from One-To-One Enterprise as if it were stored in aOne-To-One Enterprise table. To reference the data, One-To-One Enterprise maps visitor profile orcontent IDs to unique column names in the external system through a mapping table. For example,EXT_CUST_MAP is a mapping table. To request a visitor’s “status”, which is stored in an externaltable, you would ask for BV_USERS.STATUS and One-To-One Enterprise performs the mappingand data retrieval.

The mapping tables are a “snapshot” of the key mappings at the time that the table was lastpopulated or updated. When external records are added, or when the keys change, you need toupdate the table per the bulk loading instructions mentioned above.

related byUSER_ID

Tango

Bravo

Delta

Oscar

ACCOUNT

BV_USERS EXT_CUST_MAP EXT_CUSTOMER_ACCTS

585

586

587

588

USER_ID

Tango

Bravo

Delta

Oscar

ACCOUNT

585

586

587

588

USER_ID ... STATUS

related byACCOUNT

ACTIVE

ACTIVE

NEW

ACTIVE

44 BroadVision, Inc

Page 45: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesDatabase

The external database can be a DBMS not supported by One-To-One Enterprise, as long as thesystem supports the relational database model (RDBMS), and where each row of externalinformation is defined by a unique key.

For detailed instructions on using external source data, and for explanations of its limitations, see“External source data”, the Database Administrator’s Guide.

Bulk loading

To enter data into the One-To-One Enterprise tables, you either:

● “bulk load” it with the database loading utilities.

● do so manually through the BroadVision Command Center or One-To-One Publishing Center,

● use an application that loads the data by calling the application programming interfaces,

● “stage” the data from another installation [page 46].

CAUTION Always enter One-To-One Enterprise data using one of the provided scripts or utilities,or using a program that inserts data through an API. The data are highly dependent on theidentification codes created by the API routines.

The bulk loading utilities can load Content data, Profile data, and Category data. For detailedinformation about them, see “Loading data into the database” in the Database Administrator’s Guide.

CommandCenter

PublishingCenter

Bulk load datawith utilities.

Create and edit individualcontent items, create andmanipulate categories,business rules, and more.

Sourcedatabase

“Stage” data fromanother installation.

Database

Create and edit individualcontent items

Overview 45

Page 46: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesStaging

StagingStaging is the process of creating data on one installation, and then migrating that data to anotherinstallation, usually from a development installation onto a production (live) installation. In aBroadVision One-To-One Enterprise environment, you can stage content items, rule collections,communities, categories, application scripts, and external static files.

Package files contain the data, scripts, and static files in a format that can be easily transferredbetween installations. You can even route packages to different file systems, such as when the HTTPserver is on a different system than the Interaction Manager and database servers. For detailedinformation about staging, see “Staging content” in the Database Administrator’s Guide.

ObservationsObservations are recorded events initiated by visitor actions. To generate an observation, a script orcomponent makes a call Observation system, which logs the event to a file for later use. TheInteraction Manager collects the information about observed events, and periodically writes them toa log file. Later, using a reporting mechanism, you can analyze the observed events.

For details about using the observation system, see the Observations and Logging Guide.

Package

Source data, scripts,and static files

Targetdatabase

Sourcedatabase FTP

transfer

Productioninstallation

Package

Package

Unpackand load

Dumpand pack

The Interaction Managercaches observation dataand periodically writes itto the log file.

Interaction Manager

Observationsdatabase

CacheOne-To-OneEnterprisedatabase

A utility processes the datainto something moremeaningful for reports.

Reports use data fromboth databases.

A utility collects theobservations and loadsthem into the observationsdatabase.

46 BroadVision, Inc

Page 47: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesXML

XMLBroadVision One-To-One Enterprise supports the XML, the eXtensible Markup Language. XML is atechnology that describes a class of data objects called XML documents, and partially describes thebehavior of the computer programs which process them. An XML document is text that consists ofintermingled character data and markup.

Markup encodes a description of the document’s storage layout and logical structure, and includessuch items as elements, comments, document type declarations, and processing instructions.Markup text is bracketed by the characters ‘<’ and ‘>’. Markup entities are paired to together todelimit a piece of information. The markup specifies the syntactical meaning for the element. Forexample, this pair identifies a “size” element.

<size>large</size>

Because each element contains within itself, both the data and the syntactical meaning of the data,XML is often used to convert information in one database representation to another databaserepresentation. Here is a very simple example that demonstrates one of the many uses of XML:

Consider these two incompatible tables. They have the same attributes, but they are in differentorders.

By using XML, you can convert table Shoes_1 into an XML document, and then parse the XMLdocument and re-create it in the same form as Shoes_2. You could then form a third table:

If you are familiar with HTML (HyperText Markup Language), you might notice that XML lookssimilar. However, they are different in that XML describes and classifies the data, while HTML tellshow the data are displayed. Once an XML document has been interpreted, it can be translated into adisplay format, such as the one defined by HTML.

The One-To-One Enterprise XML extension

The BroadVision One-To-One Enterprise XML extension provides an environment that includescapabilities for manipulating, constructing, and parsing XML documents. The extension iscomprised of C++ classes that:

● Provide access to an XML parser.

Shoes_1

Color Size

red small

blue medium

Shoes_2

Size Color

small blue

large yellow

Shoes_3

Color Size

red small

blue small

blue medium

yellow large

Overview 47

Page 48: Broad Vision One to One Enter Price Overview

Chapter 4 Appl icat ion ServicesSecur i ty

● Follow the Document Object Model (DOM) interface standards.

● Follow the Simple API for XML (SAX) interface model.

● Provide access to an error handler and allow to you to implement your own handler.

● Perform document validation following the Document Type Definition (DTD) approachrecommended by the World Wide Web Consortium (W3C).

For detailed information about BroadVision One-To-One Enterprise and XML, refer to the XMLDeveloper’s Guide.

SecuritySecurity is only as good as the precautions that your site employs. For example, root passwords,database access, and firewalls are all beyond the scope of security that One-To-One Enterprise canemploy.

What One-To-One Enterprise can control is how it is configured, the communications betweensubsystems, access to the scripts, data, and pages through the application. Here are some of thesecurity features employed by One-To-One Enterprise:

● The servers can communicate through multiple layers of firewalls.

● All components, scripts, utilities, and tools that access the database require a password. Somesubsystems have access to an encrypted form of the password, but those systems are only runafter a verified login.

● Access to application scripts and executables can be controlled with the Access Control system.Additionally, scripts can be precompiled to obscure the human readable source. However, theexecutables are only truly secure if you also remove the source files from the installation.

● Communication to the visitor’s browser has several levels of security. Most notable includesubsequent requests from the same browser can be tested for IP masking and spoofing, andaccess can occur through a secure HTTP server (HTTPS).

● Members can be required to provide a password — possibly with a certificate of authorization.Idle sessions can be terminated after a specified time.

● Communication between the HTTP server and the Interaction Manager servers can beencrypted.

● Session IDs may be generated from a custom generator that you provide.

48 BroadVision, Inc

Page 49: Broad Vision One to One Enter Price Overview

Index

Aaccess control 37accounts 24active visitor 24ActiveXObject

See NT COMalerts, see notifications 30anonymous-sentinel member name 25APIs 14application program interfaces 14application server 36application services, architecture 41applications 11architecture 41attributes 20

related lists 22visitor profile 26

Bback-end hosts 41BroadVision Command Center 31bulk loading database data 45BV_SmgrSessionHandle 16BV_USER_ROLE.USER_ROLE attribute 24

Ccaches 39client-side JavaScript 12COM extension for Windows NT

See NT COMCommand Center 31commands, running OS 16communications 15Component Object Model

See NT COM

Overview

contentexternal 21feedback 22rating 22related-list attributes 22search feature 22voting 22

content types 20control file 37cookies 23

Ddata

entering 45flow through system 39source, external profile 44

database 43external profile information 44visitor tables 26

database schema 44dependencies 42digital certificates 23discussion forums 33Document Object Model 48Document Type Definition, see DTDDOM 48DTD 48

Ee-mail messages 30Enumerator object

See NT COMeXtensible Markup Language, See XMLexternal data

content 21source 44

49

Page 50: Broad Vision One to One Enter Price Overview

Index

Ffeedback 22field-search 22front-line hosts 41full-text search 22

Gguests 23

anonymous-sentinel 25permanent 23transient 23

Hhost machines 41hosts

back-end 41front-line 41

HTML 47tags in page scripts 12

Hyper Text Markup Languagesee HTML

Iinbox, visitor 30Interaction Manager

Session Manager 37Interaction Manager, interaction with 39inter-system communications 15

JJava 12JavaScript 12

client-side 12

Llayout of a site 41loading database data 45logging into an application 23

50

Mmachines 41markup 47members 23

account 24login 23

messages (Notification)targeted 30

Microsoft JScript and BroadVision page scripts 17monitors 43multi-value attributes 20

See related attribute lists

Nnotifications 30

Oobservations 46

Ppermanent guest 23permissions 37personalization 28privacy flag 26processes 41

statistics 43production configuration, definition 41production site, staging data onto a 46profile attributes 26profile attributes, filtering on 23profile creation 23profiles 23

QQOS, See Quality of ServiceQuality of Service 38query matching 29

BroadVision, Inc

Page 51: Broad Vision One to One Enter Price Overview

Index

Rrelated attribute lists 27related attributes

visitor profile 27related lists 22related-list attributes 20request cache

benefit of 39Rewards 38ROLE data type 24roles 24

SSAX 48schema 44Schema Center utility 44search feature 22security 48server monitors 43server processes 41server statistics 43session 37Session Manager 37session rules 30shell commands, running 16Simple API for XML 48site layout 41site topology 41source of truth 42staging data 46statistics, server 43system portal 16system() 16systemp() 16

Ttargeted messages 30topic outline file 23topology of a site 41traditional configuration 41transient guest 23typographical conventions 7

UUSER_ROLE attribute 24

Overview

VVerity 22

field-search 22full-text search 22license 22

visitoraccount 24active status 24attributes 26attributes, related 27database 26feedback 22inbox 30login 23model 23permissions 37privacy flag attribute 26profile attributes 26profile creation 23roles 24

voting 22

WWindows NT COM

See NT COMWorld Wide Web Consortium

see WC3

XXML 47

markup 47

51

Page 52: Broad Vision One to One Enter Price Overview

Index

52

BroadVision, Inc