、l lI5 似 基于服务的信息集成与访问模型研究 Research on jnformation integration and access models built on service 庄光磊,王静 ZHUANG Guang.1ei.WANG Jing (日照职业技术学院,日照276800) 摘要:针对目前网络中信息的异构性、多样性、分布性等特点,基于Web Service架构构建了一个 异构信息集成与访问模型。在此模型中,对各种异构信息进行包装并且提出了一种通用的reml 信息中间格式,然后将信息注册到信息注册中心,信息请求方获得reml格式的信息后,使用 reml解析器解析并基于浏览器显示给用户。此外,还针对模型中的安全问题进行了研究。 关键词:Web Service;reml;信息集成;门限闭包 中图分类号:TP393 文献标识码:A 文章编号:1 009—01 34(201 1)5(上)一0034—03 Doi:1 0.3969/J.issn.1 009-01 34.2011.5(I-).1 3 0引言 现和服务请求者与服务提供者之间的绑定三个动 传统的信息集成技术,主要有单个的联邦 作而定义的。 系统和基于组件的分布式系统。单个的联邦系 提供者:提供服务功能的实体,等待为其他 统是指将各个数据源的数据集成到一个系统 服务和用户提供自己的功能。 中,统一管理和维护,各集成系统间处于相对 请求者:服务功能的使用者,它向服务提供 独立状态,系统维护和扩展比较困难。基于组 者发送服务请求消息,请求使用服务。 件的分布式系统构建在分布式组件模型上,如 中介者:将服务请求者和合适的服务提供者 CORBA、DCOM、RMI,这种方式克服了单个 联系在一起的管理者,UDDI就是一个全球最大的 联邦系统的主要特点,适合于分布式系统,便 服务中介者。 于维护和扩展,但是CORBA、DCOM、RMI对 2信息集成与访问模型的设计与实现 于服务器端和客户端的耦合性要求非常高…。正 S O A P引擎采用的是自前比较流行的 是由于信息集成过程中动态、可扩展和松耦合 Tomcat+AXIS。 性的要求,本文提出基于服务来构建信息集成 与访问模型。 1 Web Service Web Service是建立在开放的Internet基础上的 一种分布式网络模型,是面向商业应用的一种框 架,有关组织已经发布了一些实现Web Service所 需要的协议和标准, ̄llSoap,WSDL,UDDI等。 Web Service的目的是将信息和服务在Internet上实 图1信息集成与访问模型整体框架图 现提供和访问,实现跨平台的互操作性。为了实 现此目标,Web Service完全基于XML、XSD等独 2.1异构信息 ̄}lJremI中间信息的包装 立于平台、独立于软件供应商、独立于编程语言 在开发信息集成系统的过程中,如何解决信 的标准,是创建可互操作的、分布式应用程序的 息的异构性是一个关键的问题。异构性是指信息 一种平台 。 集成系统中两个信息源的不相似程度,而这种不 Web Service的基本结构是基于服务提供者、 相似发生在不同的级别,最底层指硬件平台、操 请求者和中介者三个角色,以及服务的发布、发 作系统等异构,而这种跨平台跨操作系统的要求 收稿日期:2010—11-21 作者简介:王静(1982一),女,山东日照人,学士,研究方向为并行计算、网格计算。 【34】 第33卷第5期2011—5(上) 务I 匐 似 正可以用java+xml来解决。其次指信息自身类型 的不同。在本系统中我们将异构信息分为三类: 数据库信息( ̄llOracle、SQL Server、Sybase、 Access等)、文本信息(如现有的xml文档)、其 它信息(如传感器的动态数据、遗留代码等)。 reml(root—element xm1),是异构信息包装后 的一种中间格式,严格遵守xml的语法规范,其格 式如下: <?xml version=”1.0”encoding=”gb23 12”?> <root> <element> <BookID>AO001</BooklD> <Title>JSP时尚编程百例</Title> </element> <element> <BookID>A0002<//3ooklD> <Title>ASP时尚编程百例</Title> </element> </root> 其中,root为reml的根元素,element为root的 子元素,element的个数是可以扩展的,可以是一 个或多个且子元素的名称不固定,element下面子 元素的名称是随着数据库表中栏位名称的不同变 化的, ̄/Fl<BooklD><Title>就是数据库表的栏位名 称,而对于一个reml中间文件,<root><element>是 固定的,这里可以将其看作是符合reml语法规范的 特定元素。 可以看出,reml信息就是一个有着更严格定 义(有特定标签)的xml信息。 包装部分采用Java语言来实现,以满足系统 的可移植性和良好的跨平台性能,开发平台采用 Eclipse,Eclipse是一个开放源码的、可扩展的应用 开发平台,可以用于构建Web Service、J2EE等各 种类型的应用。本系统使用JDBC访问数据库, JDBC(Java DataBase Connectivity)是Java与数据 库的接口规范,JDBC定义了一个支持标准SQL功 能的通用底层的应用程序编程接口(API),它由 Java语言编写的类和接口组成。JDBC API定义了 若干Java中的类,表示数据库链接、SQL指令、 结果集、数据库元数据等。它允许Java程序员发 送SQL指令并处理结果。通过驱动程序管理器, JDBC API可以利用不同的驱动程序链接不同的数 据库系统。JDBC的DatabaseMetaData接口提供了 一系列方法可以检 ̄DBMS对特定特性的支持,从 而能对特定数据库的特性给予支持。 如图2所示为一个包装前的数据库信息和一个 包装后的reml信息(图中只截取了一部分)。 r] ;… 恺 t 2 _b 医 }] …5 女 m 篓堇:耋 ; 包装为remlt75息 图2数据库信息图 2.2基于浏览器的rem懈}析 对于信息请求方,当获得信息提供方 返回的S 0A P消息后,实际上返回的是一个 String字符串(其中包含reml中严格定义的元素 <root><element>等),客户端程序首先本地缓存 为一个reml格式的信息文档,然后使用JDOM解析 器+JSP界面设计语言,呈现给用户一个友好的信 息访问界面。 使用JDOM解析器需 ̄jdom.jar和xerces.jar文 件复制到Tomcat网络应用程序的WEB—INF\lib目录 中。Jdom.jar可以; ̄jdom的官方网站上下载,解析 过程中比较重要的几个方法如下: SAXBuilder builder=new SAXBuiler()//建立 Jdom解析器 Document doc=builder.build(xmlpath) ∥得到Document对象,xmlpath是xml文档的路径 Element element=doc.getRootElement()//得到 xml文档的根元素 List list=element.getChildern0 //得到根元素 下面所有子元素的集合 2.3系统中的安全策略 对于一个信息集成系统来说信息的安全非常 重要,而安全访问控制必须充分考虑认证和授 权。目前,网络通信中的安全认证技术有很多, 如使用PKI,X.509认证以及SSL通信协议机制,提 供单点登录(Single Sign—On,SSO)等安全服务。 目前主流的系统授权控制机制是基于角色的授权 策略(Role—Based Authorization Control,RBAC), 然后借助访问控制列表(Access Control Li St, ACL)来实现。但是本系统是基于Web Service 的,所以信息的动态增加或撤销不可避免,这就 第33卷第5期201 1-5(上) [351 、l生 匐 化 增加了安全控制的复杂性,为了达到动态授权和 控制信息访问,本系统采用基于门限闭包的授权 控制方案 J。 门限闭包(用£表示)是一组满足如下三个条 件的(t,S)门限方案(其中,S是一组用户的集合 着一一对应的关系,即一致性,而正是这种一致 性保证了门限闭包策略和安全控制结构是动态一 致的,具有很好的可扩展性。 3结束语 为解决信息集成系统中信息的异构、多样、 自治性,提出了一种拥有reml中间信息格式的信 且满足O<t lSl,Sc P,P是所有参与者或用户构 成的全集)。 1)Redundant—free,即不存在两个不同的(t , S1),(te,S2)∈£使得 息集成与访问模型,但是在系统的应用过程中, 同时也发现了一些不足,下个阶段将继续研究如 何在用户层增加一个集成信息的远程修改,并对 修改过程中的信息定位和权限问题作进一步的研 究。 S t S or J S l n S 21≥rainItl,t 2 J,t 4=t 2)Reduced,即不存在(t1,s1),(t,S2),……,(t, s )∈£使得U[s 】 [Us 】t i--l i=l 参考文献: [1]WebServices:NextGenerationApplicationIntegrationArchit ecture[EB/OL].http://www.webservices.ort/.2003.7. [2]Kishore Channabasavaiah,Kerrie Holley,Edward M,et a1. Migrating to a Service—Oriented Architecture Part 1,2[EB/ OL]. 其中,【s】 ={s’:l s’I=t,s’ s} 3)Closed,即对V(t,S1),(t,S2),……,(t,s )∈£和 S1' S。,S2’ S ,……,Sm'ES ,(等号不能都成立), 若U[ i]t=[U i]t,则(t, 。 )∈£或者 i=1 i=1 [3】陈勇,赵曦滨,顾明.Web Services应用系统的多级授权研 究及实现[J1计算机应用研究,2006,(07). [41 Zhang C R,Lam K Y,Jajodia S.Scalable Threshold Closure 【J】.Theoretical Computer Science,1999,226(1—2):185—206. (t, 1S ) £/X(j(f,^S.)∈£) 筌1S c S 可以证明 】,在某个访问结构T。与£之间存在 { { 岛‘ 兜I妇{ 毒竞 毒 { { { 毒 每竞 岛‘幽毒 {南‘ { { {赢‘ 【上接第26页】 的结构分割功能是不可以用的,只有在使用西门 子的标准PID控制以及PID的控制模板时该项功能才 可以使用。但是是能够使用控制器的结构变更功能 的,也就是说在参数调节的开始阶段就进行增加比 4结束语 本文对S7—300作了简单介绍,而后重点介绍 了STEP7软件包,采用了STEP7允许的结构化编程 方式,使检测、调试与修改变得容易;同时充分 利用了Step 7的多个功能块,重点PID功能块、PID 参数在线整定功能块、PID回路调度功能块等,对 锅炉的主要控制过程进行了设计,这样就节约了 硬件PID模块的费用,而且对输入、输出信号增加 了预处理与判断。 例值、取消积分功能的具体操作。若是接近了设定 点,将会自动恢复到正常的PID控制结构上来。 当使用FB50(TUN—EC)优化P功能块的时 候,将会有初始识别的一个操作过程。其执行 过程就像控制器结构变更功能开始的阶段一样, 总共经过四个操作阶段,而获得控制对象的信息 并且优化控制器的相关连的参数。在此基础上 FB50(TUN_EC)就可以实现对PID功能块进行在线 参考文献: 【1]陆秀银.基于S7—300的多电机神经网络控制系统的研究 [D】.江苏大学,2006,12. 【2】郑凤翼,张继研.图解S7—300/400系 ̄I|PLC入门【M】.北京: 电子工业出版社2009:257—260. [3】高溥,孟建军.电器控制基础与可编程控制器应用教程【M】. 西安:西安电子科技大学出版社,2007:247—248. 【4]黄鸿年.PLC在锅炉控制系统中的稳定性分析[J].民营科 技,2009,4:21—22. 优化的功能。在参数优化过程中,部分进程信息由 FB50(TUN_EC)提供,其中包括是否检测到优化 曲线的拐点,根据这些信息用户可以采取相应的措 施,确保控制器始终以正确的参数进行系统控制。 至此有关STEP7标准程序中提供的PID控制模 块的调用设计完毕。程序监控会在下一阶段继续 论述。 [361 第33卷第5期201 1-5(上) 【5]庄涛.工业蒸汽锅炉的自动化控制研究与实现【D].山东 济南:山东大学,2008.