基于ISA95的MES集成接口研究
6 基于Web Service的數據交換平臺實(shí)現
本文設計了4個(gè)Web Service Method來(lái)實(shí)現數據交換:
其中“Sender,Receiver,Xml”分別代表發(fā)送者、接收者、XML文本(本文中用于發(fā)送B2MML)。根據需要還可以加上發(fā)送時(shí)間等。
以上4個(gè)Method實(shí)現比較簡(jiǎn)單。在數據庫里面設計一個(gè)表,將DataX的所有屬性加入到字段里面。Send和Send2將發(fā)送的DataX對象保存到數據庫,Receive是查詢(xún)數據庫中包含receiver的第1筆記錄并返回DataX對象,發(fā)送成功后刪除該記錄。NumToReceive方法查詢(xún)數據庫中包含receiver的記錄數。
7 用B2MML實(shí)現XML與對象之間的轉換
第3節已經(jīng)提到,B2MML規范是ISA95標準內容的XML執行標準。B2MML的出現使系統集成商能夠使用ISA95標準進(jìn)行分析設計,然后用XML進(jìn)行實(shí)現。
B2MML定義了一系列的XML Scheme,包括Common Schema、Production Schedule Schema、Product Definition Schema、Process Segment Schema、Production Capability Schema、Production Performance Schema、Material Schema、Personnel Schema、Maintenance Schema、Equipment Schema等。這些XML Scheme總共包含了200多個(gè)類(lèi)。本文利用工具將所有的類(lèi)轉換成相應的Java類(lèi)和.NET類(lèi),再利用XML序列化(Serialize)和反序列化(Deserialize)來(lái)分別實(shí)現從對象到XML和從XML到對象的轉換,即實(shí)現了XML到對象的雙向映射。
XML Scheme可以從WBF官方網(wǎng)站下載最新版本,對應的Java類(lèi)或.NET類(lèi)的嵌套、引用關(guān)系比較復雜,代碼過(guò)于龐大(最小的類(lèi)文件都多達1600多行),因篇幅關(guān)系,不能列舉。Java和.NET都針對XML到對象的映射設計了相應的類(lèi)庫。以.NET為例,XmlSerializer的Deserialize方法實(shí)現反序列化(XML到對象),Serialize方法實(shí)現序列化(對象到XML)。隨著(zhù)應用的發(fā)展,標準也會(huì )隨之擴展,不同的應用也可以有一些擴展的功能,B2MML規范規定了多達六種的擴展方法,具有很強的擴展性。在這種情況下,本文采用的數據交換平臺可以不加修改的繼續使用,需要修改的是XML到對象的雙向映射關(guān)系。
8 結語(yǔ)
本文使用Web Service技術(shù)設計并實(shí)現了一種數據交換平臺,再利用B2MML實(shí)現的XML執行標準,實(shí)現了基于ISA95的MES集成接口。這種設計方法充分利用了Web Service的跨平臺、異構特性,以及B2MML實(shí)現的XML文本信息交換,實(shí)現了跨行業(yè)、跨地域、跨平臺、跨異構數據庫系統之間實(shí)現低成本、可擴展的動(dòng)態(tài)信息集成,實(shí)現了系統良好的開(kāi)放性和擴展性。
評論