WAS MQ Portal 安装配置 监控优化 迁移

开发中的内存溢出问题,是架构设计问题?还是编码问题? IBM软件人才成长专区 集思广益,WSC有奖征集辩论主题活动

返回列表 发帖

[参数调优] WAS V7 上EJB 3.0开发部署的最佳实践

IBM WebSphere 从 7.0 版本起开始正式支持 EJB 3.0,目前建立于 WAS V7 上的 EJB 3.0 应用并不常见。作者在实际项目中总结了使用 WAS V7 部署 EJB 3.0 应用遇到的一些问题(部分为开发细节)及最佳实践,主要介绍了 EJB 3.0 应用中对外接口的设计开发,持久层实现,事务策略三大部分的内容,并试图通过一些简单的例子将这些经验展现给需要在 WAS V7 环境下开发 EJB 3.0 应用的开发者们。

引言
IBM WebSphere Application Server 从 7.0 版本起开始正式支持 EJB 3.0(在之前的 6.1 版本有发布针对 EJB 3.0 的功能部件包)。目前建立于 WAS V7 上的 EJB 3.0 应用并不常见。作者在实际项目中总结了使用 WAS V7 部署 EJB 3.0 应用遇到的一些问题(部分为开发细节)及最佳实践,并试图通过一些简单的例子将这些经验展现给需要在 WAS V7 环境下开发 EJB 3.0 应用的开发者们。
本文建立在如下条件之上:
  • 使用 IBM WebSphere Application Server V7.0(WAS V7)作为应用服务器
  • 使用 IBM Rational Application Developer for WebSphere Software V7.5 进行开发工作

创建工程的若干最佳实践
接口,业务对象与实现逻辑相分离 :
建议将 EJB 客户端以及所有定义的业务对象(Business Objects)放到一个类似依赖库的工程中以便将来可以方便地在其他工程中进行调用。此外这样做也提高了接口和业务对象的可维护性。于是在创建工程时我们选择“Create an EJB Client JAR module to hold the client interfaces and classes”选项(这样由 RAD 自动生成的客户端会被放置于该客户端工程中,将来我们可以将自定义的业务对象也放置于该工程内)。

图 1. 创建客户端 JAR 模块


使用可视化工具生成接口代码 :
如果在添加无状态会话 Bean 的时候选择了“Add bean to Class Diagram”,可以在类图中对 Bean 进行基本操作。如选择该 Bean 的一个方法后在右键菜单中点击“Java EE Tools”— >“Promote Methods”,可以将该方法添加入该 Bean 的客户端接口代码中。

图 2. 生成接口代码


对外接口设计开发的若干最佳实践
开发企业应用时难免需要和其他组件进行交互,下面将分节讨论 EJB 3.0 组件和其他一些组件的交互方式。
将 EJB 发布为 Web Service
使用 EJB 客户端调用发布到应用服务器上的会话 Bean 往往具有一定的局限性(需要有容器上下文 -Context)。于是很多情况下我们希望将其发布为 Web Service 使其方便调用。
自底向上生成 Web Service:
右键单击需要发布为 Web Service 的无状态会话 Bean,选择“Web Services”— >“Create Web Services”,选择“Bottom up EJB Web Service”( 自底向上由 EJB 发布 Web Service) 以及 EJB 实现 Bean(SLBSampleBean),该实现 Bean 会自动被选择。 确认 Web Service 源工程以及 EAR 工程后,点击“Next”。
接下来的配置中,我们需要关注称为“HTTP router”的配置项。当我们通过 IBM 导出工具将一个会话 Bean 发布为 Web Service 后,工具实际上会生成一个接受对该 Web Service 请求的代理类,运行中它将接收到的 Web Service 调用请求转化为对实际会话 Bean 的调用,并将调用结果以 Web Service 响应的形式返回。由于这个代理是一个 Servlet,因此必须将其置于一个 Web 应用程序中。IBM 导出工具可以帮助我们生成这样一个 Web 应用程序并将代理 Servlet 置于其中,而“HTTP router”配置项的值就是该 Web 应用程序的工程名。

图 3. EJB 3.0 Web Service 的架构


使用消息驱动 Bean 连接 Message Queue
使用激活规范(Activation specifications)取代侦听器端口(Listener port):
激活规范是一组消息属性的配置,通过这组配置可以将 Websphere Application Server 和企业信息系统(Enterprise Information System)通过 JCA-Java™ EE 连接器架构(Java™ EE Connector Architecture)1.5 规范连接集成起来。在 WebSphere Application Server V7 之前的版本(V6)中仅支持采用侦听器端口连接 Message Queue 与消息驱动 Bean,而从 Version 7 开始支持使用激活规范连接 Message Queue,并且侦听器端口已经不再推荐使用,因此在今后的开发中我们更多地使用激活规范来取代之前的侦听器端口。
需要创建一个连接 Message Queue 的激活规范,在管理控制台左侧点击“Resources” “JMS” “Activation specifications”。右边的页面中我们能够看到所有 JMS 激活规范的列表。点击“New”按钮。在接下来的表单中,选择 WebSphere MQ messaging provider,表示创建一个连接到 MQ 的激活规范。设置好目标队列的 JNDI 名和类型(Queue),目标队列是 MDB 的消息来源。
选择“Enter all the required information into this wizard”来设置连接的细节。输入 MQ 服务器上的队列管理器名称。设置好连接细节,特别注意确保连接通道(Connection Channel)的配置正确,该值可以在 MQ 服务器上查看。

完整内容的学习,请访问:
http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0912_zhuzq_ejbwas7/index.html

WAS V7 上EJB 3.0开发部署的最佳实践.rar (228.61 KB)

售价: 金钱 1 W币  [记录]  [购买]

看看~~~~~~

TOP

顶·~~~~~~~~~~·

TOP

顶一下,等有钱了看

TOP

不错,多谢啦!学习啦!

TOP

好贴子

TOP

不能解压缩呀

TOP

返回列表