Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1528035
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 23:39:48

一起学习
“即时满意”编程成果

Cameron Laird (Cameron@Lairds.com)
副总裁, Phaseit, Inc.
2001 年 8 月

Web 服务正在开始应用于生产。这一关于短消息服务应用程序的个案研究分析了与电信服务 中的 Web 服务开发相关的问题。
Cameron 是独立咨询公司 Phaseit, Inc. 的全职开发人员。他经常撰写关于 Web 服务以及 其它技术主题的文章。可以通过 Cameron@Lairds.com 与他 联系。

Web 服务已“投入生产”。尽管许多商业新闻坚持将 Web 服务作为一种未来的技术进行报道, 然而它已经开始为各种组织机构解决问题了。该个案研究简要描述了一个成功的公开的运用推广在为其编 码的程序员眼中是什么样的。

Web 服务方案便于管理吗?这是一个困扰着许多运用推广计划的关键的不确定因素。developerWorks Web 服务专区的读者们早已认识到 Web 服务是一项可靠的技术,它会在不久的将来变得极为重要。然而 方案计划和实行的结果又是什么呢?Web 服务工作与前几代的客户机-服务器式或基于主机的编程有何不 同呢?Lucin 的公共短消息服务(Short Message Service,SMS)为这些问题提供了线索。

服务运用的种类
首先,让我们来考虑一下 Web 服务的产业环境。如今大多数这样的方案都能归入以下四个类别之一:

  1. 内容管理、协作与联合。这方面的公认的领军者是 Dave Winer 的 Userland、O'Reilly and Associates 的 Meerkat 业务,以及 Jon Udell 为 Linux Magazine 以及 Byte.com 所作的开发和所写的文 章。
  2. 内部服务合并。与 1995 和 1996 年所爆发的“intranet”有所不同,不少 Web 服务的开发是避开公众 视线,在防火墙后展开的。战略上依靠技术多样性的组织机构正将其内部接口作为服务来合并。
  3. CORBA 和 DCOM 的替代品。用 CORBA(更确切地说是 IIOP)或 DCOM 来执行方案或许还是可行的,人们 在去年还采用这种方法。 然而今年,决策者们开始选用 Web 服务作为这些具有竞争力的分布式计算协议的技术替代品了。
  4. 那些以 CORBA 和 DCOM 无法比拟的方式充分利用 Web 服务的公共特性及互操作性的“以程序员为中心” 的方案。

该个案研究可归入这些类别中的最后一个:Web 服务为该应用程序带来了 CORBA 和 DCOM 无法与之匹 敌的重要优势。DCOM 本质上将用户限制为那些运行在 Windows 桌面的用户。而另一方面,CORBA 对于网 关所要求的简单处理来说显得过于“笨重”了。不仅如此,现实中的 CORBA 方案素有受防火墙和互操作 性问题的牵绊之名,而这些问题 Web 服务都能轻松地加以解决。

开发小组:重要统计资料
Lucin PLC 是一 个总部设在英国威尔士的 Newport 的小型软件咨询公司。Mike Clark 是它的创始人和常务董事。它投身 于面向事务的客户机-服务器应用的专业研究已有十余年。2001 年 2 月,三个工程师开始着手于一个“ Web 服务到 SMS”网关的小型演示。几周后,在 3 月份,它就将此项服务向公众开放了。

在大多数欧洲和亚太国家或地区,那里的无线电话都普遍支持“短消息服务(Short Messaging Service)”或者“短消息发送(Short Message Sending)”,尽管这在美国很少见。在日本和其它地区 热火朝天的 SMS 允许电话用户使用手机撰写短小的文本消息,并将它们进行异步传输。它们可被 视为蜂窝式电话的即时消息传递。

相关的电话技术和计算协议捆绑在一起是很自然的,这样计算机就能产生并有可能接收这样的消息了 。 这便是 Lucin 在其“Web 服务到 SMS”网关中所取得的成就;它是未来几个月中几个收费网关中的第一 个:

  • Web 服务到寻呼机
  • Web 服务到传真
  • Web 服务到语音
  • Web 服务到电话应用程序编程接口(telephony application programming interface,TAPI)

在 Lucin 的计划中,再过一段很短的时间,或许就是 2001 年的最后一个季度,它就会具有拨打一个传 统电话,然后用合成的语音读出一条任意消息的能力了。

