You are on page 1of 52

BroadVision One-To-One Enterprise Overview

Version 6.0

BroadVision, Inc. 585 Broadway Redwood City, CA 94063 (650) 261-5100

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 internal use by licensed customers of BroadVision. This manual and the software described in it are provided under the terms of a license between BroadVision and the recipient, and their use is subject to the terms of that license. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(l)(ii) of the Rights in Technical Data and Computer Software 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 International patents. Certain applications of BroadVision One-To-One software are covered by U.S. patent 5,710,887. DISCLAIMER: BroadVision, Inc. makes no representations or warranties with respect to the contents or use of this publication. Further, BroadVision, Inc. reserves the right to revise this publication and to make changes in its contents at any time, without obligation to notify any person or entity of such revisions or changes. TRADEMARKS: BroadVision and BroadVision One-To-One are registered trademarks of BroadVision, Inc., in the United States and the European Community, and are trademarks of BroadVision, Inc., in other countries. The BroadVision logo, WorldView, Xtravert, Interleaf+ Virtual Printer, and QuickSilver are trademarks of BroadVision, Inc., in the United States and other countries. 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, SEARCH97, 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.

BroadVision, Inc

Contents

Preface

Additional documentation .........................................................................................................................5 Typographical conventions .........................................................................................................................7 Technical support .........................................................................................................................................8 Support for Third-Party Software Products .............................................................................8

1 2

Introduction

One-To-One Enterprise applications

11

Scripts ...........................................................................................................................................................12 Java .......................................................................................................................................................12 JavaScript .............................................................................................................................................12 Components ................................................................................................................................................13 Application program interfaces ...............................................................................................................14 Inter-system communications ..................................................................................................................15 HTTP portal .................................................................................................................................15 Session portal ..............................................................................................................................16 System portal ...............................................................................................................................16 IDL and CORBA portal ..............................................................................................................16 COM Extension for Windows ...................................................................................................17

Content, Profiles, and Personalization

19

Content ........................................................................................................................................................19 External content ..................................................................................................................................21 Visitor feedback ..................................................................................................................................22 Related-list content attributes ..........................................................................................................22 Verity search ........................................................................................................................................22 Proles .........................................................................................................................................................23 Visitor model .......................................................................................................................................23 Visitor roles ..................................................................................................................................24 Visitor active status ....................................................................................................................24 Accounts and members .............................................................................................................24 Communities .......................................................................................................................................25 Visitor database ..................................................................................................................................26 Prole attributes ..........................................................................................................................26 Privacy ag ..................................................................................................................................26 Related attributes ........................................................................................................................27

Overview

C on ten ts

Personalization ...........................................................................................................................................28 Content matching ...............................................................................................................................29 Matching rules ............................................................................................................................29 Notications ........................................................................................................................................30 BroadVision Command Center ................................................................................................................31 Discussion forums ......................................................................................................................................33

Application Services

35

Application server ......................................................................................................................................36 Session management .........................................................................................................................37 Access control .....................................................................................................................................37 Quality of Service and Rewards .......................................................................................................38 Caching ................................................................................................................................................39 Page request cache ......................................................................................................................39 Scalable architecture ..................................................................................................................................41 Server monitors ..........................................................................................................................................43 Database ......................................................................................................................................................43 Database schema ................................................................................................................................44 Schema Center utility .................................................................................................................44 External data source ...........................................................................................................................44 Bulk loading ........................................................................................................................................45 Staging .........................................................................................................................................................46 Observations ...............................................................................................................................................46 XML ..............................................................................................................................................................47 The One-To-One Enterprise XML extension ..........................................................................47 Security ........................................................................................................................................................48

Index

49

BroadVision, Inc

Preface

BroadVision One-To-One Enterprise is an application foundation a platform that provides the rich out-of-the-box functionality, scalability, and ease of use you need to meet the demands of todays markets. It can help you maintain those all-important one-to-one relationships with your customers, and with your employees, suppliers, and partners. This book is designed to give you a quick overview of the BroadVision One-To-One Enterprise application foundation. In these pages you will nd brief descriptions of its many benets, its major features, 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:
q

Chapter 1, Introduction provides a very short overview of the features of BroadVision One-To-One Enterprise. The remaining chapters in this book go into more detail about how the major systems work. Chapter 2, One-To-One Enterprise applications explains how applications are a collection of scripts, servlets, components, HTML, and page templates that make up the pages that a visitor sees in a One-To-One Enterprise Web site. Chapter 3, Content, Proles, and Personalization describes the information that visitors can request from your site, and how the request is personalized to the visitor based on what is known about them. Chapter 4, Application Services discusses how the services provide the operational support for 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:
q q q

Additional documentation on page 5 Typographical conventions on page 7 Technical support on page 8

Additional documentation
All 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-breaking information that was not available when the CD-ROM was created. The release notes describe the system requirements, and the descriptions of the latest known problems and issues.

Overview

P re face Addi ti o n al do cu m e n t a t i on

The documents included with this release are: Title


Application Developers Guide Provides an overview of Web site architecture, focusing on the layers and elements of the Interaction Manager that relate to JavaScript pages and JavaServer Pages. Describes basic component structure, interoperability between Java and JavaScript, how to write xup scripts and servlets, how to design applications that are bookmarkable, and how to use the BroadVision performance analysis tools. Application Programmers Reference Provides reference information for the BroadVision data types and application 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 be used in creating new components. Explains how to use the One-To-One Command Center to manage the information displayed on Web sites, and establish the logic to personalize the display of information for each site visitor.

Command Center Users Guide

Component Developers Guide Tells how to write C++ components; how to wrap C++ components in Java; and discusses working with Java components internal and external to the Interaction Manager. Includes instructions on using Purify with the ctxdriver component test utility. Content Guide Database Administrators Guide Explains how content and its underlying data is organized, loaded into a Web site, and retrieved and presented to visitors. Describes the One-To-One Enterprise database and schema. This manual contains information about the extended data types and schema specications that One-To-One uses, and includes detailed descriptions of each of the external, internal, and observation tables and columns. Describes the database tables that contain data used by applications. Describes how to install and congure BroadVision One-To-One Enterprise on your system. It also explains important concepts and terms that appear throughout the documentation set. Describes the Interaction Manager environment for Java, including the BroadVision servlet container, the threading model, the JavaServer Pages processor, task mapping, and the basics of the Java API for BroadVision components. Describes techniques for developing Web applications in Java using the BroadVision-supplied components; demonstrates calling BroadVision components and error handling. Explains how to write JavaScript applications using the BroadVisionsupplied components. Includes information about calling Java components, and using ctxdriver to test JavaScript and components. Describes how to match content to site visitors, and provides scenarios with end-to-end examples. Also discusses conguring and using the matching agent, creating and using dynamic categories, and working with custom matching extensions. Describes every aspect of the notication process including, the creation of notication schedules and content; creating alert types; and designing and implementing the interfaces for visitors who create and receive alerts. This document gathers together and augments information found in several other documents in this set. Explains the features, creation, and usage of observations and log les. This document gathers together and augments information found in several other documents in this set.

Database Schema Reference Installation and System Administration Guide Java Developers Guide

JavaScript Developers Guide

Matching Guide

Notications Guide

Observations and Logging Guide

BroadVision, Inc

Pref ace T y p o g r a p h ic a l c onventions

Title
Overview Schema Center Users Guide Describes One-To-One Enterprise by providing a high-level view of the architecture, and describing the relationships between the subsystems. Schema Center is a tool that helps you customize the content and visitor prole schema of your One-To-One Enterprise database. Schema Center provides a graphical user interface that takes you through the steps of modifying the database structure. You can also use this tool to graphically view the structure of customizable database tables. This guide describes how to use Verity VDK with One-To-One Enterprise. It explains how to: make your content database searchable, use the indexer utility, use the Verity utilities, use some advanced congurations, and search multiple content types. This guide does not provide detailed information about the workings of Verity VDK. Presents examples and reference material for writing software servers that work with BroadVision One-To-One Enterprise. It introduces the terms and concepts essential to server development; presents a detailed example of how to write a server application that works with the namespace; discusses how to use the server application with static and dynamic invocation; presents an example of how to write a server that accesses external data; and documents the APIs used in the examples. Describes how the Server Monitor allows you to watch and track server statistics such as CPU usage, IDL requests, virtual memory size, and reports this information both graphically and numerically. Provides information about the One-To-One Enterprise server data types and application program interfaces. Describes the interfaces that programmers use to access servers, extend application service functionality, and connect to an existing business system. For developers creating applications that use the Interaction Manager, this manual describes the Session Client interfaces. Describes the session management features including: Access Control, Data Caching, Page Caching, Queue management and Quality of Service queuing, and the Rewards mechanism. Describes the BroadVision One-To-One Enterprise XML extension. This extension provides an environment that includes capabilities for manipulating, constructing, and parsing XML documents.

