You are on page 1of 46

IBM InfoSphere Data Explorer

Application Builder Configuration Guide


V ersion 8 Release 2

SC19-3976-00

IBM InfoSphere Data Explorer

Application Builder Configuration Guide


V ersion 8 Release 2

SC19-3976-00

Note Before using this information and the product that it supports, read the information in Notices and trademarks on page 9.

Copyright IBM Corporation 2001, 2012. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Table of Contents

Table of Contents
1. Introducing the Data Explorer Application Builder ................................................................ 1 1.1. Application Builder Terminology and Concepts ......................................................... 1 1.2. Getting Started with the Application Builder ............................................................. 3 1.3. Understanding how the Application Builder is Organized ............................................. 3 2. Using the Application Builder Administration Tool ............................................................... 5 2.1. Using the Administration Tool ................................................................................ 5 2.1.1. Viewing Information Pages .......................................................................... 5 2.1.2. Working with Configuration Pages ................................................................ 5 2.1.3. Using the Entity Explorer ............................................................................ 6 2.1.3.1. Exploring Entities ............................................................................ 7 2.1.3.2. Testing Entities ............................................................................... 7 2.2. Administrative Tasks Outside of the Administration Tool ............................................. 7 2.2.1. Configuring the Web Server ........................................................................ 8 2.3. Backing Up and Restoring the Application Builder and Application Content ................... 10 3. Configuring Stores ........................................................................................................ 11 4. Defining an Entity Model ............................................................................................... 13 4.1. Entity Model Organization ................................................................................... 13 4.2. Defining Stores .................................................................................................. 14 4.2.1. Defining a User Store ............................................................................... 14 4.2.2. Defining Data Explorer Engine Stores .......................................................... 14 4.2.2.1. Defining Collection Stores ............................................................... 15 4.2.2.2. Defining Federated Stores ............................................................... 16 4.2.3. Identifying Entities ................................................................................... 16 4.2.4. The Name Matcher ................................................................................... 17 4.3. Exploring and Troubleshooting an Entity Model ....................................................... 17 5. Building Applications .................................................................................................... 19 5.1. Defining Pages ................................................................................................... 19 5.2. Adding Widgets ................................................................................................. 19 5.3. Configuring Display Options ................................................................................ 25 6. Using the Application Builder Schema .............................................................................. 27 6.1. Application Builder Schema Reference ................................................................... 27 6.1.1. Elements ................................................................................................. 27 6.1.1.1. alias ............................................................................................ 27 6.1.1.2. association-definition ...................................................................... 28 6.1.1.3. classname ..................................................................................... 28 6.1.1.4. cluster-collection-store .................................................................... 28 6.1.1.5. collection-store .............................................................................. 29 6.1.1.6. cxo .............................................................................................. 29 6.1.1.7. directory-store ............................................................................... 29 6.1.1.8. entity-definition ............................................................................. 30 6.1.1.9. entity-model .................................................................................. 31 6.1.1.10. federated-store ............................................................................. 32 6.1.1.11. field ........................................................................................... 32 6.1.1.12. filter .......................................................................................... 32 6.1.1.13. link ............................................................................................ 33 6.1.1.14. name-matcher-configuration ........................................................... 33 6.1.1.15. stopword-list ............................................................................... 33 6.1.1.16. velocity-instance .......................................................................... 34 6.1.1.17. wordlist ...................................................................................... 34 A. Notices and Trademarks ................................................................................................ 35 A.1. Notices ............................................................................................................. 35

Copyright IBM Corp. 2001,2012

8.2-0

iii

Table of Contents

IBM InfoSphere Data Explorer Application Builder Configuration Guide

A.2. Trademarks ....................................................................................................... 37

iv

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 1. Introducing the Data Explorer Application Builder

Chapter 1. Introducing the Data Explorer Application Builder


Welcome to the IBM Data Explorer Application Builder. The Application Builder enables you to build user applications that deliver a 360 degree view of your data repositories. This guide provides information and examples to show you the techniques that you will need to produce an application. Like any construction project, your application can grow to be extremely complex - the information provided in this guide will give you the basic building blocks to construct an application that is as unique as your business requirements. This chapter provides an introduction to the Application builder, including: Terminology and concepts, a description of the Application Builder structure, where to start, what the sample application offers, planning your application, and the process of moving from development to production.

1.1. Application Builder Terminology and Concepts


Before developing an Application using the Application Builder it is important to understand the terms and concepts used within the product. The following list details the major terms and concepts that you will need to understand when creating your application. Application An Application is the end product of development with the Application Builder. Applications provide your users access to the defined data stores using the defined presentation and organization methods. The Application Builder is the both the tool and framework that lets you take data stores and combine them to present them the in optimal way. The Application Builder acts a layer between your data repositories and the user Application, providing insight and organization through the entity model. A Store (or data store) is the original location of your business data. This can take the form of a direct connection to the Application Builder, a federated store through the Data Explorer Engine, or an indexed collection store contained within the Data Explorer Engine. You can find out more about indexed collections and federation in the Data Explorer User Manual. An entity is an item, such as an user, account, document, authentication mechanism, project, and so on, that can be uniquely identified and used within the application. As used here, "Entity" is a general term that is independent of the data structure, schema, or data that defines a particular type of entity. An Entity Definition is the sum of the mandatory and optional information that can be present in an entity of a specific type. An "Entity Definition" is analogous to the data structure or schema that defines the information which a specific type of entity can or must contain. Entity definitions for each entity type are defined in the Entity Model. An Entity Instance is the set of values that uniquely define a specific entity of a specific type. When a user views a page in the application, each item on that page is an Entity Instance.

Application Builder

Store

Entity

Copyright IBM Corp. 2001,2012

8.2-0

Chapter 1. Introducing the Data Explorer Application Builder

IBM InfoSphere Data Explorer Application Builder Configuration Guide

An Entity Type is a group identity for entity instances with the same business or logical function. The "Entity Type" determines the information that must be provided in an instance of an entity of that type. For example, data specific to a user entity may be login and password, first and last name, account entity ID mappings, and so on. Similarly, data specific to an account entity may be company name, contact name, phone number, purchased products, and so on. Entity Model The Entity Model is the definition of all internal components of the Application, including: Entities, Stores, Associations, Name Matching, Word Lists, and so on. Chapter 4, Defining an Entity Model describes the contents and organization of the entity "/> describes the contents and organization of the entity model. An association is an explicit mapping between one field in an item (entity, store, and so on) and another field in another entity. Associations are defined in the Entity Model. Fuzzy associations can also be created to help associate content that may not have explicitly defined values within the data. Fuzzy associations are resolved through the Name Matcher. The Name Matcher is used to configure the methods of resolution for multiple strings to a single entity definition. For example, the name matcher can be used to ensure that the strings "IBM", "I.B.M.", and "International Business Machines" are all resolved to the same entity. The name matcher can be configured to use word lists within the entity model in order to identify special cases such as stopwords or nullwords. An application page is a representation of all content that is related to the specified entity. Application pages present any specified widgets in the context of the specified entity. Types of application pages include Hub (index), Search, Entity, Home, and Space. The types of of application page and configuring them is discussed in the pages subsection of the Application chapter of this document. A backend is a an instance of the Data Explorer Engine that the Application Builder connects to. Backends are defined in the Entity model to serve federated and collection stores. A frontend is an instance of the Application Builder framework that users connect to in order to access the application. Multiple frontends can be created for the same application and are kept synchronized by a shared ZooKeeper group. ZooKeeper is a server that retains key/value pairs to provide consistent configuration data to the application builder. By default a single instance of ZooKeeper is defined for each installed Application Builder. In production environments a redundant ZooKeeper group should be configured to serve all frontends for your applications.

