Creating Master Data Services Objects

September 29, 2010

Master Data Services (MDS) is a master data management platform that allows you to create a centralized hub for your master data. Arshad Ali explores the different components of MDS followed by a step-by-step of how to create master data services' objects.

Introduction

Master Data Services (MDS) is a master data management
platform that allows you to create a centralized hub for your master data.
Keeping master data in an external centralized system as a single authorative
source helps to remove several master data challenges. This single authorative
master data source acts as a System of Record by integrating master data from
all the upstream sources and as a System of Entry by providing consistent
master data to all the downstream applications. In this article, I am going to
show you how to get started on Master Data Services, understand different
components of it and create master data services' objects.

How to go ahead...

MDS
objects creation is quite straightforward, the only important thing that you
need to plan in advance is what master data you want to manage with Master Data
Services; start with a small set of master data, which has solid business justification,
i.e. plan for incremental adoption. These are some of the steps which we
normally follow while working with it:

Decide
which data you want to manage  As I said before, the first thing that we need
to do is to decide which master data we want to manage with Master Data
Services.

Build
a model  Next we need to create different MDS objects for our master data; first,
we create a model for master data, which is nothing but a top-level container
for master data. Then we create entities inside the model that resembles a
table of relational database. Then we create different attributes (analogous to
column of relational table) and attribute groups for entities.

Load
data  Next we load data into the different entities of the created model.
There are three ways to load data to an MDS model. You can use Master Data
Manager UI to load it manually, you can consume web services to
programmatically load data and the third way is to automate the process of
integrating data into the MDS, which I will cover in greater detail in my next
article on MDS Data Integration.

Create
rules  You can create different business rules to validate the master data
coming to MDS; if any member violates this rule then it is considered invalid
and MDS does not let it go to downstream applications unless you fix it.

Establish
Notifications and SharePoint Workflows  You can set up MDS to receive
notification from it if invalid data comes into the model. Not only this, MDS
is integrated with SharePoint as well; this means you can set up to launch a
SharePoint workflow if invalid gets into the model.

Declare
Data Security  Next, you need to secure your master data; MDS allows
role-based security for securing both MDS objects and data that it contains. I
will be talking more about security in my next article.

Create
refresh processes  And now you need to define and setup a refresh process for
your master data. A model can be either in Open or Locked status/mode where
it will be available to accept master data changes; once all entries and data
validation is done, the model is switched to Committed mode where it cannot
be modified further and will be available to downstream applications for
consumption.

Share
the data  And last you need to create subscription views through which the
downstream applications will consume master data from MDS store.

Lets get going...

Launch
Master Data Manager UI and you will see these all options, depending on your
permissions on Master Data Services. System Administration allows you to
create different MDS objects, click on it to move ahead.

Figure 1 - Create MDS Objects

To
create a model, go to the Manage menu and the select Models as
shown below:

Figure 2 - Create Model 1

Next,
you will see the Model Maintenance screen where you need to click on the +
sign (Add Model) as shown below:

Figure 3 - Create Model 2

In
the next screen, specify the name of the model that you want to create, as
shown below. You can select, by default, to create an entity inside the model
with the same name, you can even specify to create an explicit hierarchy with
the same name and include all leaf members in the mandatory hierarchy, finally
click on the Save icon to save your changes.

Figure 4 - Create Model 3

Once a model is created, you would
create one or more entities inside it, which will actually hold the master
data. Go to the Manage menu again and click on Entities, this
time as shown below:

Figure 5 - Create Entity 1

On the Entity Maintenance screen,
select the model from the combo-box in which you would like to create an entity
(you can also see the list of entities created so far in the selected model)
and then click on the + sign (Add Entity) as shown below:

Figure 6 - Create Entity 2

On
the Add Entity screen, specify the name of the entity being created and select
whether you want to enable explicit hierarchies and collections for the entity
or not and finally click on the Save Entity button to create the entity as
shown below:

Figure 7 - Create Entity 3

After entity creation, the Entity Maintenance
screen will appear again with all the entities created so far in the selected
model. For example, you can see below that I have created three entities -
Product, ProductSubCategory and ProductCategory:

Figure 8 - Create Entity 4

You
can create as many as entities you require or can modify the existing entities
as per your need. While creating an entity, you will notice two attributes i.e.
Code and Name are added by default, Code attribute is a unique attribute and
behaves like a primary key of a relational table.

Figure 9 - Add Attribute 1

To
add additional attributes, click the + sign (Add leaf attribute) as
highlighted above and you will then see the Add Attribute screen as shown
below. An attribute can be either of Free-form type, Domain-based or File. The Free-form
attribute is something that accepts free form data that could be characters,
numbers, dates etc. or a combination of these. Domain-based attribute is very
much like a foreign key, which means the value for this attribute is populated
from any other related entity. For example, in Product entity, the attribute
ProductSubCategory will get its value from the ProductSubCategory entity. The File
type attribute is used to store documents, files, images etc.

Next
you need to specify the name of the attribute and its other related information
as shown below:

Figure 10 - Add Attribute 2

Attribute
group (a securable object) allows creating a group of logically related
attributes for consumption by a specific downstream application. To create an Attribute
Group go to the Manage menu bar and click on Attribute Groups
and a screen similar to the one shown below will appear. Select the model and
then the entity for which you want to create an attribute group and finally click
on the + sign (Add Attribute Group).

Figure 11 - Add Attribute Group 1

Next
you need to select available attributes of the selected entity to be part of
the attribute group as shown below:

Figure 12 - Add Attribute Group 2

Conclusion

Master
Data Services (MDS) is a master data management platform, which allows you to
create a centralized hub for your master data that behaves like a single
authorative source for your master data. In this article, I discussed how to
get started on Master Data Services, understand different components of it and
create master data services' objects, which is quite straightforward. In my
next article I will be talking about MDS data integration and security.