设为首页 收藏本站
查看: 1135|回复: 0

[经验分享] 将 J2EE 项目迁移到 IBM Lotus Expeditor V6.1

[复制链接]
累计签到:15 天
连续签到:1 天
发表于 2015-10-4 10:15:36 | 显示全部楼层 |阅读模式
menghe@cn.ibm.com

  IBM Lotus Expeditor 这种 IBM 产品支持用熟悉的编程模型将 J2EE 应用程序迁移到客户机上。IBM Lotus Expeditor Toolkit 使开发人员不需要为了在 Lotus Expeditor 运行时上运行而重写 J2EE 项目。在本文中,将讲解如何迁移 J2EE 项目。
  要想从本文获得最大的收获,您应该熟悉 Java™ 和 J2EE 以及使用 Eclipse 3.x 技术进行插件开发的方法。请记住,J2EE 项目不是插件项目,但 Lotus Expeditor 项目是插件项目。Lotus Expeditor 项目包含插件项目特有的清单文件和 plugin.xml 文件,所以必须了解应该如何处理这些文件。
  本文讨论的主题包括:

  • 如何将现有的 J2EE Enterprise JavaBean(EJB)项目迁移到 Lotus Expeditor
  • Lotus Expeditor 不支持哪些 J2EE 特性
  • 如何将迁移后的项目部署在 Lotus Expeditor 运行时上
  在开始执行本文中的步骤之前,必须安装 IBM Rational Application Developer V7.0、Lotus Expeditor Toolkit V6.1 和 Lotus Expeditor Client V6.1。可以从 developerWorks 下载 Rational Application Developer for WebSphere Software 的免费试用版。
  将现有的 J2EE EJB 项目迁移到 Lotus Expeditor
  开发 J2EE 应用程序超出了本文的范围。为了简化开发过程,我们导入一个现有的 J2EE 示例项目并对它进行迁移。在开始学习之前,一定要下载本文 下载 一节中提供的示例代码(sampleJ2EEProject.zip)。
  首先将示例 J2EE 项目导入 Rational Application Developer:

  • 在 Rational Application Developer 中,选择 Window - Open Perspective - Other - J2EE 切换到 J2EE 透视图。
  • 选择 File - Import 导入 sampleJ2EEProject.zip。
  • 在 Import 向导中,选择 “Existing projects into workspace”,然后单击 Next。
  • 在图 1 所示的 Import Projects 向导中,选择 Select archive file 选项,浏览到下载的 ZIP 文件(sampleJ2EEProject.zip),然后单击 Finish。
    图 1. Import Projects 向导
    DSC0000.jpg
  • 选择 File - New - Project 打开 New Project 向导。
  • 在 New Project 对话框中,展开 Client Services。这时出现几个向导,可以用来创建不同类型的 Client Services 项目。选择 “Convert Project to Client Services Project” 选项,然后单击 Next,见图 2。
    图 2. New Project 向导
    DSC0001.jpg
  • 图 3 所示的 Convert Existing Project 向导包含可转换的非 Client Services 项目的列表。注意,在将 J2EE 项目转换为 Client Services 之后,就无法逆转这个步骤,即无法转换回原来的 J2EE 项目状态。Lotus Expeditor Toolkit 提供一个 “Copy project before conversion” 选项,它会为现有的 J2EE 项目生成一个新拷贝,并将新拷贝转换为 Client Services。选择这个选项,如果需要的话,还可以指定新项目拷贝的名称。每次只能选择一个项目进行转换。单击 Next。
    图 3. Convert Existing Project 向导
    DSC0002.jpg
  • 在图 4 所示的 Target Definition 面板中,可以看到附加服务的列表,例如 Java Message Service(JMS)API、Managed Settings 和 MQ Everyplace。保持这些服务的默认设置,因为我们不使用这些附加服务。单击 Finish 将选择的 EJB 项目转换为 Client Services 项目。
    图 4. Convert Existing Project:Target Definition 面板
    DSC0003.jpg
  • 在单击 Finish 之后,向导执行转换前测试,并根据在 Lotus Expeditor 运行时上运行时可能需要修改现有 EJB 的哪些元素,显示相应的错误和警告。如果找到了任何错误或警告情况,就显示一个对话框,询问是应该继续进行转换,还是取消转换。单击 OK 继续转换,见图 5。
    图 5. Convert Existing Project:警告
    DSC0004.jpg
  转换为 Client Services 的 EJB 项目称为 Client Services 嵌入式事务容器(embedded transaction container,ETC)项目。
  按照相同步骤将示例 Web 项目 BankWeb 转换为 Client Services 项目。转换为 Client Services 的 Web 项目称为 Client Services Web 项目。