然而其出发点是 Web 服务与 SMS 的集成。 让我们更仔细地看看第一步。

一种 Web 服务的结构
SMS 网关是一个小 型的软件方案。 许多关于 Web 服务的媒体宣传都设想在大型供应链方案上集成企业应用。Clark 坚持认为,这忽略了一 个要点,那就是“即时满意服务”针对普通的、明确规定的方案,已经运用到了生产中。他有意选择了 SMS 作为模型。 正如 Clark 所指出的那样,“[SMS]就象有着极好使用效果的 Web 服务一样完美地符合这一[模型] ,”但也可能遇到偶尔的供应中断或停机。

当前的基础设备导致我们不得不容忍这些问题。毕竟网络还不是百分之一百的可靠或无所不在的。

一些 Web 服务厂商将“革新”连同其 Web 服务工具的智能性一同兜售。然而不论这个软件在实验室中运 行得如何出色,看上去很少有组织能拥有足够多的连接良好的客户来把那么多重量压在现有的网络上。不 论一个程序的纠错和事务算法有多聪明:除非基础网络连接能获得一笔价格和可靠性均相当可观的订单, 否则建立复杂的 Web 服务就没什么意义。Clark 总结道:“别指望您的用户会因响应时间的缩短而感到 高兴。目前这并非是我们所能掌握的;可能两年后情况会有所不同。”

当前网络基础设备的匮乏迫使 Clark 对 Lucin 作了适当的调整:“我们为一个三年的周期作了仔细 的预算,这意味着我们能在用户基数不大的情况下顺利地维持三年。因为我相信,还需要长时间的艰苦跋 涉,才能让人们认为长期使用 Web 服务对企业来说是足够可靠且值得信赖的。”

与此同时,那几种确实能满足用户的服务可能比您期望的更为简单。Web 服务开发人员将典型的高级 设计看作是从网络上引入数据或对象,对它们进行计算然后使用 Web 服务协议将结果传回网络。Lucin 出售大量符合这一模型的 Web 服务产品并有一些内部工具来支持这样的开发。

然而对于 SMS 网关,Lucin 最终决定采用一种甚至更为简单的方法。Clark 的解释是“……如果您知 道接口的话,便只需构建一个简单的字符串变量,并替换那些您向远程 Web 服务发送数据时会改变的值 。这就节省了不得不引用[SOAP 工具包或模块]所需的时间和开销。"

Lucin 用 Visual Basic 在位于一个 NT Server 4.0 上的产品级版本的 SMS 网关上进行这一简单的 字符串替换,以及其他相关的轻量计算。它所提供的性能对于每天处理的几百条消息(通常在 300 到 800 之间)来说已是绰绰有余了。

该网关的简单性扩展至到了其 身份验证部分:一个通过超文本传输协议(HyperText Transport Protocol,HTTP)以纯文本形式发送的 用户—密码组合。Clark 指出:“您并不希望在登录 Web 站点时使用 HTTPS[安全 HTTP],那又何必用 HTTPS 让用户传递用户名及密码以验证他们使用您的 Web 服务呢?”由于使用 HTTPS 的频率相当高, Clark 指出了其在运行时性能上的缺点,并作了总结:“我们可以在一定程度上使用 HTTPS 的能力,但 差不多应该只在收到用户请求时使用。”

“Web 服务的优点之一,”根据 Clark 的观点,“就是使用简单、牢固的部件所带来的灵活性。”网 关在后端与电信厂商所提供的计量的 SMS 接口相连接。Lucin 已经两度为这个后端改变了供应商,但却 没有中断任何针对客户的服务。网关的用户只需接收关于收到他们的请求的确认;而无需知道或关心后端 的情况。

身份验证,连同验证电话国家或地区代码和本地号码的接口一起,使该网关的 Web 服务描述语言( Web Services Description Language,WSDL)实例成为一个最广泛使用的公开可见的服务(请参阅参考 资料)。它定义了四种操作:SendTextMessageSendMessageValidPhoneNumberGetCountryCodes。其中第二种操作的部分定义如清单 1 所示。

清单 1:process.xml



       

         

         

	 

	 

       

  

