JBOSS架构分析

上传人:jiups****uk12 文档编号:40015282 上传时间:2018-05-22 格式:DOC 页数:24 大小:1.03MB
返回 下载 相关 举报
JBOSS架构分析_第1页
第1页 / 共24页
JBOSS架构分析_第2页
第2页 / 共24页
JBOSS架构分析_第3页
第3页 / 共24页
JBOSS架构分析_第4页
第4页 / 共24页
JBOSS架构分析_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《JBOSS架构分析》由会员分享,可在线阅读,更多相关《JBOSS架构分析(24页珍藏版)》请在金锄头文库上搜索。

1、研究项目研究项目: : JBossJBoss 架构分析架构分析Jenny Liu School of Information Technologies University of Sydney jennyliucs.usyd.edu.au 熙可集团 系统分析员:李剑华翻译 huihoo.org Allen 整理,制作 English 摘要摘要JBoss 是一个免费的开放的 J2EE 实现。它的架构是基于高标准的模块化和插入式设计。JBoss 使用工 业标准的 JMX 来管理, JBoss 组件和为 EJB 提供服务。基于我们以前的开发经验,我们发现了不同的 J2EE 应用服务器间的存在着巨大的

2、性能和可扩展性差异。我们相信架构的设计是决定类似于性能和可 扩展性等质量指标的重要因素。分析和展现 JBoss 架构模型有助于我们了解其内部行为并帮助我们创 建一个精确的最终性能模型。在这个项目中,我们分析 JBoss 应用服务器架构的四个特殊部分, JBoss EJB 容器、JBossNS、JBossTX 以及 JBossCMP,逆转工程工具能使我们通过源代码来分解组件/ 子系统。无论是三个 JBoss 子系统的概念模型或实际模型都将被我们用来讨论 JBoss 架构模块设计风 格。 TableTable ofof ContentContent1.1. 介绍介绍1.11.1 JBossJBos

3、s 是什么是什么1.21.2 动机动机 1.31.3 方法方法 1.41.4 组织组织 2.2. JBossJBoss 服务器架构一览服务器架构一览2.12.1 JMXJMX - - 层次层次2.22.2 JBossJBoss 主要模块主要模块2.32.3 它是如何工作的它是如何工作的? ? 3.3. 架构模型概念架构模型概念3.13.1 容器的概念性架构模型容器的概念性架构模型 - - 插入式插入式3.1.13.1.1 主要的组件和接口主要的组件和接口3.1.23.1.2 依赖性依赖性3.3. 2 2 JBossJBoss 命名服务概念模型命名服务概念模型3.2.13.2.1 主要主要 JN

4、DIJNDI APIAPI3.2.23.2.2 主要组件和接口主要组件和接口3.2.33.2.3 依赖性依赖性3.3. 3 3 JBossCMPJBossCMP 概念模型概念模型3.3.13.3.1 主要组件和接口主要组件和接口3.3.23.3.2 依赖性依赖性3.3. 4 4 JBossTxJBossTx 概念模型概念模型3.4.13.4.1 主要组件和接口主要组件和接口3.4.23.4.2 依赖性依赖性4.4. 实际架构模型实际架构模型4.14.1 容器实际模型容器实际模型4.1.14.1.1 获得综合实际模型的方法获得综合实际模型的方法4.1.24.1.2 非正规组件和依赖非正规组件和依

5、赖4.1.34.1.3 实体实体 BeanBean 容器的示例和它的执行方法调用的插件容器的示例和它的执行方法调用的插件4.24.2 JBossJBoss 命名服务概念模型命名服务概念模型4.2.14.2.1 特殊组件和相互关系特殊组件和相互关系 4.2.24.2.2 客户端获得客户端获得 EJBEJB 本地对象的例子本地对象的例子4.34.3 JBossCMPJBossCMP 概念模型概念模型4.3.14.3.1 特殊组件和联系特殊组件和联系 4.44.4 JBossJBoss 交易管理实体模型交易管理实体模型4.4.14.4.1 特殊组件和关联特殊组件和关联 5.5. JBossJBoss