Searching Guide

Server Developers Guide

Server Monitor Guide

Server Programmers Reference

Session Management Guide

XML Developers Guide

Typographical conventions
To distinguish sample code, commands, lenames, directory names, keywords, and syntax from text, this manual uses the monospace font. In command-line examples that you must enter, information that you must supplyand in which the text shown is for example onlyappears in monospace-italics. For example, in the following 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

P re face Te ch n i cal suppo r t

Technical support
Technical Support services are provided on an annual basis to BroadVision customers. A standard 90-day warranty is also provided with all software. Information on how to contact Customer Suppor t offices by telephone can be found on the BroadVision Web site. If you experience problems in using any of BroadVisions software products, contact BroadVisions World-wide Customer Support Organization for assistance. Registered customers who have a login name and password can report problems via BroadVisions Web site www.broadvision.com. On the Web site you can access support-related technical information, report problems, and track report status and responses on the Problem Reports pages. To request a login, please contact your BroadVision Account Representative. The Web site is the preferred method of reporting problems; however, if necessary you can report problems via e-mail to support@broadvision.com. Please be sure to include the case ID when communicating via e-mail.

Support for Third-Party Software Products


To allow for complete testing, BroadVision certies BroadVision One-To-One products against the versions of third-party products that are released and available sufciently in advance of the software release date. This often means that third-party vendors release new versions of their products prior to the next release of the BroadVision software. While BroadVision would prefer that customers use the tested and certied software versions, we also understand that customers will occasionally want or need to use these new versions of third-party products. As long as the vendor guarantees 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 next product release. This can be a good indicator that the newer versions will work with the previous release. In exceptional cases BroadVision may determine that the newer version of a third-party product cannot be used because it fails in some way during the testing cycle. In this case we will continue to certify the older version. BroadVision will support customers who use newer versions of third-party products by working with the customer to resolve compatibility problems with the third-party vendor. BroadVision will also consider, at our option, developing and releasing minor xes for our products in order to resolve problems with new versions of third-party products.

BroadVision, Inc

Introduction

BroadVision One-To-One Enterprise is a software platform for deploying and managing e-business applications 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 concert with a database management system to provide:
q

An application server the Interaction Manager for session management, dynamic page

generation, and data caching. [See page 36 for details about this server.]
q

tools, and operational support for all BroadVision applications. [Chapter 4, Application Services covers this topic in detail.] Personalization is the q Personalization via a dynamic rules engine and tools to personalize each visitors experience. key to one-to-one rela[See Personalization on page 28 for details.] tionships. It provides the content that a visi- Visitors use a browser to request information from a BroadVision application. All requests are tor most likely wants or routed to Interaction Manager servers. These servers manage visitor sessions and run the application. Applications comprised of Java servlets, JavaServer pages (JSP), and JavaScript scripts is allowed to see. evaluate requests, collect the requested information, and render the return pages. Embedded in the applications are calls to C++, JSP, servlet, and Enterprise Java Bean application components, which in turn provide the access to the application services.
Request

Application services including content management, visitor prole management, integration

Interaction Manager
Page

Application services

Database

Applications with calls to services

External services

Business system

The application services are Java and C++ software servers that perform fundamental system services, such as content retrieval, visitor prole management, notications and alerts, matching, and access control. BroadVision e-business applications further extend the services by providing additional servers for order management, pricing, payments, collaboration, and more. You can further extend the services by providing servers to run in the One-To-One Enterprise platform, or externally on another platform. The following chapters describe these features in more detail: Chapter 2, One-To-One Enterprise applications, Chapter 3, Content, Proles, and Personalization, and Chapter 4, Application Services.

Overview

C hapter 1

In trod uc t i on

10

BroadVision, Inc

One-To-One Enterprise applications

A One-To-One Enterprise application is the collection of servlets, scripts, components, HTML, and page scripts that make up the pages that a visitor sees in a One-To-One Enterprise Web site. Each page contains links to other pages, that together make up the entire application. When a visitor clicks a link to go to a new page, the Interaction Manager processes the request and then creates the response page through a process called dynamic page generation. The dynamic page generation is performed JavaServer Pages, Java Servlets, or server-side JavaScript scripts 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 use either 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 how these technologies are used in BroadVision One-To-One Enterprise. Servlets and scripts contain references to components: small executables that provide the interface mechanism to the servers that perform the dynamic work required by the scripts, such as accessing information 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-One Enterprise servers. You can write additional components to perform other tasks as required by your sites application. This chapter contains discussion on these application topics::
q

Scripts on page 12 describes how JavaServer Pages and server-side JavaScript scripts produce the pages of a BroadVision One-To-One Enterprise Web application. Components on page 13 describes how components provide the interface mechanism between 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-One Enterprise application program interfaces (APIs), and identies where they are documented. Inter-system communications on page 15 explains the mechanisms that an application can use to interface with other applications, servers, hosts, environments, and the operating system.

For detailed discussion on scripts and components, see the Application Developers Guide.

Overview

11

C hapter 2 One-T o-O n e En t e r p r i se a p p l i c a t i o n s Scri pts

Scripts
In a BroadVision One-To-One Enterprise Web site, you generate Web pages via page scripts. A page script can be either a JavaServer Page, a Java servlet, or a JavaScript page. Although page scripts can perform simple computational tasks, that is not their main purpose. Their main purpose is to display text and input elds, retrieve input, and pass parameters to One-To-One Enterprise components 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 or JavaScript, 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 Pages and Java servlets, and Java Beans. One-To-One Enterprise follows the Java Servlet Specication, v2.2 and the JavaServer Pages Specication, v1.1 from Sun Microsystems. One-To-One Enterprise includes a set of Java wrappers and pure Java components that provides full access to all the functionality of the One-To-One Enterprise application platform. Because the Java wrappers operate on the same underlying implementation as the JavaScript wrappers, JavaServer Pages and Java servlets can share information with JavaScript pages. This means that to migrate to Java you need not rewrite an existing JavaScript-based application. Instead, you can simply start writing 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 Application Developers Guide. For information about developing applications in Java refer to the Java Developers Guide.

JavaScript
Each JavaScript page script is a text le that can contain a combination of HTML, displayable text, and server-side JavaScript which may contain references to One-To-One Enterprise compatible components. The les can also contain client-side Java applets, client-side JavaScript scripts, or any other 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-side JavaScript (also called browser-side JavaScript or simply JavaScript). The only real difference lies in the 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 the JavaScript Developers Guide.

12

BroadVision, Inc

Ch a pt e r O n e - T o - O n e E n t e r pr is e a pplicat ions Components

Components
A component is a collection of objects that know how to get information from, or send information to the One-To-One Enterprise servers, or to external mechanisms. You reference a component in a Java servlet, JavaSever Page, or Java Script page. When the Interaction Manager encounters the reference, 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 callable from both Java servlets and JavaSever Pages. Regardless of you choice of page technology, you can access third-party or custom components written in Java or C++. The BroadVision supplied components are callable from JavaScript and Java. You can develop custom components in Java or C++. The core technologies are written in C++, Java, and CORBA.

You can use either Java servlets, JavaScript or Java. Web Application BroadVision Components Custom Components One-To-One Enterprise Core Technologies

See the Component Developers Guide for detailed information about components. For a discussion about how they work with scripts, refer to the Application Developers Guide.

Overview

13

C hapter 2 One-T o-O n e En t e r p r i se a p p l i c a t i o n s Ap pl i cati o n pro g r a m i n t e r f a c e s

Application program interfaces


