2Architecture of Siebel Business Applications

Architecture of Siebel Business Applications

This chapter describes an overview of the architecture for Oracle’s Siebel Business Applications. It includes the following topics:

About Siebel Objects

A Siebel object definition is the metadata that defines a Siebel application. Siebel object definitions define user interface elements that Siebel CRM includes in the Siebel client, business entities, and the Siebel Database. The Siebel Repository is a set of database tables that stores these object definitions. Examples of types of objects include applets, views, business components, and tables. You can use Oracle’s Siebel Tools to create or modify an object definition.

An object definition includes properties that are qualities of the software construct that the object defines. For example, the properties of a database column includes the name, data type, and length of the column.

This book uses the terms Siebel Business Applications and Siebel CRM interchangeably to mean the same thing.

Note: For more information about objects supported in Web Tools, see Using Siebel Tools.

    How Siebel Tools Displays Relationships Between Objects

    A parent-child relationship is a hierarchical relationship that defines a relationship between object definitions. If you expand an object type in the Object Explorer, then Siebel Tools displays the child objects of the parent-child relationship. For example, if you expand the Applet tree, then Siebel Tools displays the following child object types:

    • Applet Method Menu Item

    • Applet Browser Script

    • Applet Server Script

    • Applet Toggle

    A parent-child relationship between object definitions implies that the child object definition is in, or belongs to, the parent object definition. It does not imply inheritance between object definitions. The properties of a parent object are not related to the properties of a child object.

    Terms such as object, property, or class describe the Siebel CRM metadata. These terms do not describe corresponding terms in object-oriented programming.

    For more information about the Object Explorer and the Object List Editor, see Using Siebel Tools.

      How This Book Describes Objects

      For brevity, this book describes how an object, such as a user property, does something. For example:

      The Copy Contact user property copies contacts.

      In reality, the Copy Contact user property only includes information that some other Siebel CRM component uses to copy contacts.

      For brevity, this book typically only describes the property name to describe how Siebel CRM uses the value that a property contains. For example, assume Siebel CRM displays the value that the Display Name property contains. This is a property of a tree node object. This book only states the following:

      Siebel CRM displays the Display Name property of the tree node.

      In reality, Siebel CRM displays the value that the Display Name property contains.

      How This Book Describes Relationships Between Objects

      An object definition includes properties and a property includes a value. For example, the Business Object property of the Account Address view contains a value of Account. To describe this relationship, this book states the following:

      The Account Address view references the Account business object.

      Sometimes the relationship between objects occurs through multiple objects. For brevity, this book does not always describe the entire chain of relationships that exists between objects through the entire Siebel object hierarchy. For example, the Account business object references the Account business component and the Account Address view references the Account business object. So, this book states the following:

      The Account Address view references the Account business component.

        Overview for Using This Book

        This book uses the following terms:

        • A user is a person who uses a Siebel Business Applications client to access Siebel CRM data.

        • The client is the client of one of the Siebel applications. Siebel Call Center is an example of a Siebel application.

        • The server is the Siebel Server, unless noted otherwise.

        • An administrator is anyone who uses an administrative screen in the client to configure Siebel CRM. The Administration - Server Configuration screen is an example of an administrative screen.

        Computer font indicates a value you enter or text that Siebel CRM displays. For example:

        This is computer font
        

        Italic text indicates a variable value. For example, the n and the method_name in the following format description are variables:

        Named Method n: method_name
        

        The following is an example of this code:

        Named Method 2: WriteRecord
        

        A predefined object is an object that comes already defined with Siebel CRM. The objects that Siebel Tools displays in the Object List Editor immediately after you install Siebel Tools and the Siebel runtime repository but before you make any customization are predefined objects.

        The term focus indicates the currently active object in the client. To indicate the object that is in focus, Siebel CRM typically sets the border of this object to a solid line.

        Depending on the software configuration you purchase, your Siebel Business Applications might not include all the features that this book describes.

          Getting Help From Oracle

          If you require help from Oracle for using object types, you can create a service request (SR) on My Oracle Support. Alternatively, you can phone Global Customer Support directly to create a service request or get a status update on your current SR. Support phone numbers are listed on My Oracle Support. You can also contact your Oracle sales representative for Oracle Advanced Customer Services to request assistance.

            About the Siebel Object Architecture

            This topic describes the Siebel object architecture. It includes the following information:

            Siebel CRM separates the metadata that defines objects and files, such as web templates and style sheets, into several architectural layers. The following figure describes this Siebel object architecture.

            Siebel Object Architecture

            Explanation of Callouts

            The architecture includes the following items:

            1. Physical user interface objects layer. Includes the physical files, templates, style sheets, and other metadata that reference files. Siebel CRM uses these files to render the user interface that it displays in the client. For more information, see Overview of the Physical User Interface Layer.

            2. Logical user interface object layer. Includes object definitions for the user interface that Siebel CRM displays in the Siebel client. These objects define the visual elements that Siebel CRM displays and that the user uses in a Web browser. A user interface object references a business object. For more information, see Overview of the Logical User Interface Object Layer.

            3. Business object layer. Includes objects that define business logic and organize data from underlying tables into logical units. For more information, see Overview of the Business Object Layer.

            4. Data objects layer. Includes object definitions that map the data structures from the underlying relational database to Siebel CRM. These objects provide access to these structures through object definitions that reside in the business object layer. For more information, see Overview of the Data Objects Layer.

            Siebel CRM insulates objects in each layer of the Siebel Object Architecture from the layers preceding and succeeding each layer, including the RDBMS (Relational Database Management System) that resides at the lowest level of the architecture. This configuration allows you to modify or configure Siebel objects in one layer without affecting objects that reside in other layers. Siebel CRM separates the database in the RDBMS from the object architecture, so you can make any necessary database modifications with only minimal effect on the layers of the Siebel CRM architecture.

            Note: Siebel Tools and Web Tools are built as a Siebel application and are a way to configure your Siebel application. However, both the tools cannot be customized and are locked down to run as a shipped configuration. For more information on the related system preferences, see Siebel Applications Administration Guide.

              Overview of the Physical User Interface Layer

              The physical user interface layer includes physical files, such as templates, Siebel tags, style sheets, and other metadata. These files and metadata control the layout and the look and feel of the Siebel client. The physical user interface layer separates definitions for style and layout from user interface objects that reside in the Siebel repository. This separation allows you to define style and layout across multiple objects of the Siebel client. For more information, see Siebel Developer's Reference.

              For more information about configuring Siebel CRM, see Developing a Plan to Control File Versions forthe Physical User Interface Layer.

                Siebel Web Template

                A Siebel Web template is code in HTML that defines the layout and format of elements that Siebel CRM displays in the Siebel client. Elements include views, applets, controls, and so on. The template provides this layout information to the Siebel Web Engine (SWE) when this engine renders Siebel repository objects into HTML files. Siebel CRM then displays these HTML files in the Siebel client. For more information, see About Siebel Web Templates.

                  Siebel Tag

                  A Siebel tag is a special tag that resides in a web template file. A tag specifies how Siebel CRM defines a Siebel object in the Siebel repository and how Siebel CRM must render it in the HTML page in the Web browser. For more information, see About Siebel Tags.

                    Cascading Style Sheet

                    A cascading style sheet (CSS) is a style sheet document that defines how Siebel CRM displays HTML or XML elements and their contents in a Web document. It includes typographical and format information on how Siebel CRM displays the Web page, such as the text font. It controls the look and feel of user interface elements. A cascading style sheet allows you to control the appearance of the page. For more information, see Configuring Web Templates to Display Menus, Toolbars, and Thread Bars.

                      Overview of the Logical User Interface Object Layer

                      The logical user interface object layer includes object definitions that determine the visual interface that the user interacts with in a Web browser. A user interface object displays data from the business object layer and allows the user to use controls to navigate, view, or modify data.

                        Applet

                        An applet is a user interface object that allows the user to view, enter, and modify data that the applet gets from a single business component. It includes the following qualities:

                        • Occupies a section of a view.

                        • Includes controls, such as buttons, fields, check boxes.

                        • Allows the user to view, enter, modify, and navigate through records.

                        • Can display as a form, list of records, chart, business graphics, or navigation tree.

                        • Allows data entry for a single record or through a scrolling table that displays multiple records.

                        For more information, see About Applets, Controls and List Columns.

                        A Siebel CRM applet is not equivalent to a Java applet.

                          View

                          A view is an object that contains a collection of related applets that Siebel CRM displays in the Siebel client. A view can contain lists, forms, charts, and other types of applets. Most views are a master-detail view or a list-form view. A view is associated with the data and relationships that exist in a single business object. For more information, see About Views.

                            Screen

                            A screen is an object that contains a collection of related views. A screen is associated with a major area of the enterprise, such as accounts, contacts, or opportunities. All views in a screen typically reference the same business object. For more information, see About Screens.

                              Application

                              An application is an object that contains a collection of screens. The user can access this application through the following clients:

                              • Siebel Web Client

                              • Siebel Mobile Web Client

                              • Siebel Developer Web Client

                              • Siebel Mobile applications (connected)

                              • Siebel Mobile applications (disconnected)

                              The user navigates to a screen from the tab bar or the Site Map that the object definition of the Siebel application defines. Your organization might possess licenses for more than one of the Siebel Business Applications, for example, Siebel Sales and Siebel Call Center. Different groups in your organization might use these applications, such as the sales team or the customer support team. For more information, see About Applications.

                              A Siebel application is not equivalent to an application executable, such as an .exe file.

                                Page Tab

                                A page tab is an object that associates a screen to a parent application. It is a child of a screen object and Siebel CRM includes it as a tab in the tab bar. The user clicks the tab to access the screen. For more information, see Creating a Page Tab.

                                  Screen Menu Item

                                  A screen menu item is an object that associates a screen with the application object. It is a child object of an application. Siebel CRM displays it and its child views as a link on the Site Map. It allows the user to navigate to a screen. For more information, see Creating a Screen Menu Item.

                                    Control

                                    A control is an object that is an element in the Siebel client, such as a field, text box, check box, button, and so on. It is a child of an applet. It allows the user to interact with Siebel CRM and with CRM data. For more information, see About Applet Controls and List Columns.

                                      List Applet

                                      A list applet is a type of applet that can display data from multiple records. The predefined list displays data fields in a multicolumn layout where Siebel CRM displays each record of data in a row. A list applet can include textual data, images in JPEG (Joint Photographic Experts Group) and GIF (Graphics Interchange Format) formats, and edit controls, such as check boxes, lists, multi-value group applets, and text fields.

                                      The user can click in the column selection area of a list applet to choose a single row. If chosen, the fields in the row can activate input or edit controls. If the user clicks New in the applet, then Siebel CRM creates a new row that contains a series of empty fields where the user can enter information.

                                        List

                                        A list is an object that defines property values that pertain to a scrolling list in a list applet. It is a child of an applet. It provides a parent object definition for a set of list columns. For more information, see How Siebel CRM Creates a List Applet.

                                          List Column

                                          A list column is an object that corresponds to a column in a scrolling list in a list applet, and to fields in the business component. It is a child of a list. For more information, see Creating a List Applet.

                                            Web Template, Applet Web Template, and View Web Template

                                            A web template, an applet web template, and a view web template are objects that identify external HTML files, or other markup language files, that define the layout and Siebel Web Engine interactions for an applet or view. For more information, see the following topics:

                                              Applet Web Template Item

                                              An applet web template item is an object that defines a control or list item in the Web implementation of an applet. For more information, see About the Form Applet and List Applet.

                                                View Web Template Item

                                                A view web template item is an object that defines the inclusion of an applet in the Web implementation of a view. For more information, see About Views.

                                                  Overview of the Business Object Layer

                                                  The business object layer includes objects that define business logic and organize data from underlying tables into logical units. This topic describes the more common objects that exist in the business object layer. For more information, see Siebel Object Types Reference.

                                                    Business Component

                                                    A business component is an object that associates columns from one or more tables into a single structure. A business component provides a layer of wrapping over tables. This wrapping allows an applet to reference a business component rather than the underlying table. For more information, see About Business Components.

                                                      Business Component Field

                                                      A business component field is a child object of a business component that provides data for controls and list columns in an applet. It typically associates a column to a business component. Siebel CRM can calculate a field from the values in other fields in the business component. A field supplies data to a control or list column in the Web interface. For more information, see About Business Component Fields.

                                                        Join

                                                        A join is an object that creates a relationship between a business component and a table that is not the base table of the business component. A join allows the business component to use fields by using columns from the joined table. To get rows on a one-to-one basis from the joined table, the join uses a foreign key in the business component even though a one-to-one relationship between the two is not required. For more information, see About Joins.

                                                          Join Specification

                                                          A join specification is an object that provides details about how Siebel CRM defines the join in the business component. It is a child of a join. For more information, see How Siebel CRM Uses the Join Specification.

                                                            Business Object

                                                            A business object is an object that groups related business components together. It allows you to create a relationship among the business components that Siebel CRM uses in the context of a business object. For more information, see About Business Objects.

                                                              Business Object Component

                                                              A business object component is an object that references a business component and typically a link in the parent business object. The link specifies how Siebel CRM relates the business component to another business component in the context of the business object. For more information, see About Business Objects.

                                                                User Property

                                                                A user property is an object that allows you to configure behavior that goes beyond the configuration that exists in the properties of the parent object. At the business object layer, a user property exists as a child object of a business component, business service, integration component, integration object, or virtual business component. For more information, see Siebel Developer's Reference.

                                                                  Business Service

                                                                  A business service is an object that contains a set of methods. It allows you to call C++ or scripted methods of the business service from a script that you create, or in the object interface logic, through the mechanism that Siebel CRM uses to call the method. For more information, see Integration Platform Technologies: Siebel Enterprise Application Integration.

                                                                    Overview of the Data Objects Layer

                                                                    Object definitions that reside in the data objects layer provide a logical representation of the underlying physical database that includes tables, columns, indexes, and so on. These objects are independent of the installed RDBMS, and provide a layer of abstraction over the RDBMS that insulates the Siebel CRM application, so that you do not have to administer and restructure the database.

                                                                    Siebel object definition layers allow you to manage relational databases in Siebel CRM. Siebel CRM creates queries in reply to a user action in combination with the context that the relevant object definitions create. The RDBMS contains the data and handles the queries that originate in Siebel CRM. Siebel CRM processes the query results that it returns from the RDBMS up through the relevant object definitions that the architecture contains, and then displays the results to the user.

                                                                    Siebel CRM creates the physical tables in the RDBMS when you install Siebel CRM and create the Siebel database, as described in the Siebel Installation Guide for the operating system you are using.

                                                                    This topic describes some of the more common objects that reside in the data layer of the Siebel Object Architecture. For more information, see Siebel Object Types Reference.

                                                                      Table

                                                                      A table is an object that represents a database table in an RDBMS. It contains child column and index objects that represent the columns and indexes of the table. Siebel Tools displays all of the tables, columns, and indexes that the RDBMS contains. For more information, see About Siebel Tables.

                                                                        Column

                                                                        A column is an object that represents one column in a database table. For more information, see About Columns and Indexes in a Siebel Table.

                                                                          Index

                                                                          An index is an object that identifies a physical index file in the RDBMS. For more information, see Indexes of a Siebel Table.

                                                                            Hierarchy of Object Types and Relationships

                                                                            Siebel CRM builds an object that resides in an upper layer at start of an object that resides in a lower layer. For example, an applet references a business component, a view references a business object, and a field references a column.

                                                                            The following figure describes the relationships that exist between the major object types that Siebel CRM uses.

                                                                            Relationships and the Major Object Types That Siebel CRM Uses

                                                                              About Classes

                                                                              A class is a property of some objects, such as an applet or business component. The value of the class property assigns a set of behaviors to the object definition and distinguishes it from other categories of object definitions of the object type. For example, a value of CSSFrameList in the class property in the object definition of an applet makes the applet a list applet. To do this configuration, the Class property assigns a DLL to the object definition.

                                                                                About the Siebel Operating Architecture

                                                                                This topic describes the major components that the architecture uses to implement Siebel CRM on one or more Siebel Servers. It includes the following information:

                                                                                  Components That the Siebel Operating Architecture Uses

                                                                                  This topic describes some of the major components of the Siebel operating architecture.

                                                                                    Object Manager

                                                                                    The object manager hosts a Siebel application, providing the central processing for HTTP transactions, database data, and metadata, which are object definitions in the Siebel repository that are relevant to the current state of Siebel CRM. The Siebel Web Engine and data manager operate as facilities in the object manager.

                                                                                    The object manager handles object definitions for all levels of the object hierarchy. These objects include Web interface definitions, business object definitions, and data object definitions. For run-time objects that reference the object definitions, Siebel CRM only directly instantiates the business layer objects. These objects include business objects, business components, and so on. The Siebel Web Engine instantiates interface objects. The data manager instantiates data objects.

                                                                                    For more information about Application Object Manager components that Siebel CRM uses on the Siebel Server, see Siebel System Administration Guide.

                                                                                    Note: Siebel Tools and Web Tools are built as a Siebel application and are a way to configure your Siebel application. However, both the tools cannot be customized and are locked down to run as a shipped configuration. For more information on the related system preferences, see Siebel Applications Administration Guide.

                                                                                      Siebel Web Engine

                                                                                      The Siebel Web Engine (SWE), a part of the Application Object Manager component on the Siebel Server, creates the Siebel CRM user interface as HTML pages, combines them with data from the Siebel database, then forwards them to the Siebel Web Server. The Siebel Web Server includes static files such as those for cascading style sheets, images, fonts, and so on, and then sends the pages to a user’s Web browser through HTTP. Users can both view and modify data. A notification mechanism allows the Siebel architecture to notify all applets if a user modifies data in an applet, and then all applets can update their data.

                                                                                        Data Manager

                                                                                        The data manager is a facility that resides in the object manager. It sends SQL queries in reply to requests that the object manager sends, and it sends back the database result set to the object manager. The data manager includes one DLL connector for each type of database connection that Siebel CRM supports. The object manager dynamically loads the DLL that the data source requires.

                                                                                        For a description of the entities that a Siebel deployment uses, see Siebel Deployment Planning Guide. For more information about the Siebel environment, see Siebel Installation Guide for the operating system you are using.

                                                                                          Infrastructure That the Siebel Web Engine Uses

                                                                                          The Siebel Web Engine allows you to deploy Siebel CRM in HTML. The Siebel Web Engine is a service that is part of the Object Manager component on the Siebel Server, and communicates with the Siebel Application Interface.

                                                                                          Siebel Application Interface interfaces with the Siebel Web Engine, with most of the work occurring in the Siebel Web Engine. Siebel Application Interface maintains the session and works as a communication intermediary. Network communication between Siebel Application Interface and the object manager occurs through SISNAPI (Siebel Internet Session Network Application Programming Interface), which is a Siebel communication protocol that references TCP/IP. It provides security and compression.

                                                                                          The Siebel Web Engine runs as the Web Engine Interface Service object manager service. This service implements most components of the Siebel Web Engine, deploying an interface between Siebel Application Interface and the object manager. From the perspective of Siebel Application Interface, the Siebel Web Engine interface service does the following work:

                                                                                          • Handles incoming HTTP requests that include the Siebel Web Engine prefix

                                                                                          • Creates HTTP replies

                                                                                          From the perspective of the object manager, the Siebel Web Engine interface provides a user interface for interactions with the object manager.

                                                                                            Where Siebel CRM Hosts Components

                                                                                            If the user accesses Siebel CRM through a Web client, then Siebel CRM hosts no components on this client. The client interacts through a Web browser. The user accesses a URL that navigates the user to a Siebel application that Siebel CRM hosts on a Web server. This application comes predefined with HTML or equivalent pages that the Siebel Web Engine service creates in the object manager.

                                                                                              How You Can Use Siebel Tools to Build a View

                                                                                              You can use Siebel Tools to associate a set of HTML templates with an applet and view to make the applet and view available to the Web. When Siebel CRM displays an applet in the client, the Siebel Web Engine gets the information that defines the applet, the data for the various applet controls or list columns, and the HTML template. To create the final Web page that Siebel CRM sends to the browser, the engine then combines definition information and data.

                                                                                              To create an applet web template in Siebel Tools, you can use the Web Applet Designer and the following object types:

                                                                                              • Applet Web Template

                                                                                              • Applet Web Template Item

                                                                                              To create a view web template in Siebel Tools, you can use the following object types:

                                                                                              • View Web Template

                                                                                              • View Web Template Item

                                                                                                How the Siebel Web Engine Creates a Siebel Application

                                                                                                The user interacts with Siebel CRM through a Web browser. The Siebel client includes a set of Web pages that the Siebel Web Engine dynamically creates. To do this work, the engine matches the Siebel repository definition of the Siebel application to Siebel web templates. When the user interacts with Siebel CRM, such as by clicking a button or link, the Siebel Web Engine does the following work:

                                                                                                1. Reads the object definitions from the Siebel runtime repository.

                                                                                                2. Chooses the necessary web templates.

                                                                                                3. Combines the object definitions and templates.

                                                                                                4. Gets data from the underlying business objects and business components.

                                                                                                5. References the data, applet, and view information to the corresponding placeholders in the Siebel Web template.

                                                                                                6. Displays the HTML output to the user.

                                                                                                The folllowing figure describes the relationships between style sheets, templates, and objects in the Siebel repository, and the final HTML output.

                                                                                                Relationships Between Style Sheets, Templates, and Objects in the Siebel Repository, and the Final HTML Output

                                                                                                  Integration with Java EE

                                                                                                  An enterprise might develop and implement Java applications to meet a variety of business requirements. Typically, these applications combine existing enterprise information systems with new business operations to deliver services to a broad range of users. These services are typically architected as a distributed application that includes the following tiers:

                                                                                                  • Clients

                                                                                                  • Data sources

                                                                                                  • The middle tier between clients and data sources

                                                                                                  The middle tier is where you typically find transports and interfaces that receive messages that travel between applications that reside in and out of the enterprise. These transports and interfaces can include HTTP, MQSeries, Java servlets, Enterprise Java Beans (EJBs) that are typically in XML format, and so on.

                                                                                                  To simplify integration, Siebel CRM uses Java and XML to receive XML requests that it sends through HTTP or MQSeries. Java and XML provide a uniform way to receive and process requests from Siebel CRM in a Java EE environment. Siebel CRM uses Oracle's Siebel EAI integration infrastructure to transmit requests that Siebel CRM starts to the Java EE Application Server. Java and XML includes a servlet that receives HTTP requests and an MQSeries base server that gets messages from an MQSeries queue.

                                                                                                  To use Java and XML, you must implement the ProcessRequest interface that understands the contents of the incoming request and dispatches it to the Java component.

                                                                                                  Caution: You can use Java and XML only to receive XML requests from Siebel CRM. You can create custom code only for use in object code form and only to integrate a Siebel application with a non-Siebel application. Any modification or extension of this code is not in the scope of Maintenance Services and will void all applicable warranties. For more information, see Getting Help From Oracle.

                                                                                                    Java Beans Can Represent Siebel Integration Objects or Business Services

                                                                                                    You can use the Siebel Code Generator Business Service to create JavaBeans that represent Siebel integration objects or business services. The JavaBeans that the Siebel Code Generator creates a strong interface for integration objects, business services, and their related components. This capability allows you to identify and use the Java code that you require for Siebel CRM.

                                                                                                    Caution: You can only use the source code that the Siebel Code Generator Business Service creates only in object code form and only to integrate a Siebel application with a non-Siebel application. Any modification or extension of code that the Siebel Code Generator Business Service creates is not in the scope of Maintenance Services and will void all applicable warranties. For more information, see Getting Help From Oracle.

                                                                                                    For more information about Java, XML, and the Siebel Code Generator Business Service, see Transports and Interfaces: Siebel Enterprise Application Integration.

                                                                                                      About Siebel Technologies That Configure Siebel CRM Behavior

                                                                                                      This topic describes solutions other than Siebel Tools that you can use to configure Siebel CRM. It includes the following information:

                                                                                                      To configure these solutions, you use the administration views in the Siebel client rather than Siebel Tools.

                                                                                                        Siebel Personalization

                                                                                                        Siebel Personalization is a solution that allows you to filter content in an applet that Siebel CRM displays for a user according to the requirements of the preference or profile of the user. For example, you can include a salutation applet that does the following work:

                                                                                                        • Greets the user by name

                                                                                                        • Indicates how much time has elapsed since the user last visited the site

                                                                                                        • Displays information about products or services

                                                                                                        Note the following key points about personalization:

                                                                                                        • Personalization is available on any applet in Siebel CRM.

                                                                                                        • Personalization uses rules and rule sets to determine the records that the user can view in an applet according to the user profile. These rules evaluate the profile to determine the records and applications to display. A rule set is a group of rules. You can define multiple rule sets so that if the criteria in one rule set is not met, then Siebel CRM evaluates the next rule set.

                                                                                                        • The user profile references any attribute that belongs to one of the following items:

                                                                                                          • If the user is a contact, a contact record and the account of the contact record

                                                                                                          • If the user is an employee, an employee record and the division of the employee record

                                                                                                        • Personalization uses the User Profile Attributes object to contain and get elements of a user profile. You can display these attributes in the client and in rules that determine the content that Siebel CRM displays in the client.

                                                                                                        • Siebel Personalization can track events that occur in the context of the Siebel application, business component, or applet. When an event occurs, it starts a Personalization Action that modifies user profile attributes.

                                                                                                        • A rule or an event can call an action. Siebel CRM uses an action to set a predefined profile attribute or a profile attribute that it creates dynamically in the client. A dynamic profile exists only for the duration of the user session. You can use a profile attribute that you configure in Siebel Tools or in the client to store state information in much the same way that Siebel CRM stores a variable in a cookie or a persistent frame. Where possible, you must use a profile attribute instead of a cookie.

                                                                                                        • A rule or action can call a business component method or a business service method. Typically, you use the method to return values that Siebel CRM uses as criteria for a rule or for setting a profile attribute.

                                                                                                        For more information, see Siebel Personalization Administration Guide.

                                                                                                          Task UI

                                                                                                          You can use the task-based user interface (Task UI) to create a wizard-like user interface that Siebel CRM displays in the client. A task UI is a multiple-step, interactive operation that can include branching and decision logic. Task UI guides the user through task UI execution, allows forward and backward navigation in this task UI, and allows the user to pause and resume this task UI. These features guide the user through performing an unfamiliar task. It can help to increase the efficiency of a novice or intermittent user. Task UI can increase the efficiency of a busy veteran user especially if the user works in an environment that is prone to interruption. Task UI can help the user to switch between multiple tasks during the work day. For more information, see Siebel Business Process Framework: Task UI Guide.

                                                                                                            Siebel Workflow

                                                                                                            Siebel Workflow is a customizable business application that allows you to manage and enforce business processes, such as response time objectives, creating review policies, or monitoring service requests or opportunities over time. It can use the same basic processes that your organization uses in your sales, marketing, and service departments. You can use Siebel Worklfow to enforce business policies and procedures. For more information, see Siebel Business Process Framework: Workflow Guide.

                                                                                                              Siebel SmartScript

                                                                                                              Siebel SmartScript allows you to deploy an interactive guide in question and answer format in a Web page that helps the user find information. The interactive guide asks the user to answer questions to refine a search. Depending on the answers, the guide pursues branching paths to locate the correct answer. You can use a single administrative user interface to define scripts, and then deploy these scripts to call center agents or to users through the Web.

                                                                                                              You can deploy a predefined SmartScript with little or no more configuration. You need only display the SmartScript view, and then Siebel CRM dynamically creates the remaining views, applets, and so on.

                                                                                                              Siebel SmartScript can make applications be increasingly driven by data, which simplifies Web configuration. For more information, see Siebel SmartScript Administration Guide.

                                                                                                                Siebel Assignment Manager

                                                                                                                Siebel Assignment Manager allows you to assign the most qualified person to a task. To do this, it matches candidates to assignment objects. To assign the most qualified candidate to each object, it applies assignment rules that you define.

                                                                                                                You can specify how Siebel CRM uses Assignment Manager to evaluate a record. You can run Assignment Manager to process assignments interactively in real time, dynamically when the user does something that causes Siebel CRM to modify the database, or periodically in batches. For more information, see Siebel Assignment Manager Administration Guide.

                                                                                                                  State Model

                                                                                                                  State model allows you to configure workflow control according to the status of an object, such as a service request or a product defect. A state represents the status of an object, such as Open, Closed, or Pending. The state represents where the object is in the lifetime of the object. The state can determine whether the user can or cannot modify the data of that object. For example, a service request that is in a Closed state might be considered frozen and the user cannot modify the object.

                                                                                                                  A state transition defines how the user can modify an object from one state to the next. For example, state model can allow a user to modify the state for a service request from Closed to Open, from Open to Pending, but not directly from Closed to Pending. Modifying a service request from Closed to Open or Open to Pending represents a state transition. For more information, see the content about State Model in Siebel Applications Administration Guide.

                                                                                                                    Siebel Pricer

                                                                                                                    Siebel Pricer is a solution that allows you to define, assess, administer, and deploy a flexible pricing strategy. It includes the following:

                                                                                                                    • A set of administration views that allow you to define pricing adjustments and the conditions that Siebel CRM uses to apply them.

                                                                                                                    • An engine that evaluates the condition statements and determines the pricing adjustments that Siebel CRM applies.

                                                                                                                    • A testing area that allows assessment of the pricing adjustments.

                                                                                                                    • Integration with user interfaces, such as Quotes, Orders, Siebel Product Configurator, Siebel PRM, and Siebel eSales.

                                                                                                                    Siebel Pricer includes the following items:

                                                                                                                    • Price lists. Contain base prices.

                                                                                                                    • Pricing models. Management tool to control a set of related pricing factors.

                                                                                                                    • Pricing factors. Statements that define conditions and pricing adjustments.

                                                                                                                    • Scripting. Allows you to use business services with a pricing factor to configure the pricing calculation and to access external data.

                                                                                                                    • Pricing validation. Allows you to test pricing factors and the pricing model before releasing to users.

                                                                                                                    • Reports. Allows you to print reports of pricing factors.

                                                                                                                    • Pricer Engine. Evaluates conditional statements and applies pricing adjustments.

                                                                                                                    For more information, see Siebel Pricing Administration Guide.