首页>参考读物>计算机科学与技术>综合

Java CAPS基础、应用与案例
作者 : Michael Czapski、Sebastian Krueger、Brendan Marry、Saurabh Sahai、Peter Vaneris、Andrew Walker
译者 : 吴众欣: 刘洋
出版日期 : 2009-05-05
ISBN : 7-111-26359-3
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 294
开本 : 16开
原书名 : Java CAPS Basics: Implementing Common EAI Patterns
原出版社: PRENTICE
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

Java CAPS基础 应用与案例
  在本书中,Sun公司的Java CAPS专家们演示了如何迅速地将组合应用套件应用到实际的企业应用集成项目中,也演示了如何简化当今主流的组合应用程序开发过程。其次,弥补了抽象的模式语言与实践的实现细节之间的鸿沟。事实上,当实现实际的消息管理和系统管理时,就会学到本书中精华的概念和方法。
  主要内容:
  将以前的方法与企业应用集成相比较,并寻找一种用更少的改动和更低的成本进行非侵入式集成的方法。
  掌握Java CAPS提供的核心集成工具:eGate、eInsight、eWays和JMS。使用企业集成模式来提高应用程序的可重用性、可扩展性、弹性、安全性和可管理性。
  实现消息交换、关联、基础设施、选路、构建、转换和端点等多种模式。
  产生和使用加密对象,如X.509证书、PKCS#12和JKS密钥库。
  使用了诸如解决方案的划分、子进程实现等高级技术。
  构建了两个完整的示例解决方案,其中包含多个本书讨论过和演示的模式。

图书特色

图书前言

