Applications

The <applications> and child <application> element within the topology file define the indexes, file stores, and WAR file for the application.

An <application> element has the following attributes:

Attribute Description
name The value must be opal-server in this version of i2 Analyze.
host-name

The hostname of the server where the application is located.

http-server-host Determines whether the HTTP Server is configured by the deployment toolkit.

Set to true to configure the HTTP Server, or false not to configure the HTTP Server.

The following sections explain how to define the indexes, file stores, and WAR file for an application.

File stores

The <application> element contains a child <file-stores> element that defines the file stores that are used by the application. The location attribute specifies the file path to use for each file store. The other attributes must be left with their default values.

WAR files

The <application> element contains a child <wars> element. The <wars> element contains child <war> elements that define the contents of the i2 Analyze WAR files that are installed on the application server.

Each <war> element has the following attributes:

Attribute Description
target The type of WAR file to create. The following types are available:
  • opal-services-is
  • opal-services-daod
  • opal-services-is-daod
name The name of the WAR file.
i2-data-source-id A name that identifies the <i2-data-source> element for this WAR file.
context-root The URL that is used to access the WAR file.
  • For the opal-services-is and opal-services-is-daod WARs, this is opal by default.
  • For the opal-services-daod WAR, this is opaldaod by default.

The following child elements of the <war> element can be defined:

data-sources
Identifies the database that is used by this WAR in a child <data-source> element. The <data-source> element has the following attributes:
Attribute Description
database-id Identifies the database to use. This value must match the id value that is specified in a <database> element.

For the opal-services-is and opal-services-is-daod WARs, the <data-source> element must reference a database of type InfoStore.

create-database Determines whether the database is to be created on the server that is specified in the <database> element.

Set as true to create the database, or false not to create the database.

solr-collection-ids
Identifies the Solr collections that are used by this WAR in child <solr-collection-id> elements. Each Solr collection is identified by the collection-id attribute, the value of which must match the id value that is specified in a <solr-collection> element. For more information about the collections that you must reference, see <solr-collections>.

A Solr collection belongs to a Solr cluster. Each Solr cluster is identified by the cluster-id attribute, the value of which must match an id value that is specified in a <solr-cluster> element.

For more information about the ZooKeeper and Solr-related elements in the topology.xml file, see Solr and ZooKeeper.

file-store-ids
Identifies the file stores that are used by this WAR. Each file store is identified by the value attribute, the value of which must match an id value that is specified in a <file-store> element.
connector-ids
Identifies the connectors that are available in the opal-services-is-daod and opal-services-daod WARs in a child <connector-id> element. Each connector is identified by the value attribute, the value of which must match an id value that is specified in a <connector> element.

For more information about connector-related elements in the topology.xml file, see Connectors.

fragments
Specifies the fragments that are combined to create the WAR.
Note: All WARs must contain the common fragment.
In the example topology.xml file for the information-store-opal example deployment, the opal-server application definition is:
<application name="opal-server" host-name="" http-server-host="true">
  <wars>
    <war context-root="opal" name="opal-services-is" i2-data-source-id="infostore"
     target="opal-services-is">
      <data-sources>
        <data-source database-id="infostore" create-database="true" />
      </data-sources>
      <file-store-ids>
        <file-store-id value="chart-store" />
        <file-store-id value="job-store" />
        <file-store-id value="recordgroup-store" />
      </file-store-ids>
      <fragments>
        <fragment name="opal-services-is" />
        <fragment name="opal-services" />
        <fragment name="common" />
        <fragment name="default-user-profile-provider" />
      </fragments>
      <solr-collection-ids>
        <solr-collection-id collection-id="main_index" cluster-id="is_cluster" />
        <solr-collection-id collection-id="match_index1" cluster-id="is_cluster" />
        <solr-collection-id collection-id="match_index2" cluster-id="is_cluster" />
        <solr-collection-id collection-id="highlight_index" cluster-id="is_cluster" />
        <solr-collection-id collection-id="chart_index" cluster-id="is_cluster" />
      </solr-collection-ids>
    </war>
  </wars>
  <file-stores>
    <file-store location="" id="job-store" type="job-store" />
    <file-store location="" id="recordgroup-store" type="recordgroup-store" />
  </file-stores>
</application>
In the example topology.xml file for the daod-opal deployment, the opal-server application definition is:
<application http-server-host="false" name="opal-server" host-name="">
  <wars>
    <war context-root="opaldaod" name="opal-services-daod" i2-data-source-id="opalDAOD" target="opal-services-daod">
      <file-store-ids>
        <file-store-id value="recordgroup-daod-store" />
      </file-store-ids>
      <fragments>
        <fragment name="opal-services" />
        <fragment name="common" />
      </fragments>
      <solr-collection-ids>
        <solr-collection-id collection-id="daod_index" cluster-id="is_cluster"/>
      </solr-collection-ids>
    </war>
  </wars>
  <file-stores>
    <file-store location="" id="recordgroup-daod-store" type="recordgroup-store" />
  </file-stores>
</application>