Lucin 在该方案中大量地重复运用了其在 Visual Basic 及其同类技术方面的专长。Clark 透露:“ Web 服务只是 DCOM 组件的一个层。”

根据 Clark 的观点,该网关接下来的变化将是:“将它发展成为一种收费服务,”价格为每次 4.5 便士,并与电信供应商签约,合作开发上面提到过的寻呼机、传真以及其它网关。

可操作性结论
作为一个软件方案,SMS 网关是很小的:其设计、实现和部署只需要十几个工作周。由于竞争方面的原因 ,Clark 不愿提供编码的细节。而他公开提出的部分观点是,Web 服务提供了基于组件的软件开发的优势 。适合于 Web 服务的几套要求常常自然分解为即使是初级编程人员也能进行的简单设计。

其它的公共 Web 服务在工程范围内同样看起来很小。XMethods.net 有一个通往 PacBell SMS(在美 国西部)的网关。它有个更为简单的公共接口(请参阅参考资料),仅处理 一个 WSDL operationsendMessage。最为复杂的公共服务接口是 Lucin 的邮件列表管理器演示。它定义了二十六个不同的 operation,所处理的所有数据类型都 很简单,如 string

那么,Web 服务开发有什么特别之处呢?我们都还无法确定。尚未有过任何一家从事大规模的基于 Web 服务开发的公司过多透露他们的经验。在小范围内,这一技术“感觉”就像是其它轻量级的网络的开 发。人们能够阅读 XML,并且有这么多工具可供人们管理使用,这无论如何都是个优点。

Clark 认为:“开发 Web 服务的问题并非开发周期,而是力图创建一个人们愿意为之付钱的 Web 服 务。”随着 Web 自身开始了其第二个十年,基础技术已被理解得相当透彻,但是在为人们可读的 Web 站 点建立“商业模型”方面,仍有许多不能令人满意之处,还需要做大量实验。这也将成为外部 Web 服务 — 介绍中所提到的第四个类别 — 的最大挑战。

当 Web 服务的“组件市场”在 OCX 或 VBX 实践的方式的逐渐成熟起来的时候,它的开发工作也将发 生重大变化。 这一技术已经强调了对构件的使用,而它很可能还会随着越来越多的服务联机入网而不断加强。其中的一 个不同可能就是开放源代码的影响。虽然 OCX 和 VBX 拥有所有权定义,并且授权收费的组件总是统制着 那个领域,然而由于 Web 服务是完全基于公共标准的,因此该技术的许多工具包都是开放源代码的。

参考资料

  • Userland 主页:Dave Winer 的 Userland 是关于 Web 服务内容企业联合组织及相关事物的热衷者和各种实验的可靠场所。
  • “Meerkat, an Open Wire Service”,O'Reilly 的演示给了 Web 服务一个新面貌。
  • 请查阅 Linux Magazine。
  • 请访问 Byte.com。
  • GSM-SMS 概述
  • :SMS 的技术概述 。
  • 请在“Short Message Sending for Wireless”学习 developerWorks 教程。
  • 请查看 Lucin 的 SMS 消息传递 SOAP Web 服务。
  • 这里是 Lucin SMS 网关的 WSDL 实例。
  • 请阅读 Microsoft 白皮书,“IP Telephony with TAPI 3.0”。
  • Bowstreet 关于紧密结合、普遍存在的 Web 服务的雄心勃勃的设想可在白皮书:“Bowstreet - Beyond B2B”中可见一斑。
  • XMethods.net PacBell SMS 的 WSDL 实例。
  • Lucin 邮件列表管理器的 WSDL 实例。
  • 请阅读 Cameron Laird 个人关于 Web 服务的 记录。

下载本文示例代码


SMS:关于 Web 服务应用的个案研究SMS:关于 Web 服务应用的个案研究SMS:关于 Web 服务应用的个案研究SMS:关于 Web 服务应用的个案研究SMS:关于 Web 服务应用的个案研究SMS:关于 Web 服务应用的个案研究SMS:关于 Web 服务应用的个案研究SMS:关于 Web 服务应用的个案研究SMS:关于 Web 服务应用的个案研究SMS:关于 Web 服务应用的个案研究SMS:关于 Web 服务应用的个案研究SMS:关于 Web 服务应用的个案研究
阅读(281) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~