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

JBoss中文文档

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

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

3.2.3 安全性配置

J2EE定义了应用中指定安全性约束的机制,但并没有给出具体服务器是如何实现和配

置认证和访问控制机制(译者注:授权)的。因此,正如本书前面讨论的一样,JBoss使用了JAAS以提供集成不同认证技术的可插入方式,供应用的认证和授权使用。同时,JBoss还提供了一套标准模块,即基于文件、数据库、LDAP的安全性机制。其中,基于文件的方式最为简单,这也是本书使用的方式。

3.3 企业应用中的J2EE

本书给出的实例仅仅为用户提供熟悉和运行JBoss使用。因此,这里的应用绝对不是指导用户如何开发J2EE应用而言的,更何况这个主题在业界也没有统一的定论。比如,很多开发者反对使用EJB,尤其是实体Bean;再比如,BMP的使用也是如此。当然,不同的Web技术(可以认为,并不是每个人都喜欢JSP)的使用也是一个争执不休的主题,并且存在大量的Model-2框架。Struts应用较早,而且知名度最高,但是还有很有多批评的论调。 如果用户刚启动某项目,则最好能够先评估一下现有的Open Source项目,然后看看它们各自的结构,最终选择适合于项目需求的框架。 最后,我们也希望用户能够意识到JBoss的博大精深,本书给出的仅仅是冰山一角。JBoss还是一个持续发展的项目,对于未来,我们有很多宏伟的目标和计划。因此,请关注JBoss的最新动向,哪怕是用户已经打算将所有的产品运行于稳定的JBoss 4.0.x之上。

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

Open View, Victory Open

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

第4章 Duke银行应用

至此,用户已经运行了JBoss。本书将使用J2EE Tutorial中的Duke银行应用,使得它

能够运行在JBoss中。Duke银行应用演示了如何使用若干J2EE技术,以实现简单的、在线银行应用。它使用EJB和Web组件(JSP和Servlet),并且将数据库作为持久源。其中,通过BMP管理持久化,这些BMP中含有SQL语句,从而能够操纵DB。 本书不会把重点放在Duke银行应用的功能,或者其实现上。而只是关注如何通过一步一步的指导,使得我们能够构建和运行基于JBoss的Duke银行应用。

4.1 构建应用

用户应该准备好J2EE 1.4 Tutorial,因为它含有Duke银行应用。首先,来看看构建和部署Duke银行应用。然后,再来仔细分析JBoss相关技术细节。 4.1.1 准备文件

本文档发布的.zip文件中包括了jbossj2ee-src.zip。下载后,将其解压到j2eetutorial14目录,即添加到现有的J2EE Tutorial文件中。所有的Duke银行应用代码位于examples/bank子目录中。如果正常解压jbossj2ee-src.zip,用户将看到jboss-build.xml文件。这是本书用于JBoss版的Duke银行应用的Ant构建脚本。jbossj2ee-src.zip并没有覆盖现有的build.xml文件,而是创建了jboss-build.xml文件。因此,需要使用ant –f jboss-build.xml执行Ant命令。 在构建Duke银行应用之前,用户需要设置如下信息。即,编辑j2eetutorial14目录中的jboss-build.properties文件,以定位JBoss 4.0.4的安装目录。其中,需要将jboss.home属性定位到JBoss 4.0.4安装的完整路径。如果将JBoss 4.0.4解压到Windows中的C:/,则用户需要设置如下信息。

# Set the path to the JBoss directory containing the JBoss application server # (This is the one containing directories like \ jboss.home=C:/jboss-4.0.4

4.1.2 编译Java源文件

打开命令行,然后转到bank目录。所有的Ant构建命令都是在此执行的。编译工作非常直观,即敲入如下命令,以调用compile目标。

ant -f jboss-build.xml compile

如果没有出现错误,则用户将发现新创建的build目录,其中包含了.class文件。

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

Open View, Victory Open

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

4.1.3 打包EJB

该应用含有一EJB jar,即bank-ejb.jar。bank-ejb.jar含有代码和描述符(ejb-jar.xml和

jboss.xml),以用于实体Bean和与客户交互的控制会话Bean。Ant目标package-ejb将会把创建的bank-ejb.jar存放到jar目录。

ant -f jboss-build.xml package-ejb

4.1.4 打包WAR文件

