400-123-4657
[概要] 传统的石化行业管理主要以电子文档和纸质材料为媒介,集中且不便于集中管理。回应,本文明确提出研发基于Tapestry 5和EJB 3的B/S架构的数据库管理系统,对多年累积的数据展开汇总分析,为高级管理人员获取决策参考。
[关键词] Tapestry;EJB 3;框架 毕业论文网 http://www.lw54.com Web应用程序可以分成表示层、业务层、长久层和领域模型层。按照这种分层结构,本文分别讲解Tapestry和EJB 3两种开源框架。
Tapestry使得程序具备一致性的结构,通过研发Tapestry组件,强化了代码的适配性和程序的健壮性。融合项目实例讲解了如何统合这两种框架建构Web的应用于。应用于这种统合框架,可以使系统层次明晰,并构建层之间的解法耦,各层可以独立国家研发,极大地提高了研发效率。
1 基于Tapestry+EJB3的软件架构 1.1 Tapestry框架概述 Tapestry是一个用于Java语言创立Web应用于的面向组件的开源框架。其中Tapestry 5是框架的第5个版本。Tapestry应用于创建在根据组件建构的页面的基础上。
这个框架需要获取输出检验、本地化/国际化、状态/持续性管理、URL建构/参数同构等功能。独一无二的类牵引机制使得开发者对源代码的改动需要重新部署和启动之后可立刻显出,极大地提高了研发的效率。
组件的思想跨越Tapestry 5一直。以BeanEditForm组件为事例,用户只必须写出很少的代码就可以构建一个JavaBean中所有属性到一组组件的同构。同时,在Web 2.0时代,Tapestry获取了老练的Ajax反对。
由于JavaScript在浏览器运营时的不稳定性,框架对其展开了很好的隐蔽。此外,完备的检验机制,内置的国际化策略都使得Web研发轻而易举。
系统研发工程中大量用于该框架的杰出特性,极大地提高了研发的效率。毕业论文网 http://www.lw54.com 1.2 EJB 3框架概述 EJB(Enterprise JavaBeans)是J2EE平台的中心,它用作研发和部署商业应用程序的分布式组件模型,EJB作为一种构建业务逻辑的组件技术,具备可扩展性、事务处理和安全性保密性。
而项目使用的是EJB 3.0,用于元注解(Annotation)更换原先的XML的部署叙述文件以及使用倚赖流经等优势L4J,减少了程序的复杂性和组件之间的耦合性,大大提高了系统的研发效率。而将系统的业务核心集中于在EJB层已完成,在Web层构建MVC模式调用,构建了EJB层和Web层的解法耦,使得编程可玩性减少,且构成模板化,从而使得本系统具备更容易确保和拓展、低成本、高效率等特点。
研发市场需求多变的企业级应用于系统,应用于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应用于。
毕业论文网 http://www.lw54.com 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)。
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右图。毕业论文网 http://www.lw54.com 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右图。毕业论文网 http://www.lw54.com (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> 毕业论文网 http://www.lw54.com <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="org.hibernate.dialect.SQLServerDialect" /> <property name="hibernate.show_sql" value="false" /> </properties> </persistence-unit> </persistence> 2.2 EJB3末端:core/com/jncom/core/ejb3/base/ 长久层核心代码 毕业论文网 http://www.lw54.com class BaseEntity 类型:模块 目的:通过构建 java.io.Serializable 模块以落成其序列化功能。主要读取DAO层中的类。 class BaseSvc 类型:抽象类 毕业论文网 http://www.lw54.。
本文来源:星空app-www.vwgzxf0851.com