Master Data Services
Master Data Services(MDS)主要用途就是要用來執行主要資料管理(Master Data Management, MDM)。 主要資料指的是單位組織對其非交易之資料進行探索與定義,以便匯編成一份可維護的主要清單。 成功的 MDM 方案可產生可靠的集中式資料,以利資料分析,以便導出更好的商業性決策。
也就是說,MDS 主要用來維護一個精確且集中式的資料(即主要資料),確保整個組織的所有應用程式都能夠共同參考這一份資料。 例如:ERP, HMS, CRM 等不同系統,他們都必參照到"人"的資料,就可以透過 MDS 建立一份人的主要資料,以便當做這些應用程式的中央資料單位。 或者像郵遞區號,通常也都是當做主要資料。
MDM 專案一般包含內部商業程序的評估與重組,以及 MDM 技術的實作。 只要透過適當的訓練,大部分商務使用者應該都可以實作 Master Data Services 方案。 此外,您還可以使用 MDS 管理任何網域(domain);它不是單指管理客戶、產品或帳戶的清單。 首次安裝 MDS 時,它不包含任何網域的結構,但您可以經由建立模型來定義所需要的網域。
Defining Master Data
什麼是主要資料
管理主要資料
MDM Challenges
Installing MDS
Master Data Services 包含在 SQL Server 之中,但僅支援 64-bit 版本。 請參考 MSDN:SQL Server 2012 版本支援的功能
MDS 架構
MDS 的組成份子
在安裝 MDS 前,我們先瞭解一下 MDS 架構。該架構可為四個部分:
- 主要資料(Master Data):主要資料與MDS系統物件是分開儲存的。
- MDS系統物件(MDS System Object):MDS系統物件包含 system tables 、 programmatic objects ( such as system stored procedures and functions).
- MDS服務(MDS service):負責執行 MDS 方案中的業務邏輯和資料存取。
- 主資料管理員(Master Data Manager):提供使用者或管理員操作的網頁程式。
新增主資料的方法
你可以使用以下方式來新增主要資料
- 在「Master Data Manager」中手動建立。
- 使用 Excel 的「MDS 增益集」
- 由現有資料庫「匯入」到 staging 資料表。
有了主要資料,你可以在 MDS 中建立「訂閱檢視(subscription views)」,以便將 MDS 資料匯出至訂閱系統。 其他應用程式則可以由訂閱檢視檢視 Master Data Services 資料庫中的已發行資料。
安裝 MDS
完整的 MDS 服務安裝過程,除了要安裝 MDS 服務程式外,也必須建立用來管理主資料的「主資料管理員網站」,還有建立 MDS 資料庫。 而且為了正確執行這些功能,你還得啟用特定的 Windows 功能,建立特定的 Windows 使用者角色。 整個程序可為三個步驟:
安裝前工作
因為主資料管理員(Master Data Manager)是 IIS 底下的一個 Web 程式,所以你必須先確認與 IIS 相關的服務是否已安裝啟動。 而且這個網站採用 Windows 認證,所以你也必須為這個網站建立必要的 Windows 角色。 還有這個網站是使用 Microsoft Silverlight 5 製作,所以你的電腦也必須包含 Silverlight 的執行環境。
帳戶和權限
你必須建立一個角色,以便設定執行權限給適當的使用者。
必要的服務
MDS 網站需要以下角色服務:
- Web 管理工具
- IIS Management Console
- WWW 服務
- 一般 HTTP 功能
- HTTP Errors
- Default Document
- Static Content
- Directory Browsing
- 安全性
- Windows Authentication
- Request Filtering
- 應用程式開發功能
- ASP.NET
- .NET Extensibility
- ISAPI Extensions
- ISAPI Filters
- 狀況及診斷
- HTTP Logging
- Request Monitor
- 效能特性
- Static Content Compression
- 一般 HTTP 功能
必要的功能
- NET Framework 3.0 or 3.5 Features
- WCF Activation
- HTTP Activation
- Non-HTTP Activation
- Windows Process Activation Service
- Process Model
- .NET Environment
- Configuration APIs
安裝作業
安裝後工作
系統安裝完之後,你必須使用「MDS Configuration Manager」來建立「主資料管理員網站」,以及建立「MDS 資料庫」。
1.執行 MDS 組態管理員
2.在 MDS 組態管理員中建立 MDS 管理員網站及 MDS 資料庫。
建立 MDS 資料庫。
建立主資料管理員網站
3.瀏灠主資料管理員網站。
建立 MDS 模型
A Master Data Services model is a container for all master data objects. One model typically covers one master data business area. When you create an MDS model, you should create all of the objects needed for a specific business area. For example, when you create a model for products, you should include in the model all related data, as well as product subcategories and product categories.
MDS 模型(Models)
模型 是 Master Data Services 中用來將資料分組的邏輯結構。 你可以使用一個或多個模型,通常習慣依不同的業務區域將主要資料組織成不同的模型,讓相類似的資料可以群組在一起。 主要資料通常以四種方式分類:人員、位置、東西、概念(people, places, things, concepts)。 例如,您可以建立一個 Product 模型來容納與產品相關的資料,或是建立一個 Customer 模型來容納與客戶相關的資料。
模型包含下列物件:
- 實體(Entities)
- 屬性和屬性群組(Attributes and attribute groups)
- 明確和衍生階層(Explicit and derived hierarchies)
- 集合(Collections)
下圖顯示模型中物件之間的關聯性。
上圖模型說明:
- Product 模型包含二個實體: Product 和 Subcategory.
- Product 實體包含以下屬性:Code、Name、Weight...。
- 部份屬性是domain-based:
也就是該屬性值是參考其他實體,例如上圖中連接 Product 和 Subcategory 這二個實體的 Code 屬性,就是 domain-based 屬性。 這個 domain-based 的 Code 屬性是 Subcategory 的鍵值(key)。 - 在 MDS 中,每個實體都必須包含二個固定名稱的屬性:Code 和 Name。
- 模型包含實體。
- 實體包含屬性、明確階層和集合。
- 屬性可以包含在屬性群組中。
- 當實體做為另一個實體的屬性時,就會有網域屬性(Domain-based attributes)。
MDS 物件(Objects)
實體(Entities)
最基本的 MDS 物件就是實體,一個實體表示真實世界中的一件事或是一個概念,它是商務中感興趣的東西。 你可以想像成:實體就像資料表,而屬性就像資料表的欄位。
In an MDS model :
- The central entity in a model is typically also a starting point in navigation for end users.
- the central entity is called a base entity, and other entities relate to this central entity.
- Entities have attributes. Each entity must have at least two attributes, the Name and Code attributes.
- Values for the Code attribute must be unique within an entity, Code is like a key of an entity.
- There are three types of attributes:
- Free-form :這個類型的屬性,允許屬性值可以任意輸入,例如任意的文字、數字、日期或連結。
- Domain-based :這個類型的屬性,表示屬性值是由其他實體擴展來的,也就是只允許正確地輸入某個實體的 key 值。
- File :這個類型的屬性,,表示使用檔案來儲存實體的文件或影像屬性。
屬性(Attributes)
屬性(Attributes)
屬性也是 Entity 中的物件。 您可以將屬性視為實體資料表中的資料行,有時也稱為實體的成員。 屬性值則是用來描述成員的值。
屬性群組(Attribute Groups)
若實體有很多個屬性,你可以將任意的幾個屬性組織成「屬性群組(Attribute Groups)」,這樣在 Master Data Manager WebAPP 中顯示時,就可以使用 Tab 來分組顯示不同組別的屬性。
網域屬性(Domain-based Attributes)
設定成「網域(Domain-based)」類型的屬性,就稱為網域屬性。 表示屬性值是由其他實體擴展來的,也就是其值必須是其某個實體的成員,這種設定可以防止使用者輸入錯誤的資料,相當於關連資料庫中的條件約束。
網域屬性關聯性是衍生階層的基礎。
階層(Hierarchies)
在 MDS 中,你可以建立「階層」。 階層是一個樹狀的結構,通常是用來將實體成員分組,以利資料的匯總與分析。 例如,你可以使用商品的種類和尺寸建構一個階層,那麼你就可以由這個樹狀階層由上往下找到你要的資訊。
階層包含什麼:
- 每個階層都包含一個或多個成員。
- 階層中的所有成員都必須來自相同的模型中。
- 當成員變更或刪除時,階層都會自動更新,以確保資料的正確性。
階層 vs 分類
階層與分類有所不同。 分類會同時根據多個屬性來組織成員,例如同時使用 尺寸、顏色、款式 等三種屬性來組織一台腳踏車。 而階層則一次根據一個屬性來組織成員,例如你每次只能使用一種屬性來組織一台腳踏車,例如先用尺寸,再用顏色,再用款式。
您可以建立多個階層,用來方便檢視成員。而階層大至可分成以下三個類型:
PS. 什麼是 Ragged 和 Level-based 階層
階層是一種樹狀結構,如果葉級成員都位在同一層,就稱為「 Level-based 階層」。如果葉級成員不在同一層,就稱為「 Ragged 階層」。
明確階層(Explicit Hierarchies)
由同一實體內的成員建立的階層稱為「明確階層」。
- 階層中的成員都來自單一實體的成員。
- 階層結構是由使用者自行定義而成。
- 使用合併成員群組其他成員
- 明確階層可以是不完全的(ragged),也就是階層不固定。
明確階層可分成兩種類型:強制和非強制。
- 強制明確階層(mandatory explicit hierarchy ):所有分葉成員都必須包括在階層樹狀結構中。
- 非強制明確階層(non-mandatory explicit hierarchy ):所有分葉成員都是位於系統建立的 [未使用] 節點。
如何加入明確階層
在 MDS 的 [系統管理] 中,你可以直接在實體的編輯功能內,建立明確階層,如下圖:
如何組織明確階層
在 MDS 的 [總管(Explorer)] 中,你可以在[階層]功能中組織明確階層。它分成二部驟來完成:
1. 加入合併成員(Consolidated Member)
「合併成員」是用來將成員分組的物件。你可以自訂結構,而且它的階層允許 Ragged 的。
2. 在階層中移動成員
接著你就可以將成員由[未使用(Unuse)]搬移到適當的「合併成員」之中。
衍生階層(Derived Hierarchies)
由「網域屬性」建立的階層稱為「衍生階層」。
- 階層中的成員可來自不同實體的成員。
- 階層結構是由網域屬性之間的關聯性建構而成(domain-base attribute relationship)。
- 使用某個實體的分葉成員群組另一個實體的分葉成員
- 永遠包含固定數目的層級 。
衍生階層,如下圖:
在 MDS 中,你必須在管理[選單]中,執行[衍生階層]
下圖中,我們建立一個衍生階層,它的成員包含 Department 和 Employee 實體中的成員。而且它的階層是 Level-based 的。
遞迴階層(Recursive Hierarchies )
遞迴階層是指階層具有遞迴關係,通常這會發生在該「實體」包含自身「網域」屬性的屬性。
下圖中,因為 ParentDeptCode 是 domain 屬性,且參考到本身的實體,所以形成遞迴階層。
集合(Collection)
集合中的成員必須來自單一實體,當你不需要檢視整個完整的階層,又必須依若干特定群進行報告或分析時,這時就可以利用集合來分組。
MDS 提供的功能
在建構 MDS 模型後,它提供許多功能來管理主要資料,以改善資料品質或者移動資料。 例如: 商務規則、驗證、版本等功能可以用來改善資料品質; 匯入、匯出、部署模型等功能可以用來移動資料。
商務規則
在 Master Data Services 中,商務規則是用來確保主要資料品質和正確性的規則。 您可以使用商務規則自動更新資料、傳送電子郵件,或啟動商務程序或工作流程。
要使用商務規則,必須完成以下步驟:
- 建立與發行商務規則
- 套用商務規則
商務規則是您在[主資料管理員]中,先透過 If/Then 陳述式來建立好商務規則,再將商務規則套用到屬性值, 如果屬性值符合指定的條件,便會執行動作。 可能的動作包含:變更成預設值或變更成其他值,也可以結合電子郵件傳送通知。
驗證
在 Master Data Services 中,會驗證資料以確保其正確性。 其中一部分驗證會自動發生,而另外一部分驗證則會根據管理員建立的商務規則。
沒有留言:
張貼留言