Working with Applications

Applications provide business users and data stewards with a customized access to the master data and with human workflows for managing this master data.

Introduction to Applications

The model contains entities describing all the master of the enterprise. Business users and data stewards require specific access to the master data the hub, depending on their roles and privileges.

This access should:

For example, a deployed model contains customer, contact, employee and cost center entities:

Such an access to specific access to the master data is defined in Semarchy Convergence for MDM using Applications.

An application provides the following features:

Tip: From a single holistic model that includes all the master data domains ( customers, suppliers, products, HR, etc.), you can define several applications ( Customer Data Hub, Product Information Management, HR Hub etc.) for all the business roles and responsibilities of the enterprise. An application will expose to users the data and workflows appropriate to their roles.

Applications

An application is made up of the following components:

The Home Dashboard, Search feature and Entities are automatically generated. The Application Structure, Folders, Business Object Views and Human Workflows are created as part of the application design.

Note: When accessing an MDM hub (a data edition), you can select one of the applications deployed with this data edition. If you select no application, a default application showing the Home Dashboard, Search feature and Entities is used.

Objects and Views

In an application, business users can browse and edit the content of the MDM Hub using user-friendly views called Business Object Views.

A business object view joins two elements:

Design Process

When designing an application, the Semarchy designer creates:

  1. Various Forms Views and Table Views to define the layout of the entities used in the application.
  2. Various Business Objects by assembling Entities Objects (from the entities) and organizing them through Transitions (based on the relations).
  3. Various Business Object Views that will state how these business objects must be displayed using the configured form and table views.

Note: Business Objects, Form and Table views can be reused in several Business Object Views across the applications attached to the model. The business object defines a functional group of related entities. The business object view defines how a business object is displayed in a specific application.

Table Views

Table views are views used to display a list of records for a given entity.

Such a table has is an ordered list of Table Attributes (columns in the table), and each attribute displays a SemQL expression built from the attributes of the entity. It is possible for all attributes to provide a Custom Label for the table attribute as well as a Display Type .

For example, to display a list of Employee records, we define two table views:

The first view will be used in most cases, and the second view will be relevant for applications dedicated to HR users.

The example below shows the SimpleEmployeeList table view in action in an application.

Form Views

Form views are views used to display the details for one record for a given entity.

A form view is organized in ordered Form Sections that contains an ordered list ordered list of Form Section Attributes.

Similarly to the attributes of the Table Views, the form section attributes:

Form sections support multiple columns layouts. When a multiple columns layout is chosen for a section, the attributes are distributed evenly in the columns of the section. Form views also support multiples columns layouts. Forms section are distributed evenly in the of the form view.

The example below shows an example form view for the employee entity in action. This form view has two section labeled Overview and Contact Information. The Overview section uses a 2 column layout.

Display Types

Each form section attribute or table attributes can be specified with a Display Type. The display type defines the graphical component used to display the attribute value in the table of form view. The graphical component can be constrained in size using Height and Width properties.

Note that certain display types are appropriate only for displaying certain type of data. If the display type selected is not suitable for the data stored in the attribute, a fallback display type appropriate for the data value is automatically used. For example, attempting to display a Numeric attribute with an Image display type will not display an image but revert to a Single-Line Text Field display type.

The available display types are listed in the following table:

Display Component Attribute Type Supported Description
Single-Line Field All, except List of Values. Displays a textual version of the information on a single line.
Multi-line Field String, LongText Displays a textual version of the information on multiple lines. The field height can be specific in number of lines.
Image String, LongText, Binary Displays the image content stored in the value. The height and/or width can be specified in pixels. If a dimension is unspecified, the image scales automatically.
Embedded Content String, LongText, Binary Displays in an embedded browser the content of the attribute. Use this type to display any application data or document supported in a browser (PDF, Video, etc.). The height and/or width can be specified in pixels. Note that in table views, the content will be displayed in a popup dialog linked from the table view.
Embedded URL String, LongText Displays an embedded browser that displays the content linked by the URL specified in the attribute. Use this type to display any application data or document supported in a browser (PDF, Video, etc.). The height and/or width can be specified in pixels. In table views, the content will be displayed in a popup dialog linked from the table view. Note: This display type renders a blank frame in most browsers if the referenced URL prevents frame/iframe embedding using “X-Frame-Options” in the HTTP response header.
Hyperlink String, LongText Displays a hyperlink contained in the attribute value.
List of Values List of Values Displays a single value or multi-value LOV selector
Checkbox String, LongInteger, Integer, ShortInteger, ByteInteger, Boolean Displays a checkbox representing a boolean value.
Date Picker Datetime, Timestamp Displays a date chooser.

