好文档 - 专业文书写作范文服务资料分享网站

JBoss中文文档

天下 分享 时间: 加入收藏 我要投稿 点赞

专注于Java EE平台、敏捷方法及Open Source技术咨询

速地带领用户分析如何保护随JBoss发布的JMX控制台和Web控制台应用。

本书在1.3节讨论过JMX控制台。通过JMX控制台基本上能够控制JBoss服务器的各个方面,因此保护该控制台很重要,至少需要通过密码来保护它。否则,任何远程用户将能够完全控制用户的JBoss服务器。为实现此目的,本文将安全性域添加给JMX控制台应用。通过server/default/deploy/jmx-console.war/WEB-INF/目录能够找到待修改的JMX控制台文件,即jboss-web.xml。将jboss-web.xml中security-domain的注释去掉,具体如下。

java:/jaas/jmx-console

这将设置Web应用待使用的安全性域,但还未确定Web应用应该使用的安全性策略。待保护的URL是什么,相应的访问角色又是哪些?为配置这些内容,用户需要在同一目录中找到web.xml文件,然后将security-constraint的注释去掉。其中,该安全性约束要求登陆用户必须具有JBossAdmin角色。

HtmlAdaptor

An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application

/* GET POST

JBossAdmin

太好了,但是用户名和密码来自哪里呢?不错,它们来自jmx-console安全性域。通过conf/login-config.xml文件能够看到。

www.open-v.com 拓宽视野,奔向成功

Open View, Victory Open

10 专注于Java EE平台、敏捷方法及Open Source技术咨询

上述配置使用了基于简单文件的安全性策略。其中,登陆JMX控制台应用的用户名和密码存储在jmx-console-users.properties中,并且以“username=password”形式给出。为了将用户添加到JBossAdmin角色中,需要将“username=rolename”形式给出的用户和角色映射关系给出在jmx-console-roles.properties文件中。现存的文件创建了admin用户,其密码为admin。用户可能删除该用户,或者更改其密码,使得JMX控制台应用更安全。 当更新了web.xml时,JBoss会重新部署JMX控制台应用。用户可以通过服务器控制台检查JBoss保存了对web.xml所作的修改。如果用户正确地配置了上述各个任务,并且重新部署了JMX控制台应用,则下次访问它时,JBoss会要求用户提供用户名和密码。 JMX控制台应用不是JBoss唯一提供的、基于Web的管理界面。JBoss还提供了另一管理应用,即Web控制台(参考附录A)。尽管Web控制台是基于Java Applet形式给出的,但是对应的Web应用还是可以类似于JMX控制台的方式来保护它。其中,Web控制台应用位于default/deploy/management/web-console.war。注意,这同JMX控制器应用有所区别,因为JMX控制器应用是以目录形式展开的。因此,编辑web-console.war WAR存档更费力些。 2.2.4 其他服务

deploy目录放置的服务不是核心服务,但具有热部署能力。用户可以通过XML描述符文件(*-service.xml)或JBoss服务存档(SAR)文件给出服务。SAR同时含有XML描述符和服务所要求的其他资源(比如,类、JAR库文件以及其他存档),而且SAR是以单个存档文件给出的。 本节内容将研究default配置中的deploy目录,并给出相应的解释。当然,这里给出的内容使得用户能够从整体上把握JBoss应用服务器,因此如果用户希望了解有关现有MBean组件的更多内容,则不要错过本节内容。通过default/deploy目录,用户能够发现下列文件和子目录。

?? bsh-deployer:将BeanShell脚本部署成JBoss服务。

?? cache-invalidation-service.xml:允许借助于JMS,而实现对EJB缓存的控制。 ?? client-deployer-service.xml:部署J2EE应用客户。 ?? ear-deployer.xml:部署J2EE EAR应用。

www.open-v.com 拓宽视野,奔向成功

Open View, Victory Open

11 专注于Java EE平台、敏捷方法及Open Source技术咨询

ejb-deployer.xml:部署J2EE EJB应用。

hsqldb-ds.xml:设置嵌入式Hypersonic数据库服务,并将其作为默认数据源。 http-invoker.sar:通过RMI/HTTP方式访问到MBean和EJB。

jboss-aop.deployer:提供AspectManagerService,并部署JBoss AOP应用。 jboss-hibernate.deployer:部署Hibernate存档(HAR文件)。

jboss-local-jdbc.rar和jboss-xa-jdbc.rar:集成JDBC驱动的JCA资源适配器,它们分别支持DataSource和XADataSource。但是,这并没有提供专有JCA实现。 ?? jboss-ws4ee.sar:提供J2EE Web服务支持。

?? jbossjca-service.xml:JBoss JCA实现,使得在JBoss中部署JCA资源适配器成为

可能。

?? jbossweb-tomcat50-sar:含有嵌入式Tomcat服务的展开SAR文件。它为JBoss提

供了标准的Web容器。

?? jms:将JMS相关的服务聚集在一起,并放置在jms目录中。 ?? hsqldb-jdbc-state-service.xml:使用HSQLDB管理状态。

?? hsqldb-jdbc2-service.xml:使用嵌入式HSQL数据库实现缓存和持久化。它还包含

了JMS实现的核心服务,即DestinationManager MBean。

?? jbossmq-destinations-service.xml:供JBoss测试套件使用的JMS Topic和Queue。 ?? jbossmq-service.xml:JMS其他服务,包括拦截器配置。

?? jms-ds.xml:将JBoss消息实现作为默认JMS提供商。并且,它还提供JCA配置

信息,以供集成JBoss JCA和JMS资源适配器使用。

?? jms-ra.rar:资源适配器,供JCA处理JMS连接工厂使用。

?? jbossmq-httpil.sar:提供JMS调用层,从而实现HTTP方式使用JMS。 ?? jvm-il-service.xml:配置本地JMS传输调用层,供本地JVM使用JMS。

?? uil2-service.xml:配置JMS版本2统一调用层。这是一种可靠的、自定义的、基于

Socket的传输方式。推荐在不同JVM间使用它。 ?? jmx-console.war:JMX控制台应用。前面讨论过。

?? jmx-invoker-server.xml:为远程访问JMX MBean服务器提供支持。 ?? mail-ra.rar:为JavaMail提供资源适配器。

?? mail-service.xml:允许应用和服务在JBoss中使用JavaMail。请注意,邮件服务器

相关信息必须由用户提供。

?? management:含有可更换管理服务的子目录。其中,包含有改进的Web控制台。 ?? monitoring-service.xml:配置警告监听器,比如控制台监听器、E_mail监听器,等

等。

?? properties-service.xml:设置JVM的全局系统属性(由System.getProperties返回)。 ?? schedule-manager-service.xml和scheduler-service.xml:定时任务服务。 ?? sqlexception-service.xml:为JDBC驱动提供标识一般性SQL异常。 ?? uuid-key-generator.sar:生成唯一的、基于UUID的键。

all配置提供了其他配置没有提供的其他服务,用户可以将这些服务集成到各自的服务器配置中。具体如下:

?? cluster-service.xml:群集服务,包括JGroups集成服务、HA-JNDI、有状态会话

Bean复制、CMP2缓存有效性服务。

?? deploy-hasingleton-service.xml:HASingletonDeployer MBean。用于确保群集中只

有单个节点在deploy-hasingleton目录部署了服务。

www.open-v.com 拓宽视野,奔向成功

Open View, Victory Open

12?? ?? ?? ?? ?? ??

专注于Java EE平台、敏捷方法及Open Source技术咨询

?? deploy.last/farm-service.xml:farm群集部署服务。用于确保它在所有其他服务部

署之后才部署其本身。

?? ebxmlrr-service.xml:JAXR注册服务实现。

?? iiop-service.xml:实现对CORBA、IIOP的支持。

?? jbossha-httpsession.sar:遗留的HTTP会话复制服务。

?? remoting-service.xml:还处于试验中的下一代分离式Invoker框架。 ?? snmp-adaptor.sar:将JMX通知转换成SNMP陷阱。

?? tc5-cluster-service.xml:用于新的HTTP复制服务的TressCache配置。

有关上述各种服务更深入、全面的介绍,请用户参考《The JBoss 4 Application Server Guide》。该书还提供了服务器内核的完整信息以及服务实现(比如,JTA和J2EE连接器架构)。

2.3 Web容器—Tomcat

JBoss 4.0.0将Tomcat 5.5作为其默认Web容器。嵌入的Tomcat服务是通过展开的SAR,即deploy/jbossweb-tomat55.sar,给出的。Tomcat所需要的所有JAR文件都能在这里找到,其中还包括为Web应用提供默认配置集合的web.xml文件。如果用户熟悉Tomcat的配置,则可以查看server.xml,其含有标准Tomcat格式化配置信息。它包含如下内容:设置HTTP连接器,并将8080端口作为默认监听端口;设置AJP连接器,并使用8009端口(比如,将Apache作为Web服务器);给出了如何配置SSL连接器的实例(默认时,并没有启用)。 除非是高级用户,否则不要修改任何内容。如果用户以前使用过单独的Tomcat服务器,则应该注意到,它同这里的嵌入式服务还是存在差别的。JBoss掌管了Tomcat,因此用户根本不用去访问Tomcat目录。通过将Web应用放置在JBoss deploy目录中,便实现了它们的部署。同时,来自Tomcat的输出日志(包括内部访问和访问日志)被保存在JBoss log目录中。

www.open-v.com 拓宽视野,奔向成功

Open View, Victory Open

13 专注于Java EE平台、敏捷方法及Open Source技术咨询

第3章 关于实例应用

3.1 J2EE Tutorial

本书将使用Sun J2EE Tutorial中的应用实例,即Duke银行应用。通过如下网站能够找到

J2EE Tutorial:http://java.sun.com/j2ee/1.4/docs/tutorial/doc/。用户通过J2EE Tutorial能够获得一些入门资料。http://java.sun.com/j2ee/1.4/download.html/#tutorial提供了实例代码的下载。 本章将研究在JBoss中如何运行Duke应用。并且在扩充Duke应用的同时,还需要提供JBoss特定的配置信息和部署描述符。用户还需要下载本书附带的那些代码。如果还没有下载,则赶紧去JBoss文档页面下载,http://www.jboss.org/docs/index。 该教程使用了Apache Ant(http://ant.apache.org)构建工具,用户应该下载并安装它。我们建议使用Ant 1.6.2及后续版本。如今,Ant广泛应用于Java项目中。因此,如果用户还不熟悉它,则赶紧补上这一课。其中,Ant使用的默认构建文件名是build.xml,它含有供项目使用的一套目标(target),以自动完成构建任务。一般情况下,用户只需要在含有build.xml文件的目录中执行ant命令,这将使得默认目标会完成所需工作。 J2EE Tutorial将解释如何在J2EE SDK RI服务器中运行Duke银行应用。请记住,本书的目标是能够在JBoss中运行它。

3.2 区别

J2EE技术的设计初衷是,应用代码独立于所部署并运行的应用服务器。其中,用于EJB和Web应用的ejb-jar.xml和web.xml部署描述符是J2EE规定的标准描述符,因此在不同J2EE容器之间不用更换它们。然而,为了将应用移植到JBoss,用户还是需要注意一些事情的。尤其是,用户需要提供JBoss特定描述符,并且确保数据库脚本能够正常工作。 3.2.1 容器相关部署描述符

容器相关信息通常是放置在外部XML描述符中,这些描述符将应用使用的逻辑信息(比如,JNDI名字和安全性角色名)映射到服务器使用的实际值。JBoss为应用的EJB和Web模块分别使用了jboss.xml和jboss-web.xml描述符。同时,考虑到Java客户应用,JBoss还提供了它们的客户版本,以同J2EE application-client.xml描述符一块使用。如果实体Bean还使用了CMP,则通过jbosscmp-jdbc.xml文件还能够配置JBoss持久化引擎。 3.2.2 数据库变更

J2EE SDK自带了Cloudscape数据库,这也是J2EE Tutorial使用的数据库。本书将使用JBoss自带的嵌入式数据库,Hypersonic。 实际情况下,将应用直接移植到不同的数据库并不是简单过程,尤其是应用使用了数据库的特定功能,比如序列号(Sequence)、存储过程、非标准SQL。对于简单应用,移植工作相对简单。第4章内容在讨论Duke银行应用时,用户能够看到只需要对数据库脚本做少许的语法修改就能够满足要求。 第8章内容,将讨论如何配置JBoss,以使用不同的数据库。

www.open-v.com 拓宽视野,奔向成功

Open View, Victory Open

14

JBoss中文文档

专注于JavaEE平台、敏捷方法及OpenSource技术咨询速地带领用户分析如何保护随JBoss发布的JMX控制台和Web控制台应用。本书在1.3节讨论过JMX控制台。通过JMX控制台基本上能够控制JBoss服务器的各个方面,因此保护该控制台很重要,至少需要通过密码来保护它。否则,任何远程用户将能够完全控制
推荐度:
点击下载文档文档为doc格式
38ywy891bi6tck19hlml
领取福利

微信扫码领取福利

微信扫码分享