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