左
左轻侯
Unregistered / Unconfirmed
GUEST, unregistred user!
发表于《程序员》第5期
很多修辞都是编辑加上去的,大家只看内容可也
李维《Delphi 6/Kylix 2 SOAP/Web Service程序设计篇》书评
左轻侯
随着微软.Net Framework的正式发布,Microsoft.Net和Sun ONE的两大阵营之争也进入了白热化的
阶段。魔幻般的技术更迭,使得程序员们不得不面对大量似乎一夜之间涌现出来的新名词,也许SOAP/Web
Service就是其中出现频率最多的一个新词语。如今,各方面围绕SOAP/Web Service这项新技术的议论正
在热烈地进行着:认为它是伟大的变革,是沟通所有平台和计算模型的桥梁,是两大阵营技术的共同基础,
是未来网络的核心技术……亦有对此不以为然者,认为它仅是有关厂商制造出来的技术泡沫,理论价值远
远大于实用价值,在实际中派不上用场……跟所有新技术的出现一样,这些反对的声音跟人们还未能迅速
地消化该项技术,该项技术亦尚未能大量地投入具体应用,以及人们所能获取的相关资料并不太多有着十
分大的关系。谈起SOAP/Web Service,大多数程序员是一片茫然,不但刚刚入门的新手彷徨不知从何下手,
即便是经验丰富的行家里手也有着这样或者那样的困惑甚至曲解。虽然最新版的大型软件如Delphi、
Apache、Java等都已经陆续地加入支持SOAP/Web Service开发的行列,从网上也可以获得有关规范的白
皮书,但是这些资料毕竟都显得深度不够,无法让人对SOAP/Web Service建立起一个较为完整清晰的轮廓。
这时候的程序员们都憋了一口闷气,期待着能有一本篇幅适中、论述全面、深入浅出的书籍的出现,
以帮助他们在尽量短的时间内了解和掌握这一门新兴技术。当我得到李维先生的大作《Delphi 6/Kylix 2
SOAP/Web Service程序设计篇》(机械工业出版社出版)之后,我喜出望外,如获至宝,怀着激动不已的
心情,我对这本难得的好书进行了彻夜的研读。熬夜奋战的我如今终于舒心下来,因为我知道这正是我一
直苦苦寻觅的那本书,我找到了期望已久的SOAP/Web Service精髓。
李维先生是Inprise/Borland公司台湾首席工程师和著名的Delphi专家。记得在Delphi 5的时代,由他
撰写的三本技术图书《Delphi 5.X ADO/MTS/COM+ 高级程序设计篇》、《Delphi 5.X 分布式多层应用 电子
商务篇》以及《Delphi 5.X 分布式多层应用 系统篇》饮誉海峡两岸,技术界人士无不拍手称赞,成了支
持Delphi的程序员们常啖常新的佳作。此番李维先生再次出山,领头担纲讨论SOAP/Web Service这一前
沿技术,实乃程序员之大幸。
我曾经在论坛上看到过有关这本书的一些揣测和议论,对这本书过于偏重SOAP/Web Service表示不解。
我认为,从全书的主旨来看,李维先生指出Delphi仅是一个实现的平台而已,因此他就直接地把这本书的
整个重心放在讨论SOAP/Web Service技术本身。这正是他经过了近几年的思考和探索之后,对技术趋势的
态度的一个重大转变。正如李维先生在前言中所提到的那样“由于SOAP/Web Service的重要性,因此笔者
认为写一本完整的书籍来介绍它们,而不是以一个简单的章节来带过”,李维先生的态度可见一斑。
在开头两章中,李维先生详细地讨论了SOAP/Web Service的概念及其由来。在很久以前,如何调用远
程平台的程序代码就是一个令人头疼的问题。因为它不但涉及到平台异构性,而且要涉及通信协议和数据
交换格式等一系列复杂的问题。经过多年的发展,已经出现了一些比较成熟的组件模型,如OMG提出的
CORBA、Microsoft的DCOM/COM+、Sun的EJB,它们支持着现存的分布式计算系统。但是这些组件模型都有
着各自的缺陷,例如依赖于特定的平台、过于复杂、协议本身的缺陷,等等。随着Internet/Intranet的
飞速发展,对不同的操作系统和组件模型之间的沟通和集成的需求越来越强烈。这种情况之下,SOAP/Web
Service应运而生。
所谓SOAP,英文全称为Simple Object Access Protocol,意即简单对象调用协议。Web Service是
建立在此种协议之上的技术。SOAP是以XML标准格式封装的沟通机制,并以文本的形式来表达。由于XML
的通用性,使得SOAP可以被最大多数的操作系统和开发工具支持。同时,SOAP定义了一套规则,来对传
输的各种数据格式进行封装。SOAP标准本身并不复杂,但SOAP的出现,使得不同平台和组件模型之间的
沟通和集成成为可能,并且为以服务为导向的下一代Web应用程序奠定了基础。
在第三章,李维先生从最初级的操作开始,一步步引导读者建立了几个简单的Web Service应用。Delphi
向来以强大的RAD开发能力著称,这一次也不例外,Delphi 6增加了一系列的控件、函数和专门向导,封
装了Web Service有关的底层操作。通过它们,程序员可以不用理会Soap/Web Service的技术细节,仅仅
通过控件的拖放和一些简单的代码,就能开发出相当复杂的Web Service程序。书中在一一介绍了这些新
的控件之后,举出三个例子,一个是最简单的Web App Deduger程序,一个是CGI类型的应用程序,还有
一个是以Inerbase为后端的数据库应用程序。书中描述非常详尽,循序渐进,虽然涉及到了Interface和
COM等较为高级的主题,但对于已经具有这方面基础知识的人来说,是很容易掌握的。
在读者获得对Soap/Web Service的感性认识之后,接下来的几章里,李维先生深入地介绍了SOAP本
身。光会使用Delphi的有关控件是远远不够的,要成为这一领域的高手,必须深入了解SOAP的底层。作
为一种基于XML的通信协议,书中详细介绍了SOAP封包的结构、各个组成部分及其功能,然后依次介绍各
种数据类型的封装规则、远程调用机制和有关对象/接口参考等等。由于SOAP仍然处于高速的发展之中,
因此这方面的资料特别是中文资料,显得弥足珍贵。值得一提的是,即使在说明这种较为枯燥的问题时,
李维先生的文笔仍然引人入胜,他并不是仅仅罗列出有关标准,而是通过“提出问题-给出解决方案-讨论
解决方案的不足之处-引出深一步的主题”这种方式,使得读者不仅知其然,而且知其所以然。
本书的最后一部分,以相当的篇幅,结合实际范例,讨论了Soap/Web Service技术的一些高级主题:
在Soap/Web Service中处理复杂数据类型,开发数据库应用程序,使用MS Soap Toolkit,结合COM+技术
开发分布式Soap/Web Service应用系统,以及Web Service系统的运行效率问题。全书的这一部分,是最
让人对作者感到钦佩的地方。因为介绍象Soap/Web Service这样的前沿技术的书籍中,真正能够将这些新
名词、新理论讲述得准确、透彻的,本来就已经不多。李维先生不但对Soap/Web Service的理论架构了如
指掌,而且能够以实例为依托,深入地讨论如何将这门新技术运用到各个实际领域中去及其遇到的种种问
题与解决,这不得不让人惊叹于作者的深厚功力与娴熟经验。同时,这也反过来加深了读者对理论的认识。
必须提及的是,书中专门有一章,是李维先生别出心裁,从Delphi开发者的角度出发,探讨Delphi
中Soap/Web Service解决方案的实现思路和幕后制作过程。这一章中充满了一个技术天才的奇思妙想和精
妙的源代码(来自于真正的VCL源码)。李维先生称,他还没有见过任何中文书籍以这种方式来讨论一门技
术。对于实际开发,这一章可能没有直接的用处,但是对于一个真正爱好技术的人,这一章一定会让他拍
案叫绝。
正如李维先生在后记中所提到的那样,SOAP/Web Service技术是如此的热门,至今仍然在不断的变化
和发展之中,这令他在写完此书时,仍然有一种意犹未尽的感觉。作为一篇书评,我无意在这里过多地涉
及到SOAP/Web Service技术的细节,不过需要强调的一点是,阅读此书确实是一种紧张而愉快的经历。除
了那种能追赶上业界最前沿技术的愉悦感之外,李维先生出色的论述也是其中的关键。这本《Delphi
6/Kylix 2 SOAP/Web Service程序设计篇》不但有助于我们正确地掌握这门SOAP/Web Service新技术的
真正内涵以及澄清过往的种种曲解,而且也由于李维先生作品一贯重视应用的务实风格,使得我们得以坐
享其成,把其中介绍的许多方法拿来即用。我热情洋溢地向所有对SOAP/Web Service技术感兴趣的读者推
荐此书。
很多修辞都是编辑加上去的,大家只看内容可也
李维《Delphi 6/Kylix 2 SOAP/Web Service程序设计篇》书评
左轻侯
随着微软.Net Framework的正式发布,Microsoft.Net和Sun ONE的两大阵营之争也进入了白热化的
阶段。魔幻般的技术更迭,使得程序员们不得不面对大量似乎一夜之间涌现出来的新名词,也许SOAP/Web
Service就是其中出现频率最多的一个新词语。如今,各方面围绕SOAP/Web Service这项新技术的议论正
在热烈地进行着:认为它是伟大的变革,是沟通所有平台和计算模型的桥梁,是两大阵营技术的共同基础,
是未来网络的核心技术……亦有对此不以为然者,认为它仅是有关厂商制造出来的技术泡沫,理论价值远
远大于实用价值,在实际中派不上用场……跟所有新技术的出现一样,这些反对的声音跟人们还未能迅速
地消化该项技术,该项技术亦尚未能大量地投入具体应用,以及人们所能获取的相关资料并不太多有着十
分大的关系。谈起SOAP/Web Service,大多数程序员是一片茫然,不但刚刚入门的新手彷徨不知从何下手,
即便是经验丰富的行家里手也有着这样或者那样的困惑甚至曲解。虽然最新版的大型软件如Delphi、
Apache、Java等都已经陆续地加入支持SOAP/Web Service开发的行列,从网上也可以获得有关规范的白
皮书,但是这些资料毕竟都显得深度不够,无法让人对SOAP/Web Service建立起一个较为完整清晰的轮廓。
这时候的程序员们都憋了一口闷气,期待着能有一本篇幅适中、论述全面、深入浅出的书籍的出现,
以帮助他们在尽量短的时间内了解和掌握这一门新兴技术。当我得到李维先生的大作《Delphi 6/Kylix 2
SOAP/Web Service程序设计篇》(机械工业出版社出版)之后,我喜出望外,如获至宝,怀着激动不已的
心情,我对这本难得的好书进行了彻夜的研读。熬夜奋战的我如今终于舒心下来,因为我知道这正是我一
直苦苦寻觅的那本书,我找到了期望已久的SOAP/Web Service精髓。
李维先生是Inprise/Borland公司台湾首席工程师和著名的Delphi专家。记得在Delphi 5的时代,由他
撰写的三本技术图书《Delphi 5.X ADO/MTS/COM+ 高级程序设计篇》、《Delphi 5.X 分布式多层应用 电子
商务篇》以及《Delphi 5.X 分布式多层应用 系统篇》饮誉海峡两岸,技术界人士无不拍手称赞,成了支
持Delphi的程序员们常啖常新的佳作。此番李维先生再次出山,领头担纲讨论SOAP/Web Service这一前
沿技术,实乃程序员之大幸。
我曾经在论坛上看到过有关这本书的一些揣测和议论,对这本书过于偏重SOAP/Web Service表示不解。
我认为,从全书的主旨来看,李维先生指出Delphi仅是一个实现的平台而已,因此他就直接地把这本书的
整个重心放在讨论SOAP/Web Service技术本身。这正是他经过了近几年的思考和探索之后,对技术趋势的
态度的一个重大转变。正如李维先生在前言中所提到的那样“由于SOAP/Web Service的重要性,因此笔者
认为写一本完整的书籍来介绍它们,而不是以一个简单的章节来带过”,李维先生的态度可见一斑。
在开头两章中,李维先生详细地讨论了SOAP/Web Service的概念及其由来。在很久以前,如何调用远
程平台的程序代码就是一个令人头疼的问题。因为它不但涉及到平台异构性,而且要涉及通信协议和数据
交换格式等一系列复杂的问题。经过多年的发展,已经出现了一些比较成熟的组件模型,如OMG提出的
CORBA、Microsoft的DCOM/COM+、Sun的EJB,它们支持着现存的分布式计算系统。但是这些组件模型都有
着各自的缺陷,例如依赖于特定的平台、过于复杂、协议本身的缺陷,等等。随着Internet/Intranet的
飞速发展,对不同的操作系统和组件模型之间的沟通和集成的需求越来越强烈。这种情况之下,SOAP/Web
Service应运而生。
所谓SOAP,英文全称为Simple Object Access Protocol,意即简单对象调用协议。Web Service是
建立在此种协议之上的技术。SOAP是以XML标准格式封装的沟通机制,并以文本的形式来表达。由于XML
的通用性,使得SOAP可以被最大多数的操作系统和开发工具支持。同时,SOAP定义了一套规则,来对传
输的各种数据格式进行封装。SOAP标准本身并不复杂,但SOAP的出现,使得不同平台和组件模型之间的
沟通和集成成为可能,并且为以服务为导向的下一代Web应用程序奠定了基础。
在第三章,李维先生从最初级的操作开始,一步步引导读者建立了几个简单的Web Service应用。Delphi
向来以强大的RAD开发能力著称,这一次也不例外,Delphi 6增加了一系列的控件、函数和专门向导,封
装了Web Service有关的底层操作。通过它们,程序员可以不用理会Soap/Web Service的技术细节,仅仅
通过控件的拖放和一些简单的代码,就能开发出相当复杂的Web Service程序。书中在一一介绍了这些新
的控件之后,举出三个例子,一个是最简单的Web App Deduger程序,一个是CGI类型的应用程序,还有
一个是以Inerbase为后端的数据库应用程序。书中描述非常详尽,循序渐进,虽然涉及到了Interface和
COM等较为高级的主题,但对于已经具有这方面基础知识的人来说,是很容易掌握的。
在读者获得对Soap/Web Service的感性认识之后,接下来的几章里,李维先生深入地介绍了SOAP本
身。光会使用Delphi的有关控件是远远不够的,要成为这一领域的高手,必须深入了解SOAP的底层。作
为一种基于XML的通信协议,书中详细介绍了SOAP封包的结构、各个组成部分及其功能,然后依次介绍各
种数据类型的封装规则、远程调用机制和有关对象/接口参考等等。由于SOAP仍然处于高速的发展之中,
因此这方面的资料特别是中文资料,显得弥足珍贵。值得一提的是,即使在说明这种较为枯燥的问题时,
李维先生的文笔仍然引人入胜,他并不是仅仅罗列出有关标准,而是通过“提出问题-给出解决方案-讨论
解决方案的不足之处-引出深一步的主题”这种方式,使得读者不仅知其然,而且知其所以然。
本书的最后一部分,以相当的篇幅,结合实际范例,讨论了Soap/Web Service技术的一些高级主题:
在Soap/Web Service中处理复杂数据类型,开发数据库应用程序,使用MS Soap Toolkit,结合COM+技术
开发分布式Soap/Web Service应用系统,以及Web Service系统的运行效率问题。全书的这一部分,是最
让人对作者感到钦佩的地方。因为介绍象Soap/Web Service这样的前沿技术的书籍中,真正能够将这些新
名词、新理论讲述得准确、透彻的,本来就已经不多。李维先生不但对Soap/Web Service的理论架构了如
指掌,而且能够以实例为依托,深入地讨论如何将这门新技术运用到各个实际领域中去及其遇到的种种问
题与解决,这不得不让人惊叹于作者的深厚功力与娴熟经验。同时,这也反过来加深了读者对理论的认识。
必须提及的是,书中专门有一章,是李维先生别出心裁,从Delphi开发者的角度出发,探讨Delphi
中Soap/Web Service解决方案的实现思路和幕后制作过程。这一章中充满了一个技术天才的奇思妙想和精
妙的源代码(来自于真正的VCL源码)。李维先生称,他还没有见过任何中文书籍以这种方式来讨论一门技
术。对于实际开发,这一章可能没有直接的用处,但是对于一个真正爱好技术的人,这一章一定会让他拍
案叫绝。
正如李维先生在后记中所提到的那样,SOAP/Web Service技术是如此的热门,至今仍然在不断的变化
和发展之中,这令他在写完此书时,仍然有一种意犹未尽的感觉。作为一篇书评,我无意在这里过多地涉
及到SOAP/Web Service技术的细节,不过需要强调的一点是,阅读此书确实是一种紧张而愉快的经历。除
了那种能追赶上业界最前沿技术的愉悦感之外,李维先生出色的论述也是其中的关键。这本《Delphi
6/Kylix 2 SOAP/Web Service程序设计篇》不但有助于我们正确地掌握这门SOAP/Web Service新技术的
真正内涵以及澄清过往的种种曲解,而且也由于李维先生作品一贯重视应用的务实风格,使得我们得以坐
享其成,把其中介绍的许多方法拿来即用。我热情洋溢地向所有对SOAP/Web Service技术感兴趣的读者推
荐此书。