章三 软件体系结构组态分析与应用(2)
1、JBoss应用服务器
JBoss是一个开放源代码的应用服务器,符合J2EE规范。它提供了基于JMX(Java Management Extension)体系的EJB容器--JBossServer,提供了JBossMQ,JBossCMP,JBossTX,JBossSX和JBossCX等。为了支持Servlet和JSP等Web组件,JBoss集成了第三方的Servlet引擎——Tomcat和Jetty。
(1)JBossServer
JBoss采用EJB规范作为JBossServer设计的标准,并添加了J2EE规范中并不存在的特征:动态实时生成Stub和Skeleton对象;自动部署和动态刷新。
(2)JBossMQ
根据JMS规范实现的。有如下功能:分布式应用中各组件点对点的通信以及基于发布或请求模式的通信方式;持久的消息订阅,保证用户在相当长的一段时间内对某一消息的接收;JMS应用服务器组件,为用户提供各种JMS服务;在事务管理器(Transaction Manager)的协调下参与分布式应用中全局性的工作。
(3)JBossTX
JBossTX是一个由JTA/JTS支持的事务管理器,其中JTS(Java Transaction Service,Java事务服务)定义了事务管理器的实现规范,而JTA为JTS提供了一个高层接口,并用Java实现了OTS(Object Transaction Service对象事务服务),以OTS作为自己的底层服务。
JBossTX提供了五点服务:
为分布式应用系统和分布式应用服务器提供了一种控制事务范围和生命周期的功能;允许多个分布式应用组件参与到同一个事务中;支持多个资源管理器(Resource Manager)协同工作完成一个全局性事务;支持事务同步。
(4)JBossCMP
JBoss使用了一种新的O-R(Object Relational,对象/关系)映射工具--JAWS(Just Another Web Storage)。JAWS可以将EJB对象存储到关系数据库中,实现分布式对象的持久性存储。
从类映射到表
对象ID
关系
把对象关系映射到关系模型的常用技术有:嵌入式外键、不同的连接表、折叠类、继承。
(5)JBossSX
是JBoss中提供安全服务的功能组件,它支持基于JAAS的安全机制(Java Authentication and Authorization Service,Java认真及授权服务)。JBossSX的主要功能主要包括以下几点:
通过JAAS登陆模块进行用户安全认证;
使用JAAS登陆模块进行扩展的用户安全认证;
支持对服务器端组件方法调用的安全管理;
支持基于JAAS的用户授权机制;
可以将现有系统的安全机制和JAAS安全机制有机的结合起来。
二、JBoss面向对象模式分析
1、JBoss的面向对象结构
面向对象模式是JBoss应用服务器最基本的构建模式。JBoss完全采用基于构件的插件方式组织整个系统,从底层模块开始,逐渐增量的实现整个应用服务器。
JBoss中基本的层次主要分为以下三部分:
(1)系统资源层
(2)智能代理层
(3)分布式服务层
基于面向对象模式的JBoss为J2EE应用开发人员提供了多种优势,其中最重要的一点就是JBoss系统的规模可以动态定制,以满足用户对系统资源的不同需求,即原先紧耦合的代码模块根据用户配置只哦的那个加载或卸载。面向对象的JBoss用Java管理来扩展JMX作为其软件总线,为系统中各功能模块、容器和插件的相互通信和集成提供了标准的机制。
2、EJB容器的底层通信模型负责客户端和EJB容器之间的通信。如果将客户端看作一个过滤器,EJB容器也看作一个过滤器,则这个通信模型就是过滤器之间的管道。只不过这个管道过于复杂,其自身又是由许多过滤器和管道构成的。
3、基于分层模式的JNDI系统为分布式应用系统提供了很多便利。
(1)为软件复用提供了基础;
(2)位置透明特性为JBoss容器提供了很多附加的功能。