SOA实践:构建基于JavaWeb服务和BPEL的企业级应用


请输入要查询的词条内容:

SOA实践:构建基于JavaWeb服务和BPEL的企业级应用


《SOA实践:构建基于JavaWeb服务和BPEL的企业级应用》是一部以案例为中心来介绍SOA设计及开发的技术书籍。书中以实例说明如何设计和实现基于SOA的系统,以及如何解决SOA架构设计与实施过程中所遇到的实际问题,并讨论分析SOA带给系统的益处。本书的读者对象是有一定经验的软件开发人员,企业级信息系统架构师,SOA项目设计及实施人员,广大SOA研究与爱好者,以及对SOA感兴趣的高年级计算机及相关专业的学生。



图书信息


作 者:余浩,朱成,丁鹏 编著

出 版 社: 电子工业出版社

出版时间: 2009-1-1页 数:324页

开 本: 16开

ISBN 9787121074486

分类: 图书 >> 计算机/SOA设计>>SOA

定价:¥45.00元

内容简介


本书对SOA相关知识的讨论涵盖了面向服务的原理、关键协议与标准、设计与应用的全部过程。本书共分8章,第1章对SOA基本概念和原则进行了讲解,第2章介绍本书核心案例SOAgent,第3章和第4章讲述面向服务的分析和设计过程,第5章针对SOA平台及相关技术进行介绍,第6章详细介绍SOAgent基本服务的实现与应用,第7章和第8章介绍BPEL技术。

前言


写作背景

近年来,随着软件产业的迅速发展,面向服务架构(SOA,Service-Oriented Architecture)成为时下越来越热门的话题。它是为了满足在Internet环境下业务集成的需求,通过连接能完成特定任务的独立功能实体而实现的一种软件系统架构。

不同种类的操作系统、应用软件、系统软件和应用基础结构相互交织;同一公司拥有开发于不同时期、架构于不同平台和技术之上的诸多软件系统,便是当今IT企业的现状。一些现存的已投入使用多年的应用程序被用来处理当前的业务流程,从头开发并建立一个新的环境是不可能的。如何才能让企业对业务的变化做出快速的反应,利用对现有的应用程序和架构的投资来解决新的业务需求,应对突发的业务变化,为客户、合作伙伴及供应商提供新的互动渠道,并呈现一个可以支持有机业务的构架,这无疑是给IT企业提出的一个巨大挑战。SOA正是在这种困惑和挑战下脱颖而出的,它凭借自身松耦合的特性,使得企业可以按照模块化的方式添加新的服务或更新现有服务,以解决新的业务需要,同时它还提供选择,从而可以通过不同的渠道提供服务,并可以把企业现有的或已有的应用作为服务,从而增加了原有系统的可用性,进一步增强了企业的服务效能。

本书特点

本书从一个具体的案例SOAgent出发,阐述如何从无到有构建一个基于SOA的系统平台,并通过将它和传统开发过程相比较,讨论SOA及具体相关技术为企业提供的解决方案。本书的案例描述了一个在Web 2.0环境下逐步兴起的商业模式,即商品的网络搜索、直销和配送。SOAgent将这几个流程进行整合,通过对Amazon,Yahoo等大型门户销售网站所提供的商品检索和销售Web Service的封装集成,让用户可以方便地通过SOAgent搜索并购买其他网站的产品。同时,SOAgent也为其他门户网站提供搜索接口,以使得这些门户网站可以整合SOAgent的搜索及销售接口。双方都可以因此获利,SOAgent借以推广其销售渠道,第三方门户网站则可提供更多的增值服务。在配送方面,SOAgent把原先的配送系统撤销,取而代之的是使用并包装FedEx,DHL及UPS等提供的服务。为了优化业务整合和应对需求变化,引入BPEL对业务流程进行描述并配置,从而在不改变流程及服务实现的前提下,仅通过对BPEL的修改便实现业务流程的重组。

致谢

本书的编写得到了中国电子工业出版社和德国企业经济信息研究所的大力支持,在编写的过程中,我们也得到了很多人的帮助和鼓励,在此要特别感谢Steffens教授以及张子頔女士。同时,感谢中国电子工业出版社的李冰编辑和高洪霞编辑的支持。对于本书中可能存在的错误、问题以及疏漏之处,敬请广大读者批评指正。

余浩,朱成

2008年9月

目录


第1章 面向服务的架构概述

1.1 什么是服务(Service) 1

1.1.1 服务是可重用的 2

1.1.2 服务都有服务合同 3

1.1.3 服务之间是松耦合的 5

1.1.4 服务隐藏了具体的逻辑 6

1.1.5 服务是可组合的 6