Business Objects

A Business Object is a composite object made up from a set of related entities. It is a functional subset of the model.
For example, the Company Hierarchy business object includes information from the Cost Center and the Employee entities, and uses the relations that link employees to managers, cost centers to parent cost centers, and employees to cost centers.

Entities used in the business object are defined as Entity Objects. A given entity may appear several times in the same business object. For example, the Customer entity may be used in a business object twice, once to describe the Domestic Customers and once for the International Customers. An entity object is a direct link to an entity, associated with a Filter.

Transitions enable the navigation between entity objects within a given business object. The transitions are created based on the relationship references defined between the entities. For example, if the Cost Center entity is related to the Employee entity through the Employee has Cost Center reference relationship, it is possible in a business object to create a transition to navigate from the cost center to the reporting employees.

A business object is always defined with a Root Entity Object. This root entity object is the entry point of the business object.
For example, in the Company Hierarchy business object, the root entity object is created from the Cost Center entity, filtered to only return the root cost centers in the hierarchy of cost centers (that is those with no parent cost center).

Business Object Views

A Business Object View defines how a business object is displayed:

Business object views are defined within an application, and serve two purposes:

  1. They are used to browse data in a user friendly way from the Application Structure.
  2. They are used to edit data in the hub as part of a Data Entry Activity.

The following example shows one instance of the CostCenter business object, displayed through a business object view. The CostCenter business object uses CostCenter as its root object (filtered to show only the root cost centers), and has transitions to the Child Cost Centers (this transition recurses to show an infinite depth of cost centers) and to the cost center’s Reporting Employees. The transitions appear as master/detail pages when accessing the form views, and as hierarchies in the outline.

Human Workflows

Human Workflows enable business users to manage the data in the MDM hub via an application.
When users want to manage the master data, they initiate an Activity based on a predefined human workflow. This activity follows the workflow through Transitions and Tasks which are assigned to roles, claimed, processed and then completed by users. The last task of a workflow can submit (or cancel) the data changes done in the activity, and start a data certification process with these changes.

There are two types of human workflows in Semarchy:

Workflow Lifecycle

A workflow is a set of tasks, linked by transitions. A running or completed workflow instance is called an Activity.
An activity is initiated from an Application. When an activity runs, it executes a single task at a time. A task is assigned to a role declared in Semarchy. Such a task can be claimed by a user having this role. This user then can perform data entry or duplicate management operations. When the task is completed, the user completes the task and moves it through a transition to another task.

The task may finish the activity either by a submit or a cancel operation. The cancel operation cancels any duplicate management or data entry action, and the submit operation submits into the hub the data entry or duplicate management transaction. After a submit operation, an integration job is started to certify the changes performed in the activity.

Transaction

An activity carries along a Load Transaction (equivalent to an external load) which contains the duplicates modified or the records manually entered by the users. This transaction attached to the activity, and is transferred with the activity when a task is assigned to a role. This enables multiple entry/edition points and validations steps as part of the workflow.

Creating an Application

An application provides a customized access to the MDM Hub.

To create an application:

  1. Right-click the Applications node and select Add Application.... The Create New Application wizard opens.
  2. In the Create New Application wizard, check the Auto Fill option and then enter the following values:
  3. The application always shows its Application Structure. Select whether the other sections of the application should be displayed:
  4. Click Finish to close the wizard. The Application editor opens.
  5. In the Description field, optionally enter a description for the Application.

Tip: It is possible to create multiple applications for a single model and to support different views to this model. For example, a simple application for users browsing the hub through the Business Object Views, another application supporting in addition data entry workflows, and a third application for data stewards showing in addition the details of the entities.

Creating Views and Objects

Views and object define how business users and data stewards see the MDM hub content in an application.

Creating Table Views

A Table View provides a layout for displaying a list of records for a given entity.

To create a table view:

  1. Right-click the Table Views node under an entity and select Add Table View.... The Create New Table View wizard opens.
  2. In the Create New Table View wizard, enter the following values:
  3. Click Finish to close the wizard. The Table View editor opens.