6、 架构的可扩展性架构的可扩展性 6.6. 结论结论 7.7. 参考参考 8.8. 数据字典数据字典 9.9. 附录附录图示列表图示列表1. Figure 1-1 JBoss 总体概念模型 2. Figure 2-1 JMX 层次模型 3. Figure 3-1 容器概念架构模型 4. Figure 3-2 拦截器调用Pipe 5. Figure 3-3 JBoss 命名服务概念模型 Services Conceptual Model 6. Figure 3-4 JBoss CMP 服务概念模型 7. Figure 3-5 JBossTx 概念架构模型 8. Figure 4-1 容器相互依赖图

7、 9. Figure 4-2 JBoss 命名服务概念模型 10.Figure 4-3 方法调用消息图 11.Figure 4-4 实体 Bean 容器概念架构模型 12.Figure 4-5 客户端和 EJB 容器的交互图 13.Figure 4-6 JBossCMP 依赖与继承图 and Inherency Diagram 14.Figure 4-7 JBossCMP 概念模型 15.Figure 4-8 JBossTx 依赖与继承图 16.Figure Appendix-1 StatelessSessionContainer 概念架构模型 Concrete Architectual Mo

8、del 17.Figure Appendix-2 StatefulSessionContainer 概念架构模型 Concrete Architectual Model 18.Figure Appendix-3 A COTS EJB 容器概念架构模型 Conceptual Architecture Model 1.1. 介绍介绍1.11.1 JBossJBoss 是什么是什么? ? JBoss 是免费的,开放源代码 J2EE 的实现,它通过 LGPL 许可证进行发布。它提供了基本的 EJB 容器 以及 EJB(好像应该是 J2EE)服务,例如:数据库访问 JDBC、交易(JTA/JTS)、消息