The One-To-One Enterprise application program interfaces (APIs) provide access to different parts of 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 components themselves can access Application Services via Java, C++, or CORBA (which interface depends on how the server was implemented). The severs can also access other, external servers through similar interfaces. Application Programmers Reference

Scripts

JavaScript

Java Server Page

Components

BVI (C++) Java BVC (C++)

One-To-One Enterprise servers

Session Client Interface (C++) C++ CORBA (IDL) Java

External servers

C++

CORBA (IDL)

Java

Server Programmers

Server Developers Guide

For details about the script and component APIs, see the Application Programmers Reference. Additionally, the Application Developers Guide provides a complete overview of developing scripts and writing new components. For information about developing servers, see the Server Developers Guide. That manual also describes the CORBA server APIs. The APIs for the C++ servers are documented in the Server Programmers Reference.

14

BroadVision, Inc

Ch a pt e r O n e - T o - O n e E n t e r pr is e a pplicat ions I n t e r - s y s t e m c o mmunicat ions

Inter-system communications
A 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 various entities depend on the needs of your application. Some complex systems involve one set of Interaction Manager servers communicating with another, each performing specialized tasks: System C++ applications COM

Interaction Manager

Interaction Manager

IDL and CORBA

external HTTP

Java

This diagram is not an accurate representation of a One-To-One Enterprise system configuration. It does not portray all subsystems or all possible lines of communication. The following topics describe some of the main inter-system communications capabilities available to applications:
q q q q q

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/HTTPS servers external to the One-To-One Enterprise Web site. Although the HTTP portal supports GET and POST operations for both HTTP and HTTPS (secure HTTP) servers, it is not a browser. Rather, it is a mechanism for communicating with other Web servers. For example, you can use the HTTP portal to retrieve stock quotes from a free or public domain 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 Programmers Reference.

Overview

15

C hapter 2 One-T o-O n e En t e r p r i se a p p l i c a t i o n s Inter-system co mm un i c a t i on s

Session portal
Most scripts are run when an HTTP request causes them to be run. The session portal interfaces provide a way to run scripts called from either another Interaction Manager server, or from a program running in the same operating system. Interaction Managers with different names (alpha and omega) running on different hosts (A and Z). Host A Interaction Manager alpha Host Z Interaction Manager omega

Interaction Managers with different names (alpha and omega) running on the same host (A).

Host A Interaction Manager alpha

Host A Interaction Manager omega

The BVI_RemoteSession component lets a page script running in one Interaction Manager call and

run a page script in another Interaction Manager. For example, using this interface, you can run the login page on a remotely hosted Interaction Manager and then display the results through the local Interaction 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. This lets the C++ program take advantage of the BroadVision One-To-One Enterprise functionality normally 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 page script. For detailed information about the session portal interfaces, refer to the Application Programmers Reference.

IDL and CORBA portal


