Early review: Master Data Services November CTP

So, what Master Data Services (MDS) is? This is Master Data Management solution from Microsoft. So what Master Data Management is? Tool that help to store master data in the enterprise. What Master Data is? This is key data, like your customers, products, etc. Interesting?

SQL 2008

Abstract Intention

What you can expect from MDM solution? First of all central data storage. Some sort of the schema designer. Some sort of support for schema versions. API to access data. API to put data. Simple business rules. Validation. Built-in user interface to data.

And yes MDS has all this stuff. The problem that MDS implements most of them in totally unusable manner. But let go closer. To get proofs you have to install this guy. If you are OK to trust me, just skip installation section.

Installation of the Master Data Services November 2009 CTP

Master Data Services is part of the SQL Server 2008 R2 64-bit, so you have to download one. You may notice 64-bit. This is important. MDS is bounded only with 64-bit version.

After download complete, you will have self-extracting archive. Unzip.

I am not sure why, but MDS works only with SQL Server 2008 R2 databases. So you have to install SQL 2008 R2 database engine, even if you have for example SQL 2008. This installation is not any different from regular installation. BTW, MDS installer is not part of the SQL 2008 R2 installer. Do not worry about this.

And now final step. Search for masterdataservices.msi within setup folder. Execute it. Click few Nexts and you are done!

Usage, Administrator perspective

You have to start from configuration. Almost everything is intuitive, so I will not step here.

After configuration, you can start design you Master Data. I said you can?

To design entity you have to give it name, say if it hierarchical. No magic here. Next step is define attributes. Each field will take at list 1 minute to add. UI is very slow. Now imagine entity Customer with 30 fields. It is evil.

Probably next step is business rules. Unfortunately, this part of the designer does not work even in IE. What is interesting here, is may be “start workflow” action. But cannot test this.

Fehhh. Deploy. No magic here. This is unexpected, but it works.

Now, you can start explore/add/update your data. Seems this also works. But even SharePoint has more usable UI.

Data API, Developer perspective

I do not even know how to start. It is unbelievable. Retrieve data API is direct access to the SQL Views in a database! But this not the end! Can you guess what is the name of the view for the entity Customer in Invoicing model? Yes! It is “viw_SYSTEM_2_6_CHILDATTRIBUTES”, where 2 is Invoicing and 6 is Customer. The Matrix. BTW, the same magic with import operations. And this API is targeted as primary integration API!

Management API, Developer perspective

Management API is implemented with WCF. Looks pretty developer unfriendly. For example for some reasons localization stuff are arguments of every call, why not headers? Many out parameters.

Probably future of this stuff

This is kind of unproven information.

  1. MS will implement integration with other products. SharePoint, Dynamics and BizTalk among them;
  2. MDS will provide secondary Data API. MDS will implement OData, so we will have normal REST based API;

And my conclusion

I think that we need such tool. But MS should not reject what they already have.

For example, SQL Modeling Services has a way better ability to manage schema, edit data and so on. Why not just to employ SQL Modeling Services to do this job? Another example is SharePoint Foundation. It already covers most of the scenarios MDS has. I am just wander if folks from MDS seen SharePoint Foundation 2010. They are not even comparable from UI perspective.

Well, at least for now, this product is unusable and could be safely skipped. Looking forward for total rewrite in v2.