
由IT业界驱动、强调开放标准和松散耦合的面向服务架构(SOA)以及Web 服务(Web services)技术为开放、大规模、分布式的企业信息系统,提供了一种独立于编程语言、开发平台、运行平台以及提供者的先进开发和应用集成技术,支持动态的电子商务,正在成为企业信息化的主流支撑技术和实施理念。
本书着眼于面向服务架构技术与应用的最新进展,关注Web服务价值链各环节的最新动态,结合笔者的科研实践和体会,对面向服务架构和Web服务技术的理念、特点、基本技术、实现技术、开发工具、应用方案等提供系统的描述,依据Web服务的知识点和应用场景,分门别类地描述了一些典型的应用案例,重点探讨面向服务架构在企业信息架构、业务流程规划、信息系统设计、企业应用集成中的应用、主要问题和体会。
本书适合作为高等院校计算机相关专业,特别是软件工程、电子商务、企业信息化等专业的研究生与高年级本科生教材; 同时,也适合信息技术领域的咨询和培训机构作为专业人士的参考资料与培训教程。
电子商务是信息时代的重要变革之一,它通过互联网把业务经营和信息技术结合起来,产生了一个新的产业和学科。面向服务是信息时代的又一个重大变革,它通过服务概念,在企业业务和信息技术之间架起了桥梁,把与二者的相关概念统一起来,使业务经营和信息技术人士的交流和理解有了共同的基础,使面向服务的业务分析与系统分析具备了统一元素。
面向服务是先进的业务和计算理念,面向服务架构(serviceoriented architecture,SOA)是被广泛接受的面向服务技术规范,Web服务(Web services)是实现面向服务架构的主流技术体系。面向服务架构与Web服务正在成为主流的企业信息规划、应用集成与中间件技术。它通过开放的数据格式和服务接口,提供了良好的封装性和广泛适用性,支持软件资源之间的松散耦合和动态配置,支持分布式、动态的业务流程与应用集成。Web服务的上述特征将对软件的开发和应用产生重要影响。
面向服务架构中的服务概念,与对象、主体(agent)的粒度不同,关注的层次不同。从业务层面看,它是实现企业业务及其流程基本、直接元素
; 从信息技术层面看,它是采用Web服务来封装软件实现细节,提供服务功能。业务层面的企业服务,在信息技术层面通过Web服务,以同样的粒度和内涵来实现和提供。它在业务上面是实现以用户为中心的核心经营理念,在技术上面是分布式信息资源和计算能力整合的先进方法与手段。
与分布式面向对象技术相比,依据面向服务思想设计出来的服务软件,不仅支持软件复用,还具有更大范围的适用性。Web服务支持自底向上的软件开发,设计人员可以首先考虑系统的需求,然后进行服务装配,企业因此可以通过将核心业务流程和外部服务资源整合以构建应用程序,使企业应用和业务流程更加灵活和个性化,并有效地降低成本和提高生产效率。
本书的前身是IBM精品课程“Web服务及其应用”,该课程目的是传播和推广面向服务的架构、理念、技术和应用。我们发现,很多专业人士缺乏该领域的研发经历和应用实践,也没有与信息产业链各环节人士进行深入沟通,因此对面向服务架构的理念、应用特点和实施方法理解不够深入和
完整,要么只看到技术层面的Web服务,要么只关注服务理念,甚至局限于Web服务的开发层面,不能看到面向服务的博大精深以及面向服务在理念、科学、技术、应用等各层面的表现,不能理解Web服务技术对产业的推动和演化趋势。
为此,本书将结合笔者在教学和研究中积累的丰富案例,精选行业经典案例,关注面向服务架构技术与应用的最新进展,重点讲述面向服务架构在企业信息架构、业务流程规划、信息系统设计、企业应用集成中的应用方法、主要问题和体会,希望能够与读者分享自己的心得。
笔者的教学和科研任务繁重,写作水平有限,虽然本书在初稿的基础上经过多次加工,仍然会有很多瑕疵,真诚欢迎广大读者和专家的批评指正。此外,本书引用的一些资料来自网络,有的网址可能不再有效,这种情况希望大家能够通过搜索引擎查找其最新网址。
由IT业界驱动、强调开放标准和松散耦合的面向服务架构(SOA),以及Web 服务(Web services)技术,为开放、大规模、分布式的企业信息系统,提供了一种独立于编程语言、开发平台、运行平台以及提供者的先进开发和应用集成技术,以服务在业务领域和信息技术领域的一致性解决业务与信息技术的结合与一致性,支持动态的电子商务,正在成为企业信息化的主流支撑技术和实施理念。
本书基于Web服务价值链各环节的主流动态,收集经典案例,同时结合
笔者的科研实践成果和体会,对面向服务架构和Web服务技术的理念、特点、基本技术、实现技术、开发工具、应用方案等进行了系统的分析。依据Web服务的知识点和应用场景,分门别类地描述了一些典型的应用案例。
通过本书的学习,读者可望获得以下收获:
理解并且应用面向服务的理念来进行企业信息规划、系统设计和应用集成。
掌握Web服务技术与工具,能够熟练使用一种以上工具开发Web服务应用。
掌握面向服务在企业信息系统实施中的解决方案与主要问题。
了解不同SOA/Web服务在不同行业中的应用实践案例。
本书将在以下方面对国内外高校的教学模式和方法提供有益参考:
师生互动评点实际案例,以透彻的案例为主线讲解相关知识和技术,不仅有业务分析,还有相应的信息规划与系统实现分析。
结合教师研发实践,组织课堂实验和课程项目,作为锻炼和考查学生知识的方法,产学研结合的教学效果。
强调业务与信息技术的一致性,强调从理念、技术、开发和实施的系统性。
服务概念是联系企业经营和信息技术的基本线索。因此,本书特别适合跨学科专业,例如计算机软件、信息管理、电子商务等,为高年级本科生、研究生开设专业课程。本书也可作为高级Web技术、分布式计算、信息管理、企业应用集成等课程的参考教材或部分内容。
本书包含了笔者在该领域多年的体会和成果,有丰富的企业实践案例,适合信息技术和信息管理咨询等企业作为员工培训教材。
通过本书学习和实验,读者可以对面向服务架构、Web服务技术及其应用有整体而系统的掌握,能够结合具体的应用需求和开发环境,确定适当的企业信息规划和技术实施方案,使所开发系统能够体现Web服务的规范和本质特点。
感谢清华大学出版社的支持,使本书得以面世。
感谢IBM公司的支持,特别是盛培颖女士和王丽女士,在本书创作过程中的不断提醒和帮助,以及在成书后的推介,使作者能够把自己在Web服务领域的体会与同行进行交流。
感谢IBM Waston Research Center的黄莹博士,加拿大国家研究院的沈卫明教授,北京高级人民法院的王岚生先生,本书所描述的许多成果是和他们合作取得的。
感谢复旦大学的研究生时军帅、沈建平、张云逸、邓钰亮、周尚晨、李立纲、陆潇华、李嘉兴、谢维,以及董韬同学,他们翻译了本教材的PowerPoint文件,创作了部分应用案例,对本书进行了编辑。
编者
2008年5月于上海
第1章导论
1.1面向服务架构与应用概述
1.2简单的Web服务应用例子
1.3面向服务的企业信息规划
1.4面向服务的电子商务系统
1.5基于Web服务的应用集成
1.6基于Web服务的商务智能
1.7基于Web服务的在线智能
1.8面向服务的架构与应用动态
1.9课堂实验
1.9.1开发简单的Web服务
1.9.2查找和试用Web服务
1.9.3开发Web服务的调用程序
本章小结
本章习题
第2章面向服务架构及其特点
2.1服务的概念
2.2面向服务架构的概念
2.3面向服务的架构规范
2.4面向服务架构的特点
2.5经典案例
2.5.1假日旅游代理
2.5.2面向服务的GIS系统
本章小结
本章习题
第3章Web服务的技术体系概述
3.1Web服务的概念
3.2Web服务与SOA
3.3Web服务基本技术
3.4Web服务实现技术
3.5Web服务开发工具
3.5.1主流开发工具概述
3.5.2基于J2EE的Web服务开发环境
3.5.3多模型驱动的面向服务协同开发环境
3.6应用案例: 面向服务的临港新城应用集成平台
3.7课堂实验
3.7.1利用Google Web服务开发一个网络搜索工具
3.7.2利用Amazon Web服务开发一个网上书店
本章小结
本章习题
第4章Web服务技术基础——XML与语义Web技术
4.1XML语言的由来
4.2XML的概念和基本特点
4.3几个XML相关技术
4.3.1XHTML
4.3.2XSL
4.3.3XLink与XPointer
4.4XML开发环境与工具
4.4.1DOM
4.4.2SAX
4.5XML的自描述语言
4.5.1XML Schema概述
4.5.2XML Schema的定义与引用
4.5.3XML Schema的简单元素
4.5.4XML Schema的复杂元素
4.5.5复杂元素的指示器
4.6基于XML的语义Web技术
4.6.1RDF/RDFs
4.6.2OWL
4.6.3OWLS
4.7研发案例: 基于XML智能文档的应用集成
4.8应用案例
4.8.1基于XML数据库的主动数据Web代理(CODA)
4.8.2基于XML的数据交换协议
4.8.3基于XML的快件申报系统
本章小结
本章习题
第5章基本的Web服务技术及其应用
5.1简单对象访问协议
5.1.1SOAP的起源
5.1.2SOAP的概念和基本特点
5.1.3SOAP的结构
5.1.4SOAP编码
5.1.5SOAP处理模型
5.1.6SOAP协议绑定
5.1.7SOAP消息交换模式
5.1.8SOAP场景1——基于XML的会话内容交换
5.1.9SOAP场景2——基于XML的远程过程调用
5.2WSDL及其应用
5.2.1WSDL的结构
5.2.2WSDL消息交换模式
5.2.3WSDL Binding
5.2.4WSDL工具
5.3UDDI技术与应用
5.3.1UDDI的概念与用途
5.3.2UDDI的组成与模型
5.3.3UDDI的工作原理与流程
5.4WSBPEL技术与应用
5.4.1WSBPEL的历史与用途
5.4.2WSBPEL的结构与组成
5.4.3WSBPEL的建模工具和引擎
5.4.4WSBPEL的可视化表示与建模
5.5其他Web服务应用技术
5.5.1SCA/SDO
5.5.2WSSecurity
5.5.3WSPolicy
5.5.4WSI Basic Profile
5.6开发案例
5.6.1基于IP地址的气象查询服务
5.6.2面向服务的咖啡分销系统
5.6.3报时Web服务及其调试
本章小结
本章习题
第6章面向服务软件工程与方法
6.1面向服务软件工程概述
6.2服务的实施过程与方法
6.2.1服务的实施周期
6.2.2服务的实施管理
6.3服务的定义与识别
6.3.1自顶向下的服务识别
6.3.2自底向上的服务识别
6.3.3中间汇聚的服务识别
6.4服务设计方法与原则
6.5应用案例: 面向服务的电子政务
6.5.1业务目标
6.5.2检验检疫平台的面向服务设计
6.5.3Web服务的设计与实现
6.5.4服务平台的安全性
本章小结
本章习题
第7章基于Web服务的企业应用集成
7.1企业应用集成的必要性
7.2传统企业应用集成技术分析
7.3基于Web服务的企业应用集成(EAI)
7.4基于Web服务的应用集成特点
7.5SOA/Web服务在企业应用集成中的应用方法
7.6Web服务在企业应用集成中的应用工具
7.7企业集成应用案例: 基于Web服务的EAI
7.8电子政务应用案例: Web服务在法院业务平台建设中的应用
7.9电子城市应用案例: Web服务在企业门户平台中的应用
7.10客户关系应用案例: Web服务在CRMERP集成中的应用
7.11行业案例: 面向服务的随需应变企业
7.11.1随需应变企业的业务流程与特征
7.11.2随需应变运行环境及其特点
7.11.3基于Web服务的随需应变运行环境
7.11.4随需应变运行环境的集成与管理能力
7.11.5随需应变运行环境的架构层次
7.11.6随需应变业务服务的生命周期
本章小结
本章习题
第8章面向服务的企业信息规划
8.1面向服务的信息规划原则
8.2面向服务信息规划的过程
8.3SOA在企业的适用性分析
8.4汽车贷款审批业务流程
8.4.1示例场景介绍
8.4.2SOA 现有成熟度和目标成熟度
8.4.3步骤和价值分析
8.4.4目标业务及IT环境分析
8.5面向服务的保险业业务平台
8.5.1业务目标
8.5.2企业信息化模式分析
8.5.3逻辑解决方案体系结构
8.5.4Web服务的适用性
本章小结
本章习题
第9章SOA/Web服务的技术挑战与研发热点
9.1概述
9.2面向服务的软件工程
9.3基于语义的查找技术
9.4Web服务的语义匹配
9.5基于语义的智能Web服务
9.6面向服务的高性能平台
本章小结
本章习题
第10章面向服务规划与设计综合实验
10.1课堂实验概述
10.2实验环境配置
10.3实验流程介绍
10.4实验步骤
10.4.1新建一个Project
10.4.2业务视图的使用
10.4.3流程视图的使用
10.4.4服务视图的使用
10.4.5生成部署文件
10.4.6Portal视图
本章小结
本章习题
参考文献