BroadVision One-To-One Enterprise is a distributed application system that can be implemented across multiple platforms, on multiple machines, and with multiple client and server objects. To perform this interaction, One-To-One Enterprise uses Common Object Request Broker Architecture (CORBA) communications. Each object implements an Object Request Broker (ORB) that manages its communication with other objects in the system. Any ORB that utilizes the Internet Inter-ORB Protocol (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 outof-the-box functionality of the generic IDL interface, you can write simple script functions that communicate directly with any CORBA server in the One-To-One Enterprise system.

16

BroadVision, Inc

Ch a pt e r O n e - T o - O n e E n t e r pr is e a pplicat ions I n t e r - s y s t e m c o mmunicat ions

For detailed information on writing your own One-To-One Enterprise compatible CORBA servers, refer to the Server Developers Guide. For detailed information on using the generic IDL interface to communicate directly with CORBA servers from your application, refer to the Application Programmers Reference.

COM Extension for Windows


BroadVision One-To-One Enterprise, when hosted on a Microsoft Windows platform, provides components for accessing Component Object Model (COM) objects in a Microsoft Windows environment. The components, ActiveXObject and Enumerator, are modeled after Microsofts JScript ActiveXObject and Enumerator COM objects. This close modeling provides a high degree of compatibility between the Microsoft JScript environment typically used in Active Server Pages (ASP) and the BroadVision page script environment. To access a COM object from a BroadVision page script, you create an ActiveXObject object that is bound to the COM object, and then access the properties and methods of the COM object by calling the function or referencing the attributes of the ActiveXObject object. One-To-One Enterprise includes samples that demonstrate various ways of using COM objects in page scripts. The samples are installed in the $BV1TO1\samples\activex directory on Windows NT installations of BroadVision One-To-One Enterprise. For more information about the One-To-One Enterprise COM extension, refer to the Application Programmers Reference.

Overview

17

C hapter 2 One-T o-O n e En t e r p r i se a p p l i c a t i o n s Inter-system co mm un i c a t i on s

18

BroadVision, Inc

Content, Profiles, and Personalization

Personalization is the process of providing the right information, to the right person, at the right time to meet your business needs. To do that, One-To-One Enterprise tracks proles, the information that is known about a visitor, and matches it to the content available from your site. This chapter describes how those pieces t together, including
q

Content on page 19 discusses how One-To-One Enterprise organizes and presents data (content) in a meaningful way. Proles on page 23 describes key features of BroadVision One-To-One Enterprise system that tracks information about visitors. Personalization on page 28 explains how personalization provides the content that a visitor most likely wants to see, has requested to see, or is allowed to see, based on what is known about them. BroadVision Command Center on page 31 describes how this Windows-based application provides a foundation for information and relationship management across the extended enterprise. Discussion forums on page 33 discusses on-line forums that engage new visitors, help retain current visitors, and foster communication among visitors.

Content
Regardless of the purpose of your Web site, it has one thing in common with all other Web sites: it provides content of one sort or another. Whether your site provides consumer information on the latest in computer products, lets employees choose their benets plans, or searches through business archives, your Web site application must arrange, examine, search, or otherwise manipulate content in order to present the greatest possible value to your sites visitors. BroadVision offers Content is data that is organized and presented in a meaningful way. Depending on the objectives a d d i t i o n a l c o n t e n t you have for your site and your target audience, meaningful content can be anything from a data management solutions table to a collage of pictures. that integrate with the One-To-One EnterFor a detailed discussion of content in One-To-One Enterprise, see the Content Guide. prise database. 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 of multiple pieces of information contained in a row in the database. These multiple pieces of information are each held individually in the database columns (also called Attributes). Content

Overview

19

C hapter 3 C on ten t

Co nt e n t , P r of i l e s, a n d P e r son a l i z a t io n

items are grouped into tables by Content type. Within a content type, every content item has the same 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.

category assignments

One content item

content type3 table content type2 table content type1 table row1 attribute1 attribute2 attribute3 attribute4 row2 attribute1 attribute2 attribute3 attribute4 rowN attribute1 attribute2 attribute3 attribute4

Content type tables in a relational database

External content is outside the database

Columns or attributes are different for each content type

Content type

A content type names a table, names its columns, and denes what kind of data each column can hold. BroadVision One-To-One Enterprise comes with several pre-dened content types which you may customize, or you can also create your own, custom content type to meet your sites specic needs. In BroadVision parlance, the columns of a database are often referred to as attributes. This is because when a One-To-One Enterprise Web application retrieves a content item from the database, it actually acquires a content object that is modeled after the database. The attributes of the object correspond directly to the columns in the database. Some of the attributes contain information that can be displayed on the visitors browser and some attributes contain information that is used by various elements of the One-To-One Enterprise application system. Most attributes contain only one value per attribute. However, there is often a need for an attribute to contain multiple values, such as the available colors or sizes for a particular product. These kind of 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 match content to a visitors preferences based on a weighted score. These special attributes are described in detail in the Matching Guide.

Attributes

Categories

Categories are arbitrary groups of content items that you create within a content type. Properly organized and implemented, categories can greatly enhance the success of your Web site by helping visitors more easily nd the content they are looking for. Using categories, your application can display groups of content in direct response to visitors inputs, or it can use the Matching Agent to select content for display from a category based upon rules created with the BroadVision Command Center. For example, if your Web site represents a department store, the Products content type could contain 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 for a particular visitor.

20

BroadVision, Inc

Ch a pt e r 3

Co n t e n t , P r o f ile s , a n d P e r s onaliz at ion Content

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

Content type Category Subcategories

For detailed information on creating categories, refer to the Command Center Users Guide. The rest of this chapter describes some of the One-To-One Enterprise features that are specic to content, including:
q q q q

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 congured to do so [see External data source on page 44]. Once the source is congured, content stored externally behaves the same as from the internal location, but with these limitations:
q

You can have only one content table per content type, and there must be one unique key per row in the table. You cannot mix internal and external content and related attributes list tables. You cannot link an 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 has update rights, and the system. External data is always cached locally once fetched. If external data changes often, either turn off caching or freshen the cache often.

q q

Overview

21

C hapter 3 C on ten t

Co nt e n t , P r of i l e s, a n d P e r son a l i z a t io n

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

Using the BroadVision Command Center to create matching rules based on the feedback, see the Command Center Users Guide. Creating the feedback attributes, see the Database Administrators Guide.

Related-list content attributes


Content attributes tend to describe a single characteristic about the content item, such as a name or price. However, some attributes are a list of values, such as a list of a products available colors. To maintain 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 visitor table is the parent. But, related attributes behave the same as single attributes in the table in that you can search them and include them in queries. For information about:
q q q

Creating related attributes, see the Database Administrators Guide. Creating rules that include related attributes, see the Command Center Users Guide. Referencing related attributes in applications, see Application Developers Guide and Server Programmers 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 fulltext searching of One-To-One Enterprise content and of external les. The search retrieves results with relevance-ranked scores and the results can be ordered by the score or by any of the elds dened by the conguration. The Verity search engine requires an additional license for use; it is not part of the standard BroadVision One-To-One Enterprise license. The search feature can locate words in the One-To-One Enterprise content tables, or in external les using these search features:
q

Full-text search looks in the entire document or identied database columns for the desired text. To look in a database column, the attribute must be dened as either TEXT or STRING. To search any other type requires a eld-search. Field search looks for the text in format-specic elds. For example, when searching an external

le of a type that Verity supports, such as PDF, you can search for the documents creation date because that information is stored in a known location within the PDF le. A eld-search eld can also be an attribute of the One-To-One Enterprise content database.
22 BroadVision, Inc

Ch a pt e r 3

Co n t e n t , P r o f ile s , a n d P e r s onaliz at ion Profiles

Category search looks for matches within a topic set. A topic set is a grouping of information related to a concept, or subject area. You create a topic set from a topic outline le. A topic outline le is an ASCII text le in a structured format that contains topic denitions. Filter search looks for results based on the users prole attributes for example, language and

region. For detailed information about searching, see the Searching Guide.

Profiles
Proles are the information known about visitors to the One-To-One Enterprise site. Prole information is used to identify visitors, and to match them to content. This section describes the following prole features of BroadVision One-To-One Enterprise:
q

Visitor model, explains the difference between members and guests, and how the application benets from the information known about them. Communities on page 25 discusses how communities dene visitor cross-sections that represent target audiences. Visitor database on page 26 describes some of the key features of the database tables that store visitor prole information.

Visitor model
One-To-One Enterprise categorizes visitors as members or guests. Members are visitors who have registered accounts identied user name and password, and whose prole information is retrievable from the database. Guests are anonymous visitors that do not have registered, retrievable proles. Guests are further classied as either a transient or permanent.
q

Transient guest proles are maintained in memory only. As such, application performance is faster than when working with permanent guest or member information. However, when a transient guest leaves the site, all known prole information about the visitor is discarded. This classication is used by sites where the visitors identity is not integral to the application, such as sites that allow anonymous browsing.

When the Interaction Manager creates a new session for a visitor, it immediately creates a transient guest prole. If the guest logs into the system, the transient prole is replaced with the members prole.
q

Permanent guest proles are recorded in the database, but the information is never again

retrievable by the visitor. This classication is used by sites that need to track some information about a guest, such as in commerce applications that need a permanent ID to link purchase information to a session. In the database, permanent guests are all members of the same account. See Accounts and members on page 24 for details. Notes Here are some additional things to be aware of about visitors:
q

All visitors, including transient guests, are observable through the observation system. This allows the Matching system to provide moment-to-moment matching. To identify a member, the system requires the members user name and password be provided by the application. Typically the application prompts the visitor for the information, but alternate schemes are possible. For example, the application might retrieve a digital certicate or cookie from the visitors browser, and then map that information to a valid user name and password. The application then provides the name and password to the system.
23

Overview

C hapter 3 P rofi l es

Co nt e n t , P r of i l e s, a n d P e r son a l i z a t io n

The Access Control system determines which pages the visitor may see as dened by the visitors 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 proles, see the Component Developers Guide. For information about the prole and database tables, see Visitor database on page 26.

Visitor roles
The Access control system looks at the visitors role to determine which pages the visitor may access. A role identies a visitor as a member of a group, such as a guest, administrator, content provider, or partner. The roles for a site are specied in the ROLE data type. To identify the roles that your site recognizes, change the prof_type.src database schema le. See the Database Administrators Guide for details. Visitors may have more than one role in a site. As such, the visitor prole database stores roles in a list specied by the BV_USER_ROLE.USER_ROLE attribute. Applications may change a visitors current role during a session, and they may change the default role by changing the order of the roles in the database. See the Application Developers Guide for information about working with a roles from an application. For information about how the Access Controls system uses visitor roles, see Access control on page 37.

Visitor active status


When a member logs into a One-To-One Enterprise application, the Visitor Management system looks for the prole that matches the user name and password provided. The system then checks the visitors active status. If the status is inactive, the login fails and the system denies the visitor access to the application. By default, all members and their accounts are active. To make a members account inactive, use the Visitor component. See the Component Developers Guide for details.

Accounts and members


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

account holder

other members

24

BroadVision, Inc

Ch a pt e r 3

Co n t e n t , P r o f ile s , a n d P e r s onaliz at ion Profiles

The components the come with One-To-One Enterprise support the one member per account model and hide the fact that the members prole is part of an encompassing account. However, applications that access the servers directly through the C++ or IDL interfaces might have to do some extra work to access visitor prole information, depending on the interfaces used. See the Server Programmers Reference for specics. 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. The account holder is a member named anonymous-sentinel. The Interaction Manager creates the account and anonymous-sentinel member if the account does not already exist. For information about permanent guests, see Visitor model on page 23.
BV_ACCOUNT ACCOUNT_ID 200 ACCTHOLDER_ID 1001 BV_USER USER_ID 1001 1007 2311 ACCOUNT_ID 200 200 200 USER_ALIAS anonymous-sentinel 1007 2311

Communities
Communities dene visitor cross-sections that represent target audiences. Using the BroadVision Command Center, you can target e-mail to these audiences, and personalize the presentation of content on your site expressly for them. Communities are based on the visitor prole When you dene visitor communities, you select the visitor prole attributes [page 26] that dene a virtual group of people sharing common characteristics and preferences that are important to your business. For example, you could create a community of visitors that live in a specic state or area, make an annual income within a certain range, have a high school or college diploma, and show a great interest in high cap equity investments. Community membership is based on a rule A visitor community is dened by a rule that species the criteria for community membership. An example of a visitor community is: women whose zip code is 99999. Community rule criteria are based on visitor prole attributes. In this example,
q q

the prole 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 so by evaluating the rule criteria. A visitor can be a member of the community if they meet all of the rule criteria, or alternately, they can be a member if the meet any of the criteria. When you dene the rule in the BroadVision Command Center, you specify which method to use.

Overview

25

C hapter 3 P rofi l es

Co nt e n t , P r of i l e s, a n d P e r son a l i z a t io n

Visitor database
Visitor prole information is stored in database tables. The columns in the tables contain the information or attributes that make up the visitors prole. You can customize the prole to change the default attributes, add additional ones, or remove unnecessary columns. Additionally:
q

One-To-One Enterprise supports a concept of Privacy ags to indicate the members preference for making the information available outside of the application. Related attributes provide a list of attributes specic to a member.

Prole attributes
Prole attributes are the characteristics that describe a One-To-One Enterprise visitor, such as the visitors name, last time they visited the site, or company they work for. Some attributes are required by One-To-One Enterprise, such as user name, password, and ID, while others are dened by the Web sites database administrator. Some of the things that prole attributes are used for include:
q

Applications use the Visitor component to read or write information about the current visitor. See the Application Developers Guide for details. The content matching [page 29] uses prole information when looking for content specic to the visitor. The Access Control system looks at the visitors role [page 24] to determine which pages the visitor may access. For example, the roles that a site recognizes might include: administrator, content manager, editor, guest, or valued customer.

To change prole attribute denitions, follow the instructions for changing the schema as described in the Database Administrators Guide.

Privacy ag
A privacy ag is an attribute that indicates a members privacy policy regarding the information in a corresponding attribute. When the ag is set (a value of 1), the member has indicated that the corresponding attribute is private and should not be made available outside of the system. A privacy attribute has the same name as a regular attribute, but with a P_ prex. For example, P_EMAIL is the privacy ag for EMAIL, and that when set indicates that the member requests that their 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 is used. It is up to the Web site to enforce and privacy policies. If your site wants to use the privacy ags, you can:
q

Change the privacy_flag conguration setting before generating your database. This makes a privacy ag for every prole attribute. Incrementally add privacy for only those attributes that your site supports.

For more information about adding or removing privacy ag from the database, see the Database Administrators Guide. When privacy ags are in use, they appear in the prole with the regular attributes. It is up to your application to determine what to do with them. For information about accessing prole attributes from an application, see the Application Developers Guide. You can also access attributes the server interfaces [see the Server Developers Guide].

26

BroadVision, Inc

Ch a pt e r 3

Co n t e n t , P r o f ile s , a n d P e r s onaliz at ion Profiles

Related attributes
Most prole attributes describe a single characteristic about the visitor, such as a name, or favorite color. However, some attributes are a list values, such as a list of stocks the visitor does or has owned. To maintain such multi-value attributes, One-To-One Enterprise supports related attribute lists. Such lists are the child tables in one-to-many relationship, where the prole table is the parent.
BV_USER USER_ID 585 USER_NAME Valerie Marks related by USER_ID BV_USER_STOCKS USER_ID STOCK_SYMBOL BUY_PRICE SELL_PRICE 585 585 585 585 BVSN ZZYZ BVSN FOOB 5.00 21.25 16.50 78.12 23.12 75.75

Related attributes behave the same as attributes in the prole table in that you can search them and include them in queries. For example, in the gure above, you can perform a search for visitors whose STOCK_SYMBOL attribute contains BVSN, and you would nd Valerie Marks. For information about:
q q q

Creating related attributes, see the Database Administrators Guide. Creating rules that include related attributes, see the Command Center Users Guide. Referencing related attributes in applications, see Application Developers Guide and Server Developers Guide. Look under the terms multi-value tables or multi-value rows.

Overview

27

C hapter 3 Co nt e n t , P r of i l e s, a n d P e r son a l i z a t io n P e rso nal i zati o n

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

Script writers who determine how to request the information. Business managers who develop rules [page 29] to match visitor proles to content, and dene

communities of like visitor proles.


q

Data classifiers who dene 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 scripts action might be to retrieve exactly the requested item a request for account status is a pretty straight-forward query that doesnt require personalization. It might also run a search query to nd items that meet the visitors denition of the request. However, a request for information might also be
q q

Restricted by the visitors 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:

Specic values in a visitors prole such as dont show white wines to a customer who only buys reds. Communities of visitors who share common characteristics members with a special classication see additional offerings not available to regular members; and elite members see all the offerings. Specic values in content item descriptions (attributes) show only shirts that are available in Extra-Large sizes. Session variables whose values are dened by the visitor show only items that are new since a time span dened by the visitor. The two most often used personalization features of One-To-One Enterprise are:
q q

Content matching, next. Notications on page 30

28

BroadVision, Inc

Ch a pt e r 3

Co n t e n t , P r o f ile s , a n d P e r s onaliz at ion P e r s onaliz ation

Content matching
To perform content matching in an application, a script makes a request for information and an application service evaluates the request by comparing it to what is known about the visitor. The service then returns the appropriate information to the script, which might then further personalize the data before rendering the page to present to the visitor. The application services find the content that matches a visitors known profile, and return that subset to the application scripts. Profile Content Matched content Personalized content The application scripts might further divide the information before including it in the return pages.

To make personalization work, you need to collect prole information about your sites visitors, and use that information when presenting information. Do that by
q

Registering visitors and getting their stated prole attributes and preferences. Registered proles allow travel sites to offer vacation deals based on the customers accumulated frequent traveler points. Observing what the visitors do as they navigate through your site and modifying the

subsequent 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 wines might see a discount for Chardonnay.
q

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 content items are presented. Gathering information from implicit activities and applying that knowledge to future actions. If a commerce customer has shoes in their shopping cart, show them a link to socks on the check out page.

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

Define effective virtual communities Enhanced community [page 25] support lets you create

complex community rule criteria and rules. Using these features, you can dene communities that represent meaningful cross-sections of your visitor population.
q

Use Query Matching to retrieve content Query Matching uses query criteria to retrieve target information for matching rules, and for the default rule in a matching rule set. With Query Matching a rule or set uses query criteria to determine at run time which information it retrieves. Query Matching can use the criteria from an existing public query, or criteria created especially for the matching rule. Match content attributes to visitor profile attributes For example, here are some scenarios: 29

Overview

C hapter 3 Co nt e n t , P r of i l e s, a n d P e r son a l i z a t io n P e rso nal i zati o n

When a visitor shows interest in products with prices greater than $10, display similar or related products that have prices greater than $10. When a visitor wants to see products at prices lower than those currently displayed, display the lower-priced products. Based on the visitors community membership, products in the visitors favorite colors, styles, and required sizes. For business-to-business commerce visitors, display products and price lists according to their employer and ofce location.
q

Create Session rule sets and rules Create Session Rules to assign a value to a session prole variable whose value is used during a session as if it was a prole attribute. Use visitor feedback By comparing the members stated preferences, you can nd similar

content. See Visitor feedback on page 22 for more information.

Notications
Visitor notications are messages that are sent or delivered to registered visitors. Each message can be personalized to the visitor, and is generated by a script that is either a text le or text stored in a database eld. One-To-One Enterprise has two kinds of visitor notications:
q

Alerts are messages that visitors request to inform them when an event has occurred. Your sites application 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 event has occurred, and then schedule the message generation and delivery. A BroadVision Command 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]. The

