 |
基于TAPESTRY 5+EJB 3架构的石化行业管理系统实现 |
|
基于TAPESTRY 5+EJB 3架构的石化行业管理系统实现 |
|
|
[摘要] 传统的石化行业管理主要以企业级应用系统,应用ejb技术将大大简化系统的开发和维护成本。 ejb 的运行环境:ejb 需要运行在ejb容器,每个javaee应用服务器都含有ejb 容器和web 容器,所以既可以运行ejb,也可以运行web 应用。目前支持ejb 3.0的应用服务器有jboss(4.2.x 以上版本)、glassfish、weblogic(10 以上版本)、sun application server(9.0 以上版本)、oracle application server(10g 以上版本)和我们国内的apusic 应用服务器。本文将介绍jboss和weblogic,前者是使用者最多的开源应用服务器,后者是市场占有率最高的商业应用服务器。注意:tomcat 目前只是web 容器,它不能运行ejb应用。 1.3基于ejb 3的b/s架构 1.3.1 enterprise javabeans(ejb) enterprise javabeans 是一个用于分布式业务应用的标准服务端组件模型。采用enterprise javabeans 架构编写的应用是可伸的、事务性的、多用户安全的。可以一次编写这些应用,然后部署在任何支持enterprise javabeans 规范的服务器平台,如jboss、weblogic等。 enterprise javabean(ejb)定义了3种企业bean,分别是会话bean(session bean),实体bean(entity bean)和消息驱动bean(messagedriven bean)。LOCAlhOST 1.3.2jndi jndi是自jdk 1.3 版本开始就绑定的标准java api。它为各种现有的命名和目录服务提供了通用接口:dns、ldap、活动目录(active directory)、rmi注册器、cos注册器、nis 及文件系统。在结构上,jndi 由两部分组成:客户api 和服务提供商接口(service provider interface,spi),应用程序通过客户api 访问命名和目录服务;服务提供商接口用于供厂商创建命名和目录服务的jndi 实现。jndi的结构如图1所示。 ejb 开发者只需要知道使用客户api 如何访问命名和目录服务即可,而不需要知道jndi spi 的使用,因为不需要使用jndi spi 开发jndi 实现产品,这就好比通过jdbc 访问数据库,我们只需要知道使用jdbc api 如何访问数据库,而不需要知道数据库的jdbc 驱动如何实现。使用客户api 访问ejb 3.0,只需编写少量jndi代码。 1.3.3应用范围 ejb 3.0只专注于业务核心的开发,它并不关心客户端的类型及其使用的技术。既可以在web 中调用ejb,也可以在j2se 或j2me中调用ejb。对于在web中调用ejb,可以把代码直接写在jsp中,但这种做法已经被抛弃,原因是java代码与html代码相混合,不但可读性差,而且维护起来也很麻烦。目前,在web 开发上,我们可以引入第三方web框架,如struts,jsf,spring mvc,tapestry等。其实使用ejb开发项目,对于选择web框架会显得不是那么重要,因为日后即使更换成另一种框架,对于业务核心是不会构成任何影响的。即使如此,我们选择web 框架仍需谨慎,因为谁也不想换来换去。目前,可推荐的web框架是struts 和jsf,前者是这几年的主流框架,使用的开发人员比较多,后者属于javaee规范,有望成为web框架的主角。其中一个样例如图2所示。 (1)浏览器请求test.jsp 文件。 (2)应用服务器的jsp 引擎编绎test.jsp。 (3)test.jsp 通过jndi 查找获得helloworld ejb 的存根对象,然后调用sayhello()方法,ejb 容器截获到方法调用。 (4)ejb 容器调用helloworld 实例的sayhello()方法。 2项目实例 2.1 ejb 3端:meta-inf/persistence.xml 配置文件 关联所有的持久层类,企业级数据库可以利用hql语法无缝将数据转换成对象。 <?xml version="1.0" encoding="utf-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence"> <persistence-unit name="core"> <jta-data-source>java:/oildata</jta-data-source> <class>com.jncom.core.ejb3.control.entity.userhbm</class> <class>com.jncom.core.ejb3.control.entity.rolehbm</class> <class>com.jncom.core.ejb3.control.entity.operationhbm</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> <properties> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.dialect" value= [1] [2] 下一页
|
|
上一个论文: 基于TOC约束的工程机械行业生产计划管理系统研究 下一个论文: 口腔正畸类产品在中国将如何推广
|
|
|
看了《基于TAPESTRY 5+EJB 3架构的石化行业管理系统实现》的网友还看了:
[电子机械]浅析基于可靠性工程的电子信息装备质量管理研究 [免费范文]基于“服务为王”理念的微博湿营销模式构建 [免费范文]基于虚拟现实技术的多维信息空间探析 [免费范文]基于SEO技术提高网站访问量的策略研究 [免费范文]基于ASP.NET的企业进销存管理信息系统的设计与实 [免费范文]基于禁忌搜索方法的集装箱配载问题研究 [免费范文]基于条码技术的库存管理系统设计分析 [免费范文]基于RRAS与虚拟专用网技术在Windows中的实现 [企业管理]基于会计主体的企业合并抵销处理 [交通运输]浅谈基于创新能力培养的路基路面工程课程教学方法
|
|