9、机制(JTS)、命名机 制(JNDI)和管理支持(JMX)。目前的 JBoss 发布版 2.2.4 实现了 EJB 1.1 和部分 EJB 2.0 的标准、JMS 1.0.1、Servlet 2.2、JSP 1.1、JMX 1.0、JNDI 1.0、JDBC 1.2 和 2.0 扩充(支持连接池 (Connection Polling)、JavaMail/JAF、JTA 1.0 和 JAAS 1.0 标准,JBoss 是 100%纯 Java 实现能运 行于任何平台。 1.21.2 动机动机 这个项目的动机是我们想分析一下中间件基础系统的性能。基于我们以前的开发经验,我们知道不同 J2EE 应

10、用服务器在性能和可扩展性方面有着极大的差异,并且相信架构的设计是决定类似于性能和可 扩展性等质量指标的重要因素,我们想通过分析这个系统来了解架构设计究竟对于性能和可扩展性具 有着怎样的影响。无论概念性模型的局限性或实际模型中对于系统运行期行为的 Reflect(反射机制) 应用,他们还是能提供给我们一个对于整个系统的全面架构的了解的视点和符合基本境况的分析模型 的构建的前提。 1.31.3 方法论方法论 大型软件系统的架构分析可以分为两个层面:概念性架构和实际架构。概念性架构通过将子系统的“ 捆绑式“分析和子系统间的分析描述了这个系统的架构。每一个子系统具有清晰的有意义的方法和他 们包含了整个

11、系统的特殊的架构风格。实际架构和概念性架构比起来具有较少的层次关系。它表述了 实际的编程规划/模型的实际体现,它和想象的概念性架构有很多不同。在这个项目中,我们将 JBoss 的概念性架构和实际架构进行了分割。想象的概念性架构模型通过参考资料来分割和获得,我们自己 的经验来自配置应用系统和 JBoss 的在线论坛。眼下,我们先关心一下每个组件在模块层面上的功能 性,他们彼此不相关。实际架构模型是综合的。我们使用逆转工程工具 Together 5.5 以便于将源代 码翻转成为类(class)图和序列(sequence)图并使他们在一个子系统模型中综合。Together 5.5 支持 应用设计,实

12、施,配置和 JBoss 的逆转工程。它可以通过 Java 文件和 class 文件来获得类图。更深 一层,我们通过使用 Together 选择相应的特殊的方法来获得序列图。有两个工具可以帮助我们来了 解组件行为,最终实际模型和概念性模型的比较。在实际模型中以外的模块、组件和其它部分也将被 讨论。 1.41.4 组织组织 这份报告将按照以下次序进行组织:第二部分将介绍 JBoss 架构的整体设计和主要的组件。第三部分 讨论 JBoss 子系统的概念性模型,即:容器框架和它的插件。JBoss 命名服务(JNDI),JBoss 容器持 久性管理(CMP)和 JBoss 交易服务。第四部分,我们将挖掘

13、 JBoss 子系统的实际模型和被提及的组件 间的相应稳固的关系。第五部分,我们来评价一下 JBoss 的架构风格和在性能、可更改性、可扩展性 等一系列质量指标上的表现。在第六部分我们将讨论我们将来的工作和提出我们报告的最终结论。 2.2. 2.2. JBossJBoss 服务器架构概述服务器架构概述JBoss 的构架和其他 J2EE 应用服务器的构架有着巨大的不同。JBoss 的模块架构是建立在 JMX 底层上 的,下图展现了 JBoss 主要组件和 JMX 的联系。 FigureFigure 1-11-1 OverallOverall JBossJBoss ConceptualConcep

14、tual ModeModel l 2.12.1 JMXJMX - - 层次层次 JMX 是一个可复用框架,它为远程(Remote)和本地(Local)管理工具扩展了应用。它的架构是层式架构。 他们是实现层(instrumentation layer)、代理层(agent layer)和发布层(distribution layer)。其 中,发布层还在等待未来的标准化。简要的表述是,用户使用管理 Bean,MBean 来提供获得相应资源 的实现方法。实现层实现相关的特性资源并将它发布于 JMX 相关应用中,它的代理层控制和发布相应 的注册在 MBeanServer 代理上的管理资源。. Figu

15、reFigure 2-12-1 JMXJMX 层次模型层次模型2.22.2 JBossJBoss 主要模块主要模块主要的 JBoss 模块是在 MeanServer 上的可管理 MBean。 2. 1.JBoss EJB 容器是 JBoss 服务器的核 心实现。它有两个特性,第一是在运行期产生 EJB 对象的 Stub 和 Skeleton 类,第二是支持热部署。 2.JBossNS 是 JBoss 命名服务用来定位对象和资源。它实现了 JNDI J2EE 规范. 3.JBossTX 是由 JTA/JTS 支持的交易管理控制. 4.部署服务支持 EJB(jar)、Web 应用文档(war)和企

16、业级应用文档(ears)的部署。它会时刻关心 J2EE 应用的 URL 情况,一旦它们被改变或出现的时候将自动部署。 5.JBossMQ 使 Java 消息规范(JMS)的实现。 6.JBossSX 支持基于 JAAS 的或不支持 JAAS 机制的安全实现。 7.JBossCX 实现了部分 JCA 的功能。JCA 制订了 J2EE 应用组件如何访问基于连接的资源。 8.Web 服务器支持 Web 容器和 Servlet 引擎。JBoss 2.4.x 版本支持 Tomcat 4.0.1,Tomcat 3.23 和 Jetty 3.x 服务. 2.32.3 他们是如何工作的他们是如何工作的? ?当 JBoss 被启动,它的第一步是创建一个 MBean 服务器的实例。一个基于管理机制的 MBean 组件通过 在 Mean Server 中的注册而被插入 JBoss

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号