community is dened by a BroadVision Command Center user, who also denes the schedule of when to generate and send the messages, and how often this should occur. Messages can be
q

delivered to an inbox where the visitor can retrieve the message the next time they log in to the site, or they can be sent by some other means, such as e-mail, fax, or pager. This release of One-To-One Enterprise includes support for the e-mail delivery mechanism only, though you can implement and include the others through custom development work.

As are sent, the Notications system updates the statistics of the individual jobs and that information is then available to the business manager in the BroadVision Command Center. For a complete discussion, see the Notications Guide.

30

BroadVision, Inc

Ch a pt e r 3

Co n t e n t , P r o f ile s , a n d P e r s onaliz at ion B r o a dV is io n Co mma nd Center

BroadVision Command Center


The BroadVision Command Center is a Windows-based application that provides a foundation for information and relationship management across the extended enterprise. By managing the information displayed on your Web site, the Command Center helps you create a personalized, moment-to-moment, interactive community relationship with your site visitors, whether theyre retail or business customers, employees, or business partners. For conceptual explanations and step-by-step, task-oriented instructions on how to use the Command Center, see the Command Center Users Guide. With the Command Center you can easily manage the content, prole, and personalization data in a One-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 match information on a visitor-by-visitor, moment-to-moment basis. By creating matching rules, you can personalize the display of information so that every visitor sees the content they want to see each time they visit your site. With matching rules, you can:
q

Match the content in the database to visitor prole information such as name, address, gender, favorite colors and styles; with behavioral events such as choosing an ad and buying a product; to specic dates; and to a visitors community membership. Use Query Matching to determine at run time which information is displayed on your site. According to a visitors interaction with your site, dynamically determine at run time which content to display for that visitor. Use the Matching Agent to match your content attribute ratings to your visitors ratings of the same attributes. Use Visitor Feedback to survey site visitors about their preferences for specic content. Analyze the survey results for marketing purposes, and display pertinent survey results to your visitors. Target e-mail schedules and alerts with matching rules.

