构模型
服 Web services 体 系 结 构 基 于 三 种 角 色 (服 务 提 供 者 , 务 注 册 中 心 和 服 务 请 求 者 )之 间 的 交 互 相 互 具 体 涉 及 到 发 布 , 找 查 和 邦 定 操 作 . 这 些 角 色 和 操 作 一 起 作 用 于 web services 构 件 :
web services 软 件 模 块 及 其 描 述 . 在 典 型 情 况 下 , 服 务 提 供 者
可 以 通 过 网 络 访 问 软 件 模 块 . 服 务 提 供 者 定 义 Web Services 的服务描述, 并把它发布到服务请求者和服务
注册中心.服 务请求者使用查找操作从本地或服务注册中心搜索服务描 述, 然后使用服务描述与服务提供者进行绑定, 并调用相应的
Web Services 实 现 同 他 交 互 . 服 务 提 供 者 和 服 务 请 求 者 角 色
是 逻 辑 关 系 . 图 2.1 展 示 了 这 些 操 作 , 供 这 些 操 作 的 组 件 提 以及他们之间的交互.
3
Web ser vices 协 议 栈
图 3.1 Web Services 协议栈 网络 传 输层 是 web services 协 议 栈 的 基 础 , 数 据 表 示 层 的 XML 为整个 web services 上层协议提供了数据 /信息描述手段; 邮局订阅号: 82-946 360 元 / 年 -
Web services 是 IBM, Microsoft 等公司联合推出的新型分布
余夕亮 : 硕士研究生 资助项目 : 重庆市渝中区软科学项目资助( 项目编号 :E2006- 7 ) 重庆市自然科学基金项目资助( 项目编号 :D2001- 15 ) 《 P LC 技术应用 200 例》
139 -
网络与通信
中 文 核 心 期 刊 《 微 计 算 机 信 息 》( 管 控 一 体 化 )2008 年 第 24 卷 第 2-3 期 到此 soap 服务器以基本建立. 4.2 建立 soap 客户端
数据 模 型 层描 述 数 据结 构 的 数据 模 型 ; 消息 层 是 构筑 在 更 低 的 传 输 层之 上 的 , 支持 发 布 , 绑定 和 查 找等 操 作 ; 服务 描 述 层为 调 用 web services 提供 了 具 体的 方 法 ; 在服 务 发 布层 利 用 中 , 服 务 提供者能 够 直接 向 服 务客 户 端 发送 WSDL 文 档 ; 服务 发 现 是基 于 服 务发 布 的 , 如果 web services 没 有 或不 能 被 发 布 , 那 么 就 不 能被发现; web services 工作流语言 (WSFL)是协议栈顶层的服务 工作流的层的标准.
4
Php 在 web ser vices 中的应用实例
下面 以 作者 开 发 的农 民 工 信 息 管 理 系 统 中 web services 数 据共享模块为例, 讲解用 php 语言 实现 web services.系 统 平台 采用的是 Apache+ PHP + Mysql .由于作者为劳动局 开 发 的农 民 工 信息 管 理 系统 中 , 对 农民 工 的 一些 基 本 信息 需 要 被其 他 政 府部门的其他管理信息系统所调用. 例如 :该区域派出所需要调 用劳动局农民工信息管理系统中数据库的一些信息.因此要求 在该系统中实现不同平台下的数据共享. 作者 在 开发 农 民 工信 息 管 理 系 统 的 web services 模 块 时 利 用了 源 代 码 公 开 的 soap 的 类 库 文 件 nusoap 进 行 开 发 . Nusoap 是 Dietrich Ayala 等人用 php 开发的源代码开放的类库文件. 其 封装了 nusoapservermime, nusoap_base, soapclient, soapclientmime , soapval, soap_fault, soap_parser, soap_server, soap_transport_http , wsdl, wsdlcache , XML_Schema 类 . 开 发 人 员 可 以 根 据 需 要 调 用 相 应 类 成 员 函 数 进 行 处 理 . 其 源 代 码 可 以 从 http://sourceforge. net/上下载. 建立 soap 服务器 4.1 , Soap 服务器主要 处 理 从 soap 客 户 端 发送 过 来 的 soap 请 求 消 息 . 其 建 立 服 务 器 过 程 为 首 先 调 用 nusoap 类 , 实 例 化 一 个 soap_server 类, 然后 向 soap 服务 器 注 册你 所 想 向客 户 端 开放 的 方法.最后调用 soap 消息监