SlideShare a Scribd company logo
1 of 31
A big thanks to our sponsors 
26-11-2014
A big thanks to our sponsors 
26-11-2014
MDS – Used for more than just 
Master Data Management
About me 
Kenneth M. Nielsen 
Managing Consultant at Rehfeld 
kmn@rehfeld.dk 
@doktorkermit 
Linkedin.com/in/KennethMNielsen 
www.funkylab.com 
26-11-2014
Program 
 MDS – brief history 
 Scenario 
 Solutions 
 MDS as an application 
 Demo 
 MDS API 
 MDS Datamodel 
 Code Examples 
 ? 
26-11-2014
MDS – Brief history 
 Microsoft acquired Stratature MDM product 
titled +EDM in 2007 
 Shipped with SQL Server 2008 R2 
 Almost useless, in that state 
 Major improvements in SQL Server 2012 
release 
 No improvements in MDS for SQL Server 
2014 
26-11-2014
Scenario 
26-11-2014 
Approve or Dismiss
Scenario 
 Have to be able to calculate stockvalue after 
provision and excess 
 Have to be able to generate import file to 
Navision after calculation 
 Have to be easy to use, for controllers 
 MUST use data from Datawarehouse 
26-11-2014
Solutions 
 Develop an application solely for this purpose 
 Look for standard software from Microsoft, 
that we already paid for 
 Small changes / custom development is allowed 
 Keep the manual process 
26-11-2014
We chose 
 We chose Master Data Services from 
Microsoft 
 Comes out of the box with SQL Server 
2008r2/12/14 (Enterprise and BI) 
 Fairly easy to use 
 Add-in for Excel 
 Fairly easy to implement business rules 
 Custom workflows and Custom Business rules 
can be implemented 
 SQL Server already bought and paid for 
26-11-2014
Solution implemented 
26-11-2014 
MDS
Solution implemented 
 Data read daily from datawarehouse 
 Until freezedate is hit, the load stops 
 At freezedate, data is moved to separate 
MDS entities (lists) 
 When freezeperiod is over data, is loaded 
again. 
26-11-2014
Solution implemented 
26-11-2014 
1. Check if Version exists in MDS 
1. Yes - Then delete (to empty) 
2. No – Then copy from template 
2. Truncate MDS staging 
3. Move data into MDS staging 
4. Load data MDS staging to Model 
5. Validate Model
MDS API 
 Most operations can be started by T-sql or by 
stored procedures in SSIS 
 Open API, not like in Data Quality Service, 
where everything is encrypted 
 Not that much documentation at hand 
 A few blogposts so far, community is building 
 Use Profiler to listen and catch T-SQL and 
Stored procedure calls from MDS manager 
26-11-2014
Profiler Demo 
 Set up profiler 
 Navigate MDS manager 
26-11-2014
MDS Automation 
 Housekeeping packages 
 Create subscriptionviews 
 Lock Version 
 Unlock Version 
 Copy Version 
 Import Data to Model 
 Truncate Model 
 Disable Business Rules 
 Enable Business Rules 
26-11-2014
MDS Automation 
 Create Subscriptionviews via MDS 
 Slow process 
 Manuel process 
26-11-2014
MDS Automation 
 Create Subscriptionviews via SSIS or stored 
procedures 
 Fast 
 Automation 
 Meta data driven 
26-11-2014
MDS as application 
 Either in Browser (silverlight)
MDS as application 
 Or in Excel 
26-11-2014
MDS List 
 The controller can only see and 
edit his own data 
 And only the columns that need 
information from him 
26-11-2014
Custom Workflow i MDS 
 Almost no documentation – one article on 
technet http://tinyurl.com/nhaknla 
 Must be installed by hand 
 No good debugging 
 Blogpost on the way describing this in details 
on www.funkylab.com 
26-11-2014
Workflow DLL – C# 
 Remember to add references to the MDS workflow 
 Microsoft.MasterDataServices.Workflow; 
 Microsoft.MasterDataServices.WorkflowTypeExtender; 
 XmlNode xmlBusinessRule = 
dataElement.SelectSingleNode("//ExternalAction/Server_URL"); 
 string BusinessRule = xmlBusinessRule.InnerText; 