q q

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

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 individual items in dialogs, wizards, and menu commands. Create an optimal view of the information youre working with by resizing detail view columns and rows, rearranging columns, hiding or showing columns, and applying views. Classify information using a graphical tree structure of categories and subcategories that you create. Enter and maintain attribute values for items and the categories in which theyre classied, including custom attributes. Use the Microsoft Data Access Objects to import moderate amounts of correctly formatted data into 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 for

maintenance and Web site design, and that the content displayed on your site isnt mistakenly changed or removed. To accomplish this with the Command Center, you can:
q

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

Overview

31

C hapter 3 Co nt e n t , P r of i l e s, a n d P e r son a l i z a t io n B ro adVi si o n Co m m a n d C e n t e r

Allow content managers to approve content to move it on-line for display, and to move it offline for maintenance or retirement. Control who can approve information to move it on- or off-line, who can work with on-line information, and who can work with off-line information. Protect the information displayed on your site by preventing unauthorized modications and removal. Provide read-only access to the Command Center.

Work with the most current information With multiple co-workers maintaining the same

information, you need to be sure that item modications take effect, and are not overridden. With the Command Center, you can:
q q q

Automatically notify the servers when you modify information. Refresh your Command Center views to see the changes your co-workers made. Be notied when co-workers modify an item youre working with to be sure that information is not lost.

Further, Command Center administrators can globally or selectively update all the One-To-One Enterprise servers regarding changes to Web site content.
Easily locate and retrieve information With the Command Center query tool, you can:
q q q q q

Easily dene query criteria using familiar information from your database. Query a specic 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 retain current visitors, and foster communication among visitors. See Discussion forums on page 33. Represent visitor cross-sections The ability to create virtual visitor communities supports

relationship management with those who use your Web site. Using virtual communities, you can:
q q q q q

Effectively dene and represent meaningful cross-sections of your visitor population. Create target audiences for e-mail message. Match and display content to the members of specic 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 notication features, you can:
q

Schedule automatic, regular message deliveries to either a target audience that you specify, or the visitors who request the notication. Create and maintain a database of messages for delivery to your visitors. Use static messages or scripts 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 or periodic delivery schedules that you create. Review schedule statistics, such as scheduled run time versus actual run time, and the message generation status.

32

BroadVision, Inc

Ch a pt e r 3

Co n t e n t , P r o f ile s , a n d P e r s onaliz at ion D is c u s s i on f orums

Change the session state according to visitor interaction and profile The Rules wizard also

supports session rule sets and rules. These rules enable you to change the state of a session, which is a visit, according to the visitors behavior during the session, the events that occur during the session, and the visitors prole.
Control internal access to the Command Center features Command Center security enables the

application administrator to control which tasks Command Center users can perform, and which information they have access to.

Discussion forums
Discussions are on-line forums that engage new visitors, help retain current visitors, and foster communication among visitors. Discussion forums also offer visitors opportunities to provide feedback that helps you to better serve them. By starting new threads, replying to messages created by other visitors, browsing responses, and searching for groups of interest by keyword, your visitors can exchange views and share information on specic topics, which can also provide you with more insight into your visitor base. With the BroadVision Command Center, you can manage and moderate discussion forums and you can:
q q q q q

Start new threads. Delete individual messages and entire threads. Categorize discussion groups by topic when you create them. Personalize discussion groups to specic visitor proles and communities. Censor messages before theyre available for viewing. Control the status of displayed messages, or hide them from your visitors while keeping them available to your application developers. Let visitors generate HTML messages and responses.

For information about using discussion forums in your sites application, see the Component Developers Guide.

Overview

33

C hapter 3 Co nt e n t , P r of i l e s, a n d P e r son a l i z a t io n D iscussi o n fo rum s

34

BroadVision, Inc

Application Services

Application services provide the operational support for all One-To-One Enterprise servers and BroadVision applications. These servers are responsible for maintaining the communications between all One-To-One Enterprise servers, providing database access, and overseeing security issues. Additionally, these servers provide specic features such as notications and alerts, discussion forum management, and other BroadVision application-specic tasks such as order management and payment handling. This chapter describes these application service topics:
q

Application server, next explains how the server runs the scripts that are the sites application, track visitors using the application, elds requests to the Application services, provides Caching content, proles, and scripts for high-performance responses, and checks with the Access control and Quality of Service and Rewards systems to help determine the navigation results. Scalable architecture on page 41 discusses how the application services a servers or daemons are 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 identify server performance issues. Database on page 43 describes how One-To-One Enterprise uses a database management systems (DBMS) to maintain information. Staging on page 46 explains the process of creating data on one installation, and then migrating that data to another installation, usually from a development installation onto a production (live) installation. Observations on page 46 discusses how observations are recorded events initiated by visitor actions, and how those events can be collected and later used by a reporting mechanism to analyze the observed events. XML on page 47 describes the BroadVision One-To-One Enterprise support for XML, the eXtensible Markup Language. Security on page 48 describes some of the security features of BroadVision One-To-One Enterprise,

Overview

35

C hapter 4 Appl i c a t i on Se r v i c e s Ap pl i cati o n serv e r

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

Session management, next. Access control on page 37 Quality of Service and Rewards on page 38 Caching on page 39

Application processing

The Interaction Manager is the cornerstone of a One-To-One Enterprise Web application. It processes Web page requests by running Java and server-side JavaScript scripts. This diagram shows how the major architectural blocks of the Interaction Manager process Web page requests. HTTP server A request for a page comes from the HTTP Server and passes through the communications layer to the Page Request cache. If the requested page is already in the request cache, the request goes no further, and is immediately fulfilled. If the requested page is not in the request cache, then the request is passed on to the task mapping block. The task mapping block examines the URL to determine whether the request task should go to the Java Virtual Machine or the JavaScript engine. JavaScript preprocessor

Web browser

Interaction Manager
Communications

Page Request cache HTML Task mapping HTML

Embedded Java Virtual Machine Java compiler Embedded Java Servlet engine

Embedded JavaScript engine

JavaScript cache

JSP preprocessor

C++ and Java executables for both BroadVision and Custom Components

Content cache / Category cache JavaScript pages database

JavaServer Pages

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

36

BroadVision, Inc

Ch a p t e r 4

A pplic a t io n Services A pplic a t 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 visitors prole information, 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 with one or more links into the application. All or most activity from this point on goes through the Session Manager. 2. When the visitor enters the application, the Session Manager creates a session that contains an in-memory prole 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, in which case the visitors prole is retrieved from the database and that information replaces the in-memory prole. At this point, the Session Manager might, if congured to do so, log an enter-service event with 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 Rewards systems, when they are active, to determine the navigation results. 4. When the application needs information from the Application services that requires prole information, such as for content matching, the Session Manager sends the visitors identication along with the applications request. 5. Optionally an application might provide a feature to allow visitors to specify when they leave the application or log off the site. When this visitor chooses this option, the Session Manager terminates the session. More commonly though, the visitor will leave the site without making such a choice. After a period of time specied in the Interaction Manager conguration le, the Session Manager will terminate the session. Additionally: If the visitor has a registered member prole, the Session Manager updates the prole database with the visitors prole. If the site is so congured, the Session Manager logs an end-session observation event.

Access control
The Access Control system determines which scripts or other executables visitors are allowed to run. When the Access Control system receives a request for a visitors access rights, it looks at the permissions specied in the site or application access control le. The le is structured text that categorizes 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-specic classications. Each subject has a permission list that species who has permissions to access the subject and what those permission are. For information about the access control system, see the Session Management Guide.

Overview

37

C hapter 4 Appl i c a t i on Se r v i c e s Ap pl i cati o n serv e r

Quality of Service and Rewards


Customers that visit your site deserve the very best serviceespecially as they contribute to the success of your business. The various actions that customers take when visiting your site generate requests to the Interaction Manager. The Interaction Manager in turn responds to a particular request based upon where it is in the request queue. BroadVision One-To-One Enterprise provides two features in particular, Quality of service queuing and Rewards, that enable you to identify requests 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 most

important visitors. The quality of service mechanism prioritizes responses based on applicationdened criteria. Some uses for this mechanism include:
q

