6 基于Web Service的数据交换平台实现
本文设计了4个Web Service Method来实现数据交换:
其中“Sender,Receiver,Xml”分别代表发送者、接收者、XML文本(本文中用于发送B2MML)。根据需要还可以加上发送时间等。
以上4个Method实现比较简单。在数据库里面设计一个表,将DataX的所有属性加入到字段里面。Send和Send2将发送的DataX对象保存到数据库,Receive是查询数据库中包含receiver的第1笔记录并返回DataX对象,发送成功后删除该记录。NumToReceive方法查询数据库中包含receiver的记录数。
7 用B2MML实现XML与对象之间的转换
第3节已经提到,B2MML规范是ISA95标准内容的XML执行标准。B2MML的出现使系统集成商能够使用ISA95标准进行分析设计,然后用XML进行实现。
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)来分别实现从对象到XML和从XML到对象的转换,即实现了XML到对象的双向映射。
XML Scheme可以从WBF官方网站下载最新版本,对应的Java类或.NET类的嵌套、引用关系比较复杂,代码过于庞大(最小的类文件都多达1600多行),因篇幅关系,不能列举。Java和.NET都针对XML到对象的映射设计了相应的类库。以.NET为例,XmlSerializer的Deserialize方法实现反序列化(XML到对象),Serialize方法实现序列化(对象到XML)。随着应用的发展,标准也会随之扩展,不同的应用也可以有一些扩展的功能,B2MML规范规定了多达六种的扩展方法,具有很强的扩展性。在这种情况下,本文采用的数据交换平台可以不加修改的继续使用,需要修改的是XML到对象的双向映射关系。
8 结语
本文使用Web Service技术设计并实现了一种数据交换平台,再利用B2MML实现的XML执行标准,实现了基于ISA95的MES集成接口。这种设计方法充分利用了Web Service的跨平台、异构特性,以及B2MML实现的XML文本信息交换,实现了跨行业、跨地域、跨平台、跨异构数据库系统之间实现低成本、可扩展的动态信息集成,实现了系统良好的开放性和扩展性。