26-11-2014
Workflow DLL – C# 
using Microsoft.MasterDataServices.Workflow; 
using Microsoft.MasterDataServices.WorkflowTypeExtender; 
namespace EaOBusinessRule 
{ 
public class GNCustomWorkFlow : IWorkflowTypeExtender 
{ 
public void StartWorkflow(string workflowType, System.Xml.XmlElement dataElement) 
{ 
XmlNode xmlBusinessRule = dataElement.SelectSingleNode("//ExternalAction/Server_URL"); 
string BusinessRule = xmlBusinessRule.InnerText; 
switch (BusinessRule) 
{ 
case "CalculateTotals": 
26-11-2014 
ExecuteBusinessRule_CalculateAfterAdj(workflowType, dataElement); 
break; 
//case "do something else 
//ExecuteBusinessRule_CalculateSomethingElse(workflowType, dataElement); 
default: 
break; 
} 
}
Workflow DLL – C# 
 Attribute names in XML 
 Blanks will be replaced by _x0020_ 
 dataElement.GetElementsByTagName 
("Adjustment_x0020_Obsolete")[0].InnerText; 
26-11-2014
Workflow DLL – C# 
 Look up attributeID’s in MDS datamodel 
 EntityID is read from MDS XML 
 dataElement.GetElementsByTagName("Entity_ID")[0].InnerText; 
SELECT CAST([ID] AS VARCHAR(100)) AS [ID] 
FROM [mdm].[tblAttribute] AS attributes 
WHERE attributes.[Entity_ID] = " + EntityID.ToString() + " 
AND attributes.[Name] = 'Total Provision' 
26-11-2014
Custom Workflow i MDS 
 Configured by XML 
<applicationSettings> 
<Microsoft.MasterDataServices.Workflow.Properties.Settings> 
<setting name="ConnectionString" serializeAs="String"> 
<value>Server=10.200.10.160;Database=MDS;Integrated Security=SSPI</value> 
</setting> 
<setting name="WorkflowTypeExtenders" serializeAs="String"> 
<value>MDSWFS=EaOBusinessRule.GNCustomWorkFlow, EaOBusinessRule, ….</value> 
</setting> 
</Microsoft.MasterDataServices.Workflow.Properties.Settings> 
</applicationSettings> 
26-11-2014
Debugging Custom Workflow 
 Easiest way to debug is writeing to the 
console 
 Start workflow service in ”console mode” on 
the server where MDS is running 
 Microsoft.MasterDataServices.Workflow.exe 
–console 
26-11-2014
Debugging Custom Workflow 
26-11-2014
MDS Workflow Service 
 Manually install MDS Workflow service 
 Set up an Service Account 
 Change it to Automatically startup 
26-11-2014
26-11-2014

More Related Content

What's hot

Sql server briefing sept
Sql server briefing septSql server briefing sept
Sql server briefing sept
Mark Kromer
 
Introduction to Microsoft SQL Server 2008 R2 Analysis Service
Introduction to Microsoft SQL Server 2008 R2 Analysis ServiceIntroduction to Microsoft SQL Server 2008 R2 Analysis Service
Introduction to Microsoft SQL Server 2008 R2 Analysis Service
Quang Nguyễn Bá
 
Introduction to Microsoft SQL Server 2008 R2 Integration Services
Introduction to Microsoft SQL Server 2008 R2 Integration ServicesIntroduction to Microsoft SQL Server 2008 R2 Integration Services
Introduction to Microsoft SQL Server 2008 R2 Integration Services
Quang Nguyễn Bá
 
New IBM Information Server 11.3 - Bhawani Nandan Prasad
New IBM Information Server  11.3 - Bhawani Nandan PrasadNew IBM Information Server  11.3 - Bhawani Nandan Prasad
New IBM Information Server 11.3 - Bhawani Nandan Prasad
Bhawani N Prasad
 
Business Intelligence For It Professionals Part 2 Seamless Data Integration 90
Business Intelligence For It Professionals Part 2 Seamless Data Integration 90Business Intelligence For It Professionals Part 2 Seamless Data Integration 90
Business Intelligence For It Professionals Part 2 Seamless Data Integration 90
Microsoft TechNet
 

What's hot (20)

EIM Tutorial
EIM TutorialEIM Tutorial
EIM Tutorial
 
Dqs mds-matching 15042015
Dqs mds-matching 15042015Dqs mds-matching 15042015
Dqs mds-matching 15042015
 
Introduction to Microsoft’s Master Data Services (MDS)
Introduction to Microsoft’s Master Data Services (MDS)Introduction to Microsoft’s Master Data Services (MDS)
Introduction to Microsoft’s Master Data Services (MDS)
 
Bi an ia with sap sybase power designer
Bi an ia with sap sybase power designerBi an ia with sap sybase power designer
Bi an ia with sap sybase power designer
 
Master Data Management
Master Data ManagementMaster Data Management
Master Data Management
 
Master Data Management
Master Data ManagementMaster Data Management
Master Data Management
 
DQS & MDS in SQL Server 2016
DQS & MDS in SQL Server 2016DQS & MDS in SQL Server 2016
DQS & MDS in SQL Server 2016
 
Examining Master Data integration using BizTalk Server and SQL Server Master ...
Examining Master Data integration using BizTalk Server and SQL Server Master ...Examining Master Data integration using BizTalk Server and SQL Server Master ...
Examining Master Data integration using BizTalk Server and SQL Server Master ...
 
Make Your Decisions Smarter With Msbi
Make Your Decisions Smarter With MsbiMake Your Decisions Smarter With Msbi
Make Your Decisions Smarter With Msbi
 
Sql server briefing sept
Sql server briefing septSql server briefing sept
Sql server briefing sept
 
Informatica Products and Usage
Informatica Products  and UsageInformatica Products  and Usage
Informatica Products and Usage
 
Data Stagev8
Data Stagev8Data Stagev8
Data Stagev8
 
Sybase PowerDesigner Vs Erwin
Sybase PowerDesigner Vs ErwinSybase PowerDesigner Vs Erwin
Sybase PowerDesigner Vs Erwin
 
Introduction to Microsoft SQL Server 2008 R2 Analysis Service
Introduction to Microsoft SQL Server 2008 R2 Analysis ServiceIntroduction to Microsoft SQL Server 2008 R2 Analysis Service
Introduction to Microsoft SQL Server 2008 R2 Analysis Service
 
Introduction to Microsoft SQL Server 2008 R2 Integration Services
Introduction to Microsoft SQL Server 2008 R2 Integration ServicesIntroduction to Microsoft SQL Server 2008 R2 Integration Services
Introduction to Microsoft SQL Server 2008 R2 Integration Services
 
Data Warehouse approaches with Dynamics AX
Data Warehouse  approaches with Dynamics AXData Warehouse  approaches with Dynamics AX
Data Warehouse approaches with Dynamics AX
 
Business intelligence
Business intelligenceBusiness intelligence
Business intelligence
 
Informatica basics for beginners | Informatica ppt
Informatica basics for beginners | Informatica pptInformatica basics for beginners | Informatica ppt
Informatica basics for beginners | Informatica ppt
 
New IBM Information Server 11.3 - Bhawani Nandan Prasad
New IBM Information Server  11.3 - Bhawani Nandan PrasadNew IBM Information Server  11.3 - Bhawani Nandan Prasad
New IBM Information Server 11.3 - Bhawani Nandan Prasad
 
Business Intelligence For It Professionals Part 2 Seamless Data Integration 90
Business Intelligence For It Professionals Part 2 Seamless Data Integration 90Business Intelligence For It Professionals Part 2 Seamless Data Integration 90
Business Intelligence For It Professionals Part 2 Seamless Data Integration 90
 

Similar to Master Data Services - used for than just data

Microsoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations Presentation
Microsoft Private Cloud
 
KeyAchivementsMimecast
KeyAchivementsMimecastKeyAchivementsMimecast
KeyAchivementsMimecast
Vera Ekimenko
 
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
SpanishPASSVC
 
MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013
MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013
MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013
John Dalsgaard
 
Sap Solman Instguide Install Windows MaxDB
Sap Solman Instguide Install Windows MaxDBSap Solman Instguide Install Windows MaxDB
Sap Solman Instguide Install Windows MaxDB
wlacaze
 
Samuel Bayeta
Samuel BayetaSamuel Bayeta
Samuel Bayeta
Sam B
 

Similar to Master Data Services - used for than just data (20)

Microsoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations Presentation
 
Sql good practices
Sql good practicesSql good practices
Sql good practices
 
KeyAchivementsMimecast
KeyAchivementsMimecastKeyAchivementsMimecast
KeyAchivementsMimecast
 
SQL Server 2017 - Mejoras Impulsadas por la Comunidad
SQL Server 2017 - Mejoras Impulsadas por la ComunidadSQL Server 2017 - Mejoras Impulsadas por la Comunidad
SQL Server 2017 - Mejoras Impulsadas por la Comunidad
 
Oracle SOA Suite 12c - News and Overview
Oracle SOA Suite 12c - News and OverviewOracle SOA Suite 12c - News and Overview
Oracle SOA Suite 12c - News and Overview
 
Oracle soa suite 12c - News
Oracle soa suite 12c - NewsOracle soa suite 12c - News
Oracle soa suite 12c - News
 
MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013
MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013
MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013
 
RDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful MigrationsRDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful Migrations
 
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
 
MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013
MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013
MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013
 
Air Line Management System | DBMS project
Air Line Management System | DBMS projectAir Line Management System | DBMS project
Air Line Management System | DBMS project
 
Introduction to microsoft sql server 2008 r2
Introduction to microsoft sql server 2008 r2Introduction to microsoft sql server 2008 r2
Introduction to microsoft sql server 2008 r2
 
Sap Solman Instguide Install Windows MaxDB
Sap Solman Instguide Install Windows MaxDBSap Solman Instguide Install Windows MaxDB
Sap Solman Instguide Install Windows MaxDB
 
Db2 day 2015 admin and compare tom
Db2 day 2015 admin and compare tomDb2 day 2015 admin and compare tom
Db2 day 2015 admin and compare tom
 
Microsoft Cloud Database & Cloud BI
Microsoft Cloud Database & Cloud BIMicrosoft Cloud Database & Cloud BI
Microsoft Cloud Database & Cloud BI
 
Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0
 
Building a SaaS Style Application
Building a SaaS Style ApplicationBuilding a SaaS Style Application
Building a SaaS Style Application
 
Whats New Sql Server 2008 R2
Whats New Sql Server 2008 R2Whats New Sql Server 2008 R2
Whats New Sql Server 2008 R2
 
Samuel Bayeta
Samuel BayetaSamuel Bayeta
Samuel Bayeta
 
The Secret Recipe for Improving Microsoft 365 Efficiency
The Secret Recipe for Improving Microsoft 365 EfficiencyThe Secret Recipe for Improving Microsoft 365 Efficiency
The Secret Recipe for Improving Microsoft 365 Efficiency
 

Recently uploaded

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration Tooling
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in Uganda
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 

Master Data Services - used for than just data