Frequent or highly valued customers can have a high priority that allows them to move to the front 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 to quickly 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 users request priorities. Some uses for this mechanism include:
q

Customers receive rewards points for viewing advertisements. The more points they have, the faster their requests are processed. Customers that have been browsing for a long time and which have no items in their shopping cart might loose reward points. This is similar to a clerk in a store who ignores someone who is just looking and doesnt intend to buy anything. Investors placing order can receive reward points that causes the order placement requests to have a higher priority than normal requests. Because reward points are consumed with each subsequent request, the higher priority responses might last only until the investors rewards points 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

Ch a p t e r 4

A pplic a t io n Services A pplic a t ion server

Caching
When an Interaction Manager gets data from the database, it caches the data locally in memory to improve the performance of subsequent data requests. Similarly, after running a script, the Interaction Manager caches the static information to improve execution of subsequent page requests. Interaction Manager Data cache Request cache

Script One-To-One database

The information that can be cached include: Cache


Initial visitor proles Content Queries Categories Collections Page caches

Used for
Frequently requested visitor prole information. Dening how many content items to cache. The IDs of items found as a result of queries. Recently retrieved categories and category content. The parsed results of evaluated Matching system rules. Caching the HTML that was generated for page requests.

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 the page, and then sends the generated page to the browser to satisfy the request. Pages in a generally contain both static and dynamically-generated information. The time that it takes to generate the page varies depending on the amount of dynamic activity occurs. In most One-To-One Enterprise installations, there are pages that even though dynamically generated contain the same results: multiple visitors see the same exact page. When you can identify the conditions (the rules) where the results are the same, you can use the page request cache to use the same results for multiple visitors, and thereby improve the applications performance.

Overview

39

C hapter 4 Appl i c a t i on Se r v i c e s Ap pl i cati o n serv e r

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

The Persistent cache is faster, less restrictive, can be share pages among multiple Interaction Manager 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 an

Interaction Manager server engine. However, the results cant be shared and are not persistent. When the Interaction Manager receives a request, it retrieves the script from the le system, generates the HTML result, and sends it to the browser. When a page cache is in use, the generated result is stored in the Interaction Manager engines memory, and subsequent requests for the same page are fullled from memory. Interaction Manager engine Request 1 Generate Request 2 Scripts are loaded from files, and the generated results are kept in memory for use by subsequent requests. Script file

The engine dumps old pages from memory to make room for new pages as needed. Further, the results 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 to the cache directory in the le system. When the requested page is not in memory, the engine retrieves it from the cache: the le system. Frequently-requested les are stored in the operating systems in-memory le buffer, which results in very fast access times. Interaction Manager engine Request 1 Generate Request 2 File system Script file Generated pages are copied to the file system. When subsequent requests cannot be fulfilled from memory, they are fulfilled from the operating systems file buffer.

Request 3

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

40

BroadVision, Inc

Ch a p t e r 4

A pplic a t io n Services S c a la b le a r chitect ure

Scalable architecture
A BroadVision One-To-One Enterprise installation is a collection of software server processes and daemons running on one or more host machines, connected to one or more databases, and has connections to Web browsers through a network. While the application servers, the Interaction Manager servers, and HTTP servers may all be installed on one machine, this is not practical for most 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 to provide security for your system. In a BroadVision One-To-One Enterprise installation, the host machines (nodes) that run the servers, processes, and daemons are classied as:
Interaction Manager hosts

Run the Interaction Manager servers, and processes and daemons that directly support the Interaction Manager. The servers run the application scripts. Run the servers that the Interaction Manager communicates with. Typically these are database accessor servers, but can also be servers that connect to existing business systems. These servers support applications. Run background processes, such as the schedule, alert, and e-mail notication servers. These servers support the entire site, not just an application. Runs the conguration server for the BroadVision One-To-One Enterprise servers in the site.

Front-line hosts

Back-end hosts

Root host

Host machines can be any combination of the classications, but only one machine is the root host. For example, a typical development system runs all of the processes on one machine. However, in a production site, the servers are distributed among several host machine processors. Root host HTTP server hosts Interaction Manager hosts DBMS host Back-end hosts

Front-line hosts

Traditional versus Traditionally (prior to Version 5.5), a BroadVision One-To-One Enterprise site made several production sites assumptions about how the hardware and operating environment were congured. In particular, a traditional site assumes that the entire BroadVision One-To-One Enterprise site could be shut down to make conguration changes; all hosts in the system could access the same le system; and that shell commands could be issued from the root host to all other hosts. These assumptions are not valid in a typical production conguration. A production site conguration has these characteristics that are different from a traditional conguration.
Overview 41

C hapter 4 Appl i c a t i on Se r v i c e s Scal abl e arch i te c t ur e

The site is mission critical and as such, it cannot be shut down. As such, changes must be made dynamically without shutting down all of the servers. Security between server host machines is strict: there are typically several rewalls; remote host activities are not allowed; le systems are isolated and hosts cannot share conguration les. Interaction Manager machines need to be shutdown without killing the active sessions that are being maintained by the servers on that host. Some machines need to be shutdown for maintenance without shutting down the entire site. The conguration environment variables can be different on distinct host machines. Hosts can have multiple names and IP addresses.

q q q

A production sites source of truth is the bv1to1.conf conguration le located on the root host. This le tells the installation how your site is organized. In an optimally congured site, you make critical changes to this le, and then propagate the changes to the rest of the site with the bvconf utility without changing the running status of unaffected machines and servers. Dependencies In a production site, you can change the conguration of hosts and servers, and you can add hosts and servers without shutting down the whole site. If the conguration change to a host is a noncritical 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 or removing host nodes you have to shut down one or more servers to effect the change. A site that is optimally congured has servers logically grouped to allow hosts to be shut down with minimal impact to the entire site. Layers of dependencies Shutting down a root host requires that the entire site be shut down. Root host Interaction Manager hosts Front-line hosts Back-end hosts Shutting down front-line hosts should affect only those Interaction Manager hosts that depend on the host; other Interaction Manager and front-line hosts should not be affected. Interaction Manager hosts Front-line hosts

Shutting down an Interaction Manager host should only affect that host.

Shutting down a backend hosts should not affect the rest of the site.

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

42

BroadVision, Inc

Ch a p t e r 4

A pplic a t io n Services S e r v e r monit ors

Server monitors
The One-To-One Enterprise servers track and publish statistics about their performance, including general information about memory footprint, CPU usage, count of IDL requests, and server boot up time. They can also track information specic to their task: the database accessor tracks the count of SQL queries made and their response time; the name server counts how many name resolution requests 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 it displays the statistics in a chart format. You can display the monitors all in one chart or each in a separate chart. You can save the charts in pages, and you can save the pages generated in a session so they will display the same charts and monitors the next time you run the application. For detailed information, see the Server Monitor Guide.

Database
One-To-One Enterprise maintains a database of information, some of which is used internally by One-To-One Enterprise, while other data is used externally by applications. The database tables are maintained by database management systems (DBMS). In addition to the One-To-One Enterprise database, data may be stored in external databases, and accessed as if it were part of the One-To-One Enterprise database. This section highlights some of features of the One-To-One Enterprise database, including:
q q q

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:
q

Database administration activities, including modifying the database schema, see the Database Administrators Guide. Migrating the data from a previous version of the One-To-One Enterprise database, see the Installation and System Administration Guide. The tables and attributes the comprise the default One-To-One Enterprise database schema, see Database Schema Reference. Accessing data for use in scripts and components, see Application Developers Guide. Creating new, external database accessors, see the Server Developers Guide. Conguring the database accessors, including distributing them on several host machines, see the Installation and System Administration Guide.

q q q

The schema is the map of the One-To-One Enterprise database. The database tables and indexes are created when you initialize the One-To-One Enterprise system.

Overview

43

C hapter 4 D atabase

Appl i c a t i on Se r v i c e s

Database schema
The One-To-One Enterprise database tables and indexes are created when you initialize the One-To-One Enterprise system. Most of the tables are used internally by the system. However, the content and prole tables may be modied to meet your sites needs. To alter the denitions, you must redene the database schema. The schema is the map of the One-To-One Enterprise database. The customizable portion of the schema denes the content and prole tables, and the meta-data that dene the Content. To change the schema, you can either
q q