1.1.6 服务是自治的 8

1.1.7 服务是无状态的 9

1.1.8 服务是可被发现的 10

1.1.9 服务是粗粒度的 12

1.2 服务的分类和层次结构 13

1.2.1 服务的类别 13

1.2.2 服务的层次结构 14

1.3 面向服务的架构(SOA) 15

1.3.1 面向服务的架构的定义 16

1.3.2 面向服务的架构的发展过程 17

1.3.3 面向服务的参考架构(Reference Architecture) 22

1.4 Web服务及其规范 26

1.4.1 Web服务相关的标准化组织 27

1.4.2 Web服务及其发展 28

1.4.3 Web服务的体系结构 29

1.4.4 SOAP协议 34

1.4.5 WS-Addressing协议 41

1.4.6 WSDL协议 44

1.4.7 WS-Policy 49

1.4.8 WS-ReliableMessaging协议 52

1.4.9 WS-Coordination,WS-AtomicTransaction和WS-Business Activity协议 58

第2章 SOAgent案例综述

2.1 背景介绍 63

2.2 运营及商业模式讨论 65

2.2.1 SOAgent商业模式的讨论 66

2.2.2 亚马逊的运营模式分析 67

2.2.3 eBay的运营模式分析 67

2.3 SOAgent的运营模式和架构规划 68

2.3.1 SOAgent运营模式决策原则 68

2.3.2 SOAgent运营模式及系统架构 69

2.3.3 SOAgent流程描述 71

第3章 面向服务的开发过程

3.1 面向服务开发过程简介 73

3.2 面向服务的架构的实施策略 75

3.3 MSOAM方法 76

3.3.1 面向服务的分析 76

3.3.2 面向服务的设计 78

3.4 IBM的SOMA方法 85

第4章 SOAgent的面向服务分析和设计

4.1 SOAgent的面向服务分析 88

4.2 SOAgent的面向服务设计 94

第5章 SOA平台及相关技术

5.1 JWS简介 100

5.1.1 Web服务基本架构 102

5.1.2 JWS服务提供架构及调用过程 108

5.1.3 JWS服务使用端架构及调用过程 110

5.1.4 JWS环境下开发模式的讨论 113

5.2 JAX-WS 2.0 120

5.2.1 JAX-WS 2.0特性介绍 121

5.2.2 JAX-WS 2.0服务提供端架构 127

5.2.3 以EJB 3.0形式部署Web服务 129

5.2.4 WS-Metadata:配置从Java到WSDL的映射 133

5.2.5 JAX-WS 2.0客户端调用过程 140

5.2.6 JAX-WS 2.0客户端的映射机制 141

5.2.7 JAX-WS 2.0客户端实例 153

5.3 JAXB 2.0 156

5.3.1 Java与XML数据绑定 156

5.3.2 JAXB 2.0的新特性 158

5.3.3 JAXB 2.0的体系架构 159

5.3.4 JAXB 2.0的绑定过程 161

5.3.5 JAXB 2.0应用示例 164

5.3.6 XML验证 182

5.4 REST的应用 188

5.4.1 REST特性介绍 190

5.4.2 REST架构的网络服务 204

5.4.3 HTTP-Get的实现机制 206

5.4.4 HTTP-Post的实现机制 212

5.5 Java应用服务器 216

5.5.1 JBoss应用服务器 218

5.5.2 Glassfish应用服务器 219

第6章 SOAgent基本服务的实现

6.1 EBaySearch搜索处理服务实现 222

6.1.1 服务架构及实现过程 222

6.1.2 服务的实现 222

6.1.3 服务的测试与发布 235

6.2 YahooSearch搜索处理服务实现 239

6.2.1 服务架构及实现过程 240

6.2.2 服务的实现 240

6.2.3 服务的测试与发布 252

6.3 SOAgent搜索服务的实现 254

第7章 WSBPEL在SOA中的应用

7.1 什么是WSBPEL 260

7.2 WSBPEL的历史 261

7.3 为什么需要WSBPEL 261

7.4 WSBPEL元素的介绍 262

7.4.1 与后台系统的交互 263

7.4.2 服务交互的基本活动 267

7.4.3 事件处理 269

7.4.4 数据处理的活动 272

7.4.5 结构化流程控制的活动 273

7.4.6 异常处理及恢复 278

7.4.7 扩展与其他 280

7.5 基于WSBPEL的开发过程 282

7.6 ActiveBPEL引擎的使用 284

7.7 Hello BPEL实例的实现 287

第8章 WSBPEL在SOAgent中的应用

8.1 eBay搜索处理服务的BPEL实现 301

8.2 SOAgent搜索服务的BPEL实现 307