本书的缘起
全球信息资源整合的时代已经来临,电子商务B2B已经谈了很多年了,什么是真正的电子商务B2B,难道仅仅是一些厂商将自己的产品发布到一个网站上让买家浏览就是电子商务B2B了?
真正的电子商务B2B至少应该包括物流、资金流和库存的信息流控制,应该是各种信息服务资源的整合平台。比如说,当一个买家在某一个电子商务平台决定购买一个产品时,此电子商务平台将调用买家的资金账户管理服务系统,冻结相应的资金;此电子商务平台同时调用卖家的库存管理服务系统,检查是否有足够的存货;如果资金和存货都达到要求,此电子商务平台将调用一家物流配送公司的物流管理服务系统把卖家的产品送到买家。
电子商务平台不需要所有者亲自开发买家的资金账户管理服务系统、卖家的库存管理服务系统,以及物流配送公司的物流管理服务系统,只需要将这些管理服务系统以插件的方式加入到这个电子商务整合平台即可。电子商务整合平台可以对相应的服务进行安全控制和服务状态监控等,要实现这样的整合平台技术,就需要SOA的架构技术。
SOA是目前最流行的热门话题。SOA(Service Oriented Architecture)的架构思想,即以服务为导向的软件开发思想几年前就出现了。SOA的本质需求是什么?为什么需要SOA?作者去年参与了基于J2EE和SOA架构的美国pepboys汽车修理和加油连锁店POS系统项目的设计开发,感觉大量的软件开发和设计人员所理解的SOA就是Web Service,也就是SOAP。如果单纯从提供分布式服务的角度来看,CORBA和J2EE的EJB就可以满足服务需求,为什么一定需要Web Service呢?
决定一种新的技术是否有前途,关键是看它是否能够满足市场的需求。这样就需要开发者首先知道目前最有潜力的市场需求是各种跨平台的软件服务的整合。
要实现跨平台的软件服务的整合,就必须解放软件服务的传输协议的限制,Web Service必然成为首选。然而SOA不仅仅要提供一种服务,其本质是要提供一个整合和监控各种松散耦合(或完全解耦)服务的整合平台。
目前各个大公司如IBM等都在积极推出自己的SOA的服务整合平台技术,IBM的Websphere 6.0所推出的Websphere 6.0 SIBus服务总线就是一个非常好的SOA技术平台。
Java的出现,实现了跨操作系统平台的程序开发,以Java为基础的J2EE技术已经成为因特网服务技术的主流。接下来,以J2EE为基础的SOA架构技术必将很快成为下一个因特网服务技术的主流,这就是本书“基于SOA架构的Struts、EJB和Web Service的J2EE整合应用开发”的缘起和由来。
本书的组织架构和主要内容
第1章 SOA架构概述及准备工作
首先介绍了SOA的核心实质,以及基于SOA架构整合应用的技术组成。Eclipse和RAD已经成为目前主流的Java集成开发工具(IDE)。事实上RAD就是Eclipse的升级版。Eclipse的不需安装,直接复制到相应目录即可执行,以及以插件方式就可增加新功能的方式,越来越为广大Java开发人员所喜爱。Eclipse+Lomboz插件一直是开发J2EE EJB等的利器。Eclipse 3.0以上版本+Lomboz插件来开发J2EE的JSP或EJB一直有各种各样的问题,严重影响了广大的Java开发人员的效率。作者解决了这些问题,并将Eclipse 3.1.2+Lomboz完全支持JSP、Session Bean和Entity Bean的可运行版本借本书公布出来,希望能对广大的Java开发人员有所帮助。
此外,本章一步一步详细介绍了安装BEA WebLogic 9.1和Eclipse 3.1.2+Lomboz插件的过程、如何创建Web Module,以及如何检验安装是否正确。
第2章 基于Eclipse的Struts编程详解
以易懂的实例详细介绍了如何在Eclipse 3.1.2上创建基于Struts 1.28的MVC Web应用,包括创建和配置Controller、Form Bean、Action Bean、Struts Validator,以及应用Struts的html taglibs、bean taglibs、logic tag libs创建JSP。
第3章 基于Eclipse的Struts + Session Bean编程详解
以易懂的实例介绍了用Eclipse 3.1.2+Lomboz插件创建EJB Session Bean,以及创建和实现Struts对EJB Session Bean的调用。
第4章 基于Eclipse的Struts + Session Bean + Entity Bean编程详解
以易懂的实例介绍了用Eclipse 3.1.2+Lomboz插件创建EJB Entity Bean CMP,创建CMP的复合主键类,创建新的finder方法,在WebLogics 9.1上配置数据源,以及创建和实现Session Bean对Entity Bean CMP的调用。本章的目的在于介绍创建和实现基于Eclipse 3.1.2和WebLogic 9.1的从前台到后台的Struts+Session Bean+CMP的整合编程。
第5章 基于Eclipse + Axis的Web Service、EJB、Struts的整合编程详解
首先介绍了Web Service的出现原因在于实现业务接口层和业务实现层的分离,以及服务接口和调用的标准化;然后详细介绍了Web Service实现分布式服务的基本原理。
接着以具体的实例介绍了基于Eclipse+Lomboz来创建Java Bean的Web Service,进一步介绍了基于Eclipse+Lomboz来创建无状态会话Bean的Web Service;又介绍了基于Eclispe和Axis创建WSDL,以及基于WSDL创建客户端的Java代码,作者提供了相应的脚本,读者只要进行简单的修改就可直接应用到实际的项目之中。
最后介绍了实现客户端和Web Service的集成,以及创建Axis的TCP Monitor来监控Web Service的运行。
第6章 基于BEA AquaLogic的SOA架构的整合应用详解
介绍了基于BEA AquaLogic Servcie Bus构建SOA架构的基本原理,结合具体的实例,详细介绍了基于服务总线创建构架SOA的服务集成的整个过程,最后介绍了基于SOA架构的整合应用的实现。
第7章 基于Websphere RAD Session Bean + Entity Bean + Web Service编程详解
目前IBM的Websphere服务器和BEA的WebLogic服务器是J2EE市场上两大主流企业级的应用服务器。上面章节的Eclipse+Lomboz可以完成除Websphere之外的所有应用服务器的J2EE开发支持。
RAD是WSAD的升级版,也是基于Eclipse架构的专门支持Websphere服务器的Java集成开发环境(IDE),本章以详细实例介绍了在RAD中创建Session Bean和CMP,创建新的finder方法,在RAD上创建相应的数据源,在RAD上将Session Bean发布成Web Service,以及实现整合应用编程。
第8章 基于IBM SIBus服务总线的SOA架构的网上书店系统实战详解
详细介绍了创建基于Websphere 6.0 SIBus服务总线的SOA架构的企业服务系统。以一个网上书店系统的实例,详细介绍了SOA的实施过程。完成了在Websphere 6.0上建立SOA的网上书店服务体系,然后在WebLogic 9.1中应用Struts调用SOA Web Service客户端,实现基于SOA架构的Struts、EJB和Web Service的J2EE跨服务器平台的整合应用开发。
本书的一个最大特点就是对所有的概念和原理的描述(如Struts、Session Bean、CMP、Web Service、SOA等)都是从市场需求的角度、开发人员的角度出发,以笔者实际工作的心得来讲述的,从而抓住了这些技术的根本。这些技术本来就是应市场的需求而生的,其目的在于使开发人员更加专注于服务和业务本身。如果看不到这两点,就不可能了解这些技术的本质,所学的东西在实际项目中无法发挥作用。
本书的另一个特点就是每一个章节都给出了完整的工作环境(不仅仅是单纯的源程序),读者只需要在打开Eclipse或者RAD时将路径指向相应的工作环境即可,不需要安装和编辑,即可运行和调试相应的例子,得到最佳的学习效果及实际项目真正需要掌握的技术经验。
本书的读者对象及如何学习本书
前一段时间作者所在部门要招收一些在校的实习生,作者面试了一些知名院校的名列前茅的计算机专业硕士研究生,深深地感觉到他们所掌握的计算机技术跟目前实际项目所需的技术要求相差太大,如果有一本很好的和实际项目相结合的技术书来指导他们,必然能够帮助他们尽快掌握实际项目中真正所需要的经验,这也是本书诞生的重要原因之一。
要学好一门技术,首先要知道为什么要学这门技术,这门技术为什么出现,这门技术所满足的市场需求是什么。J2EE主要目的就是要将广大的软件设计和开发人员从软件技术本身解放出来,如从安全控制、程序流程监控等之中解放出来,让开发人员花更多的时间去直接关注如何实现业务需求本身。
以EJB学习为例,作者认为学习人员不要花太多的时间去琢磨如何写Remote Interface接口类、Home Interface接口类和EJB Bean的ejbActivate()方法等,因为这些都可以通过开发工具IDE(如Eclipse+Lomboz)直接生成,实际项目开发中也不可能让开发人员直接编写这些。因而开发人员应该多花时间去学习如何通过IDE(如Eclipse+Lomboz)来生成这些EJB接口,以及如何更好地调用这些接口。
作者认为所有的软件从业人员大致可以分为三类:软件基础理论和规范制订人员,如在SUN公司制订J2EE规范的人员;软件工具开发人员,如在IBM公司从事Webshpere服务器和RAD的开发人员;应用软件工具进行业务应用开发的人员。第三类人员占绝大多数,本书的主要读者也是第三类人员。
回书目 下一节 |