欢迎来到天天文库
浏览记录
ID:25367041
大小:63.50 KB
页数:9页
时间:2018-11-19
《基于tapestry 5+ejb 3架构的石化行》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于TAPESTRY5+EJB3架构的石化行[摘要]传统的石化行业管理主要以电子文档和纸质材料为媒介,分散且不便于集中管理。对此,本文提出开发基于Tapestry5和EJB3的B/S架构的数据库管理系统,对多年积累的数据进行汇总分析,为高级管理人员提供决策参考。 [关键词]Tapestry;EJB3;框架 Web应用程序可以分为表示层、业务层、持久层和领域模型层。按照这种分层结构,本文分别介绍Tapestry和EJB3两种开源框架。Tapestry使得程序具有一致性的结构,通过开发Tapestry组件,增强了代码的复用性和程序的健壮性。结合项目实例介
2、绍了如何整合这两种框架构建Web的应用。应用这种整合框架,可以使系统层次清晰,并实现层之间的解耦,各层可以独立开发,极大地提高了开发效率。 1基于Tapestry+EJB3的软件架构 1.1Tapestry框架简介 Tapestry是一个使用Java语言创建Web应用的面向组件的开源框架。其中Tapestry5是框架的第5个版本。Tapestry应用建立在根据组件构建的页面的基础上。这个框架能够提供输入验证、本地化/国际化、状态/持续性管理、URL构建/参数映射等功能。独一无二的类重载机制使得开发者对源代码的修改无需重新部署和启动便可立即显
3、现,极大地提高了开发的效率。组件的思想贯穿Tapestry5始终。以BeanEditForm组件为例,用户只需要写极少的代码就可以实现一个JavaBean中所有属性到一组组件的映射。同时,在Web2.0时代,Tapestry提供了老练的Ajax支持。由于JavaScript在浏览器运行时的不稳定性,框架对其进行了很好的隐藏。此外,完善的验证机制,内置的国际化策略都使得Web开发轻而易举。系统开发工程中大量使用该框架的优秀特性,极大地提高了开发的效率。 1.2EJB3框架简介 EJB(EnterpriseJavaBeans)是J2EE平台的中心,它用于
4、开发和部署商业应用程序的分布式组件模型,EJB作为一种实现业务逻辑的组件技术,具有可扩展性、事务处理和安全保密性。而项目采用的是EJB3.0,使用元SF,SpringMVC,Tapestry等。其实使用EJB开发项目,对于选择Web框架会显得不是那么重要,因为日后即使更换成另一种框架,对于业务核心是不会构成任何影响的。即使如此,我们选择Web框架仍需谨慎,因为谁也不想换来换去。目前,可推荐的Web框架是Struts和JSF,前者是这几年的主流框架,使用的开发人员比较多,后者属于JavaEE规范,有望成为Web框架的主角。其中一个样例如图2所示。 (
5、1)浏览器请求Test.jsp文件。 (2)应用服务器的JSP引擎编绎Test.jsp。 (3)Test.jsp通过JNDI查找获得HelloWorldEJB的存根对象,然后调用SayHello()方法,EJB容器截获到方法调用。 (4)EJB容器调用HelloWorld实例的SayHello()方法。 2项目实例 2.1EJB3端:META-INF/persistence.xml配置文件关联所有的持久层类,企业级数据库可以利用HQL语法无缝将数据转换成对象。 <?xmlversion="1.0"encoding="UTF-8"?>
6、 <persistencexmlns="http://java.sun.com/xml/ns/persistence"> <persistence-unitname="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.co
7、re.ejb3.control.entity.OperationHBM</class><exclude-unlisted-classes>true</exclude-unlisted-classes> <properties> <propertyname="hibernate.hbm2ddl.auto"value="update"/> <propertyname="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/> <propertyname="hibernat
8、e.show_sql"value="false"/> </properties
此文档下载收益归作者所有