回页首
  开发 Web 项目逻辑
  下面是 Client Services Web 项目特有的一些任务;在从 J2EE 项目迁移到 Client Services Web 项目时需要执行这些步骤:

  • 提供必需的库。jclDesktop 运行时没有提供 java.rmi 包,所以对 PortableRemoteObject.narrow() 的引用被认为是一个错误。ETC 不允许访问其他服务器上的 EJB,所以可以用简单的 JNDI 查找替代 PortableRemoteObject.narrow()。
  • 提供一个快捷菜单,用来在 Lotus Expeditor 运行时中启动 Web 应用程序。在 BankWeb 项目的 plugin.xml 中添加一个扩展点(见清单 3),以便用快捷菜单在 Lotus Expeditor 运行时中启动它。

清单 3. 在项目的 plugin.xml 中添加扩展点
<extension id="kw4qri0g1j4t" point="com.ibm.eswe.workbench.WctWebApplication">       <WEBApplication DisplayName="XYZ Banking">          <WebApplicationUrl local="true" secured="false" url="/BankWeb/Banking.html">          </WebApplicationUrl>          <BrowserConfiguration showAddressbar="true" showToolbar="false">          </BrowserConfiguration>       </WEBApplication>    </extension>


回页首
  把迁移后的项目部署到 Client Services Lotus Expeditor 运行时平台上
  Client Services 应用程序在 Lotus Expeditor 运行时上运行。Lotus Expeditor Toolkit 会自动处理与 bundle 相关的细节;因此,对于针对 Lotus Expeditor 运行时或依赖于其他 OSGi 服务的项目,建议通过 Client Services Project Creation 向导来开发。Lotus Expeditor 运行时不支持通过 EAR 文件部署企业应用程序。应用程序是直接部署到运行时中的。
  既然已经将 J2EE 项目迁移到了 Client Services,现在就可以把迁移后的项目部署到 Lotus Expeditor 运行时。按照以下步骤部署迁移后的项目:

  • 在 Project Explorer 中,右击 BankWeb 项目,然后选择 Run - Run on Server。
  • 在图 8 所示的 Run On Server 对话框中,执行以下操作:

    • 选择 &#8220;Manually define a new server&#8221; 选项。
    • 选择 Client Services v6.1。
    • 单击 Next。
    • 保持 Client Services Server 的默认设置并单击 Next。
    • 将 BankEJB 项目添加到配置的项目列表中。
    • 单击 Finish 启动 Client Services Lotus Expeditor 运行时。


图 8. 定义服务器
DSC0005.jpg
  在本文 下载 一节中可以找到迁移后的项目(migratedSampleJ2EEProject.zip)。

回页首
  结束语
  借助 Lotus Expeditor,可以使用标准 API 和服务将应用程序的关键组件从服务器迁移到桌面、笔记本计算机、tablet 和手持客户机。将应用程序组件迁移到客户机上运行,会对业务产生重大影响。应用程序在客户机本地执行业务操作,所以会大大改进应用程序的响应时间。另外,会减少客户机和服务器之间的网络流量,并减少服务器的负载。而且,即使在无法连接网络的地方,移动用户仍然可以有效地使用客户机上的应用程序。
  本文讲解了如何将 J2EE 项目迁移到 Client Services 项目。我们把一个 EJB 项目和一个动态 Web 项目转换成了 Client Services。将 J2EE 应用程序迁移到 Lotus Expeditor,然后就可以在任何时间任何地点访问应用程序 &#8212;&#8212; 无论有没有网络连接。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-122452-1-1.html 上篇帖子: 顺应开放潮流 IBM开放Power架构 (ZZ) 下篇帖子: 从师傅到伙伴:华为背后总是有IBM的影子
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表