基于Web服务的模型库系统的研究与实现.pdf
第 3 O卷第 4期 2 0 0 3年 7月 华北电力大学学报 J o u r na l o f No r t h Chm a El e c t r i c Po we r Un i v e r s i t y Vo 1 3 0 No 4 J u 1 ,2 0 03 文章编号:1 0 0 7 2 6 9 1(2 0 0 3)0 4 0 0 7 8 0 4 基于 We b服务 的模 型库系统 的研究与实现 张振兴,王翠茹,刘建峰,王新(华北电力大学 计算机科学与工程 系,河北 保定 0 7 1 0 0 3)摘要:分析 了一种新的软件技术we b服务,并将它应用于模型库系统的设计。提 出了基于 We b服务 的模型表示方法,给 出了基于 U DDI 的模型库管理系统的设计方法。最后将这个设计方法应用于实际,开 发了企业综合模型库系统。关键词:DS S;We b服务9模型管理 系统 中图分类号:T P 3 1 1 文献标识码:A Re s e a r c h a nd i mpl e m e nt a t i o n of m o de l ba s e s ys t e m ba s e d o n we b s e r v i c e s Z H A N G Z h e n-x in g,W A N G C u i-r u,L IU J ia n 4 e n g,W叫(;_)一 引 言 决策支持 系统 DS S(De c i s i o n S u p p o r t S y s t e m)是在 管理信 息系统 的基础 上发展而来 的,集 成 了模 型库 系统、数据 库系统和 会话部件,其 主要任务 是 为高层管理 的决策活动 提供支持。决策支 持系统通 常解决 的是半结构化 和非结构化 问题,它 的设计 和 运行是 以模型驱动 的。因此模型库 系统是 决策支持 系统最 重要 的部分。模型库 系统主要 由模 型库、数 据库、模型字 典和模型 管理系统组成。随着计算 机技术 的发展,人们对模 型库系统提 出了集成化和协调化的要求。伴随着企业全球化的 发展趋势,大企 业变得越来 越具有 分布式 的特 点,即信息源 分布于 不 同的地 点。现有 的模型库 系统普 遍采用组件 技术和面 向对象 的思想,从而在模 型库 结构上和 模型 的表示等方 面都取得 了很大 的改善,如文献【l】的基于 A c t i v e X 组件技术的模型库开 发,文献【2】的基 于构件 技术 的模 型 库设计。但 是现有成果 没有在 以下 几方面获得 突破:(1)模 型的跨 平 台调 用 问题。不 同的平 台间 的 组件模型之 间无法相 互调用。(2)数据 的一致性 问题。在 决策支 持系统 中,模型 与数据独立。数据 单独放 在数据库 中,使得 系 统访 问数据库获得 的数据格式和模 型所 需要的数据 格 式差别很大;另一方面,各种模型所 需要 的数据 格 式也各不相 同,因此不 能采用统一 的方法实现 数 据库数据与模型数据格式上的转换。(3)模 型的集成 问题。使用不 同 的组件模 型生 成 的模 型之 间往 往无法组合 运行。收 稿 日期:2 0 0 2 1 1 2 7 作者简介:张振兴(1 9 7 8一),男,华北 电力大学计算机科学与工程系硕士研究生 一 一 一 一 维普资讯 http:/ 第 4期 张振兴等:基于 We b服务的模型库系统的研究与实现 1 We b服务技术 We b服务是一 种新 的 We b应用程序分 支,它是 自包含的、自描述 的、模块化的应用,可以发布、定位和通过 We b调 用。We b服 务和组 件一样,可 以被看作黑箱,不必考虑其 内部实现,只需要使用 其功 能即可,所 以可 以把 We b服 务看作 WWW 上 的组 件。与 当前 的组件 技术 不 同,We b服 务不 是 由 对象模型协议(如 D O C M,R MI,I I O P)来访 问的,而是 由通 用 的网络协 议和数据 结构(如 I T I TP 和 XML)来访 问。它把 H T T P的成 熟性 和 XML的灵 活性 与可扩展性 结合在一起,使得现 有 的软 件不论 是基于什么样的编程模型都可以通过因特网通信。WS DL是用 于描述 We b服 务 的规 范,它使用 V 语 法定义 了用于描述 We b服务各个 方面 的元素,包 括 We b服 务 的位 置,包含 的接 口、接 口中的方 法 和方法 的参数类 型等。UDDI 为发现 We b服 务定义 了一 系列 的机制。U DDI 注册 中心 是 UDDI 规范 的 实现,它是 We b服 务的注册 中心,通过 它可 以发 布 服务和查询 服务。与传 统 的组 件技术相 比,We b 服务具有封 装性、松散耦合、使用规范 的协议和 高 度可集 成性 等优 点。图 1为 We b服务 的技 术架构。协 议 栈 统一 描述、发现 和集 成规 范(UDDI)简单对象访问协议(S O A P)可 扩展 标记语 言(X ML)图 1 We b服务的技术架构 l g,1 T e c h n o l o g i c a l s t r u c t u r e o f we b s e r v i c e s 2 基于 We b服务的分布式模型库系统 通 过上面 的分 析,本文提 出了一种 基 于 We b 服务 的模 型库系 统 的设计方 法。该方 案利用 We b 服务技 术,将分 布于企业 各个部 门的模 型集成 到一 个统 一的平 台进 行管理,它 使用 S O AP进 行通信,采用 WS DL 自我描述,利用 UDDI注册 中心进行 统一的管理,从而可 以最大限度地重用模型,节省 开发 成本。图 2为该方 案 的结构。2 1 模型 的表示 模型的表示有很多的方法,许多研究人员对其 进 行 了 大量 的研 究,提 出了子程 序模 型,谓 词模 型,关系模 型,面 向对 象等各种模 型 的表示方 法。图 2基于 We b服 务 的分布 式模 型库 系统 的结 构 r g z S t r u c t ur e o f mo de l ba s e s y s t e m b a s e d O n w e b s e r v i c e s 其 中,面 向对 象 的方法 在一 定程 度上解 决了传统设 计方法 的弊端,为建立大型 的,可重用 的决策 支持 系统模 型库提供 了一种全 新的思想。使用对象 表示 法 时,一个模 型被说 明为 一个将数据 和其他相 关操 作 结合在 一起的类,它 具有一般 对象 的继承 和聚集 关系。根据 We b服务的特点,提出了模型的 We b 服 务表示 法,其具 体含义如 下:(1)一个 We b服务就相 当于一个 模型,模 型和 We b服 务是一一对 应 的。(2)一 个典型 的 Web 服 务包含一 系列 的接 口,即 We b方法。用户通过访 问相应 的接 口完成 模型 的运行等操 作。(3)模 型与对 话部件 的接 口通过一 定 的 We b方 法提供。下 面给 出了模 型 的 c#语 言描述:p u b l i c c l a s s I n P a r a Cl a s s 输入 参数类 p u b l i c c l a s s Ou t P a r a Cl a s s 输 出参数类 p u b l i c c l a s s Ba s e M o d e l:W e b S e r v i c e p u b l i c Ba s e Mo d e l 0 模 型的初始化 We b Me t h o d p u b l i cr u n(I n P a r a C l a s s i n P,Ou t P a r a C l a s s o u t P)模 型 的运行)其中模型的输入参数和输出参数都定义为一个 类,这体现 了面 向对象 的特 点。模 型 的运行 函数被 声明为一个 We b方法,提 供给 用户调用。2 2 模型管理系统的设计 U D D I 规范是 We b服务的发现机制。它提供了 标准 的数据结构和 程序员 AP I 来 支持 UDDI 注册 中 心的开发。该规 范提供 的 5种核心 的数据类 型,这 几种 数据结构 构成 了数据 字典库 的结构。本 文根据 模型库系统的特点,给出了他们之间的对应关系。b u s i n e s s E n fi t y:即商 业 实 体,它 表 示 发 布 了 we b 服务的组织机构的信息,对应于模型所属单位。维普资讯 http:/ 8 0 华北电力大学学报 2 0 0 3笠 b u s i n e s s S e r v i c e:即商业 服务,它表 示商 业实 体所 发布 的 We b服务 的信 息,对应 于模 型实体。b i n d i n g T e mp l a t e:绑 定模 板,它 描述 了服 务的 入 口信 息。t Mo d e l:模型信息,它描述 了一个服务的实体 信息,如服务 的表述 以及 WS DL文档 的位 置等信息。p u b li s h e r As s e r t i o n:对于大的机构,使用单个 b u s i n e s s E n t i t y不足 以代 表他们,可 以发布 多个 b u s i n e s s E n t i t y结 构,分别代表 子 企业或者 市场 的单个 部 门。这个 结构 可 以表 明各 个 b u s i n e s s E n t i t y之 间 的关系。2 2 1模 型 的生成及发布 在分布式环境下,各个部门使用专用的 We b 服务 开发工具生成模 型。模 型生成 后,通 过 WS DL 工具产生模型的描述文档,其中包含 了模型的位 置、模 型 中的方 法、方法 的参数类 型以及调用模 型 协 议。最 后,要将模 型发布到 Wle b上,以便用 户 的使用。通过使用 UDDI规 范中的发布 A P I可 以 完成这部分操作。发布时,采用下面的步骤:(1)如果本部 门还没有在 UDDI 中心注册,则 向注册 中心添加 一个 b u s i n e s s 注册。这将使 UDDI 中心 保存一个 b u s ine s s E n t i t y类型 的数据,其 中包 含着 部 门的注册 信息。(2)向本部 门中添 加模 型 的信 息,这包括模 型 的名 称、模 型 的描述 信 息、入 口点(调用 模 型 的 I J 1 R L)、以及 模型 的 WS DL文档 的位 置。相 应 的发布 A P I 有:save_b ind i n g:添加 或更新绑 定信 息;s aveb u s ine s s:添 加或更新部 门信息;s aves e r v i c e:添加或 更新模 型的信 息;s avet Mo d e l:添加或更 新 t Mo d e l 的信息。2 2 2 模型 的查 询 U D D I 规范提供了标准的查询 A P I 函数,利用 这些 函数可 以实现灵活 多变的查询。常用 的查询 有:fin d_b ind i n g,查找绑 定信息;fin d_b u s ine s s,查找部 门的信息;fin d_r e l a t e d Bu s ine s s e s,查找相关部 门的信息;fin d_s e r v i c e,查找模 型的注册信 息;g e t_b u s ine s s De t a i l,获得一 个模 型 的详 细信息。2 2 3 模型 的删 除 模 型的删 除操 作也要使 用发布 AP I:d e l e t eb ind in g,删除模型的绑定信息;d e l e t e_s e r v i c e,删 除模 型;d e l e t e b u s ine s s,从 UDDI注册 中心 中删 除一 个部 门;d e l e t e t Mo del,从 逻 辑 上 删 除一 个 或 者 多 个 t Mo del 结构。在这里,模 型的删 除只 是更新 了 UDDI 注 册 中 心的数据,并没有真正的将模型从发布者的主机上 删除。在分布式的环境下,考虑到安全等方面的因 素,实际 的操作将 由发布 者完成。3 应用实例 企业综合模 型库 系统 针对 于企业 中模型繁 多 的特 点,本文提 出一 个 企业 级模型库 系统 的实施 方案。该模 型库 采用 W_e b 服 务技术,通 过企业 内部 的私有 UDDI 管 理模型,实现 模型 的添 加,修改,查询和 调用。该模 型系统 主要 由 3部分组成:模 型生成工 具,模 型发布 客户 和 UDDI 注册 中心。其 中,前两者 可 以位 于相应 的 企业部 门,也可 以 由信息 中心统一管理。后者一般 情况下 则位 于企业的公共 服务器上。3 1 模型 的生成工具 目前,支持 We b服 务的开发 工具主要有 微软 公司 的 Vi s u a l S t u d i o n e t 和 mM 公司 的 We b s p h e r e Ap p l i c a t i o n De v e l o p e r S t u d i o。前 者主要 支持 W m-d o ws平 台。而后者 采用 J a v a实现,可 以支持任何 平台。所 以,企业中的 Wind o ws 和 U n i x、L i n u x系 统都可以成为模型的容器。利用 WS D L生成工具,可 以产生模 型的 WS DL文档,作 为用户调用模 型 的基础。3 2 模型 的发布 工具 发布工具 的主要功 能是将部 门内部 的模型注册 到模型库 中,并提供修改模型信息,查询模型的功 能。该工 具采用 a s p n e t 开发完成,用户通 过浏览 器 可 以轻松 的完 成各项工作。3 3 UDDI注册 中心 的开发 UDDI 注 册 中心从 本质上说是 一个特殊 的 We b 服 务。因此,采用 微软 公司 的 Vi s u a l S t u d i o n e t,后端数据 库采用 S QL S e l v c r,操 作系统 为 Wind o ws 2 0 0 0 s e r v e r。3 3 1数据库 结构 图 3给 出了实现 UDDI注册 中心 的数据库 结 构。其 核 心 的 表 有:p u b l i s h e r,b u s ine s s E n t i t i e s,b u s ine s s S e r v i c e,t Mo d e l s,b ind i n g T e mp l a t e等。其 一 一_ 一 维普资讯 http:/ 第 4期 张振兴等:基于 We b服务的模型库系统 的研究与实现 8 1 图 3 UDDI注册 中心 的数据 库结 构 F i g 3 S t r u c t u r e o f U DD I r e t r y d a t a b a s e 它的表存储 了一些相 关 的辅助 信息。3 3 2 类型 定义 UDDI 注册 中心 的每 一个数据类 型都使用 相应 的类 表示。下面 的代码 定义 了一个 S e r v i c e类:p u b l i c c l a s s S e r v i c e p r i v a t e s t r i n g s e rvi c e Ke y;p r i v a t e s t r i n g s e rv i c e Na me;p r i v a t e s t r i n g b u s i n e s s Ke y;p u b l i c S e rvi c e 0 豫玎 始 化 p u bl i c s t r i n g S e r v i c e Na me s e t s e r v i c e Ke y=v a l u e;)ge t l t t L r N s e rv i c e Ke y;)3 3-3 查询 AP I 和发布 A P I的设计 UDDI 注册 中心相应 的查询 AP I 和 发布 AP I 按 照 UDDI协议 设计 的。具 体 的实现 方法 是每一种 AP I都 是一个 We b方法,如查找模 型的操作使 用 一个名 为 fi n d S e rvi c e的 We b方法 实现。在这个 方 法 中,根据输入 参数 即 s e r v i c e Ke y,查询 S QL s e r v e r 数据库,然后生成一个 S e rvi c e对象类,作为返回 参数。其他方法 的实现情 况类似。4 本 系统的优点 将 We b服务体 系应用 于模 型库系 统 的开发,不 仅解决了模型的表示、模型库管理系统的标准化等 问题,而且 为模 型库系统增 加 了新 的特性。(1)模型 的可重用性 得到 了最 大限度 大发挥。任何 平 台的应用程序如 果要使用 某个模 型,不需要 知道其具 体实现,只 要取得它 的服务描述 文档,并 正确的构造 S O A P消息就可以使用模型。一些成熟 的模 型还可 以作 为商 品,发布到 I n t e r n e t 上,提供 给付 费 的用 户。(2)模型的描述语言实现了标准化。采用WS D L 描 述模 型,关键 在于计 算机程序 能够读懂 模型 的信 息。这 为模 型 的动态 调用奠 定 了基础。(3)UDDI注 册 中心 是 模 型 管 理系 统 的原 型,U D D I 规范是构造模型管理系统的规范,在此基础 上,可 以根 据实 际的情 况,开发 新 的应用。(4)模型库在物理 上可 以是分布 的,也可 以是 集中 的。当无论是 哪一种情况,通过 UDDI 注册 中 心集 中管理,任何 用户都 可 以方便地使 用模型。5 结论 We b服 务是基 于 XML的一项革新 技术。它 的 出现,为模型库系统的设计和实现提供了新的思 路,可 以完全代替传 统 的组件 技术,并实现模 型的 通用性 和可管 理性。本文 在介绍 We b服务技术 的 基础 上,提 出 了基于 We b服务 的模 型库设计 方法 并实现了企业综合模型库系统。该方案从根本上解 决了模型的表示、模型的管理、模型的组合运行、模型的重用等关键性 问题。参考文献:1】马金平基于 Ac t i v e X 组件技术的模型库系统 的开发研 究 J】计算机应用,2 0 0 1 2 0(5):3 3 3 5 2 王宝江基于构件 的模型库和方法库 的设计和实现【J】北京航空航天大学学报,1 9 9 8,2 4(4):4 1 8-4 2 1 3】刘东苏,兰军DS S中模型库管理系统的设计与实现 J】现代 电子技术,1 9 9 7,(4):9-1 0,1 3 4】黄建昌一种基于 I n t r a n e t 的模型管理系统及其实现【J】北京理工大学学报,2 0 0 1,2 1(2):2 1 0-2 1 4 5】郑小平 NE T精髓W_e b服务原理和开发 M1 北京:人 民邮 电出版社,2 0 0 2 2 2 9-2 5 8 维普资讯 http:/