Association

Name Matcher

Application Page

backend

frontend

ZooKeeper

Note
Additional minor terms and concepts will be introduced when they are first referenced in this documentation.

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 1. Introducing the Data Explorer Application Builder

1.2. Getting Started with the Application Builder


When you first start the Application Builder (as described in the Data Explorer Installation Guide), the Application Builder is initialized with an empty application and default bootstrap user. This allows you to access the Application Builder Admin tool and begin configuration. The Application Builder admin tool can be used to explore and edit the entity model. It can also be used to create and edit widgets, pages, and display options. The About page displays any configured currently used Data Explorer Engine backends and provides a link to the Data Explorer Engine administration tool associated with each backend. It also shows the currently running Data Explorer Application frontends.

1.3. Understanding how the Application Builder is Organized


The Application Builder is organized into multiple components that are used together to deliver an application to the end user. The major components that combine to form an application are: Application - The user accesses the application using a supported browser. The application is served through the Application Builder by combining the information that is identified in its configuration. Application Builder - The Application Builder serves as an administrative interface and framework for the application to be housed. Application code (such as HTML and CSS) are delivered by the application builder. The Application Builder reads configuration information from a ZooKeeper server. The application builder administration tool is used to create and maintain that configuration data. The Application Builder also pulls data from the configured stores to populate the application pages. In some instances, data from the user is sent back to a collection store by the application. This is done for shared spaces, activity posts, useful links, and so on. Multiple Application Builder instances may be serving as frontends for a single application. ZooKeeper - A ZooKeeper server (or group of severs referred to as a farm) contains the configuration information (application and entity model) that is common across all Application Builder installations in the deployment. Each Application Builder instance is configured to connect to ZooKeeper and automatically obtains the current configuration information when an application page is requested by the user. Data Explorer Engine - One or more Data Explorer Engine instances are used as the collection store. The Data Explorer Engine serves collection information (indexed data from a data repository) as it is requested by the Application Builder to be delivered to the user by the application. The Data Explorer Engine also serves federated store content (unindexed data from an external data repository that is preprocessed by the Data Explorer Engine). In some cases, such as shared spaces, activity posts, saved content widgets, tagging, content from the application is also sent in some special cases to an indexed collection store. User Store - A user store is typically the unified means of identification and authentication for your network (such as LDAP). The Application Builder does not modify any content from this store, but simply uses it for user identification. In some cases, users can be identified from a collection store, but this would preclude any single sign-on functionality that an authentication server (such as LDAP) can provide. Data Repository - A data repository is the data that the application will be serving to the user. This could be a file share, a Microsoft SharePoint installation, an IBM Lotus Notes database, or any other repository

Copyright IBM Corp. 2001,2012

8.2-0

Chapter 1. Introducing the Data Explorer Application Builder

IBM InfoSphere Data Explorer Application Builder Configuration Guide

that contains business data. The content of these repositories are usually indexed as a collection in the Data Explorer Engine, but in some cases it may be appropriate to federate the content directly from the original repository.

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 2. Using the Application Builder Administration Tool

Chapter 2. Using the Application Builder Administration Tool


This chapter includes information on how to edit using the administration tool, how to use the entity explorer, a description of any configuration outside of the administration tool that might be need to be performed, and what to backup.

2.1. Using the Administration Tool


The administration tool is accessed by going to the AppBuilder/admin URL on your server, for example:
http://www.example.com/AppBuilder/admin

Note
Application Builder URLs are case sensitive. You will need to log in as the bootstrap-user user with an initial password of password to first access the administration tool. This username and password will change as you modify your authentication model when modifying the web server configuration and defining the user-store. When you first access the administrative tool, you see an empty sample application.

2.1.1. Viewing Information Pages


The administration tool contains multiple pages that provide information about your application. These include: About Page: - This page lists the configured front and backends for your application. Each frontend is listed with its version number and current status. Each backend is listed with its host name, the configured administrative user for that backend, and a link to access the Data Explorer Engine administration tool associated with that backend. Entity Explorer: - The entity explorer gives you a visual representation of the entities that are defined in your entity model. The entity explorer is described in detail in the Using the Entity Explorer section of this chapter. Widget and Page Indexes: - The widget and page links in the header of the administration tool take you to an index of defined widgets and pages respectively. From this page you can select an item to edit, or create a new one by clicking New.

2.1.2. Working with Configuration Pages


Certain pages in the administration tool let you edit parts of the Application builder configuration. Internal configuration (configuring stores, entities, the name matcher, and so on) is managed by editing the Entity Model. The entity model is stored in ZooKeeper in XML format. You can edit that XML in the Application Builder entity model page. After editing the XML, click Save Changes to save your modifications. Modifications to the entity model are automatically uploaded to ZooKeeper and become effective immediately. The following is the default entity model:

Copyright IBM Corp. 2001,2012

8.2-0

Chapter 2. Using the Application Builder Administration Tool

IBM InfoSphere Data Explorer Application Builder Configuration Guide

<?xml version="1.0" encoding="UTF-8"?> <cxo> <entity-definition default-searchable="false" identifier="@hash" name="user" store-name="user-store"> <alias chain="" name="natural_associations" recommendable="false"/> </entity-definition> <bootstrap-user-store name="user-store" /> </cxo>

Note
Be very careful when changing something that affects the administrative or login rights of an Application Builder administrative user. Incorrectly modifying these options could limit your ability to continue working on the application. External content (Widgets, Pages, Display Options) is managed in individual pages. Each individual page contains a YAML representation (space delimited key/value pairs and hashes) of that item. After editing the item, click Save Changes to save your modifications. Modifications are checked to ensure key/value pair validity before being automatically uploaded to ZooKeeper and become effective immediately. The following is an example of the YAML representation of a page:
home: index: - name: left_column size: 3 widgets: - name: center_column size: 6 widgets: - name: right_column size: 3 widgets:

In this example, home: is the initial key, which has a single value of index:. This index: value contains a hash of key/value pairs. Notice how the sub components are indented using spaces, all indentations must use the same number of spaces. If the number of spaces is inconsistent, the YAML becomes invalid (you can't use 2 spaces for some indent levels and 1 for others). The previous sample code represents the initial configuration of an application's home page. This page has a single view point of "index", which has three defined columns, each of which contain no widgets. You will use this kind of structure to organize all of your externally facing configuration settings.

Note
There is no local instance of the application configuration information. All values are stored in a ZooKeeper server. The local representation of this content that is contained the config directory of your Application Builder installation is only used to bootstrap ZooKeeper. These files are not updated when changes are made to the content that is stored in a ZooKeeper server.

2.1.3. Using the Entity Explorer


The Entity Explorer tool enables you to quickly visualize the entities that are defined in your entity model. You can access the Entity Explorer by clicking the Entity Explorer link in the header of the administration

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 2. Using the Application Builder Administration Tool

tool. The main Entity Explorer page displays a list of stores and entity types. Mousing over a store name highlights all of the entity types contained in that store. Mousing over an entity type highlight's the store where it resides. Both stores and entity types can be selected to display more information.

2.1.3.1. Exploring Entities


You can explore any of the stores or entity types by clicking on them. If available, the following information is presented when exploring a store: Rights: - the type of administrative rights that govern this store Activities: - information about the activity monitoring functionality of this store Activity Collection: - defines if this store is a collection of activities Monitor Collection: - defines if this store is monitored for activities. These activities can then be used to create a Activity Collection store. Entity Types: - the entity types that are located in this store If available, the following information is presented when exploring an entity: Belongs To: - the store that this entity belongs to Fields: - the fields that are stored within this entity Filters: - any filters that are applied to this extraction to assist in identifying the entity Aliases: - the aliases that are defined for this entity Associations: - a list of associations that exist for this entity. Each association is a link to the entity that this entity is associated to. From: - the entity that the association starts from To: - The entity that the from entity is associated with

2.1.3.2. Testing Entities


Before creating widgets, you will want to make sure that the information that is pulled from the backend is correct. To do that, you should extensively test your entity model with queries that the results are known. This is achieved by using the Entity Explorer test feature. By using this feature, you can view the raw data of the result before it is parsed by the widget configuration. You can test any entity that you are exploring by typing a query into the search box and clicking "Go". Any query that can be used to return entities can be entered into the search box, allowing you to test any aspect of your application deployment. When you test an entity, summary information is returned at the top of the page along with the contents of the top ten results.

2.2. Administrative Tasks Outside of the Administration Tool


Some parts of the Application Builder configuration must be performed outside of the administration tool. This includes startup and shutdown, web server configuration, custom widget creation, and modifying

Copyright IBM Corp. 2001,2012

8.2-0

Chapter 2. Using the Application Builder Administration Tool

IBM InfoSphere Data Explorer Application Builder Configuration Guide

the application style. The following subsections describe web server configuration, creating custom base widgets, and modifying the application style. System startup and shutdown is described in the data explorer installation guide.

2.2.1. Configuring the Web Server


The IBM InfoSphere Data Explorer Application Builder (and therefore any applications created with it) is powered by a IBM WebSphere Liberty Profile (WLP) server.

Note
Before modifying the configuration of your WebSphere server, the server must first be shut down. You can shut down the server using the server stop AppBuilder command from the wlp/bin directory of your Application Builder installation. The server can be restarted using the server start AppBuilder command. You can adjust the configuration of your Application Builder WLP server by editing the server.xml file in the AppBuilder/wlp/usr/servers/AppBuilder directory of your installation. The following default configuration is provided when you install the Application Builder.
<server description="AppBuilder"> <!-- Enable features --> <featureManager> <feature>servlet-3.0</feature> <feature>appSecurity-1.0</feature> </featureManager> <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9082" httpsPort="9088" /> <!-- Hard-coded username and password to allow initial configuration --> <quickStartSecurity userName="bootstrap-user" userPassword="password" /> <!-- Sample LDAP configuration --> <!-<ldapRegistry id="ldap" realm="SampleLdapADRealm" host="sample.ibm.com" port="389" ignoreCase="true" baseDN="CN=Users,DC=sample,DC=ibm,DC=com" bindDN="sample@sample.ibm.com" bindPassword="PASSWORD" userFilter="(sampleUserName=%v)" userIdMap="user:sampleUserName" ldapType="Microsoft Active Directory"> </ldapRegistry> --> <application type="war" id="AppBuilder" name="AppBuilder" location="${server.config.dir}/ apps/AppBuilder"> <application-bnd> <security-role name="AllAuthenticated"> <special-subject type="ALL_AUTHENTICATED_USERS" /> </security-role> </application-bnd> </application> <applicationMonitor updateTrigger="disabled"/> </server>

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 2. Using the Application Builder Administration Tool

This default configuration file describes the basic web server configuration (http port, application information, and so on), and some authentication methods. The bootstrap-user is defined by the line <quickStartSecurity userName="bootstrapuser" userPassword="password" />, which hard codes the bootstrap-user into the authentication mechanism of the WebSphere server. WebSphere passes this user into the Application Builder as authenticated. This means you can access the Application Builder without pre-configuring your authentication model in WebSphere. If you do not wish to attach an authentication model to your development environment, you can replace the quickStartSecurity node with a WebSphere BasicRegistry node. This node lets multiple users to be configured directly into the WebSphere server configuration. The standard BasicRegistry node is written as follows:
<basicRegistry id="basic" realm="customRealm"> <user name="bootstrap-user" password="password" /> <user name="user-1" password="password" /> <user name="user-2" password="password" /> . . . </basicRegistry>

Where each user node is a defined username and password. When a BasicRegistry is defined, any of the users listed in that node can be logged into the Application Builder. If you have not modified your Entity Model and Display, you should retain the bootstrap-user so that you will be able to initially access the administration interface. Additionally, as shown below, a sample ldapRegistry node is provided in the server.xml file. This node contains all the attributes that WebSphere needs to connect to an LDAP server.
<ldapRegistry id="ldap" realm="SampleLdapADRealm" host="sample.ibm.com" port="389" ignoreCase="true" baseDN="CN=Users,DC=sample,DC=ibm,DC=com" bindDN="sample@sample.ibm.com" bindPassword="PASSWORD" userFilter="(sampleUserName=%v)" userIdMap="user:sampleUserName" ldapType="Microsoft Active Directory"> </ldapRegistry>

Advanced configuration options including https and custom LDAP configuration configuration can be achieved by editing this file. You can find detailed WLP server configuration information in the WebSphere 8.5 documentation at the following URL: http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/index.jsp?topic=/com.ibm.websphere.wlp.doc/ topics/thread_twlp_devenv.html

Copyright IBM Corp. 2001,2012

8.2-0

Chapter 2. Using the Application Builder Administration Tool

IBM InfoSphere Data Explorer Application Builder Configuration Guide

2.3. Backing Up and Restoring the Application Builder and Application Content
The Application Builder stores all custom configuration information in a ZooKeeper database. Backing up the ZooKeeper database is described in the ZooKeeper documentation that is provided in the zookeeper-3.4.2/docs folder of your Application Builder installation. Additionally, you must backup server.xml file to retain any changes to the WebSphere configuration that you might have made.

10

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 3. Configuring Stores

Chapter 3. Configuring Stores


This chapter is still under development, and will contain a subset of the Data Explorer Engine User Guide. This content will be geared towards producing indexed collections that are ready to be used by an application. This will include suggestions on creating documents with the right contents, entity extraction, security, activity feed collections, tagging, and any best practices associated with the above items. Until this chapter is complete, you should reference the Data Explorer Engine User Guide for details on how to configure Data Explorer Engine Collections. This chapter will also include any best practices for connecting to user stores, including security considerations, limitations, and best practices.

Copyright IBM Corp. 2001,2012

8.2-0

11

Chapter 3. Configuring Stores

IBM InfoSphere Data Explorer Application Builder Configuration Guide

12

8.2-0

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 4. Defining an Entity Model

Chapter 4. Defining an Entity Model


This chapter describes the concept of an Application Builder entity model, defining stores, identifying entities, building an entity model, and exploring your entity model.

4.1. Entity Model Organization


An entity model is an XML description of the resources used by your application and their configurations. The location of any external repositories (stores) is defined. The contents and function of those stores is then expanded into entities and any relation (associations) between entities or entities and stores is specified. Additionally, any automated methods of creating associations (such as the name matcher) are also defined. Once an entity model is defined, it should be explored and tested using the Entity Explorer to ensure that the associations that have been created product the expected results. After an entity model has been validated, the user facing application can be built. An entity model uses the following structure in pseudo-code:
<?xml version="1.0" encoding="UTF-8"?> <entity-model> <velocity-instance> - Any Data Explorer Engines that you are connecting to <serves .../> - The collections that it can deliver </velocity-instance> <directory-store .../> - The User Store that you will connect to <collection-store .../> - The properties of each Collection Store <federated-store .../> - The properties of each Federated Store <entity-definition ...> - A description of each unique entity type in your applications <alias .../> - Any alias chains for this entity <association-definition ...> - Any associations for this entity <link .../> - The link describing this entity </association-definition> <field .../> - Any field mappings for this entity (can be to fields outside of this entity) <filter .../> - Any filters that will be applied to this entity </entity-definition> <name-matcher-configuration ...> - The name matcher configuration (if necessary) <classname ...> - The classes used to perform the name matching <stopword-list .../> - Any wordlists that will be used to augment the name matcher </name-matcher-configuration> <wordlist name="companies nullwords"> - List of words to augment the name matcher <word .../> </wordlist>

</entity-model>

Copyright IBM Corp. 2001,2012

8.2-0

13

Chapter 4. Defining an Entity Model

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Note
This pseudo-code is provided to give you an overview of a typical entity mode. It is not a valid implementation and should only be used for reference.

4.2. Defining Stores


There are two main types of stores that you will define in an entity model: a user store (directory-store), and collection stores. A user store is the mechanism that you will use to identify and populate all the users for your application (typically LDAP), and a collection store is an indexed collection of business data served by a Data Explorer Engine installation. A third type of store, a federated store, can also be used, and are also served by a Data Explorer Installation, but the content is not indexed by the Data Explorer Engine.

4.2.1. Defining a User Store


Typically, you will want to use your standard authentication mechanism (for example, a LDAP sever) to enable users to access your applications . This section describes how to define a user store for an LDAP server, assumes that you have already modified your WebSphere server to authenticate through LDAP (as described in the previous chapter), and also assumes that you are familiar with your LDAP configuration. An LDAP user store is defined by creating a directory-store node in your entity model. This node will typically look something like this:
<directory-store base-dn="CN=users,DC=intranet,DC=example,DC=com" connection-name="cxo-daemon@corp.vivisimo.com" connection-password="password" connection-url="ldap://intranet.example.com:389" group-base-dn="CN=Groups,DC=intranet,DC=example,DC=com" group-name-selector="cn" group-search-filter="(member={0})" name="active_directory" rights-default-acls="everyone&#10;nt authority\authenticated users" rights-domain-prefix="intranet\" user-group-selector="cn" user-search-filter="(sAMAccountName={0})" />

The example above can be copied and used in your entity model. It connects to the intranet.example.com LDAP server on port 389. You should modify this example to mirror your LDAP server settings. The node itself should be a child of the entity-modelnode. See the schema reference for additional information on the attributes of this node.

4.2.2. Defining Data Explorer Engine Stores


There are two components to defining Data Explorer Engine Stores. First, you must define the location of the Data Explorer Engine by creating a velocity-instance node. This node must be populated with names of the stores that the Data Explorer Engine instance will serve. After the velocity-instance and the collections it serves have been identified, the collections themselves (both indexed and federated) must be defined. A Data Explorer Engine installation is defined as follows in an entity model:

14

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 4. Defining an Entity Model

<velocity-instance password="password" url="http://example.com/vivisimo/cgi-bin/velocity?v.app=api-soap&amp;wsdl=1&amp;usetypes=true" username="administrator"> <serves name="collection1"/> <serves name="collection2"/> <serves name="federation1"/> <serves name="federation2"/> </velocity-instance>

Where the attributes of the velocity-instance node are defined as follows: password - the password of the administrative username that is used to access this Data Explorer Engine installation url - the URL to the SOAP api for this Data Explorer Engine. This will take the form of the path to your Data Explorer Engine (including virtual directory) followed by: cgi-bin/velocity?v.app=api-soap&wsdl=1&use-types=true username - the administrative user for this installation of the Data Explorer Engine. Each velocity-instance node must list any stores that it serves. These stores are listed individually in serves nodes with a name attribute that corresponds to a defined collection or federated store. For example:
<serves name="collection1" />

Each velocity-instance node should be a child of the entity-modelnode. After identifying your Data Explorer Engine installations, you should define all of the served stores.

4.2.2.1. Defining Collection Stores


A collection store is an indexed Data Explorer Engine store, and is defined by a collection-store node. A typical collection-store node looks something like this:
<collection-store activity-collection="boolean" collection-name="served-name" monitor-activities="boolean" name="store-name" rights="authentication" />

Where the attributes of the collection-store node are defined as follows: activity-collection - identifies whether this collection is a collection that stores activity feed information. An activity collection stores any activities that occurs on collections which have the monitor-activities attribute set to true. collection-name - the collection name that this store equates to, which is the same as the name attribute of the serves node that identifies the Data Explorer Engine installation which serves the collection. monitor-activities - if changes to this collection are to be stored as activities in the activity-collection

Copyright IBM Corp. 2001,2012

8.2-0

15

Chapter 4. Defining an Entity Model

IBM InfoSphere Data Explorer Application Builder Configuration Guide

name - an optional name to be used by the Application Builder for this collection store. rights - any rights considerations that need to be enforced for this collection store. Once a collection store has been defined, entities and their associations can be created that reference the store.

4.2.2.2. Defining Federated Stores


A federated store is un-indexed business data that is parsed by the Data Explorer Engine and delivered to the Application Builder as usable content, and is defined by a federated-store node. A typical federated-store node looks something like this:
<federated-store name="internal-name" source-name="engine-name"/>

Where the name attribute is the internal name that will be used by an application, and the source-name attribute is the name of the federated source on the associated Data Explorer Engine installation - this is the same as the name attribute of the serves node that identifies the Data Explorer Engine installation which serves the federated source.

4.2.3. Identifying Entities


After you have configured all of your stores, you will need to identify the entities in those stores and how they are linked to other entities and stores. This is done by creating entity definitions for each class of business content that needs to be tracked. These items will be present in your collection stores as contents either by being part of a structured data repository or via the use of entity extraction. Either way, creating these indexed collections is documented in the Data Explorer Engine User Guide. An Application Builder entity-definition node identifies the business objects that your users care about. The contents of the entity definition enable you to display the items that affect or are affected by those objects. Once complete, your entity definitions will give your users a 360 degree view of your data via the applications. Thinking about the entities that you need is the core of what makes your application useful. By specifying and entity by its definition rather than a set parameters, your application will automatically deliver the current state of the constantly changing business repositories. To do this, your entity definitions will contain the following components: Association - the connections between two fields in entities. Each association contains a link Field - the corresponding contents in a collection store. Each represents an aspect of the object, this can be the end point of an association, or simply an attribute of the business object that you want to display. Alias - a way of renaming an association or chain of associations to a manageable form. Multiple associations can be combined into the same alias. Filter - defines a value that is used to ensure that only objects that contain a specific content or content value are used as valid objects for this entity. A typical entity definition will look something like this:
<entity-definition default-searchable="false" identifier="@hash" name="entity name" storename="store"> <alias chain="connected association" name="alias-name" recommendable="false"/>

16

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 4. Defining an Entity Model

<association-definition name="association-name" to="entity"> <link from-field="from-link" fuzzy="boolean" to-field="to-link"/> </association-definition> <field external-name="field" name="mapped-to"/> <filter name="filter-name" value="filter-value"/> </entity-definition>

Entities may contain multiple aliases, associations, fields, and filters. Each entity must include an identifier, name, and store-name attribute. These attributes describe the store that the entity comes from, how it can be identified in that store, and how it is identified to other entity definitions for associations and to the application itself. The attributes of these nodes are described in full in the schema chapter of this document. Once your entity model is complete, you will be able to use the defined entities to deliver the application by creating pages and widgets that deliver your business data with a 360 degree view.

4.2.4. The Name Matcher


The Application Builder relies on being able to associate entities across repositories. The most common way to associate entities across repositories is by finding exact matches on metadata. For example, linking a user in active directory to accounts in a business repository by looking for all accounts in the business repository that have metadata on them containing the users name. But what do you do when a business repository contains Joseph User and active directory contains Joe User? The solution for slight differences in metadata across repositories is to use the name matcher. The name matcher configuration is attached to fields defined within an entity model. So, continuing with this example, we would need to attach a name matcher configuration to the name field in active directory and the name field in the business repository. This is done by making the name-matcher-configuration attribute on the field element equal the name attribute of a name-matcher-configuration element. You must then set the fuzzy attribute on the link element that associates the active directory users to the business repository accounts to true.

4.3. Exploring and Troubleshooting an Entity Model


You can explore the entities that you have created by accessing an entity model. Select the entity that you want to test from the Entity Explorer and select a query to enter (for example, the id of a unique entity). The Entity Explorer will then return the top ten results for that query (or less if there are fewer matches). You should perform extensive testing using the Entity Explorer to ensure that an entity model that you have created delivers the business object that you expect.

Copyright IBM Corp. 2001,2012

8.2-0

17

Chapter 4. Defining an Entity Model

IBM InfoSphere Data Explorer Application Builder Configuration Guide

18

8.2-0

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 5. Building Applications

Chapter 5. Building Applications


This chapter discusses the user application configuration, including: Pages, Widgets, Display, and User Help

5.1. Defining Pages


A page is a set of information that is presented to the user about a subject by rendering the widgets that are specified for that page. Pages are created and modified using the administration tool. Each page must have a name and a type. For the page to be valid, its name must match an existing entity type. Two exceptions are the pages named home and search. Home is the start page for a user while search is the screen reached when using the main search box. Both pages are of type index. The name will be the URL used to reach the page. The type is either index or show depending on whether the page will be listing entities or showing a single entity respectively. Each page is divided into columns, each of which can contain a number of widgets. The pages are defined using YAML. The following is a sample page configuration:
--- name: left_column size: 3 widgets: - sample_accounts - sample_twitter_search - name: center_column size: 6 widgets: - sample_activity_feed - name: right_column size: 3 widgets: - sample_recommendations - sample_links

The columns are defined in order and will be displayed on the page from left to right. Each column must be given a name and a size. The size of each column must be between 1 and 12. Each page has a total display width of 12 with additional columns being displayed below as the space is filled. A column contains a list of widgets to be displayed from top to bottom in the column referenced by widget ID.

5.2. Adding Widgets


Widgets can be created and edited using the administration tool. The widget configuration is stored as YAML consisting of a list of attributes. The configuration options available will change depending on the base widget. The following attributes are required to be present in a widget's configuration: based_on: supports: widget to use as base configuration to create a new widget list of pages where a widget can be used

the following options are also available to all widgets: display_name: ajax: help: text used as title of widget enables asynchronous loading of widget text to display when user clicks on help icon

Copyright IBM Corp. 2001,2012

8.2-0

19

Chapter 5. Building Applications

IBM InfoSphere Data Explorer Application Builder Configuration Guide

The following widget types can be used as the base for creating new widgets. Included with each is a sample YAML configuration that could be used to set up a widget. activity_feed delivers the latest activities from the information sources for the page
--based_on: activity_feed display_name: Sample Activity Feed supports: - home ajax: true # The associations that populate the activities associations: - followees - salesforce_user - salesforce_accounts # Default text to display in search box placeholder: Text # Maximum length of change text to display max_changes_value_length: 50

clusters

displays topic cloud related to current search


--based_on: clusters display_name: Sample Clusters supports: - searches ajax: true

entity_chart

graphically displays source data in chart form


--based_on: entity_chart display_name: Sample Chart supports: - home # http://api.highcharts.com/highcharts#chart.type chart_type: spline # http://api.highcharts.com/highcharts#chart.height chart_height: 250 # http://api.highcharts.com/highcharts#title.text chart_title: Sample Chart # Evaluates when chart is displayed display_conditions: @isDisplayed == true # http://api.highcharts.com/highcharts#xAxis xAxis: labels: step: 2 # http://api.highcharts.com/highcharts#yAxis yAxis: - title: text: Left Axis

20

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide


- title: text: Right Axis opposite: true

Chapter 5. Building Applications

# http://api.highcharts.com/highcharts#plotOptions plotOptions: column: stacking: normal # Data to display in chart series: # http://api.highcharts.com/highcharts#series.name - name: Series Name facet_id: 'series1' faceting: |

@subject.association.faceted_by(xpath("$type").with_facet_id(facet_id)).facet # http://api.highcharts.com/highcharts#series options: date_format: '%b %y' # http://api.highcharts.com/highcharts#series.name - name: Series Name facet_id: 'series2' faceting: |

@subject.association.faceted_by(xpath("$type").with_facet_id(facet_id)).facet # http://api.highcharts.com/highcharts#series options: yAxis: 1 date_format: '%b %y'

entity_information

displays information related to a single entity


--based_on: entity_information display_name: Sample Information supports: - home # Ruby code to display entity image image: @subject["image"].first # Ruby code to display entity title title: @subject.title # Provides a button to allow users to follow an entity when true. Defaults to true. follow: true # List of entity information info_groups: - info: # ERB code to display entity information - view: | &lt;% related_entity = @subject.related_entity.first %&gt; &lt;%= entity_link_to(related_entity.title, related_entity) %&gt; - info: # Ruby code to display entity information - eval: @subject["Phone"].first label: "Phone:"

entity_list

displays information for a related set of entities

Copyright IBM Corp. 2001,2012

8.2-0

21

Chapter 5. Building Applications

IBM InfoSphere Data Explorer Application Builder Configuration Guide


--based_on: entity_list display_name: Sample List supports: - home # Ruby code for which entities to display in widget entities: @subject.association.where(field("field").contains("value")) # Number of entities to display entity_count: 10 # Number of entities to display when show more is clicked show_more_entity_count: 20 # Text to display when no entities are returned no_entities_message: This entity has no related entities. # Ruby code for URL to all associated entities show_all_url: "'http://www.ibm.com'" # Display text for show_all_url link show_all_text: All opportunities # Display a list of links extra_links: # The label of the link - label: Label # Ruby code for URL of link url: "'http://www.ibm.com'" - label: Another Label url: "'http://www.ibm.com'" # Evaluates when widget is displayed display_conditions: @isDisplayed == true

entity_lookup

searches entities
--based_on: entity_lookup display_name: Sample Lookup supports: - home # Default text to display in search box placeholder: text # Number of entities to display entity_count: 5 # Text to display when no entities are returned no_entities_message: No entities related to lookup # Fields to search lookup_fields: - field1 - field2 # Entity types to search lookup_entity_types: - entity type 1 - entity type 2 # Associations to search entity_associations: entity type 1: - association1

22

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide


- association2

Chapter 5. Building Applications

entity_table

displays a table of entities


--based_on: entity_table display_name: Sample Table supports: - home # List of fields to filter by where_fields: - title - OwnerIdAsName # Ordered list of column definitions column_definitions: # CSS classes added to column - class: class-name class-name2 # Column header title title: Header Title # Ruby code evaluated for table cell content content: entity_link_to @entity.title, @entity, :title => @entity.title # The order of the columns starting at 0 aTargets: - 0

entity_table_filter

limits results returned in entity table based on user query


--based_on: entity_table_filter display_name: Sample Filter supports: - home # Default text to display in search box placeholder: text

flip

stores multiple widgets and allows user to flip between them by clicking an icon
--based_on: flip display_name: Sample Flip supports: - home ajax: true # List of widgets contained in the flip widget widgets: - widget_id_1 - widget_id_2

i_frame

displays external content

Copyright IBM Corp. 2001,2012

8.2-0

23

Chapter 5. Building Applications

IBM InfoSphere Data Explorer Application Builder Configuration Guide


--based_on: i_frame display_name: Sample IFrame supports: - home ajax: true # Size of iframe height: 400px width: 455px # External source for iframe url: http://www.ibm.com

refinement

allows user to limit search by a condition


--based_on: refinement display_name: Sample Refinement supports: - searches # The refinement group's identifier identifier: Identifier # The field to facet by when making refinements facet_by: field('field')

search_results

displays list of search results


--based_on: search_results display_name: Sample Search Results supports: - searches # Maximum length of search result titles max_title_length: 80

shared_content

displays list of entities contained within a space


--based_on: shared_content display_name: Sample Shared Content supports: - home

spotlight

displays promoted content


--based_on: spotlight display_name: Sample Spotlight supports: - searches # Ruby code evaluated to find content to promote entity: entity_type("promotion").requesting(1).where(@query).first

24

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 5. Building Applications

# Ruby code to display promoted entity's image image: @entity["image"].first # Ruby code to display promoted entity's title title: @entity.title # List of information to display able promoted entity info: # Ruby code to display promoted entity's information - mail_to @entity['mail'].first

twitter_search

returns recent tweets on search term


--based_on: twitter_search display_name: Sample Tweets supports: - home # String used to search Twitter search_string: "#ibm" # Alternatively, ruby code to build a search string search_string_eval: @subject.title.to_s # Number of tweets to request number_to_request: 3

useful_links

list of links for the user


--based_on: useful_links display_name: Sample Useful Links supports: - home # Number of links to show entity_count: 3 # Number of links to display when show more is clicked show_more_entity_count: 10 # Allows users to add links when true. Default is true. allow_user_links: true # List of links to display links: # The title of the link - title: Link Title # Ruby code for URL of link url: "'http://www.ibm.com'"

5.3. Configuring Display Options


Display options control how entities are displayed to the user as well as enabling and configuring certain application-wide features. The ID of a display option must either match the name of the entity it applies to or be one of a small set of keys that control application-wide features. These application-wide keys are:

Copyright IBM Corp. 2001,2012

8.2-0

25

Chapter 5. Building Applications

IBM InfoSphere Data Explorer Application Builder Configuration Guide

application searches space

application-wide settings that do not pertain to a specific feature. settings pertaining to the search page and widget. settings pertaining to the Shared Spaces feature.

An example display option for the entity type product is show below.
--display_name: Product fields: - external_name: rel-date display_name: Release Date image_url: "@entity.image_url.first"

26

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 6. Using the Application Builder Schema

Chapter 6. Using the Application Builder Schema


This chapter provides a referencable schema for the Application Builder. This schema is preliminary, and is subject to change and expansion.

6.1. Application Builder Schema Reference


This document provides reference information for the elements, the attributes that can appear on those elements, the complex types (abstracted forms of elements), the element groups (logical groups of related elements), and attribute groups (logical groups of related attributes) that make up the schema used in the entity models for Data Explorer Application Builder applications.

Note
The schema that is presented in this section is under development, and may change in the future. It has not been refined to remove redundancies, and is a work in progress.

6.1.1. Elements
The following sections provide reference information for the elements that you may see/use in Application Builder XML entity definition files.

6.1.1.1. alias

Name
alias Defines a convenient short NAME that can be used to refer to a CHAIN of association names within an ENTITY-DEFINITION Attributes name (Text required.) - A convenient NAME used to refer to a specified CHAIN. Most NAMEs are custom, ENEITY-DEFINITION-specific values, though the Application Builder uses a standard natural_associations NAME that is used to identify expected relationships between different ENTITY-DEFINITIONs. Examples of natural associations are account names or users within multiple ENTITY-DEFINITIONS that share a common data source. chain (Text required.) - Identifies the CHAIN of ASSOCIATION-DEFINITIONs that an ALIAS defines a short NAME for. Specifying an empty string for this field indicates that no chain is associated with the specified NAME. Specifying an empty CHAIN is only used to set the standard natural_associations chain to null, indicating that no natural_associations are available for the current ENTITY-DEFINITION. recommendable (Boolean ) - Determines whether the Application Builder recommender service should build recommendations for this ALIAS

Copyright IBM Corp. 2001,2012

8.2-0

27

Chapter 6. Using the Application Builder Schema

IBM InfoSphere Data Explorer Application Builder Configuration Guide

6.1.1.2. association-definition

Name
association-definition Defines one or more LINK relationships between two ENTITY-DEFINITION elements. If an ASSOCIATION-DEFINITION does not contain any LINK elements, a LINK is established to every entity in the target ENTITY-DEFINITION. Attributes link : (Zero or more) - The mapping of fields from one ENTITY-DEFINITION that defines its association to another ENTITY-DEFINITION name (Text required.) - An attribute whose value provides a string that is used to identify or provide content for an associated element to (Text required.) - Specifies the NAME of another ENTITY-DEFINITION that this ASSOCIATIONDEFINITION defines an association TO sortby (Text ) - Defines an XPath expression that is used to sort on the NAMEd field. This value is used to standardize the order in which values are retrieved from the source of the ENTITY-DEFINITION that is identified in the TO attribute. Children Choose any number of these in any order. link : (Zero or more) - The mapping of fields from one ENTITY-DEFINITION that defines its association to another ENTITY-DEFINITION

6.1.1.3. classname

Name
classname Identifies a Java class that will be used to match names in the current NAME-MATCHER-CONFIGURATION Attributes name (Text required.) - Identities the NAME of a Java class to use for name matching

6.1.1.4. cluster-collection-store

Name
cluster-collection-store Attributes activity-collection (Boolean required.) - Identifies whether the search collection that is specified by the COLLECTION-NAME attribute is used to store activity feed data collection-name (Text required.) - Specifies the actual name of the associated collection in a VELOCITY-INSTANCE monitor-activities (Boolean required.) - If "true", specifies that the search collection that is identified by the COLLECTION-NAME attribute will be actively monitored for updates and those changes reported in the activity feed

28

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 6. Using the Application Builder Schema

name (Text required.) - An attribute whose value provides a string that is used to identify or provide content for an associated element base-collection - The name of the search collection template that was used to create the distributed collection n-shards (xs:integer ) - The number of physical storage allocation units that are associated with this collection

6.1.1.5. collection-store

Name
collection-store Attributes activity-collection (Boolean ) - Identifies whether the search collection that is specified by the COLLECTION-NAME attribute is used to store activity feed data collection-name (Text required.) - Specifies the actual name of the associated collection in a VELOCITY-INSTANCE monitor-activities (Boolean ) - If "true", specifies that the search collection that is identified by the COLLECTION-NAME attribute will be actively monitored for updates and those changes reported in the activity feed name (Text required.) - An attribute whose value provides a string that is used to identify or provide content for an associated element rights - The mechanism used to retrieve user-specific group access rights that are used when searching the collection that is associated with a COLLECTION-STORE. Possible values are: the name of the field from which group information will be retrieved Example: rights="memberOf" a period-separated set of ASSOCIATION-DEFINITION NAMEs, terminated by a period that is followed by the name of the field from which group information will be retrieved Example: rights="sharepoint_rights.rights" "groups" - uses the group-base-dn, group-search-filter, and group-search-selector attributes of the DIRECTORY-STORE element to perform a recursive query and retrieve group information

6.1.1.6. cxo

Name
cxo A legacy name for the primary parent element in an Application Builder entity model.

6.1.1.7. directory-store

Name
directory-store An element whose attributes provide the information necessary to contact and retrieve user and group information from an LDAP server

Copyright IBM Corp. 2001,2012

8.2-0

29

Chapter 6. Using the Application Builder Schema

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Attributes base-dn (Text required.) - The distinguished name of the associated DIRECTORY-STORE to search for entities. When searching for groups, the value of the GROUP-BASE-DN is used. connection-name (Text required.) - The login of a user with sufficient privileges to read from the associated DIRECTORY-STORE connection-password (Text required.) - The plaintext password of the CONNECTION-NAME user connection-url (URI required.) - The URL of the associated DIRECTORY-STORE group-base-dn (Text ) - The subtree of the associated DIRECTORY-STORE from which desired GROUP-NAME-SELECTOR (direct and indirect group) values will be read. A user's group must have the GROUP-BASE-DN, but the user still must have the BASE-DN. group-name-selector (Text ) - Specifies the attribute of a user that will be used in conjunction with the value of the GROUP-SEARCH-FILTER attribute to determine group membership. The value of this attribute replaces the value of "{0}" for the currently logged-in user in the GROUP-SEARCH-FILTER string. Indirect groups of the original user (groups that matching groups belong to), are resolved using the same mechanism. group-search-filter (Text ) - Filtering criteria used to select group values using the GROUP-NAMESELECTOR name (Text required.) - An attribute whose value provides a string that is used to identify or provide content for an associated element rights-default-acls (Text ) - Default group Access Control List (ACL) entries that are provided by the associated DIRECTORY-STORE rights-domain-prefix (Text ) - The Active Directory/LDAP domain prefix for users in the associated DIRECTORY-STORE user-search-filter (Text required.) - Filtering criteria used to select users. The value of this attribute replaces the value of "{0}" in the specified string with the name of the currently logged-in user.

6.1.1.8. entity-definition

Name
entity-definition The abstraction of a type of fundamental data used by the Application Builder and various alternate ways to refer to that data Attributes default-searchable (Boolean required.) - Determines whether the NAMEd entity is searchable by default ("true") or not ("false"). If you do not explicitly specify an entity definition that you want to search, all entity types that have this attribute set to "true" will be searched. identifier (Any of: @hash, sAMAccountName required.) - Used to locate and retrieve data from the search collection specified in the STORE-NAME attribute, the value of this attribute is either the external system field from which instances of entity data are retrieved, or a custom "@hash" keyword. An example of the former is the value "sAMAccountName", which would be used to locate user informa-

30

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 6. Using the Application Builder Schema

tion in a DIRECTORY-STORE. If the "@hash" keyword is specified, data about each instance of an entity is retrieved using an internally-generated hash value based on the unique identifier (vse-key) for each document in the associated collection. name (Text required.) - An attribute whose value provides a string that is used to identify or provide content for an associated element store-name (Text required.) - The name of a DIRECTORY-STORE, COLLECTION-STORE, or FEDERATED-STORE in which values associated with this ENTITY-DEFINITION are stored Children Choose any number of these in any order. alias : (Zero or more) - Defines a convenient short NAME that can be used to refer to a CHAIN of association names within an ENTITY-DEFINITION association-definition : (Zero or more) - Defines one or more LINK relationships between two ENTITY-DEFINITION elements. If an ASSOCIATION-DEFINITION does not contain any LINK elements, a LINK is established to every entity in the target ENTITY-DEFINITION. field : (Zero or more) - A NAMEd property of an ENTITY-DEFINITION that is mapped to the named property EXTERNAL-NAME in another data store filter : (Zero or more) - Identifies the NAME of a field in the associated ENTITY-DEFINITION and a default filter VALUE to be used when requesting data from the associated ENTITY-DEFINITION

6.1.1.9. entity-model

Name
entity-model The top-level element in an XML resource or entity configuration file for Application Builder Children Choose 1 to unbounded of these in any order. cluster-collection-store : (At least 1 ) - An element whose attributes provide the information necessary to identify and use a Velocity search collection whose storage may be distributed across multiple systems collection-store : (At least 1 ) - An element whose attributes provide the information necessary to identify and use a Velocity search collection directory-store : (At least 1 ) - An element whose attributes provide the information necessary to contact and retrieve user and group information from an LDAP server entity-definition : (At least 1 ) - The abstraction of a type of fundamental data used by the Application Builder and various alternate ways to refer to that data federated-store : (At least 1 ) - An element whose attributes provide the information necessary to identify and use values that are retrieved from an external search site or collection name-matcher-configuration : (At least 1 ) - Configuration values for the name-matcher to use when trying to resolve names within the search collection that is identified by NAME
Copyright IBM Corp. 2001,2012 8.2-0 31

Chapter 6. Using the Application Builder Schema

IBM InfoSphere Data Explorer Application Builder Configuration Guide

velocity-instance : (At least 1 ) - Identifies a Velocity server that serves search collections which are used by the application that you are developing wordlist : (At least 1 ) - Specifies a set of WORD elements that are referred to by this element's NAME. Different sets of WORDs are used in different ways.

6.1.1.10. federated-store

Name
federated-store An element whose attributes provide the information necessary to identify and use values that are retrieved from an external search site or collection Attributes name (Text required.) - An attribute whose value provides a string that is used to identify or provide content for an associated element source-name (Text required.) - The name of the back-end source that is used to provide federated search results

6.1.1.11. field

Name
field A NAMEd property of an ENTITY-DEFINITION that is mapped to the named property EXTERNAL-NAME in another data store Attributes name (Text required.) - An attribute whose value provides a string that is used to identify or provide content for an associated element external-name (Text required.) - The name of the associated FIELD in the other data store name-matcher-configuration (Text ) - The NAME of a NAME-MATCHER-CONFIGURATION element that defines the classes that should be used when mapping between the local NAME and remote EXTERNAL-NAME fields, and the NULLWORD-LIST and STOPWORD-LIST lists used during name matching cluster-weight (xs:integer ) - The importance to assign to the NAMEd field when building clusters for the associated ENTITY-DEFINITION

6.1.1.12. filter

Name
filter Identifies the NAME of a field in the associated ENTITY-DEFINITION and a default filter VALUE to be used when requesting data from the associated ENTITY-DEFINITION Attributes name (Text required.) - Specifies the NAME of the content element to be used in the FILTER value (Text required.) - Specifies the VALUE that should be used when requesting data from an associated ENTITY-DEFINITION

32

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Chapter 6. Using the Application Builder Schema

6.1.1.13. link

Name
link The mapping of fields from one ENTITY-DEFINITION that defines its association to another ENTITY-DEFINITION Attributes to-field (Text required.) - The field in the target ENTITY-DEFINITION that is linked to by the FROMFIELD attribute in the source ENTITY-DEFINITION from-field (Text required.) - The field in the source ENTITY-DEFINITION that is linked to the TOFIELD in the target ENTITY-DEFINITION fuzzy (Boolean ) - Specifies whether a match must be exact ("false") or whether the name-matcher can be used to identify potential matches ("true")

6.1.1.14. name-matcher-configuration

Name
name-matcher-configuration Configuration values for the name-matcher to use when trying to resolve names within the search collection that is identified by NAME Attributes acronym-length (xs:integer ) - The maximum length of a string that should be considered as a possible acronym in addition to being evaluated as an actual name name (Text required.) - An attribute whose value provides a string that is used to identify or provide content for an associated element nullword-list (Text ) - The name of a WORDLIST that contains WORD elements that should be dropped from an input list when examining the elements in that list for possible name matches Children Choose any number of these in any order. classname : (Zero or more) - Identifies a Java class that will be used to match names in the current NAME-MATCHER-CONFIGURATION stopword-list : (Zero or more) - An element whose NAME attribute identifies a WORDLIST that is which are used during name matching

6.1.1.15. stopword-list

Name
stopword-list An element whose NAME attribute identifies a WORDLIST that is which are used during name matching Attributes name (Text required.) - An attribute whose value provides a string that is used to identify or provide content for an associated element

Copyright IBM Corp. 2001,2012

8.2-0

33

Chapter 6. Using the Application Builder Schema

IBM InfoSphere Data Explorer Application Builder Configuration Guide

6.1.1.16. velocity-instance

Name
velocity-instance Identifies a Velocity server that serves search collections which are used by the application that you are developing Attributes password (Text required.) - The plaintext password that is associated with the specified USER-NAME url (URI required.) - The URL of the WSDL for a Velocity instance username (Text required.) - An administrative user of this VELOCITY-INSTANCE Children Use these in the listed order. The sequence may repeat 1 to unbounded times. serves : (At least 1 ) - An empty element whose NAME attribute identifies a search collection that is available from a VELOCITY-INSTANCE

6.1.1.17. wordlist

Name
wordlist Specifies a set of WORD elements that are referred to by this element's NAME. Different sets of WORDs are used in different ways. Attributes name (Text required.) - An attribute whose value provides a string that is used to identify or provide content for an associated element Children Use these in the listed order. The sequence may repeat 0 to unbounded times. word : (Zero or more) - An element whose NAME attribute identifies a word in a WORDLIST Attributes: name (Text required.) - An attribute whose value provides a string that is used to identify or provide content for an associated element

34

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Appendix A. Notices and Trademarks

Appendix A. Notices and Trademarks


This information was developed for products and services offered in the U.S.A.

A.1. Notices
IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not grant you any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A.

For license inquiries regarding double-byte character set (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:
Intellectual Property Licensing Legal and Intellectual Property Law IBM Japan Ltd. 1623-14, Shimotsuruma, Yamato-shi Kanagawa 242-8502 Japan

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other

Copyright IBM Corp. 2001,2012

8.2-0

35

Appendix A. Notices and Trademarks

IBM InfoSphere Data Explorer Application Builder Configuration Guide

programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:
IBM Corporation J46A/G4 555 Bailey Avenue San Jose, CA 95141-1003 U.S.A.

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee. The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us. Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only. This information is for planning purposes only. The information herein is subject to change before the products described become available. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. The sample programs are provided "AS IS", without warranty of any kind. IBM shall not be liable for any damages arising out of your use of the sample programs. Each copy or any portion of these sample programs or any derivative work, must include a copyright notice as follows: (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. Copyright IBM Corp. _enter the year or years_. All rights reserved. If you are viewing this information softcopy, the photographs and color illustrations may not appear.

36

8.2-0

Copyright IBM Corp. 2001,2012

IBM InfoSphere Data Explorer Application Builder Configuration Guide

Appendix A. Notices and Trademarks

A.2. Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at http:// www.ibm.com/legal/us/en/copytrade.shtml. The following terms are trademarks or registered trademarks of other companies: Adobe is a registered trademark of Adobe Systems Incorporated in the United States, and/or other countries. Intel and Itanium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Microsoft, Windows and Windows NT are trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. The United States Postal Service owns the following trademarks: CASS, CASS Certified, DPV, LACSLink, ZIP, ZIP + 4, ZIP Code, Post Office, Postal Service, USPS and United States Postal Service. IBM Corporation is a non-exclusive DPV and LACSLink licensee of the United States Postal Service. Other company, product or service names may be trademarks or service marks of others.

Copyright IBM Corp. 2001,2012

8.2-0

37

Appendix A. Notices and Trademarks

IBM InfoSphere Data Explorer Application Builder Configuration Guide

38

8.2-0

Printed in USA

SC19-3976-00

You might also like