To add attributes to a table view:

  1. In the Table View editor, in the Attributes table, click the Add Table Attributes button. The Create New Table Attribute wizard opens.
  2. In the Attributes list, select the entity attributes that you want to add to the table view and then select Add >>. These attributes are added to the Displayed Attributes list. Note that you can select not only attributes from the entity, but also attributes of entities related to the current entity (For example, an employee’s Cost Center name).
  3. Click Finish. The attributes are added in the table view Attributes list.
  4. To edit a given table view attribute:
    1. Double click the attribute in the Attributes list.
    2. Click the Edit Expression button in front of the SemQL Expression field to create complex expressions for the table attribute.
    3. Select Use Custom Label option and enter a value in the Label column to specify a custom label for this table attribute. Note that if the SemQL expression is a simple entity attribute, the label will default to the label of this attribute.
    4. Expand the Display section of the editor, and select a Display Type for the table attribute. Optionally set the Width and Heigth for the selected graphical component.
    5. Use the breadcrumb to return to the table view editor.
  5. Repeat the process to add all the attributes required for this view.
  6. Press CTRL+S to save the table view.

Creating Form Views

A Form View provides an organized multi-column layout for displaying a given entity record in a form. It is composed of several Form Sections, each section containing Form View Attributes arranged on multiple columns.

To create a form view:

  1. Right-click the Form Views node under an entity and select Add Form View.... The Create New Form View wizard opens.
  2. In the Create New Form View wizard, enter the following values:
  3. Click Finish to close the wizard. The Form View editor opens.

To add a form section:

  1. In the Form View editor, in the Sections table, click the Add Form Section button. The Create New Form Section wizard opens.
  2. In the Create New Form Section wizard, check the Auto Fill option and then enter the following values:
  3. Click Finish to close the wizard. The form section is added to the Sections list. Use the Move Up and Move Down to organize the sections order.
  4. Repeat the previous steps to create all the sections of the form.

To add an attribute to a form section:

  1. In the Form View editor, double-click a section in the Sections table. The Form Section editor opens.
  2. Click the Add Form Attribute button. The Create New Form Section Attribute wizard opens.
  3. In the Attributes list, select the entity attributes that you want to add to the section and then select Add >>. These attributes are added to the Displayed Attributes list. Note that you can select not only attributes from the entity, but also attributes of entities related to the current entity (For example, an employee’s Cost Center name).
  4. Click Finish. The attributes are added in the form section Attributes list.
  5. To edit a given form section attribute:
    1. Double click the attribute in the Attributes list.
    2. Click the Edit Expression button in front of the SemQL Expression field to create complex expressions for the attribute.
    3. Select Use Custom Label option and enter a value in the Label column to specify a custom label for this attribute. Note that if the SemQL expression is a simple entity attribute, the label will default to the label of this attribute.
    4. If the attribute is a complex or a foreign attribute, it is displayed by default in a compact form (with its Display Name) and can be expanded to display all its attributes. Check the Expanded by Default option if you want the attribute to be expanded by default.
    5. Expand the Display section of the editor, and select a Display Type for the section attribute. Optionally set the Width and Heigth for the selected graphical component.
    6. Use the breadcrumb to return to the section editor.
  6. Repeat the process to add all the attributes required for this view.
  7. Press CTRL+S to save the form view.

Creating Business Objects

A Business Object is a composite object made up from a set of related entities. It is a functional subset of the model.

To create a new business object:

  1. Right-click the Business Objects node and select Add Business Object.... The Create New Business Object wizard opens.
  2. In the Create New Business Object wizard, enter the following values:
  3. Click Next.
  4. In the second page of the Create New Business Object wizard, check the Auto Fill option and then enter the following values:
  5. Click Next.
  6. Enter a Root Filter expression for the Business Object. This filter selects only the records of the root entity that should appear when opening the business object. For example, in a business object representing the hierarchy of Cost Centers, we should filter only the cost centers with no parent cost center. The navigation to child cost centers will be defined later in the business object.
  7. Click Finish to close the wizard. The Business Object editor opens.
  8. Press CTRL+S to save the new business object.

After creating a business object, only the records of the root entity filtered by the root filter are displayed (for example, the root Cost Centers of the hierarchy). To include more entities in the business object (for example, child Cost Centers or Employees reporting to the cost centers), it is necessary to create Transitions to other Entity Objects.

You can create transitions from the root entity object or from any entity object in the business object.

To create transitions:

  1. Create a transition from the root entity object or from another entity object:
  2. In the Create New Business Object Transition wizard, enter the following values:
  3. Click Next.
  4. The target of the transition may be either a New Entity Object or an Existing Entity Object:

Tip: It is possible to create hierarchies with infinite depth by creating a transition from an entity object to itself. For example, to create a hierarchy of cost centers, create a business object with a Cost center as the root entity object (call it CostCenterEO) and a root filter selecting only the cost centers with no parents (e.g.: ParentCostCenter is null). Then add a transition using the self-relation linking parent and child cost centers, and transition to the existing CostCenterEO.

Creating Business Object Views

Warning: Before creating the Business Object Views, make sure that the appropriate business objects are created and that forms and table views exist for all the entities involved in these business objects.