Use the Schema Center utility, described below, or Perform the manual steps of changing the text, schema specication les the dene the tables, generate SQL commands from the les, and then apply the changes to the database.

For detailed information about the schema and for instructions about modifying the schema with the schema specication les, see Working with the schema, in the Database Administrators Guide. To see the default internal and external table denitions, see the Database Schema Reference.

Schema Center utility


The Schema Center utility is a tool for making changes to the One-To-One Enterprise database schema. 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 modication procedures. You can also use the Schema Center utility to view the database schema without making changes to the tables. For instruction on using this tool see the Schema Center Users Guide.

External data source


External source data are information stored in databases outside of the One-To-One Enterprise database tables, and which can be referenced from One-To-One Enterprise as if it were stored in a One-To-One Enterprise table. To reference the data, One-To-One Enterprise maps visitor prole or content 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 visitors status, which is stored in an external table, you would ask for BV_USERS.STATUS and One-To-One Enterprise performs the mapping and data retrieval.
BV_USERS USER_ID 585 586 587 588 ... related by USER_ID EXT_CUST_MAP USER_ID ACCOUNT 585 586 587 588 Tango Bravo Delta Oscar related by ACCOUNT EXT_CUSTOMER_ACCTS ACCOUNT Tango Bravo Delta Oscar STATUS ACTIVE ACTIVE NEW ACTIVE

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

44

BroadVision, Inc

Ch a p t e r 4

A pplic a t io n Services Database

The external database can be a DBMS not supported by One-To-One Enterprise, as long as the system supports the relational database model (RDBMS), and where each row of external information is dened by a unique key. For detailed instructions on using external source data, and for explanations of its limitations, see External source data, the Database Administrators Guide.

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

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]. Bulk load data with utilities. Publishing Center Create and edit individual content items

Database

Stage data from another installation.

Source database

Command Center

Create and edit individual content items, create and manipulate categories, business rules, and more.

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 the identification codes created by the API routines. The bulk loading utilities can load Content data, Prole data, and Category data. For detailed information about them, see Loading data into the database in the Database Administrators Guide.

Overview

45

C hapter 4 Stagi ng

Appl i c a t i on Se r v i c e s

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

Production installation Unpack and load


Package Package Target database

Dump and pack

FTP transfer

Package

Package les contain the data, scripts, and static les in a format that can be easily transferred between installations. You can even route packages to different le systems, such as when the HTTP server is on a different system than the Interaction Manager and database servers. For detailed information about staging, see Staging content in the Database Administrators Guide.

Observations
Observations are recorded events initiated by visitor actions. To generate an observation, a script or component makes a call Observation system, which logs the event to a le for later use. The Interaction Manager collects the information about observed events, and periodically writes them to a log le. Later, using a reporting mechanism, you can analyze the observed events. Interaction Manager Cache The Interaction Manager caches observation data and periodically writes it to the log file.

A utility collects the observations and loads them into the observations database.

One-To-One Enterprise database

Observations database A utility processes the data into something more meaningful for reports.

Reports use data from both databases.

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

Ch a p t e r 4

A pplic a t io n Services XML

XML
BroadVision One-To-One Enterprise supports the XML, the eXtensible Markup Language. XML is a technology that describes a class of data objects called XML documents, and partially describes the behavior of the computer programs which process them. An XML document is text that consists of intermingled character data and markup. Markup encodes a description of the documents storage layout and logical structure, and includes such items as elements, comments, document type declarations, and processing instructions. Markup text is bracketed by the characters < and >. Markup entities are paired to together to delimit a piece of information. The markup species the syntactical meaning for the element. For example, this pair identies 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 database representation. 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 different orders. Shoes_1 Color
red blue

Shoes_2 Size
small medium

Size
small large

Color
blue yellow

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

Size
small small medium large

If you are familiar with HTML (HyperText Markup Language), you might notice that XML looks similar. However, they are different in that XML describes and classies the data, while HTML tells how the data are displayed. Once an XML document has been interpreted, it can be translated into a display format, such as the one dened by HTML.

The One-To-One Enterprise XML extension


The BroadVision One-To-One Enterprise XML extension provides an environment that includes capabilities for manipulating, constructing, and parsing XML documents. The extension is comprised of C++ classes that:
q

Provide access to an XML parser.

Overview

47

C hapter 4 Securi ty

Appl i c a t i on Se r v i c e s

q q q q

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 Denition (DTD) approach recommended by the World Wide Web Consortium (W3C).

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

Security
Security is only as good as the precautions that your site employs. For example, root passwords, database access, and rewalls are all beyond the scope of security that One-To-One Enterprise can employ. What One-To-One Enterprise can control is how it is congured, the communications between subsystems, access to the scripts, data, and pages through the application. Here are some of the security features employed by One-To-One Enterprise:
q q

The servers can communicate through multiple layers of rewalls. All components, scripts, utilities, and tools that access the database require a password. Some subsystems have access to an encrypted form of the password, but those systems are only run after a veried 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, the executables are only truly secure if you also remove the source les from the installation. Communication to the visitors browser has several levels of security. Most notable include subsequent requests from the same browser can be tested for IP masking and spoong, and access can occur through a secure HTTP server (HTTPS). Members can be required to provide a password possibly with a certicate of authorization. Idle sessions can be terminated after a specied time. Communication between the HTTP server and the Interaction Manager servers can be encrypted. Session IDs may be generated from a custom generator that you provide.

48

BroadVision, Inc

Index

A
access control 37 accounts 24 active visitor 24 ActiveXObject See NT COM alerts, see notifications 30 anonymous-sentinel member name 25 APIs 14 application program interfaces 14 application server 36 application services, architecture 41 applications 11 architecture 41 attributes 20 related lists 22 visitor profile 26

content external 21 feedback 22 rating 22 related-list attributes 22 search feature 22 voting 22 content types 20 control file 37 cookies 23

D
data entering 45 flow through system 39 source, external profile 44 database 43 external profile information 44 visitor tables 26 database schema 44 dependencies 42 digital certificates 23 discussion forums 33 Document Object Model 48 Document Type Definition, see DTD DOM 48 DTD 48

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

C
caches 39 client-side JavaScript 12 COM extension for Windows NT See NT COM Command Center 31 commands, running OS 16 communications 15 Component Object Model See NT COM

E
e-mail messages 30 Enumerator object See NT COM eXtensible Markup Language, See XML external data content 21 source 44

Overview

49

Index

F
feedback 22 field-search 22 front-line hosts 41 full-text search 22

M
machines 41 markup 47 members 23 account 24 login 23 messages (Notification) targeted 30 Microsoft JScript and BroadVision page scripts 17 monitors 43 multi-value attributes 20 See related attribute lists

G
guests 23 anonymous-sentinel 25 permanent 23 transient 23

N H
host machines 41 hosts back-end 41 front-line 41 HTML 47 tags in page scripts 12 Hyper Text Markup Language see HTML notifications 30

O
observations 46

P
permanent guest 23 permissions 37 personalization 28 privacy flag 26 processes 41 statistics 43 production configuration, definition 41 production site, staging data onto a 46 profile attributes 26 profile attributes, filtering on 23 profile creation 23 profiles 23

I
inbox, visitor 30 Interaction Manager Session Manager 37 Interaction Manager, interaction with 39 inter-system communications 15

J
Java 12 JavaScript 12 client-side 12

Q
QOS, See Quality of Service Quality of Service 38 query matching 29

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

50

BroadVision, Inc

Index

R
related attribute lists 27 related attributes visitor profile 27 related lists 22 related-list attributes 20 request cache benefit of 39 Rewards 38 ROLE data type 24 roles 24

V
Verity 22 field-search 22 full-text search 22 license 22 visitor account 24 active status 24 attributes 26 attributes, related 27 database 26 feedback 22 inbox 30 login 23 model 23 permissions 37 privacy flag attribute 26 profile attributes 26 profile creation 23 roles 24 voting 22

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

W
Windows NT COM See NT COM World Wide Web Consortium see WC3

X
XML 47 markup 47

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

U
USER_ROLE attribute 24

Overview

51

Index

52

BroadVision, Inc

You might also like