  • 1. A big thanks to our sponsors 26-11-2014
  • 2. A big thanks to our sponsors 26-11-2014
  • 3. MDS – Used for more than just Master Data Management
  • 4. About me Kenneth M. Nielsen Managing Consultant at Rehfeld kmn@rehfeld.dk @doktorkermit Linkedin.com/in/KennethMNielsen www.funkylab.com 26-11-2014
  • 5. Program  MDS – brief history  Scenario  Solutions  MDS as an application  Demo  MDS API  MDS Datamodel  Code Examples  ? 26-11-2014
  • 6. MDS – Brief history  Microsoft acquired Stratature MDM product titled +EDM in 2007  Shipped with SQL Server 2008 R2  Almost useless, in that state  Major improvements in SQL Server 2012 release  No improvements in MDS for SQL Server 2014 26-11-2014
  • 8. Scenario  Have to be able to calculate stockvalue after provision and excess  Have to be able to generate import file to Navision after calculation  Have to be easy to use, for controllers  MUST use data from Datawarehouse 26-11-2014
  • 9. Solutions  Develop an application solely for this purpose  Look for standard software from Microsoft, that we already paid for  Small changes / custom development is allowed  Keep the manual process 26-11-2014
  • 10. We chose  We chose Master Data Services from Microsoft  Comes out of the box with SQL Server 2008r2/12/14 (Enterprise and BI)  Fairly easy to use  Add-in for Excel  Fairly easy to implement business rules  Custom workflows and Custom Business rules can be implemented  SQL Server already bought and paid for 26-11-2014
  • 12. Solution implemented  Data read daily from datawarehouse  Until freezedate is hit, the load stops  At freezedate, data is moved to separate MDS entities (lists)  When freezeperiod is over data, is loaded again. 26-11-2014
  • 13. Solution implemented 26-11-2014 1. Check if Version exists in MDS 1. Yes - Then delete (to empty) 2. No – Then copy from template 2. Truncate MDS staging 3. Move data into MDS staging 4. Load data MDS staging to Model 5. Validate Model
  • 14. MDS API  Most operations can be started by T-sql or by stored procedures in SSIS  Open API, not like in Data Quality Service, where everything is encrypted  Not that much documentation at hand  A few blogposts so far, community is building  Use Profiler to listen and catch T-SQL and Stored procedure calls from MDS manager 26-11-2014
  • 15. Profiler Demo  Set up profiler  Navigate MDS manager 26-11-2014
  • 16. MDS Automation  Housekeeping packages  Create subscriptionviews  Lock Version  Unlock Version  Copy Version  Import Data to Model  Truncate Model  Disable Business Rules  Enable Business Rules 26-11-2014
  • 17. MDS Automation  Create Subscriptionviews via MDS  Slow process  Manuel process 26-11-2014
  • 18. MDS Automation  Create Subscriptionviews via SSIS or stored procedures  Fast  Automation  Meta data driven 26-11-2014
  • 19. MDS as application  Either in Browser (silverlight)
  • 20. MDS as application  Or in Excel 26-11-2014
  • 21. MDS List  The controller can only see and edit his own data  And only the columns that need information from him 26-11-2014
  • 22. Custom Workflow i MDS  Almost no documentation – one article on technet http://tinyurl.com/nhaknla  Must be installed by hand  No good debugging  Blogpost on the way describing this in details on www.funkylab.com 26-11-2014
  • 23. Workflow DLL – C#  Remember to add references to the MDS workflow  Microsoft.MasterDataServices.Workflow;  Microsoft.MasterDataServices.WorkflowTypeExtender;  XmlNode xmlBusinessRule = dataElement.SelectSingleNode("//ExternalAction/Server_URL");  string BusinessRule = xmlBusinessRule.InnerText; 26-11-2014
  • 24. Workflow DLL – C# using Microsoft.MasterDataServices.Workflow; using Microsoft.MasterDataServices.WorkflowTypeExtender; namespace EaOBusinessRule { public class GNCustomWorkFlow : IWorkflowTypeExtender { public void StartWorkflow(string workflowType, System.Xml.XmlElement dataElement) { XmlNode xmlBusinessRule = dataElement.SelectSingleNode("//ExternalAction/Server_URL"); string BusinessRule = xmlBusinessRule.InnerText; switch (BusinessRule) { case "CalculateTotals": 26-11-2014 ExecuteBusinessRule_CalculateAfterAdj(workflowType, dataElement); break; //case "do something else //ExecuteBusinessRule_CalculateSomethingElse(workflowType, dataElement); default: break; } }
  • 25. Workflow DLL – C#  Attribute names in XML  Blanks will be replaced by _x0020_  dataElement.GetElementsByTagName ("Adjustment_x0020_Obsolete")[0].InnerText; 26-11-2014
  • 26. Workflow DLL – C#  Look up attributeID’s in MDS datamodel  EntityID is read from MDS XML  dataElement.GetElementsByTagName("Entity_ID")[0].InnerText; SELECT CAST([ID] AS VARCHAR(100)) AS [ID] FROM [mdm].[tblAttribute] AS attributes WHERE attributes.[Entity_ID] = " + EntityID.ToString() + " AND attributes.[Name] = 'Total Provision' 26-11-2014
  • 27. Custom Workflow i MDS  Configured by XML <applicationSettings> <Microsoft.MasterDataServices.Workflow.Properties.Settings> <setting name="ConnectionString" serializeAs="String"> <value>Server=10.200.10.160;Database=MDS;Integrated Security=SSPI</value> </setting> <setting name="WorkflowTypeExtenders" serializeAs="String"> <value>MDSWFS=EaOBusinessRule.GNCustomWorkFlow, EaOBusinessRule, ….</value> </setting> </Microsoft.MasterDataServices.Workflow.Properties.Settings> </applicationSettings> 26-11-2014
  • 28. Debugging Custom Workflow  Easiest way to debug is writeing to the console  Start workflow service in ”console mode” on the server where MDS is running  Microsoft.MasterDataServices.Workflow.exe –console 26-11-2014
  • 30. MDS Workflow Service  Manually install MDS Workflow service  Set up an Service Account  Change it to Automatically startup 26-11-2014

Editor's Notes

  1. En gennemgang af den løsning der fandtes, der sidder x antal kontrollere rundt om I verden der udarbejder lager beholdningslister Listerne sendes månedligt til en global controller. Lagerlister er baseret på de locale controllers egne regneark, baseret på de egne lager tal Giver ikke global controlleren mulighed for at have styrpå det globale lager
  2. Hver local controller får hver deres MDS liste som de kan lave lager justeringer I Nedskrive, hensætte Global controlleren kan derefter godkende de enkelte rækker.
  3. Vis hvor lang tid det tager at lave views I hånden. Lav evt et view på exchange rate
  4. Her oprettes 23 views på sekunder.
  5. Hus at rette XML koden til – connectionstrings , namespace på DLL
  6. Remote debugger er en mulighed, men det kræver en del opsætning, og udviklingsværktøjer på serveren