To create a business object view:

  1. Right-click the Business Object Views node and select Add Business Object View.... The Create New Business Object View wizard opens.
  2. In the Create New Business Object View wizard, check the Auto Fill option and then enter the following values:
  3. Click Next.
  4. In the second page of the wizard, enter the following values:
  5. Click Finish to close the wizard. The Business Object View editor opens.
  6. In this editor, in the Business Object View Entities table. Review the Form/Table Views associated with the business object’s entity objects. To change or set one of these views:
    1. Double-click entity object or transition in the Business Object View Entities table. The Entity Object Form/Table View editor opens
    2. In the BO View Entity Definition section, select the * ...* (Select a Value) button in front Form/Table View field.
    3. In the view selector, select one of the views defined for this entity and then click OK
    4. Use the breadcrumb on top of the editor to return to the Business Object View editor.
  7. Repeat the previous step to assign the correct view to each entity object and transition.
  8. Press CTRL+S to save the editor.

Tips for Creating Views and Objects

Creating Views for Specific Purposes

It is recommended to create different business objects/table/forms views for specific purposes.
From the same business object, it is possible to design several different views that serve a variety of purposes.

For example, create different business object views for browsing (they would include a relevant subset of the attributes) and for data entry (they should include most attributes). Business object views used only for data entry should be create with the Visible flag un-selected, so that they do not appear in the application structure.

Selecting Attributes for Views

The form/table views views designed and used in a business object view define the attributes visible when the business object is used.

It is possible to reduce the amount of information displayed using views to the content that is relevant for a given application. Nevertheless, for data entry purposes, it is necessary to use views that allows entering or modifying required attributes, as explained in the following points:

Warning: When creating a business object view for the purpose of creating data, make sure that either the SourceID (fuzzy matching entity) or the primary key attribute (ID matching entity with Manual ID generation) is included in the form views used for edition. These fields are mandatory for creating new records.

Organizing the Application with Folders

You can use folders to organize the business object views in the application.

Creating Folders

To create a folder:

  1. Double-click the Folders node under the application. The Application opens on the Folders section.
  2. Click the Add Root Folders button to create a root folder, or select an existing folder and select Add Child Folder... to create a sub-folder. The Create New Folder wizard opens.
  3. In the Create New Folder wizard, check the Auto Fill option and then enter the following values:
  4. Click Finish to close the wizard. The Folder is added to the list of folders.

Moving Business Object Views into Folders

You can select the folder containing a business object view when creating this business object view, or change it afterwards.

To move a business object view into a folder:

  1. In the application, expand the Business Object Views node and then double-click the business object view. The Business Object View editor opens.
  2. In the Business Object section of this editor, select the ... (Select a Value) button in front Folder field.
    1. In the folder selector, select one of the folders of the application and then click OK
  3. Press CTRL+S to save the editor.

Creating Human Workflows

Human Workflows enable business users to manage the data in the MDM hub via an application.

Creating a New Duplicate Management Workflow

To create a duplicate management workflow:

  1. Right-click the Human Workflows node and select Add Duplicate Management Workflow.... The Create New Duplicates Workflow wizard opens.
  2. In the Create New Duplicates Workflow wizard, check the Auto Fill option and then enter the following values:
  3. Click Finish to close the wizard. The Duplicates Workflow editor opens.

Creating a New Data Entry Workflow

To create a data entry workflow:

  1. Right-click the Human Workflows node and select Add Data Entry Workflow.... The Create New Data Entry Workflow wizard opens.
  2. In the Create New Data Entry Workflow wizard, check the Auto Fill option and then enter the following values:
  3. Click Next. In the next page, select the actions available for this workflow:
  4. Click Next.
  5. In the Business Object Views page, select a Business Object View in the Available BO Views list and then click the Add >> button to add it to the Selected BO Views.
  6. Repeat the previous operation to add other BO Views to this workflow.
  7. Order the Business Object Views using the Move Up and Move Down buttons. The Business Object Views are displayed in this order at at run-time.
  8. Click Finish to close the wizard. The Data Entry Workflow editor opens.

The Workflow Editor

The workflow editor displays the workflow as a diagram. This diagram is used to configure, add tasks and transitions to the workflow.

This workflow contains by default the following elements:
* A Start Event that represents the startup point for this workflow. All the start tasks are linked from this event.
* An End Event that represents the completion point for this workflow. This event is preceded by two built-in tasks called Submit Data and Cancel Data that represent the submit and cancel operations that finish a workflow.

