Defining the contents of an Industry UseCase

It is recommended that you populate your directory structure with IUC content before you assemble a content pack (CFAR file). The contents of the IUC directories are described as follows (in alphabetical order), including their corresponding entries in the IUC manifest.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IndustryUseCase cfarTimeStamp="xxx" 
                 name=" iuc1_1" 
                 version="2.0.0.0" 
                 buildid="xxx">
</IndustryUseCase>
Descriptions for the XML items:
IndustryUseCase
Defines an ODM rules application.
cfarTimeStamp
Time stamp that represents when the cfar was built. This time is used as part of the swidtag build process.
name
Human readable name of the industry use case.
version
Version for this industry use case in the following format major.minor.maintenance.build
buildid
Use to identify the cfar build.

Analytics

This directory contains the computational analytics that are to be installed for the IUC. The analytics within Counter Fraud are composed of four parts; aggregation, identity, rules, and scoring. Aggregation is a form or a prerequisite for scoring, and so is contained with the scoring files. Aggregation provides three places where an extension can happen, as described in the following sections.
  • Identity

    Contains compressed files that are needed to provide custom use of IBM InfoSphere Identity Insight components. The expected file extension is .zip. If these artifacts exist, they currently must be installed manually.

  • Rules

    Contains business rules, which are composed of IBM Operational Decision Management (ODM) rules. The ODM rules are packaged for distribution as a normal Java JAR file, which is then imported into the ODM runtime. If configured these artifacts are in the cfm-industryuc.xml, these artifacts are deployed with the IUC.

    <ruleApps>
        <rule-app name="Rule AppName" 
                  description="optional" 
                  id="RULEAPP_ID">
          <annotation>rule-app annotation</annotation>
          <deployable type="odm" 
                      autodeploy="true" 
                      failOnError="true">
          /Analytics/Rules/RuleApp.jar</deployable>
        </rule-app>
      </ruleApps>
    Descriptions for the XML items:
    ruleApps
    Specifies the container for one or more rule-app elements.
    rule-app
    Defines an ODM rules application.
    name
    Specifies the human readable name of the application.
    description
    Describes the application use or intent.
    id
    Specifies the unique ID that is used to uniquely identify the app.
    annotation
    Use for more comments.
    deployable
    Describes a deployable artifact.
    type
    For rule-apps, the default deployable type is odm.
    autodeploy
    Indicates whether this item is to be deployed automatically. Values are true or false.
    failOnError
    Indicates whether a failure to deploy is reported and the processing is stopped; otherwise, ignore any failures. Values are true or false.
  • Scoring

    Contains PES files that are associated with an SPSS solution. Aggregation and scoring is commonly handled by SPSS. The PES files are the normal way to use the CADS. The PES file includes the STR streams and the CADS batch or real-time configuration and enablement of those streams. If configured in the cfm-industryuc.xml, these artifacts can be deployed with the IUC.

    Descriptions for the XML items:
    <analytics>
        <analytic name="Analytic Name" 
                  description="optional" 
                  id="ANALYTIC_ID">
          <annotation>annotation</annotation>
          <deployable type="spss" 
                      autodeploy="true" 
                      failOnError="true">
          /Analytics/Scoring/Analytic.pes</deployable>
          <spss-resources>
            <spss-datasources>
              <spss-datasource id="SPSS_DATASOURCE_ID" 
                               description="DataSource DSN" 
                               name="DataSource Name" 
                               dataSourceType="odbc" 
                               odbcDSN="CounterFraud"/>
            </spss-datasources>
            <spss-servers>
              <spss-server id="SPSS_SERVER_ID" 
                           description="Repository Server" 
                           name="Server Name" 
                           serverType="repository" 
                           systemProperty="CF.DM.SPSS.REPOSITORY.SERVER.URL"/>
            </spss-servers>
            <spss-credentials>
              <spss-credential id="SPSS_CREDENTIAL_ID" 
                               description="Repository Server credentials" 
                               name="Repository" 
                               j2calias="CFSPSSUser" 
                               securityProvider="native"/>
            </spss-credentials>
          </spss-resources>
        </analytic>
      </analytics>

    Descriptions for the XML items:

    analytics
    Specifies the container for one or more analytic elements.
    analytic
    Defines an SPSS analytic.
    name
    Specifies the human readable name of the analytic.
    description
    Describes the analytic use or intent.
    id
    Specifies the unique ID that is used to identify the analytic from others.
    annotation
    Use for more comments.
    deployable
    Describes a deployable artifact. The following three parameters define the artifact:
    type
    For analytics, the default deployable type is spss.
    autodeploy
    Indicates whether this item is to be deployed automatically. Values are true or false.
    failOnError
    Indicates whether a failure to deploy is reported and the processing is stopped; otherwise, ignore any failures. Values are true or false.
    spss-resources
    Specifies the container for one or more spss-resource element containers.
    spss_datasources
    Specifies the container for one or more spss-datasource elements.
    spss-datasource
    Defines an SPSS data source.
    name
    Specifies the human readable name of the spss-datasource.
    description
    Describes the spss-datasource use or intent.
    id
    Specifies the unique ID that is used to identify the spss-datasource from others.
    dataSourceType
    - Specifies the data source type that is used for the spss-datasource. Currently only odbc is supported.
    odbcDSN
    Specifies the data source name (DSN) that is used to identify the spss-datasource from others. This name will be visible in the SPSS server configuration.
    spss-servers
    Specifies the container for one or more spss-server elements.
    spss_server
    Defines an SPSS server.
    name
    Specifies the human readable name of the spss-server.
    description
    Describes the spss-server use or intent.
    id
    Specifies the unique ID that is used to identify the spss-server from others.
    serverType
    - Specifies the data source type that is used for the spss-server. Currently only repository or modeler is supported.
    systemProperty
    Specifies the ICFM system property that contains the server-specific URL (for example, http(s)://servername:port.
    spss_credentials
    Specifies the container for one or more spss-credential elements.
    spss_credential
    Defines an SPSS credential.
    name
    Specifies the human readable name of the spss-credential.
    description
    Describes the spss-credential use or intent.
    id
    Specifies the unique ID that is used to identify the spss-credential from others.
    J2calias
    Specifies the WebSphere Application Server J2C alias that contains the user ID and password to be used for the spss credential.
    securityProvider
    Specifies the security provider for the spss credential.

Applications

With an ICFM solution, a J2EE application might provide more functions for an IUC. This directory contains WebSphere® Application Server J2EE Enterprise Application EAR files, which might provide both backend and user interface functions.
<applications>
    <application name="Application Name" 
                 description="optional" 
                 id="APPLICATION_ID">
      <annotation>application annotation</annotation>
      <deployable type="was" 
                  autodeploy="true" 
                  failOnError="true">
      /Applications/Application.ear</deployable>
      <mdb-queue name="AppQueue" 
                 jndiName="jms/AppQueue" 
                 queueName="APP.QUEUE" 
                 description="optional"/>
      <mdb-activation-spec name="AppActivationSpec" 
                           destinationJndiName="APP.QUEUE" 
                           jndiName="jms/AppActivationSpec"   
                           description="optional"/>
    </application>
  </applications>

Descriptions for the XML items:

applications
Specifies the container for one or more application elements.
application
Defines a WebSphere Application Server application. Options are as follows:
name
Specifies the human readable name of the application.
description
Describes the application's use or intent.
id
Specifies the unique ID that is used to identify the application from others.
annotation
Use for more comments.
deployable
Describes a deployable artifact. The following three parameters define the artifact:
type
For application, the default deployable type is was.
autodeploy
Indicates whether this item is to be deployed automatically. Values are true or false.
failOnError
Indicates whether a failure to deploy is reported and the processing is stopped; otherwise, ignore any failures. Values are true or false.
mdb-queue
Defines a WebSphere Application Server JMS queue.
name
Specifies the name of the JMS queue.
jndiName
Specifies the JNDI name of the JMS queue.
queueName
Specifies the name of the WebSphere MQ Queue that the JMS queue refers to.
mdb-activation-spec
Describes a WebSphere Application Server JMS activation.
name
Specifies the name of the JMS activation specification.
destinationJndiName
States the name of the WebSphere MQ queue that the JMS activation specification refers to.
jndiName
States the JNDI name of the JMS activation specification. Values are true or false.

Data

This directory also contains SQL scripts that define the database tables specific for this solution, aggregation tables used by SPSS, and related database definitions.
<data-scripts>
    <data-script name="Data Script Name" 
                 description="optional" 
                 id="DATASCIRPT_ID" 
                 dbDelimiter=";">
      <annotation>data-script annotation</annotation>
      <deployable type="sql" 
                  autodeploy="true" 
                  failOnError="true">
      /Data/DS.sql</deployable>
    </data-script>
  </data-scripts>

Descriptions for the XML items:

data-scripts
Specifies the container for one or more script elements.
data-script
Defines a DB2 script.
name
Specifies the human readable name of the script.
description
Describes the scripts's use or intent.
id
Specifies the unique ID that is used to identify the script from others.
dbDelimeter
Defines the script statement delimiter.
annotation
Use for more comments.
deployable
Describes a deployable artifact. The following three parameters define the artifact:
type
For data-script, the default deployable type is sql.
autodeploy
Indicates whether this item is to be deployed automatically. Values are true or false.
failOnError
Indicates whether a failure to deploy is reported and the processing is stopped; otherwise, ignore any failures. Values are true or false.

LogicalObjects

This directory contains files are used for REST requests to create unique business objects. Each text file contains a JSON representation of a new business object that is coordinated with the definition in the IUC manifest.

<logical-objects>
    <logical-object name="Business Object Name" 
                    description="optional" 
                    id="LOGICALOBJECT_ID" 
                    contextCsvList="fac_context" 
                    objectType="logical_ui">
      <deployable type="lo" 
                  autodeploy="true" 
                  failOnError="false">
      /LogicalObjects/LogicalObject.json</deployable>
    </logical-object>
</logical-objects>

Descriptions for the XML items:

logical-objects
Specifies the container for one or more business object elements.
logical-object
Defines a business object.
name
Specifies the human readable name of the business object.
description
Describes the business object's use or intent.
id
Specifies the unique ID that is used to identify the business object from others.
contextCsvList
This value is a comma-separated list of contexts from the CFFACT.FRAUD_ASSESMENT_CONTEXT table.
objectType
This value is either logical_ui or logical_analytic.
annotation
Use for more comments.
deployable
Describes a deployable artifact.
type
For scripts, the default deployable type is lo.
autodeploy
Indicates whether this item is to be deployed automatically. Values are true or false.
failOnError
Indicates whether a failure to deploy is reported and the processing is stopped; otherwise, ignore any failures. Values are true or false.

Orchestration

Analysis flows are invoked in response to the Analysis Director receiving notification that data was (or is to be) imported into the system and scored. The Analysis Director determines which analysis flow to run based on a subscription registration model for five primary types within the ICFM data model.

Analysis flows within ICFM are commonly implemented as IBM Integration Bus (IIB) process flows. These flows are distributable as IIB BAR files that implement the ICFM analysis flow pattern. Analysis flows can also be implemented as WebSphere Application Server Message Drive Beans (MDBs), which are distributed as EAR files.

Integration flows are also commonly implemented as IIB process flows and are a means to deploy the IIB process flows and not directly register them into ICFM as analysis flows.

<orchestration>
    <integration-flow name="Integration Flow Name" 
                      description="optional" 
                      id="INTEGRATIONFLOW_ID">
      <annotation>orchestration annotation</annotation>
      <deployable type="iib" 
                  autodeploy="true" 
                  failOnError="true">
      /Orchestration/IntegrationFlows/IF.bar</deployable>
    </integration-flow>
    <analysis-flow name="Analysis Flow Name" 
                   description="optional" 
                   id="ANALYSISFLOW_ID">
      <annotation>analysis-flow annotation</annotation>
      <deployable type="iib" 
	         autodeploy="true" 
	         failOnError="true">
      /Orchestration/AnalysisFlows/AF.bar</deployable>
      <sysRef>AF.QUEUE.IN</sysRef>
      <queue>AF.QUEUE.ERROR</queue>
      <queue>AF.QUEUE.IN</queue>
      <queue>AF.QUEUE.OUT</queue>
      <queue>APP.QUEUE</queue>
      <brokerXml application="AF.appzip" 
	       relativePath="true" 
       updated="false">
      /Orchestration/AnalysisFlows/AF.barX/AF.appzip/META-INF/broker.xml</brokerXml>
      <contextRef>CONTEXT_ID</contextRef>
      <initialization-criteria>
        <initialization-criterion stereotype="event_type" 
	                         type="accident"/>
      </initialization-criteria>
      <assessment-actions>
        <assessment-action typeRef="FOLIO_AAT" 
	                  fraudValueRef="VALUE_ID" 
         	                  contextRef="CONTEXT_ID">
          <assessment-action-value id="AAV_ID" 
                                   type="createDescription">
          Description</assessment-action-value>
        </assessment-action>
      </assessment-actions>
    </analysis-flow>
  </orchestration>

Descriptions for the XML items:

orchestration
Specifies the container for one or more analysis flows, integration flow elements, or both.
integration-flow
Defines an integration flow.
name
Specifies the human readable name of the integration flow.
description
Describes the integration flow's use or intent.
id
Specifies the unique ID that is used to identify the integration flow from others.
annotation
Use for more comments.
deployable
Describes a deployable artifact.
type
For analysis flow and integration flow, the default deployable type is iib.
autodeploy
Indicates whether this item is to be deployed automatically. Values are true or false.
failOnError
Indicates whether a failure to deploy is reported and the processing is stopped; otherwise, ignore any failures. Values are true or false.
analysis-flow
Defines an analysis flow.
name
Specifies the human readable name of the analysis flow.
description
Describes the analysis flow's use or intent.
id
Specifies the unique ID that is used to identify the analysis flow from others.
sysRef
Specifies the name of the queue that is used when the analysis flow is registered with ICFM.
queue
Specifies the name of the WebSphere MQ queue to be created. There can be zero or more queues.
brokerXml
Specifies the security profile to be merged into the .bar file before deployment.
contextRef
ID reference to a fraud-assessment-context defined in the manifest.
initialization-criteria
Specifies the container for one or more initialization-criterion elements.
initialization-criterion
Defines an initialization criterion.
stereotype
Specifies the stereotype for the initialization criterion that is referenced in CFFACT.OBJECT_TYPE via stereotype.
type
The stereotype from the table defined in the CFFACT.OBJECT_TYPE table via the Name that was linked from the initialization criterion stereotype.
assessment-actions
Specifies the container for one or more assessment-action elements.
assessment-action
Defines an assessment action.
typeRef
ID reference to an assessment action type defined in the manifest.
fraudValueRef
ID reference to a fraud assessment context defined in the manifest.
contextRef
ID reference to a fraud assessment value defined in the manifest.
assessment-action-value
Defines an assessment action value and its label.
id
Specifies the unique ID that is used to identify the assessment action value from others.
type
Specifies the type of assessment action value to be created.

BatchJobs

This directory contains WebSphere Application Server J2EE Batch jobs, which can be deployed in the batch container that offers comprehensive features that make it suitable as an enterprise batch infrastructure provider.
<batch-jobs>
    <batch-job name="Saved_Job Name" 
               id="BATCH_JOB_ID" 
               description="Saved Job" 
               type="save" 
               xJCLFile="BatchJobs/Saved_Job.xml">
      <deployable failOnError="true" 
                  autodeploy="true" 
                  type="batch"/>
    </batch-job>
    <batch-job name="Scheduled Job Name" 
               id="SCHEDULED_JOB_ID" 
               description="Scheduled Job" 
               type="schedule" 
               submitJobName="CF_Batch_SPSS_Runner_Job">
      <deployable failOnError="true" 
                  autodeploy="true" 
                  type="batch"/>
      <batch-job-property name="property" 
                          type="string" 
                          value="property_value"/>
      <batch-schedule name="Scheduled_Job_Name" 
                      interval="daily" 
                      startTime="00:00:00"/>
    </batch-job>
  </batch-jobs>

Descriptions for the XML items:

batch-jobs
Specifies the container for one or more batch jobs.
batch-job
Defines a batch job.
name
Specifies the human readable name of the batch job.
description
Describes the batch job use or intent.
id
Specifies the unique ID that is used to identify batch job from others.
type
Specifies the type of batch job. Values are save, submit, schedule.
xJCLFile
Specifies path to the file to be opened and read (file contents is not validated).
submitJobName
Specifies the name of the saved job to be used if required.
annotation
Use for more comments.
deployable
Describes a deployable artifact.
type
For analysis flow and integration flow, the default deployable type is batch.
autodeploy
Indicates whether this item is to be deployed automatically. Values are true or false.
failOnError
Indicates whether a failure to deploy is reported and the processing is stopped; otherwise, ignore any failures. Values are true or false.
batch-job-property
Defines a property for the batch job.
name
Specifies the name of the batch job property to be used by the job.
type
Defines the type of the batch job property.
value
Specifies the value of the batch job property. If type file, this is the path to the file to be opened and read (file contents is not validated).
batch-schedule
Defines a schedule for the batch job to be created.
name
Specifies the human readable name of the batch schedule.
interval
Frequency of the batch job: daily, weekly, monthly.
dayOfWeek
Defines the day of the week when the job is to begin if interval is weekly. Values are as follows: sunday, monday, tuesday, wednesday, thursday, friday, or saturday.
dayofMonth
Defines the day of the month when the job is to begin if interval is monthly. Values 01-31.

META-INF

Directory that contains the cfm_industryuc.xml (manifest file).

Additional manifest elements

The following are elements in the manifest that do not contain elements in directories.

Assessment action types

When creating an analysis flow, it is optional to define the assessment actions types defined by that analysis flow. This portion of the manifest can be defined and referenced from more than one analysis flow. All assessment action types will be created if they do not already exist. Lookup performed by type.
<assessment-action-types>
    <assessment-action-type id="FOLIO_AAT" 
                            name="Create of Update Folio" 
                            type="folio"/>
  </assessment-action-types>

Descriptions for the XML items:

id
Specifies the unique ID that is used to identify assessment action type from others.
name
Human readable name of the assessment action.
type
stereotype of the assessment action that is defined in the CFCONFIG.ASSESSMENT_ACTION_TYPE table.

Fraud assessment context

Defines the fraud assessment contexts referenced in this manifest. All fraud assessment contexts are created if they do not already exist. Lookup performed by type.
<fraud-assessment-contexts>
    <fraud-assessment-context id="CONTEXT_ID" 
                              description="optional" 
                              name="Fraud Assessment Context" 
                              type="fac_context" 
                              initialState="alert_triage_review"/>
  </fraud-assessment-contexts>

Descriptions for the XML items:

id
Specifies the unique ID that is used to identify fraud assessment context from others.
description
Describes the fraud assessment context use or intent.
name
Human readable name of the fraud assessment context.
type
Stereotype of the fraud assessment context.
initialState
Specifies the initial state to set in any alert of this context defined in CFFOLIO.FOLIO_STATE.

Fraud assessment values

Defines the fraud assessment values referenced in this manifest. All fraud assessment values will be created if they do not already exist. Lookup performed by type.
<fraud-assessment-values>
    <fraud-assessment-value id="VALUE_ID" 
                            description="Low" 
                            name="Low" 
                            type="low"/>
  </fraud-assessment-values>

Descriptions for the XML items:

fraud-assessment-values
Specifies the container for one or more fraud assessment values.
fraud-assessment-value
Defines a fraud assessment value.
id
Specifies the unique ID that is used to identify fraud assessment value from others.
description
Describes the fraud assessment value use or intent.
name
Human readable name of the fraud assessment value.
type
Stereotype of the fraud assessment value.

Fraud context value mappings

Defines the fraud context value mapping between fraud assessment context and fraud assessment value. All fraud assessment mappings will be created if they do not already exist.
<<fraud-context-value-mappings>
    <fraud-context-value-map id="MAP_ID" 
                             contextRef="FRAUDASSESSMENTCONTEXT_ID">
      <fraud-context-value-map-score valueRef="VALUE_ID" 
                                     minScore="0"/>
    </fraud-context-value-map>
  </fraud-context-value-mappings>

Descriptions for the XML items:

fraud-context-value-mappings
Specifies the container for one or more fraud context value mappings.
fraud-context-value-map
Defines a fraud context value map.
id
Specifies the unique ID that is used to identify one fraud context value map from others.
contextRef
ID reference to a fraud assessment context defined in the manifest.
fraud-context-value-map-score
Defines a fraud context value map score.
valueRef
ID reference to a fraud assessment value defined in the manifest.
minScore
Score used to band the assessment to the fraud assessment value.

Industry usecase license tags

Each IUC should identify it is installed. The section will build the correct file required.
<iuc-tag>
    <swidtag softwareName="IBM Counter Fraud
Management 2.0 ContentPack" 
             softwareUniqueId="xxx" 
             softwareVersion="X.X.X.X" 
             persistentId="xxx"/>
  </iuc-tag>

Descriptions for the XML items:

iuc-tag
Specifies the container for one or more swidtags.
swidtag
The intention for this element is to be able to register the IUC to ICFM system to be able to report the IUC installed.
softwareName
Human readable name of the industry use case.
softwareUniqueID
Unique ID used by the industry use case.
softwareVersion
Version for this industry use case: major.minor.maintenance.build
persistentId
Tags should contain a PersistentId that is version independent (is not changed between releases).