Gregor Hohpe和Bobby Woolf在他们的著作《企业集成模式—设计、构建及部署消息传递解决方案》(即[EIP])中对使用消息进行企业应用集成问题进行了详尽的说明。他们使用、讨论并举例说明了60多个EAI设计模式。他们认为这些都是重要的模式,因为大多数EAI解决方案设计者在构建企业集成解决方案时都会用到它们。[EIP]中的大多数示例都使用C#和Java的源代码来说明它所讨论的EAI模式的细节。而通过使用Sun Java复合应用平台套件(Java CAPS)中提供的工具和技术就可以简洁、优雅地、全面地实现其中大多数模式。
  本书使用Java CAPS作为构建实际的企业集成解决方案手段,实现了选出的企业集成模式,而[EIP]讨论过这些模式。它弥补了有些抽象的模式语言和实际的实现细节之间的鸿沟。它是为集成架构师、解决方案架构师和开发人员而设计的,这些人希望能够快速地用Java CAPS实现企业集成。它还讨论了如何利用Java CAPS 工具和作者的现场经验来快速高效地实现企业集成模式。
  尽管本书讨论了[EIP]模式的Java CAPS实现,但却没有对这些模式进行深入的讨论。本书假设你已经熟悉有关主题,并需要通过Java CAPS来实践这些理论知识。
  本书也是Java CAPS套件核心组件的基本,它基于一个前提:即如果不能有效地使用实现模式的工具,我们就无法应用模式。由于完整版的Java CAPS提供了太多的组件,其中包括一些对集成并不是必要的组件,因此本书只阐述了一些基本的集成工具:eGate、 eInsight、eWays和Java 消息服务(JMS)。
  本书还提供了一些读者可能需要的信息,它们可以使读者更有效地使用Java CAPS。正文中大量与Java CAPS有关的资料,都是未曾在其他地方发表过的。
  本书配套光盘提供了60多个详细的示例,它们解释说明了本书所讨论的概念和模式。一些示例是高层次的,阐述了特定的观点。而其他一些示例都是按部就班地来说明的。
  作为示例所讨论和开发的Java CAPS项目都可以导入和研究。
  本书的组织方式
  本书分为三个部分。第1部分包括讨论集成和Java CPAS背景知识的主题,其中包括企业集成类型、Java CPAS架构和项目结构和部署。
  第2部分通过对实现这些模式的Java CAPS方法的讨论,本书涵盖了[EIP]中的大多数模式。这个部分包括以下各章:消息交换模式、消息关联、消息传递基础设施、消息选路、消息构建、消息转换、消息传递端点、系统管理模式及概念。当讨论Java CAPS特殊模式的实现时,我们还讨论了相关的Java CAPS概念和方法。例如,当讨论消息序列模式的实现时,我们还讨论了Java CAPS中JMS串行模式并发的概念、Sun SeeBeyond JMS消息服务的FIFO模式、通过JMS和XA串行化eInsight业务过程。
  第3部分讨论了一些重要的非模式问题,如解决方案划分、子过程和Web服务实现、管理、可重用性、可扩展性和弹性等可选特性,以及一些在别的地方没能涉及的问题。这部分还包括Java CAPS的安全特性方面的内容。
  本书配套光盘包含了60多个详细的示例,它们实现了书中讨论的大多数模式和概念,还包含两个完整的解决方案,用到了本书中讨论和阐述过的一些模式。这个光盘还包含详尽而实用的加密对象(例如X.509证书、PKCS#12和JK密码库)的产生和使用过程,以及相关的一些问题。
  关于示例
  概述
  Java CAPS企业设计者(eDesigner)是基于NetBeans的集成开发环境(IDE,Integrated Development Environment),开发者可以用它来设计和构建Java CAPS集成解决方案。绝大多数任务都可以通过操控图形对象所表示的组件、用线连接图形对象、在对话框和属性栏中填充信息、在下拉菜单中选择组件来实现。其目的是为业务分析师和类似人群(他们的编码能力可能无法完成在非图形界面下的任务)简化集成解决方案的开发过程。由于Java CAPS解决方案的开发导致了J2EE企业应用程序的产生,所以这种图形化的趋势对于那些习惯了编写Java源代码,通过部署描述符和其他J2EE部件实现精细控制的J2EE开发者们,会有些难以置信。尽管这样,读者还会发现多数Java协作程序展示为Java源代码,而不是它们的图形化表述。这主要是为了让例子更加简练,能够很清晰地显示每个解决方案的实质部分,使得对讨论并没有特别帮助的图形占用的空间消耗减少到最小。Java协作程序都用“标准模式”展示,但是这样做会需要许多的图片(几乎每个Java声明都需要一个),为了阐述明晰,仅展示需要展示的几行Java代码。图P-1显示了在标准模式下的Java协作程序示例。
  图P-1  标准模式的Java协作程序
  很明显的是在Business Rules面板中的几行伪代码和Business Rules Designer面板中唯一的映射过程。
  相反,在源代码模式下,相同的Java协作程序就会更加清楚,如图P-2所示,因为它一次就可以显示大约30行代码。
  图P-2  源代码模式下的Java协作程序
  由于在标准模式和源代码模式之间的切换只需要点击按键即可,所以我们为Java协作程序示例选择了源代码模式。
  而在图形化视图中显示的eInsight业务过程则更加易于理解,如图P-3所示。作者认为,取自业务过程建模标记(BPMN,Business Process Modeling Notation)的对象图标更便于观察。
  相反,就像直接用任何其他基于XML过程语言工作一样,作者认为图P-4所示的示例中,直接用BPEL4WS XML源代码来工作令人痛苦和倍感折磨。
  因此,Java协作程序大多是以源代码模式显示的,而eInsight业务流程则大多用Business Rules Designer来显示的。
  当然,选择怎样的工具来工作取决于你自己。
  示例清单
  如果一本书中既有讨论又有相关的示例,那么它就要超过1000页,对于印刷来说过于冗长。因此,本书讨论的是Java CAPS工具,重点放在用高层次的阐述来介绍这些工具在企业集成模式中的实现。本书附带的光盘中,用PDF格式提供了更详细的示例。光盘中的PDF文件不仅提供了多数模式的详细示例,还提供了两个完全是一步一步介绍、基于Java CAPS的个案研究解决方案,它们实现了本书中讨论的许多模式。
  图P-3  图形化视图中的eInsight 业务过程
  图P-4  BPEL4WS XML源代码
  光盘还有1章涉及用于套件配置与安全性相关属性的加密对象。
  光盘中包含的示例如表P-1所示,根据每一部分标题出现的顺序排序。在这60多个示例中,多数是按照完整的步骤,一步一步地开发、部署和实现的。在多数情况中,执行的结果也被展示出来并进行了讨论。
表P-1  光盘中的示例
    章节/部分 示 例 主 题
 Hello Java CAPS World  介绍性的、循序渐进的示例。使用eGate 和eInsight分别实现了基本的文件传输项目
 使用调度器的事件消息  使用Scheduler eWay触发事件消息实现的基本调度解决方案
 外部调度器示例  使用外部调度程序和外部TCP发送客户端,通过TCP服务器注入事件消息来实现调度解决方案
 用于eInsight的JMS请求/  请求/应答模式实现。用于从eInsight业务过程调用JMS请求/应答功能的新的
应答调用者 Web服务Java协作程序
 JMS请求/响应拍卖模式  请求/应答模式实现。Java协作程序和基于JMS请求/应答的拍卖模式实现,在这种拍卖模式中速度最快的响应者将胜出
 HTTP请求/响应  请求/应答模式实现。利用HTML和XML有效负载的一系列HTTP请求者和HTTP响应者实现,它们是以HTTP原理和机制的翻新摘要开始的
 SOAP请求/响应  请求/应答模式实现。一些特殊的HTTP请求/响应实现,它们使用的显式构建和解析的SOAP消息作为请求和响应
 Web服务请求/应答  请求/应答模式实现。Web服务请求/响应实现,作为一个使用eInsight业务流程和Java协作程序的请求/响应模式的示例
 JMS串行模式并发  消息排序模式。使用Sun SeeBeyond的JMS消息服务器设备为实现消息保持有序提供解决方案
 Sun SeeBeyond的JMS先  使用Sun SeeBeyond的JMS Message服务器设备来实现消息有序解决方案。用
入先出(FIFO)模式 一系列示例示范了不同Sun SeeBeyond的JMS 消息服务器FIFO模式对消息顺序的影响
 用XA序列化业务过程  消息排序模式。示例展示了在eInsight业务流程上施加XA事务性的影响,以及它对于消息保持有序的影响
 消息到期  Java协作程序和基于JMS的示例用来解释消息到期
 批量本地文件  使用批量本地文件eWay(Batch Local File eWay)的数据流示例,并讨论了缓
(Batch Local File)流 冲和它对于消息吞吐量的影响
 eTL流  非常基本的eTL示例,数据从一个无格式文件流向数据库列表,在功能上相当于Java协作程序示例
 临时JMS目的地  用一个反例说明了显式创建的JMS临时目的地的使用
 静态选择器  示例说明了静态JMS选择器的使用
 动态选择器  示例说明了动态JMS选择器的使用。在运行时构建,在Java协作程序显式选择接收消息时使用
 JMS网格实现的弹性JMS  基于JMS网格的简单的自动JMS客户端故障转移的示例
 JMS消息体格式  通过检查JMS头属性来确定JMS消息体格式和支路的协作程序示例
 5.1.2版的死信信道  通过将无法传送的消息传送到死信队列,示例实践了JMS重传处理功能
 eInsight XA事务性  通过示例阐述在no-XA-capable资源中eInsight业务流程的XA事务性带来的副作用结果是好是坏
 eInsight持续性  有关eInsight持续性、eInsight监测和飞行(in-flight)流程实例的eInsight重启-恢复说明
(续)
    章节/部分 示 例 主 题
 重排器:基本版  用基于内存的消息缓冲的简单重排器
 重排器:持久版  用基于RDBMS的消息缓存和消息顺序持久化的更复杂重排器
 传递路条  用JMS和Java协作程序实现的基于传递路条的消息路由解决方案
 JMS用户属性封装包装器  通过一系列示例展示了用Java协作程序和eInsight业务过程中的JMS消息头属性,实现的封装包装器
 内容扩充器  内容扩充器实现了用eInsight和Oracle eWay接收订单,为Oracle数据库扩充价格信息,并生成发票
 轮询文件系统  一系列轮询本地文件系统的示例,用Scheduler eWay驱动的和Batch Inbound驱动的Batch Local File eWay来实现轮询解决方案
 轮询JMS目的地  Try-wait-retry FTP发送解决方案按照重试调度实现JMS目的地轮询
持久订阅者  示例解释了JMS中持久订阅者的概念,以及非持久订阅者和持久订阅者之间的行为差异
 幂等接收者  示例说明了基于消息复制检测的幂等接收者解决方案
 多输入服务激励器  示例使用OpenTravel Alliances XML Schema文件来思想服务激励器结局方案,该方案允许通过文件提交,JMS消息提交,Web服务调用来激活业务服务
 基于eInsigh的监视解决方案  示例描述了eInsight持久化,报告持久化,与运行时对eInsight业务流程实例的
监视
 用于JMS通道的简单警  示例描述了接受并处理通过JMS警告通道,警告代理发出的警告的实现过程
告处理器
 捕获“无法捕获的”异常  示例使用警告代理基础设施来捕获并处理发生在Java协作程序与业务流程之外的异常,因此在JCD或BP中是不能捕获并处理异常的。捕获并处理数据库连接的异常也是该示例的主题
 程式化的管理  在示例中,Java协作程序使用JMS工具来程式化启动并停止指定的Java CAPS组件,如另一个Java协作程序或业务流程服务
 JMS延迟  Java协作程序与eInsight业务流程示例,阐述了计算JMS消息传递延迟过程
 eInsight协作程序处理  一个不正确的,粗浅的eInsight关联实现示例
器:第一茬(First Cut)
 eInsight 协作程序处理  采用简单的关联key,进行简单正确的eInsight关联实现示例
器:第二茬(Second Cut)
 获取关联标识符  采用结构化,消息获取的关联key(基于Java协作程序关联key获取预处理器),更加复杂的eInsight关联过程示例
 获取关联标识符:另一  采用结构化,消息获取的关联key(基于Java协作程序关联key获取预处理器),
种方法 更加复杂的eInsight关联过程另一个示例
 消息关联模式  一系列的示例,使用eInsight关联工具来实现消息关系模式:头-项-尾关联,任意顺序的两项关联,带有超时的任意顺序的两项关联,项-尾关联,头计数项关联,计数并计时的项关联,计时的项关联,分散-收集器关联
 项-尾关联  使用Java协作程序、JMS、动态JMS选择器(不包含eInsight)来重新实现项-尾关联
 使用新的Web服务协作程序  示例使用新Web服务Java协作程序在eInsight流程中,将重用模块作为活动来
实现
 为重用性,使用eInsight  一系列的示例来使用eInsight子流程作为重用组件,在eInsight流程中作为活动
子流程 来使用:请求/应答,OneWay Operation(一路操作),通告子流程实现
 为重用性,使用eInsight  一系列的示例来使用Web服务作为重用组件,在eInsight流程中作为活动来使
Web服务 用:请求/应答,OneWay Operation(一路操作),通告子流程实现
(续)
    章节/部分 示 例 主 题
 JMS触发的Java协作程序  示例阐述了在JMS消息触发的Java协作程序中的异常与JMS重传处理
 其他Java协作程序  示例阐述了在非JMS消息触发的Java协作程序中的异常处理
 JMS触发的业务流程  示例阐述了JMS消息触发的eInsight业务流程演示在XA与非XA流程中不同的行为带来的异常处理方法
 故障处理器(handler)  在eInsight业务流程中使用故障处理器的示例
 安全Sockets层(SSL, TLS)  一系列的示例阐述了在Java CAPS解决方案中使用SSL,基于HTTP eWay与Web服务方式。覆盖对于服务器与客户端端点的服务端与相互验证方法
 Web服务,存储过程与XA  完整的用例研究在某情况下(多个数据库更新,Web服务,Oracle存储过程,XA业务流程)实现一个雇员数据库的维护过程
 旅行预订示例  完成旅行预订用例的研究,使用Web服务编排和eInsight异常处理与补偿方法来实现。这个示例实现并执行多个模式,展示了套件的多种特性
 在BPEL中处理重复节点  在eInsight中处理基于XSD的OTD重复节点的示例
 XML深解析与浅解析  实现懒(lazy)XML解析的示例
 使用多操作的WSDL  通过WSDL和eInsight实现多操作Web服务的示例
 密码对象  按步骤地讨论了加密对象,需要用这些对象来配置Java CAPS中与PKI(公钥基础设施)相关的属性,并使用必要的工具、命令和脚本来创建证书签名请求、转换不同的证书格式和创建不同的密钥库类型
  致谢
  首先,我要感谢我的家人Lorraine、Natalie和Daniel,他们对我长时间地投入到这个项目中表现出了极大的宽容,从始至终地鼓励了我,并与我分享了每个重要成绩的喜悦。没有他们的支持,这个项目不可能完成。
  Sun公司在2005年11月宣布了“红十月”计划,根据这个计划,所有Sun软件都可以下载和使用,这在SeeBeyond早期的职员中间引起了混合反应(mixed reaction)。Java CAPS是一种复杂的企业应用程序集成平台,而不是独立的开发者IDE或者数据中心技术人员配置的基础设施包。一些人认为,提供Java CAPS套件的免费下载并没有什么帮助。当认识到产品文档中的素材与产品和上下文知识之间存在着很大的差距时,企业架构师和集成开发者想更有效地使用Java CAPS。我觉得一本能够缩小这个差距并能够演示一些实现了企业集成模式的Java CAPS解决方案示例的书,将会是很合适并及时的。
  尽管本书的原稿花费了比我最初的预期还长三倍的时间才写成,但是在完成它之前,我还是向Sun公司内部以及外部的一些人公开了其中的一些材料。这实现了最初的目的:帮助解答特殊的问题,并尽早得到多方面关于主题的内容与范围方面的反馈意见。我想感谢这些人,尤其是Jason Baragry,他花了大量的时间阅读了本书的大部分章节,并提供了颇有价值、对最终定稿很有帮助的意见。我还想感谢ITtoolbox公司seebeyond-I组的其他成员,他们提出了宝贵的意见,并鼓励我继续下去。
  尽管这个项目主要都是我个人承担的,而且几乎完全是用我自己的业余时间完成的,但是有时还是会占用一些我的正常工作时间。非常感谢SeeBeyond公司的Ray Gear(后来进入Sun公司)和Sun公司的Angelo Joseph,他们一直鼓励我完成这个项目,还要忍受我不时的打扰。
  我还要感谢我的合作者:Sebastian Krueger、Brendan Marry、Saurabh Sahai、Peter Vaneris和Andrew Walker,他们都是Java CAPS领域的很有才华的从业者,他们为我提供了许多章节的素材,并阅读了本书的原稿。特别是,如果没有Brendan和Peter所提供的资料,他们所解决的主题可能就不会被涉及。我还想感谢Dean Hansen,他为前面一些章节提供了注释,并检查了部分的资料。
  我还要特别地感谢我在Sun的同事,Jason Fordham和Peter C. Berkman,他们试图制作基于 Solaris 10的Java CAPS安装虚拟镜像(包含在本书附带的光盘中,及时可用)。并不是由于他们的失误使得这个想法最终没能实现,但我还是要感谢他们所付出的努力。
  最后,但同样要感谢的是Carol J. Lallier,他保证了正文是用英文写的,尽管可能还是美式英语;该书的投资人Kim Arney;Elizabeth C. Ryan负责出版事宜;我在Sun Microsystem的同事Myrna Rivera、Gabriele De Celis和Laurie Wong,为我在Sun公司内外宣传了本书;还有Greg Doench,不厌其烦地向我逐步地介绍了写书和出书的全部过程。
  
  Michael Czapski
  悉尼,2007年12月

封底文字

Java CAPS基础 应用与案例 在本书中,Sun公司的Java CAPS专家们演示了如何迅速地将组合应用套件应用到实际的企业应用集成项目中,也演示了如何简化当今主流的组合应用程序开发过程。其次,弥补了抽象的模式语言与实践的实现细节之间的鸿沟。事实上,当实现实际的消息管理和系统管理时,就会学到本书中精华的概念和方法。 主要内容: 将以前的方法与企业应用集成相比较,并寻找一种用更少的改动和更低的成本进行非侵入式集成的方法。 掌握Java CAPS提供的核心集成工具:eGate、eInsight、eWays和JMS。使用企业集成模式来提高应用程序的可重用性、可扩展性、弹性、安全性和可管理性。 实现消息交换、关联、基础设施、选路、构建、转换和端点等多种模式。 产生和使用加密对象,如X.509证书、PKCS#12和JKS密钥库。 使用了诸如解决方案的划分、子进程实现等高级技术。 构建了两个完整的示例解决方案,其中包含多个本书讨论过和演示的模式。

作者简介

Michael Czapski、Sebastian Krueger、Brendan Marry、Saurabh Sahai、Peter Vaneris、Andrew Walker:暂无简介

译者简介

吴众欣: 刘洋:暂无简介

译者序

阅读本书(简称CAPS)时需要先了解两本书,即《企业集成模式设计》(简称EIP)与《企业应用架构模式》(简称PEAA)。在首都图书馆,EIP已沾满尘土,静静地躺在管理类的书架里,而引起EIP创作源动力的PEAA竟然只有库本(不能借出)。PEAA的作者就是大名鼎鼎的Martin Fowler。我们略谈一下三本书的关系。如同牛顿写出《自然哲学的数学原理》后,从物理到化学,乃至艺术家都认为力学三大定律可以阐述一切,各个领域都要实践验证一下。软件领域也处于同样的阶段。亚历山大的《建筑模式语言》引领“四人组”写出《设计模式》,Martin写了PEAA,针对PEAA未能谈到的基于消息传递的企业集成模式,Bobby与Gregor来写出EIP。而CAPS正是对EIP的实现。
  对于企业应用集成,我们先设想一个环境:国内外、老中青,各阶层的人士欢聚一堂,怎么交流?消息传递最为基础,针对消息传递就出现路由问题(谁和谁说),规格化(normalize)问题(语言不通怎么沟通),次序问题(谁先说的),关联问题(说的是不是一回事),安全问题(谁能听,谁听不到)……,这些问题在企业应用集成中都能遇到,CAPS针对EIP在Java环境下给出了多个模式,60多个实例实现(看看CAPS附带的光盘,真的很完整)。
  本书主要由我和刘洋一起翻译,又交换审阅,更正。刘洋的语言功底深厚,错误少,如果有翻译问题,责任在我。此外,参加翻译的人还有:汪浩、张信健、张淑君、戴晓东,但难免会出现一些问题,目前只能达到“信”的程度。对于这本书,我希望不要被分到管理类的书架上,即使分过去,本书的精神也请读者一定要把握:实践,实验,实现,不要像牛顿那样,把后半生放在一百五十万字的宗教、神学及年代学等徒劳无益的工作中。
  
  吴众欣
  
  作者简介
  Michael Czapski  在IT业有着25年的从业经验,最近10年一直从事企业应用集成领域的研究。他为Java CAPS提供专家意见,并利用解决方案中Java CAPS性能扩展了Sun Microsystems所能提供的系列软件。Michael为ICAN和Java CAPS的各个主题撰写了许多技术白皮书,此外,他还解决了Java CAPS安全配置、Java CAPS中的WS-安全实现、以及把EAI模式应用到Java CAPS中等问题。他不但是Java CAPS最忠实的倡导者,还是Java CAPS社区和论坛中积极的贡献者,而且他还出席过各种各样的行业研讨会。
  Sebastian Krueger从2005年下半年开始用SeeBeyond ICAN 5.0.5进行EAI软件开发,并使用过所有的Sun Java CAPS eGate、eInsight和eXchange产品组件,以及JMS网格。他最初为新西兰市场提供Java CAPS咨询服务,现在在新西兰国家税务局工作,职位是高级程序分析师。Sebastian是Sun注册Java程序员和Linux注册LPI专家。
  Brendan Marry有10多年的IT从业经验,目前在位于新西兰奥克兰的Sun Microsystems公司工作,职位是集成解决方案架构师,负责用Java CAPS设计和交付企业集成架构。他在Sun公司有4年多的工作经验,主要工作都围绕着Sun Java CAPS。在Brendan移居到新西兰加入Sun公司之前,他在欧洲的Java Mobile space和Java Enterprise space工作过。他乐于为使用Java CAPS产品的客户提供项目管理和解决方案架构方面的建议、设想和指导。
  Saurabh Sahai有超过13年的IT从业经验,为主要的软件供应商开发企业级中间件软件和商业解决方案。在过去的4年,他在Sun SOA/EAI专家服务实践中担任集成架构师,负责为澳大利亚和新西兰重要的商业和政府客户交付高级的,并基于Java CAPS的解决方案架构。在到Sun Microsystems之前,他在日本富士通公司澳大利亚软件技术中心,担任了9年的J2EE/中间件架构师,为富士通INTERSTAGE企业产品套件开发了基于Java/J2EE/C++的中间件软件。在使用主流应用服务器和开源框架开发商业J2EE应用程序方面,他有着丰富的经验。Saurabh居住在澳大利亚的悉尼,在业余时间喜欢听爵士乐。
  Peter Vaneris在IT业拥有19年的从业经验,最近两年从事Java CAPS支持领域的工作。在Java CAPS之前,Peter主要从事系统管理、监视、自动控制和企业管理方面的工作。
  Andrew Walker在IT业拥有18年的从业经验,他最初于1999年1月加入SeeBeyond公司,在那儿他参与了早期EAI软件产品之一,也就是后来的DataGate的开发工作。之后,他使用过SeeBeyond公司以及现在的Sun Microsystems公司发布的所有EAI软件产品。Andrew拥有为亚太区客户提供EAI和SOA架构及实现解决方案的丰富经验。他目前定居在新加坡,为整个亚太区提供Java CAPS咨询服务,将此作为他在Sun Microsystems专业服务的一部分。

图书目录

译者序
前言
作者简介
第1部分  预备知识
第1章  企业集成方式 1
1.1  简介 1
1.2  文件传输 1
1.3  共享数据库 2
1.4  远程过程调用 3
1.5  消息传递 3
1.6  服务编制 3
1.7  集成式vs分布式 4
1.8  小结 6
第2章  Java CAPS 架构 7
2.1  简介 7
2.2  历史记录 7
2.3  上下文 8
2.4  Java CAPS架构 9
2.5  解决方案开发步骤 11
2.6  小结 14
第3章  项目结构与部署 15
3.1  简介 15
3.2  从逻辑解决方案到物理部署 15
3.3  项目结构分析 16
3.3.1  连通图和部署规划 17
3.3.2  变量和常量 19
3.4  开发部件的备份 22
3.5  版本管理 25
3.5.1  使用Java CAPS资源控制系统 25
3.5.2  使用第三方源控系统 29
3.6  部署架构 32
3.6.1  小型部署 32
3.6.2  中到大型的部署 33
3.7  命令行的构建和部署 34
3.7.1  为构建进程编制脚本 34
3.7.2  项目构建脚本 35
3.7.3  项目部署脚本 35
3.8  小结 36
第2部分  模式的回顾与应用
第4章  消息交换模式 37
4.1  简介 37
4.2  文档消息 38
4.3  命令消息 38
4.4  事件消息 38
4.5  请求/应答 40
4.5.1  JMS请求/应答 41
4.5.2  HTTP请求/应答 46
4.5.3  eInsight子流程 47
4.5.4  SOAP请求/应答 47
4.5.5  Web服务实现 48
4.5.6  请求/应答小结 48
4.6  返回地址 49
4.7  关联 49
4.8  消息序列 49
4.8.1  JMS串行模式的并发 50
4.8.2  Sun SeeBeyond JMS消息
服务器FIFO模式 51
4.8.3  通过JMS和XA序列化业务流程 51
4.9  消息到期 52
4.10  格式指示符 55
4.11  数据流 56
4.11.1  Batch eWay流 56
4.11.2  eTL流 57
4.12  消息安全 57
4.13  小结 58
第5章  消息传递基础设施 59
5.1  简介 59
5.2  Java消息服务 60
5.3  JMS实现互操作性 60
5.4  使用JMS整合非Java环境 60
5.5  队列vs主题 61
5.6  Sun SeeBeyond IQ管理器 62
5.6.1  JMS目的地创建和销毁 62
5.6.2  临时JMS目的地 62
5.6.3  安全性 63
5.6.4  事务性 63
5.6.5  并发 67
5.6.6  持久化 68
5.6.7  选择器 69
5.6.8  先入先出模式 74
5.6.9  节流 74
5.6.10  重传处理 75
5.6.11  消息日志记录 76
5.7  JMS网格中弹性JMS网格 77
5.8  竞争消费者 83
5.8.1  eGate和Java协作程序 83
5.8.2  eInsight业务流程 84
5.9  点对点通道 86
5.10  发布-订阅通道 86
5.11  数据类型通道 86
5.11.1  JMS消息体格式 86
5.11.2  依赖于端点的数据类型 87
5.11.3  Java协作程序中的多个数据类型 87
5.11.4  业务流程中的多个数据类型 88
5.12  非法消息通道 89
5.13  死信通道 89
5.13.1  5.1.2之前的Java CAPS发行版 90
5.13.2  Java CAPS 5.1.2发行版 91
5.13.3  文件记录 92
5.14  可靠传输 92
5.14.1  总是需要可靠传输吗 92
5.14.2  用于可靠传输的 Java CAPS设备 93
5.14.3  持久化记录 93
5.14.4  基于JMS的可靠传输 94
5.14.5  eInsight 可靠传输 95
5.14.6  特定解决方案的可靠传输 97
5.14.7  小节 98
5.15  通道适配器 98
5.16  消息传递桥 99
5.16.1  桥接独立的 Java CAPS 解决方案 99
5.16.2  桥接其他的JMS消息传递实现 102
5.16.3  其他的桥接解决方案 102
5.17  消息总线 102
5.18  小结 103
第6章  消息路由 105
6.1  简介 105
6.2  概述 105
6.3  固定路由器 106
6.4  基于内容的路由器 107
6.5  消息过滤器 110
6.6  接收表 110
6.7  分解器 111
6.8  集合器 112
6.9  重排器 113
6.10  复合消息处理器 114
6.11  分散收集器 114
6.12  路由表 114
6.13  过程管理器 115
6.14  消息代理 115
6.15  小结 116
第7章  消息构造 117
7.1  简介 117
7.2  消息 117
7.3  对象类型定义 117
7.3.1  生成Oracle表OTD 118
7.3.2  其他OTD向导 123
7.4  封装包装器 123
7.4.1  分隔的封装包装器 124
7.4.2  在XML内封装XML 126
7.4.3  JMS用户属性封装包装器 133
7.5  小结 134
第8章  消息转换 135
8.1  简介 135
8.2  封装包装器 135
8.3  内容扩充器 135
8.4  内容过滤器 135
8.5  认领凭证 136
8.6  规范器 137
8.7  规范数据模型 137
8.8  小结 137
第9章  消息传递端点 138
9.1  简介 138
9.2  消息传递网关 138
9.3  事务型客户端 139
9.4  轮询消费者 139
9.4.1  轮询文件系统 139
9.4.2  其他Batch轮询者 141
9.4.3  轮询JMS目的地 141
9.5  事件驱动消费者 143
9.6  竞争消费者 143
9.7  消息分派器 144
9.8  选择性消费者 144
9.9  持久订阅者 144
9.10  幂等接收者 145
9.11  服务激励器 147
9.12  小结 148
第10章  系统管理 149
10.1  简介 149
10.2  Java CAPS 监视与管理 149
10.2.1  概述 149
10.2.2  监视基于eGate的解决方案 149
10.2.3  监视基于eInsight的解决方案 153
10.2.4  JMS管理工具 155
10.2.5  警告代理的事件通告 162
10.2.6  SNMP代理 170
10.2.7  企业管理器命令行工具 176
10.2.8  企业管理器Web服务API 179
10.2.9  Java 管理扩展 198
10.2.10  加入性能数据的收集 209
10.2.11  小结 212
10.3  特定于解决方案的管理方法 212
10.3.1  概述 212
10.3.2  控制总线 212
10.3.3  旁路 213
10.3.4  线路分接器 213
10.3.5  消息(路由)历史 215
10.3.6  消息存储 218
10.3.7  测试消息 219
10.3.8  通道清理器 220
10.4  小结 221
第3部分  特殊的Java CAPS主题
第11章  消息关联 223
11.1  简介 223
11.2  概述 224
11.3  JMS关联ID 224
11.4  eInsight 关联 224
11.5  eInsight 关联处理器:第一茬 225
11.6  关联标识符 229
11.7  eInsight关联处理器:第二茬 229
11.8  得到关联标识符 233
11.9  得到关联标识符:另一种方法 237
11.10  消息关系模式 239
11.10.1  头-项(商品项)-尾关联 239
11.10.2  任意序列的两个项(商品项)
消息关联 240
11.10.3  超时条件下任意次序的两个项
(商品项)消息关联 241
11.10.4  项(商品项)-尾消息关联 241
11.10.5  头消息-计数-项(商品项)
消息关联 242
11.10.6  计数与计时的项(商品项)关联 243
11.10.7  计时的项(商品项)关联 244
11.10.8  分散-收集器关联 244
11.10.9  消息关系模式总结 245
11.11  拥有动态选择器的eGate关联 245
11.12  小结 247
第12章  重用性 248
12.1  简介 248
12.2  使用JMS请求/应答 248
12.3  使用新的Web 服务合作程序 248
12.4  用eInsight的子流程完成重用 249
12.4.1  Requset/Response子流程 251
12.4.2  单向操作子流程 251
12.4.3  通告子流程 251
12.5  使用eInsight Web服务进行重用 253
12.5.1  请求/响应 Web服务 253
12.5.2  单向操作Web服务 255
12.5.3  通告Web 服务 255
12.6  eInsight服务流程重用性提示 255
12.7  小结 255
第13章  可扩展性与弹性 256
13.1  简介 256
13.2  组件分布 256
13.2.1  eGate组件分布 256
13.2.2  eInsight组件分布 258
13.3  异常处理 259
13.3.1  Java协作程序中的异常 259
13.3.2  业务流程故障 260
13.3.3  更高层次的异常处理 262
13.4  补偿 263
13.5  高可用的架构 264
13.5.1  简介 264
13.5.2  Java CAPS平台组件 264
13.5.3  应用程序的连通性 267
13.5.4  站点间故障转移架构 270
13.5.5  总结 271
13.6  小结 272
第14章  安全特性 273
14.1  简介 273
14.2  HTTP代理服务器配置 273
14.3  HTTP基本验证 274
14.4  安全Socket层 277
14.4.1  HTTP eWay客户端和服务器项目 280
14.4.2  HTTP eWay明文通道 280
14.4.3  HTTP eWay服务器端验证 280
14.4.4  HTTP eWay 相互验证 283
14.4.5  Java CAPS HTTP eWay使用SSL
注意事项 285
14.4.6  强密码套件 286
14.4.7  Web服务和SSL 286
14.5  各种安全批量FTP程序 289
14.6  小结 290
参考文献 291

教学资源推荐
作者: 林伟伟 刘波 编著
作者: (美)Yue-Ling Wong 著
作者: 周爱武 汪海威 肖云 编著
作者: 曹先彬,陈香兰 编著
参考读物推荐
作者: [美]乔·里斯(Joe Reis),[美]马特·豪斯利(Matt Housley) 著
作者: Tony Roame
作者: (美)Walker Royce, Kurt Bittner, Mike Perrow 著