Note: It is possible to link the start event to your tasks, but your tasks cannot link directly to the end event. They must transition to the built-in Submit Data and Cancel Data tasks that finish the workflow.

Configuring the Workflow

The workflow can be configured from the Properties view. Click the background of the workflow diagram to open the workflow properties.

All workflow have the following properties sections:

Data Entry workflows have specific properties sections:

Duplicate Management workflows have specific properties sections:

Adding a Task

To add a task from the diagram:

  1. In the Workflow diagram, select the Add Task tool in the Palette.
  2. Click the diagram. The Create New Task wizard appears.
  3. In the Create New Task wizard, check the Auto Fill option and then enter the following values:

The new task appears in the diagram. If it is the first task added to this workflow, it is linked from the start event.

Configuring a Task

A task selected in the workflow is configured from the Properties view.
The Name and Definition properties section contains the following properties: Name, Label, Description and Assigned to Role.

For data entry workflows' tasks, it is in addition possible to:

Tip: Task-specific Business Object Views help deliver an optimal experience for the data entry process. Enrichers triggered in tasks add interactivity in the data entry. Validations on tasks enforce data quality as part of the data entry process by proactively detecting errors.

Overrriding Business Object Views in Tasks

A task of a data entry workflow can override the default business object views from the workflow and use a different set of business object views.

Setting Business Object Views on tasks allows workflow designers to specialize the data entry experience for each task of the workflow. For example, a first task uses a Business Object View to edit simple attributes, and a second (optional) task uses a different one to edit advanced attributes.

To override business object views in tasks:

  1. Select the task in the workflow diagram. The Properties view displays this task’s properties.
  2. Select the Business Object Views section in the Properties view.
  3. Click the Define Managed Business Object Views button in the Properties view toolbar. The Manage Tasks dialog opens.
  4. Select the appropriate Available Business Object Views and click the Add >> button to add them to the Selected Business Object Views
  5. Order the Business Object Views using the Move Up and Move Down buttons. The Business Object Views are displayed in this order at at run-time.
  6. Click Finish to close the dialog.
  7. Select the Name and Definition section in the Properties view.
  8. Select the Override BO Views option. This option must be selected in order to take into account the BO Views of the task instead of those from the workflow.

Configuring Enrichers and Validations in Tasks

A task of a data entry workflow can provide interactive feedback to the user. This feedback includes:

The following sections are available in the Properties view for configuring the interactive feedback for data entry tasks:

Note: Enrichers triggered in a task modify the data entered in the transaction. The modified data is persisted in the transaction.

The triggers for validations and enrichers in a given task are:

Note: When they have the same execution trigger, enrichers are always executed before validations.

Tip: The validations at a task level have an informational purpose, and do not prevent a user from entering incorrect data. You may prevent the user from proceeding with the workflow using transition validations. See Configuring Enrichers and Validations in Transitions for more information.

Adding a Transition

A transition links to tasks in the diagram.

To add a transition from the diagram:

  1. In the Workflow diagram, select the Add Transition tool in the Palette.
  2. Select a task the diagram or the Start event. Keep the mouse button pressed, and move the cursor to the next task in the workflow, or the built-in Submit or Cancel tasks.
  3. Release the mouse button.

The transition is created and a link appears between the two elements in the diagram.

Note: Transitions have a direction. If a transition goes from Task_A to Task_B, it only means that you can move in the activity from Task_A to Task_B. If you want to move from Task_B to Task_A, then you must create another transition in the other direction.

Configuring a Transition

A transition selected in the workflow is configured from the Properties view.
The Name and Definition properties section contains the following task properties: Name, Label and Description. Label and description are customized only if the Use Custom Label option is selected. By default, a transition is named after the target task of this transition.

Configuring Enrichers and Validations in Transitions

A transition of a data entry workflow can enforce data quality checks. These checks warn the user of possible data issues and can optionally block the transition.

The following sections are available in the Properties view for configuring the checks for data entry transitions:

Note: Selected enrichers are always executed before validations.

Warning: Validations marked as Block prevent the workflow from proceeding through the transition. Validation marked as Warn may be ignored by the user.

Validating an Application

An application or a component of the application (business objects, workflow) must be validated to ensure its correct behavior after deployment and raise possible issues. For example, in a workflow, a task that cannot be reached or a task that cannot lead to the end of the workflow.

To validate the application or one component from the diagram:

  1. In the Model Design view, select the node corresponding to your application, business process or human workflow, right-click and then select Validate.
  2. The validation process starts. At the end of the process, the list of issues (errors and warnings) is displayed in the Validation Log view. You can click an error or waning to open the object causing this issue.

The workflow is also validated as part of the overall model validation.