Web服务架构与开放互操作技术
柴晓路 编著
下载PDF版本摘要 | China-PUB在线购买 | 各大书店有售
Preface
Web services - Removing platform and language dependencies
with open XML standards
Increasingly, we find ourselves presented with a new set of technologies that promise to change how we approach computing system design and development. These promises have generally been consistent - increased performance, reuse, scalability, integration, and/or other innovative solutions to one of the other challenges we are sensitive to at the time. Approaching each new wave of technology often introduces fundamental changes in our thinking, and the results are usually mixed. The highest hopes are often dashed, but the resulting improvement is significant nonetheless. These evolutionary steps in technology are happening at an increasingly fast pace. In terms of pace and vision, today is no different. However, the focus has changed.
Today's focus is tied to the introduction of XML and Web services. This shift reflects a dramatic change in the assumptions behind our approach to solution development. For perhaps the first time, we acknowledge that an approach that ties itself to a single platform or development language is shortsighted, and that enabling solutions that readily cross every technical boundary is a necessity. In fact, monolithic solutions dependent on any one of these facets doom themselves to failure. Instead, the future is based on the foundation established by the first generation of Web services technologies - XML Schema, SOAP, WSDL, and UDDI. XML Schema establishes a core to describe the structure we use to exchange information between systems, SOAP provides the supporting metadata required by the underlying infrastructure, WSDL gives us a formal description of the interaction, and UDDI introduces the ability to provide truly dynamic solutions for the first time. This combination of technologies works transparently across underlying platform boundaries, promising interoperability where it has not been possible before.
The set of available XML specifications continues to expand to address the remaining challenges for more complex solutions. However, the foundation is in place today, and new efforts such as WS-I further demonstrate the commitment across the industry to approach Web services technologies in a consistent and holistic manner. From the combination of XML, SOAP, WSDL, and UDDI, we have a core for solutions that are independent of platform, application, or programming language. The next generation of innovation will be driven by those who are open the opportunity provided by Web services, and who quickly move forward to embrace it.
Christopher Kurt
Microsoft Corporation
Secretariat and Founding Board Member, Web Services-Interoperability Organization (ws-i.org)
Founder and Program Manager, UDDI (www.uddi.org)
序·Web服务,网络计算的革新
回顾过去的几年,我们可以看到互联网给网络计算带来的无限生机。从早期简单的超文本模式到现在Web服务的方兴未艾,让我们看到互联网作为一个平台,不仅可以传递各种各样的信息,还可以为我们提供服务。Web服务的出现,为我们带来了一种新的网络应用模式。在过去,企业应用的整合常常会因为各个商业系统使用各自不同的编程语言、中间件和系统平台而变得非常复杂和困难。而现在,我们可以将各种各样的应用封装成Web服务,部署到Intranet/Extranet/Internet,通过网络动态地发现和集成,从而在平台和操作系统之间实现无缝互操作性。
Web服务是各种商业、应用、系统服务的基于XML标准的接口。作为一种计算机技术,XML的出现不过是短短几年前的事情,但它以其开放性、标准性和简便性而得到了迅速的推广,改变了基于Internet应用程序的开发方式。现在,一系列基于XML的标准已经被业界广泛接受,成为实现动态B2Bi的关键。Web服务的技术核心就是基于这些开放的标准:服务的提供者可以用WSDL(Web Services Description Language)描述Web服务;在UDDI Registry里发布、注册Web服务,服务的使用者通过UDDI(Universal Description, Discovery and Integration)进行查询,找到他们所需的服务后可以利用SOAP(Simple Object Access Protocol)来绑定、调用这些服务;利用WSFL(Web Services Flow Language)来定义复杂的工作流,可以说XML是构建Web服务的基石。Web服务秉承了XML语言的优势,是一种实实在在的与开发语言、平台无关的开发技术,而且它的技术规范都是公开的。因此,Web服务迅速成为了万众瞩目的对象。目前,包括IBM、Microsoft、Sun、Oracle和BEA等在内的各大公司纷纷宣布在他们的产品中支持Web服务,很多其他的软件开发组织也都在自己的产品中加入了对Web服务的支持,Web服务正处于迅猛发展时期。
在国内,目前几乎没有一本全面介绍Web服务的书,这和国际上Web服务技术飞速发展的趋势很不相称。为了向国内的广大读者介绍Web服务这项新技术,作者编写了本书,主要介绍Web服务方方面面的知识。本书的内容没有涉及任何具体的编程语言,它面向的是广大计算机爱好者,在系统介绍XML及其相关技术的基础上,进一步详尽地介绍了SOAP、WSDL和UDDI等基于XML的Web服务技术规范、协议和标准;结合作者的实践经验,剖析了Web服务的架构、实现模式,通过同传统的B2B、B2C的比较,充分展示了Web服务在未来商业应用中的强大功能和优势。通过本书,您还可以知晓到目前Web服务的应用概况,了解在企业应用中进行Web服务开发的一些主要工具。本书叙述平实易懂,内容由浅入深,循序渐进,相信无论是初学者还是有经验的开发人员通过本书的阅读,都可以较快地掌握Web服务这一最新的开发技术,并在不久的将来将其带入到实际的应用开发中去。
本书的作者柴晓路是UDDI Advisory Group成员,参与了UDDI Specification V2的开发,专长于Web Services架构、Web Services系列技术;同时,他也是IBM公司developerWorks中国网站XML & Web services技术专区的专栏作家,长期以来,发表了大量有关Web服务的文章,获得了广大读者的认可和赞誉,作为UDDI-China.org的核心技术专家,为Web服务在中国的推广做出了很大的贡献。值本书出版发行之际,我很高兴向大家推荐这本书,衷心希望该书能够成为广大计算机爱好者、开发人员的良师益友。
王秦霞
IBM中国软件技术支持中心经理
IBM developerWorks中国区经理,www.ibm.com/developerWorks/cn
前 言
本书不是一本介绍Web服务技术(Web Services)实现或是Web服务(Web Service)应用开发的书。关于Web服务相关的开发方面的问题,将是我以后可能会写的内容。本书假设你对计算机技术的基础和架构都有一定了解,对Web应用的架构有一定了解,同时你又对当今正在发生的计算机技术的第三次革命——Web服务革命的本质有着浓厚的兴趣。本书也涉及到了一定的面向对象技术,虽然仅掌握基本的对象概念也能阅读本书,不过还是建议在阅读本书的时候对面向对象技术能有一个整体的了解,因为Web服务究其实质,从某一方面来看,它是部署在Web上的可编程对象。
本书考察的是Web服务技术的产生根源、商业驱动的原因以及它需要满足的那些商业需求,同时它又是如何从技术上对这些商业需求提供保障的。本书以Web服务技术系列为主线,逐一详细分析解释包括XML、XML Schema、SOAP、WSDL和UDDI等在内的Web服务核心技术。在分析阐述的同时,使用了大量的实例和应用案例以使读者能够更形象地理解这些技术和技术的设计思路、设计原则。
Web服务是当今IT业界的焦点所在。Web服务技术的主要目标就是在现有各种异种 平台的基础上构筑一个通用的平台无关、语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成。我们知道在PC的软件系统中,除桌面应用外,还有很多底层的服务为这些应用提供基础服务,Web服务同样也可以看成是为这些应用提供基础服务,不同点在于,它们可以被自由地部署在Internet上,使用Web服务技术来实施访问。
一旦你理解了Web服务并且有一种豁然开朗的感觉,那么你在从事系统架构的时候,无论它是不是Web服务应用架构,你都可以使用另一种不同于传统的方式去思考和解决问题。对于任意一个开放式互操作的系统而言,Web服务技术所包含的体系架构思想都将令设计获益匪浅。开放互操作能力自从网络和Internet开始蓬勃发展以来,就一直是系统架构人员和应用开发人员牵肠挂肚的一个不圆满的梦。从Web服务架构慢慢成形开始,这个梦将慢慢地被圆了。Web服务不但令技术向前进了一大步,同时由Web服务革命所引发的新的商业模式的革命正蓄劲待发。
目前的第一代Web服务技术是Web服务所承诺的强大互操作能力的首次尝试,也是Web服务技术发展的基础和核心。Web服务技术正在不断发展着,无论如何发展其核心 就是力求应用获得最佳的开放互操作性,这一宗旨正是Web服务的核心理念。一遍阅读 本书也许并不能使你对Web服务有深刻整体的了解,多次阅读或许是融会贯通的一个好 方法。
由于本书的成文时间较短,同时Web服务技术又在不停地发展中,因此书中的错误和遗漏在所难免,欢迎广大读者批评和指正,无论您对书中采用的实例、引用,还是我们遗漏的技术细节或相关的体系架构等方面存在疑问,您都可以通过fennivel@uddi-china.org与我联系,fennivel@yahoo.com是我另一个常用的E-mail地址。另外关于Web服务技术的应用和研究,您还可以在forum.uddi-china.org上参与讨论,同时www.uddi-china.org也是一个很好的Web服务技术的中文站点。
在本书的完成过程中,Microsoft的Christopher Kurt先生、IBM的王秦霞女士以及我的朋友和伙伴曹晶、陈曦、梁宇奇、范晓锋、倪凯、李洁等,还有我的父母家人们,都给予了我很大的帮助和支持,在此一并向他们表示我真挚的感谢!