下个Ant目标是提供前端支持的Web应用,从而实现用户与业务组件(EJB)的交互。其中,src/web目录含有的Web资源(JSP、图片、等等)原封不动地添加到存档中。Ant war任务也能够添加WEB-INF目录,Web浏览器并不能直接与该目录中的内容进行交互,但是其内容是Web应用的组成部分。Web应用具体包含的内容有部署描述符(web.xml和jboss-web.xml)、类文件(比如,Servlet和EJB接口)、其他WAR要求的库和JSP标签库描述符。Ant目标package-web能够构建Web客户,即WAR文件。

ant -f jboss-build.xml package-web

4.1.5 打包Java客户

除了Web界面外,还存在单独运行的Java客户应用,用于管理顾客和账号。使用Ant目标package-client如下:

ant -f jboss-build.xml package-client

其生成的app-client.jar文件含有application-client.xml和jboss-client.xml描述符。另外,还包括jndi.properties文件。同时,客户JAR文件也将包含在EAR文件中,以作为附加的模块。 4.1.6 集成EAR

EAR文件是完整的应用,即含有3个EJB模块和1个Web模块。而且,它还必须包含application.xml描述符。当然,可以单独部署EJB和Web应用模块,但是EAR提供了单一的、便于操作的部署单元。Ant目标assemble-app将创建JBossDukesBank.ear。

ant -f jboss-build.xml assemble-app

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

Open View, Victory Open

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

4.1.7 数据库

在部署应用之前,用户需要完成其数据库配置。如果应用中使用了CMP,则可以通过

配置CMP引擎,使得在部署时自动创建表。否则,用户需要创建SQL脚本。对于存在初始化数据的DB而言,手工创建表也是较好的办法。

4.1.7.1 启用HSQL MBean和TCP/IP连接

HSQL数据库能够以如下两种方式运行:进程内或客户-服务器(HSQL文档称之为,服务器模式)。由于用户需要使用能够连接到DB的工具,以运行SQL脚本,因此必须保证数据库以客户-服务器模式运行,并能接受TCP/IP连接请求。默认时,最新的JBoss发布版将客户-服务器模式禁用了,这主要考虑到安全性要素,因为如果默认登陆账号没有修改将导致安全性问题。因此,用户需要打开设置了默认数据源的deploy/hsqldb-ds.xml文件。在文件的开始部分,能够看到connection-url元素。其取值必须是jdbc:hsqldb:hsql://localhost:1701,而且其他connection-url元素值必须注释掉。

DefaultDS

jdbc:hsqldb:hsql://localhost:1701

然后,定位到文件的底端部分,用户应该可以找到Hypersonic服务的MBean声明。

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

Open View, Victory Open

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

用户必须确保,这部分内容没有被注释掉,因此JBoss才能够正确地启动DB。

4.1.7.2 创建数据库模式

用户通过sql目录能够找到适合HSQL的SQL脚本。其中,jboss-build.xml中的数据库任务能够同HSQL数据库进行交互。如果还未运行JBoss,则请立即启动它吧,这样才能使用数据库。 首先,可以使用Ant目标db-create-table创建所需的表。

ant -f jboss-build.xml db-create-table

然后,运行db-insert目标,以初始化所需的数据。

ant -f jboss-build.xml db-insert

最后,如果上述过程很顺利,则使用Ant目标db-list能够浏览到部分数据。其中,db-list目标列举出了某特定账号的交易信息。

ant -f jboss-build.xml db-list

4.1.7.3 HSQL数据库管理工具

另外,如果用户启动JMX控制台Web应用,能够在域名jboss下看到service=Hypersonic链接。如果看不到,则请用户务必确保4.1.7.1节中确实生效了Hypersonic服务。

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

Open View, Victory Open

19

JBoss中文文档

专注于JavaEE平台、敏捷方法及OpenSource技术咨询3.2.3安全性配置J2EE定义了应用中指定安全性约束的机制,但并没有给出具体服务器是如何实现和配置认证和访问控制机制(译者注:授权)的。因此,正如本书前面讨论的一样,JBoss使用了JAAS以提供集成不同认证技术的可插入方式,供应
推荐度:
点击下载文档文档为doc格式
38ywy891bi6tck19hlml
领取福利

微信扫码领取福利

微信扫码分享