开源魅力
2013-3
清华大学出版社
本书是作者多年来对J2EE开发经验的总结,以及对开源软件深入研究成果的汇总,内容
覆盖了基于Web的流行开源软件。该书详细介绍了面向开源软件的软件开发原理、方法和技
术,介绍了实现开源软件的开发语言和方法;介绍、分析了包括以Spring为中心的Struts、
Hibernate、Flex、CXF、Tuscany、Jetspeed等众多开源软件的集成方法和应用技巧,以及
支持这些开源软件的Web服务器原理和使用方法。本书还详细分析了Web服务及语义Web服务
的开发原理和方法。
马洪江,教授,四川计算机学会理事,主要研究方向为云计算、网络技术及开源软件技术。周相兵,副教授,IEEE、CCF、ACM会员,主要研究方向为服务与云计算、软件技术。佘堃,教授,JEEE、CCF、ACM会员,主要研究方向为云计算、云安全及中间件技术。
第0章 概论1第1章 开源软件发展的概况7 1.1 开源软件的定义7 1.1.1 自由软件定义7 1.1.2 开源软件定义9 1.1.3 中国开源软件推进联盟定义12 1.2 开源软件状况13 1.2.1 开源软件发展状况14 1.2.2 开源软件应用状况19 1.3 开源软件分类23 1.4 开源软件的优点26 1.5 开源软件的特点27 1.5.1 开源软件的成本28 1.5.2 开源软件的成熟度测评概况30 1.5.3 开源软件的选择策略概述32 1.5.4 开源软件的管理机制34 1.5.5 开源软件与知识产权35 1.6 最有价值的开源软件40 小结42 参考文献43第2章 面向开源软件的软件架构原理44 2.1 软件构架概述及基本方法44 2.1.1 软件构架的特点47 2.1.2 软件构架的质量评估48 2.1.3 软件架构“4+1”视图模型54 2.1.4 软件构架师59 2.1.5 案例分析——档案管理系统62 2.2 基本的软件构架方法66 2.2.1 软件体系结构论述67 2.2.2 软件层次结构97 2.2.3 软件中间件构架方法106 2.2.4 轻量级的软件构架方法107 2.3 可信软件的构架方法116 2.3.1 可信软件概述116 2.3.2 可信软件基本原理119 2.3.3 可信软件构造所满足的基本条件122 2.3.4 可信软件演化123 2.3.5 可信软件度量125 2.3.6 可信软件技术126 2.3.7 可信研究进展128 2.4 协同软件构架方法130 2.4.1 协同软件概述131 2.4.2 协同软件原理136 2.4.3 协同软件模式137 2.4.4 协同软件角色145 2.4.5 协同软件的工作流技术146 2.5 开源软件的软件开发构架模式147 小结150 参考文献150第3章 面向开源软件的分析设计方法154 3.1 开源软件分析设计方法概述154 3.2 基本的软件分析设计方法155 3.2.1 面向对象设计方法156 3.2.2 面向构件设计方法166 3.2.3 UML建模方法173 3.3 面向服务计算的软件分析设计方法202 3.3.1 面向服务的分析设计方法概述202 3.3.2 面向服务体系结构的设计方法204 3.3.3 面向服务流程的建模方法220 3.3.4 面向企业服务总线的方法239 3.3.5 面向服务体系架构建模语言(SoaML)250 3.4 面向服务的软件语义化的软件分析设计方法258 3.4.1 面向服务的软件语义化概述260 3.4.2 OWL-S与WSDL、TMDM的特征关系263 3.4.3 OWL与Web服务、主题图的关系269 3.4.4 面向服务软件语义化基础270 3.4.5 面向服务的软件语义化方法274 3.4.6 面向服务的软件语义化研究进展280 3.4.7 面向服务的软件语义的软件分析设计方法284 小结285 参考文献285第4章 面向开源软件的软件开发方法289 4.1 面向开源软件的软件开发特点289 4.1.1 软件体系架构选择原则289 4.1.2 面向开源软件的软件开发的代码原则289 4.1.3 开源软件选择方法分析290 4.2 面向开源软件的软件开发方法293 4.2.1 开发模型分析293 4.2.2 开发需求分析294 4.2.3 开发分析设计方法294 4.2.4 开发实现流程295 4.2.5 测试方法295 4.3 面向开源软件的软件开发标准探索296 4.3.1 软件可信性296 4.3.2 软件质量298 4.3.3 软件复用299 4.3.4 软件再生299 4.3.5 软件自动化300 4.3.6 软件验证与确认300 小结301 参考文献301第5章 面向开源软件的软件开发技术302 5.1 概述302 5.2 常用的开发及平台语言302 5.2.1 PHP302 5.2.2 Perl314 5.2.3 Flex314 5.2.4 Harmony321 5.2.5 JSP324 5.2.6 Android327 5.3 常用的开发环境330 5.3.1 Eclipse330 5.3.2 CVS333 5.3.3 NetBeans334 5.3.4 Apache Ant334 5.3.5 JUnit335 5.4 常用的支持服务器软件336 5.4.1 Tomcat336 5.4.2 Geronimo343 5.4.3 Jboss346 5.4.4 Jetty346 5.4.5 Derby349 5.5 Web 2.0技术350 5.5.1 Web 2.0实现的相关技术351 5.5.2 Web 2.0用户界面定制工具353 5.5.3 Web 2.0页面处理技术355 5.5.4 RSS技术357 5.6 面向服务的软件开技术360 5.6.1 Web服务技术360 5.6.2 语义Web服务技术387 5.6.3 RESTful Web服务技术388 5.6.4 SOA技术391 5.6.5 BPEL4WS403 5.7 语义描述语言404 5.7.1 RDF404 5.7.2 OWL-S411 5.7.3 WSMO418 5.8 数据库访问技术424 5.8.1 ODBC424 5.8.2 JDBC426 5.8.3 ADO.NET431 5.8.4 pureXML432 小结434第6章 面向开源软件的软件开发开源框架435 6.1 概述435 6.2 DWR436 6.2.1 AJAX基本应用方法436 6.2.2 DWR应用方法448 6.3 Portlet451 6.3.1 容器454 6.3.2 页面处理455 6.3.3 Jetspeed461 6.4 iweb SNS468 6.5 Struts469 6.5.1 MVC469 6.5.2 Struts应用方法474 6.6 Spring483 6.6.1 Spring框架介绍483 6.6.2 AOP490 6.6.3 IoC495 6.6.4 Spring3在构建RESTful Web Services的方法501 6.7 数据持久化框架504 6.7.1 Hibernate504 6.7.2 Hibernate应用方法513 6.7.3 iBatis应用方法517 6.8 A2JT522 6.8.1 A2JT介绍522 6.8.2 Web服务框架:Axis、CXF523 6.8.3 服务功能语义转换:WSDL2OWL-S536 6.8.4 语义推理:Jena536 6.8.5 本体编辑工具:Protégé547 6.8.6 WSMO编辑工具:WSMO Studio549 6.8.7 SOA框架:Tuscany550 6.9 数据处理框架562 6.9.1 开源搜索框架Lucene563 6.9.2 多源数据抽取框架575 小结580第7章 多开源软件框架整合方法581 7.1 概述581 7.2 PP:面向AJAX的DWR与Jetspeed整合581 7.2.1 配置web.xml格式581 7.2.2 配置dwr.xml格式582 7.2.3 配置portlet.xml格式582 7.3 SSH整合585 7.3.1 概述585 7.3.2 Struts与Spring整合585 7.3.3 Struts与PP整合593 7.3.4 Spring与Hibernate整合594 7.3.5 Spring与iBatis整合596 7.3.6 SSH整合实现599 7.4 A2JT融合599 7.4.1 配置web.xml的格式599 7.4.2 配置cxf-servlet.xml的文件格式600 小结602第8章 SAJP-M轻量级开源中间件整合实现603 8.1 SAJP-M概述603 8.2 SAJP-M中间件结构604 8.2.1 SAJP-M主要的程序结构604 8.2.2 SAJP-M功能结构612 8.3 应用方法614 8.3.1 SAJP-M中间件主要配置文件615 8.3.2 应用举例624 小结661第9章 用SAJP-M设计实现科研绩效系统662 9.1 系统描述662 9.2 系统需求663 9.3 系统构架663 9.3.1 数据库构架663 9.3.2 系统构架666 9.4 系统程序结构668 9.4.1 程序结构669 9.4.2 再述配置文件669 9.4.3 主要功能模块之报出输出的Action684 9.4.4 系统运行697小结699
马洪江、周相兵、佘堃编著的《开源魅力(面向Web开源技术整合开发与实战应用)》在撰写过程特别注重可读性、实用性、专业性、学术性、可操作性,并力求知识面广、难易合理搭配,从而让读者不用翻阅太多的资料就可以从事相关软件研究与开发工作。因此,本书首先从原理、方法、技术层面进行全面分析研究,然后从具体的开源件进行分析研究,最后总结面向开源件框架的轻量级软件开发方法和流程。全书内容共分9章,分别如下:第1章开源软件发展的概况,第2章面向开源软件的软件构架原理,第3章面向开源软件的分析设计方法,第4章面向开源软件的软件开发方法,第5章面向开源软件的软件开发技术,第6章面向开源软件的软件开发开源框架,第7章多开源软件框架整合方法,第8章SAJP-M轻量级开源中间件整合实现,第9章用SAJP-M设计实现科研绩效系统。
书质量没话说,送来的时候边上磕破了