3。Web 服务是网络中心的分布运算的新发展。Web 服务提供功能,供用户和企业在Internet 上共享与交换信息与处理过程。授权使用者能通过相应的应用,使用这种服务。服务是一种软件能力的抽象,代表一段信息或业务过程,可供任何人在任何地方用任何类型的设备来访问。Web服务实质上是集成工艺的最新发展。相反,如果用一对一集成法则费钱而且容易出毛病。
Web服务结构的核心元素是XML (eXtensible Markup Language) ,SOAP (Simple Object Access Protocol) ,UDDI (Universal Description, Discovery and Integration), 以及WSDL (Web Services Description Language) 等标准和协议。XML 是核心的基础,提供数据及其相应语义的交换格式;其它三者都是基于它的。SOAP 提供通讯协议,UDDI 供发现服务,以及WSDL 供描述服务。这些核心元素可用 HTTP (浏览 Web 所用同一协议) 在 Internet (或内部网或外部网) 上传送。采用这些标准和协议,就可将业务信息在 Web 上公布,供人不论用何操作系统或程序语言,通过相应的应用来选用。
Web服务实际上是些离散的、居于服务器上的执行不同具体功能的组件,用标准化XML接口。这就等于把应用分解为个别的组件,而每一组件都可在Web 上存取。Web服务的最终目标是使任何用任何语言编写的组件可在任何平台上运行。Web服务组件是分布组件软件体系结构的构造元件;这种体系结构将成为整个Internet 的基础。有了Web服务,研制者就能随手调用当地计算机上或当地服务器上或世界任何地方的服务器上驻有的组件,马上来构造应用。
Web服务是基于 SOA (Service-Oriented Architecture--面 向 服 务 体 系 结构 ) 的。SOA 是分 布 运 算 的 一 种 体 系 结 构,把 软 件 资 源 视 为 服 务 ,可 网 上 供 用。 Web 服务作为 SOA,其中起关键作用的有三:作为1) Web服务的主家的服务供应者;2) 服务供应要求者,即要求 Web服务的人或计算机;以及3) 存储服务描述的数据库。要用Web服务时,整个服务过程共分三步:第一步发布;即服务者拟制其所提供的Web服务的基于XML的服务描述,将其发布在主家服务器上,以供查找和使用。第二步查找或发现。服务登记册上有服务描述,供查找和运行Web服务。一计算机通过标准协议,可找到和知道一Web服务是干什么的,在目录上的地方,以及如何与其连接。第三步装订(bind) 。装订是指在组件间建立连接的过程。计算机或服务要求者一旦找到 Web服务描述后,就将其装订,且将其运行。
Web服务作为 SOA 的基础,将来可成为数据、内容和应用的多对多与一对多集成的模型。
Web 服 务
愈 来 愈
复 , 牵 涉
到 许 多
不 同 的
系 统 时, XML, SOAP, WSDL, 等等基本
API 只使这些不同系统相互访问,还需再有一套
API 来处理有关业务过程工作流的舞蹈设计与交易
(choreography and transactions) 问题
(choreography 一词是
W3C 的 Web Services Choreography
Working Group 提出的。Web
服务的现行规格规定描述不可分割的互动单元。Web
服务发展的下一步会要求有能力来构成和描述低级服务之间的关系。行业内表达此意的词汇有
orchestration (交响),
collaboration (协作),
coordination (共济),
conversations (对话),
等等之多。它们有一共同特征,都是描述
Web 服务之间的连接和使用式样。该小组乃将其标示为
choreography --舞蹈设计)
。处理一交易或一系列交易,牵涉到多个系统时,每步的执行次序是重要的;若有一步失败,应用的响应至关重要。企业数据库早就能在错误发生时,追踪交易,将数据退回到其交易前状态。一业务过程牵涉到多个不同系统时,对此过程做舞蹈设计,然后象交易处理一样做到同样程度的差错公差,就非常复杂。这些不同系统或,形象地说,跳舞伙伴若要能跳得合拍而收每次交易成功执行或退回之效,就得另有公共
API。概括言之,在网上从Web
服务调集不同服务(实质上,即客体)
集成一应用时,要有一公共
API,才能把它们连接起来。目前这公共
API尚无统一标准,有两派在竞争,若不解决,Web 服
务 就 前 途 堪 忧。
这 两 派 标 准 是 Business Process Execution Language for Web Services (Web 服务用业务执行语言,简称 BPEL4WS, 常读为 "bee-pell") 以及 Web Services Choreography Interface (Web 服务舞蹈设计接口,简称 WSCI, 读为 "whiskey) 。BPEL4WS 是业务过程与舞蹈设计 API,是由 IBM, Microsoft 和 BEA 三家共同制定,于2002年8月公布的,有完全所有权。用 BPEL4WS来制定 WS-Coordination and WS-Transactions 两规格。WSCI 是由 BPMI.org (同时提出 BPML 以对抗 BPEL4WS), Commerce One, Fujitsu Limited, Intalio, IONA, Oracle Corporation, SAP AG, SeeBeyond Technology Corporation, Sun Microsystems, 以及 PEL4WS制定者之一 BEA. 。BEA 骑墙,两边都参加。WSCI 己提交 W3C审议。这个标准问题若不解决,将阻碍 Web服务的全面发展。这里一个关节问题是专利权税问题。W3C 鼓励除特殊例外,免收专利权税。迄至2003年3月,IBM 和 BEA 已宣布不拟收专利权税,Microsoft 尚未表态。
安
全 保 密 问 题 也 待 全 面
解 决, Web 服 务 才 会 得 普
遍 采 用 。安全 是 指 ,核 实 用户 ,保 证 传 送 的
数 据 的 完 整 无 误 ,以及 保 障 数
据 在 传 送 过 程 中 保 密 。 据 调 查, Web 服务现都用于企业内部(火墙内) ,用于对外,安全保密就得不到保障。在这方面标准也不统一。首先
Microsoft 独家推出
Passport (护照)
。它是一种网上身份证明服务,用以登记个人的姓名和口令;现已内建于
Microsoft 最新操作系统
Windows XP 中。用户凭这个护照可在网上做很多很多的事,从发送电子邮件和照片到买东西和付帐。Sun
Microsystems 以及不同行业的30多家公司,为了不被迫将其资讯及秘密交托于单独一家公司如
Microsoft,于2001年9月26日宣布成立
Liberty Alliance (自由同盟)
团体,提供一种办法,可使他们在网上一切活动共用一个单一口令,而不会被迫将其资讯及秘密交托于单独一家公司。参加大公司中有,American
Airlines,Bank
of America,Cisco
Systems,eBay,
General Motors, Liberate Technologies, RealNetworks, RSA Security. Sony 以及
United Airlines。
BEA,IBM,Microsoft, RSA
Security, AP AG 以及
VeriSign 于2001年 12月联合宣布Web
Services Security (Web 服务安全,简称
WS-Security) 的第一批规格规定,用以保障
Web
服务和交易的安全可靠,保证企业共享数据的安全。此项联合行动是由IBM
和
Microsoft 于2001年4月联合发表白皮书,粗略地提出一新安全结构提纲,就是要保障企业间在
Web 上互送数据的可靠性。WS-Security 是想把不同的安全标准规格规定 (包括 SOAP, WSDL, XML, Digital Signatures,
XML Encryption 以及
SSL/TLS)合并为一单一的,灵活的框架。它不提供任何行的安全机制,而是规定如何使用现有安全机制(如姓名/口令机制,Kerberos,及 PKT) 来为 SOAP 讯息提供安全服务。其它安全措施也能使用。
12月把第一批规格规定公布后,反应不算坏,就连推进
Liberty Alliance (自由同盟)
的
Sun 也有保留地表示某种程度的赞同。不过许多不属该集团的都尚持观望态度。
在通讯
(messaging) 方面,又有两派对立。一边是
OASIS (Organization for the Advancement of Structured Information Standards) 的 WS-Reliable
Messaging; 另一边是IBM
和
Microsoft 连同
BEA 及
Tibco 推出的同名 WS-Reliable Messaging。
标准的目前状况可归纳如下:
安全 目的是核实与授权 提出的标准是
WS-Security 所有主要厂商表示支持
安全 目的是保障应用 提出的标准有OASIS的 工作初期(2003年4月)
通讯 间, 尤其大量交 WS-Reliable Messaging
易时, 通讯的传递 和以IBM, MIcrosoft为首
的WS-Reliable
Messaging
过程- 目的是建立
Web 提出的标准有BPEL4WS, 谁最佳,正在争议中。
舞蹈设计 服务间业务工作 BPML,BPSS(Business
流 Process
Specification
Schema)
管理 目的是管理运行 提出的标准是 工作初期(2003年4月)
效能与时间 WS-Distributed
Management
这些标准若不全面解决统一起来,Web 服 务 就 难 得 普
遍 采 用 ,尤
其 是 在 企 业
间。
Web
服 务 的 核 心 是 集 成 ;而 集 成又 是
任 何 分 布 应 用 成 败 的关 键。 集 成
包 括 三 阶 段 :集 成 用 户 接 口 , 集成 数 据 ,然
后 集 成 过程 。 Web 服务用于一对一时,完成集成是无问题。一旦 用 于 多
对 多 时,就 出 现上 述 舞 蹈 设 计 问 题 。这 问 题 的 标 准 问 题 分 歧 较 大 ;统一 问 题 若 不 解
决 , Web 服 务
就 无 法 发 展 成 熟。 目
前 企 业 一 般
只 用 Web 服 务 于 内 部 集 成 ;对 外 往 来 则 由 于
安 全 无 保
障 ,就 不用 Web 服 务 。这 就 要 求
有 一 统一 标 准 来 解 决
此 问 题 。总之,
Web 服 务 是 大 有 可 为 的
。它 不 仅 可 用 以 ,集 成 数 据 ,而 且
更具 有 划 时代 意 义 地 ,是
用 以 集 成 来
组装 分 布 应 用 。后 一 前 景 实 现 时,软 件 研 制 将 大 为
改观 。这 一 切
都 决 定 于
有一 完 整 统一 的 标 准
来 支持 。标 准 问 题 在 件 界 起 初 总 难 免 有 争 议 ,归 终 是 会 得 到 解
决 的 。